diff --git a/.eslintrc.json b/.eslintrc.json index 6b62fc08..89279b6b 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -32,13 +32,12 @@ }] }, "settings": { + "typescript": {}, "import/resolver": { - "node": { + "typescript": { "extensions": [".js"] } } }, - "ignorePatterns": [ - "integration" - ] + "ignorePatterns": [] } diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index 42604031..4d862e9d 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -2,5 +2,5 @@ blank_issues_enabled: false contact_links: - name: GitHub Discussions - url: https://github.com/trustification/exhort-javascript-api/discussions/ + url: https://github.com/guacsec/trustify-da-javascript-client/discussions/ about: You can also use Discussions for questions and ideas. diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 00000000..1245ecb7 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,47 @@ +# yaml-language-server: $schema=https://www.schemastore.org/dependabot-2.0.json +version: 2 +updates: + - package-ecosystem: "npm" + directory: "/" + schedule: + interval: "daily" + exclude-paths: + - "test/providers/tst_manifests/**" + groups: + npm-dependencies: + patterns: + - "*" + - package-ecosystem: "docker" + directory: "/docker-image/Dockerfiles" + schedule: + interval: "daily" + groups: + dockerfile: + patterns: + - "*" + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "weekly" + groups: + github-actions: + patterns: + - "*" + - package-ecosystem: "pip" + directory: "/" + schedule: + interval: "weekly" + exclude-paths: + - "test/providers/tst_manifests/**" + - package-ecosystem: "maven" + directory: "/" + schedule: + interval: "weekly" + exclude-paths: + - "test/providers/tst_manifests/**" + - package-ecosystem: "gomod" + directory: "/" + schedule: + interval: "weekly" + exclude-paths: + - "test/providers/tst_manifests/**" diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml new file mode 100644 index 00000000..c610c5ae --- /dev/null +++ b/.github/workflows/integration.yml @@ -0,0 +1,26 @@ +# yaml-language-server: $schema=https://www.schemastore.org/github-workflow.json +--- +name: Integration Tests + +on: + workflow_run: + workflows: ["Test"] + types: + - completed + workflow_dispatch: + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + call-shared: + # Only run if the test workflow succeeded, or if triggered manually + if: | + (github.event_name == 'workflow_run' && github.event.workflow_run.conclusion == 'success') || + github.event_name == 'workflow_dispatch' + uses: trustification/exhort-integration-tests/.github/workflows/integration.yml@main + with: + language: javascript + repo-url: ${{ github.event_name == 'workflow_run' && github.event.workflow_run.head_repository.full_name || github.repository }} + commit-sha: ${{ github.event_name == 'workflow_dispatch' && github.sha || github.event.workflow_run.head_sha || github.sha }} diff --git a/.github/workflows/pr-validation.yml b/.github/workflows/pr-validation.yml index 072b699d..fd16f7b9 100644 --- a/.github/workflows/pr-validation.yml +++ b/.github/workflows/pr-validation.yml @@ -1,3 +1,5 @@ +# yaml-language-server: $schema=https://www.schemastore.org/github-workflow.json +--- name: Validate PR on: @@ -11,29 +13,23 @@ jobs: name: Validate PR title runs-on: ubuntu-latest steps: - - uses: amannn/action-semantic-pull-request@v5 + - uses: amannn/action-semantic-pull-request@v6 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + commit-message-validation: name: Validate commit messages runs-on: ubuntu-latest steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: fetch-depth: 0 - name: Set up Node.js - uses: actions/setup-node@v4 + uses: actions/setup-node@v6 with: - node-version: 20 - registry-url: 'https://npm.pkg.github.com' - env: - NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Create .npmrc - run: | - echo "@trustification:registry=https://npm.pkg.github.com" >> .npmrc + node-version: 24 - name: Install commitlint run: | diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 00000000..9cd277a5 --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,115 @@ +# yaml-language-server: $schema=https://www.schemastore.org/github-workflow.json +--- +name: Publish + +on: + workflow_dispatch: + workflow_run: + workflows: ["Release"] + types: + - completed + push: + branches: + - main + +permissions: + contents: write + id-token: write + actions: read + +jobs: + publish-ea: + if: github.event_name == 'push' + runs-on: ubuntu-latest + name: Publish EA release to NPM + steps: + - name: Checkout sources + uses: actions/checkout@v6 + with: + ref: ${{ github.ref_name }} + fetch-depth: 0 + + - name: Install node 24 + uses: actions/setup-node@v6 + with: + node-version: 24 + cache: npm + registry-url: 'https://registry.npmjs.org' + + - name: Update npm + run: npm install -g npm@11.11.1 + + - name: Configure git + run: | + git config user.name "${{ github.actor }}" + git config user.email "${{ github.actor }}@users.noreply.github.com" + + - name: Reset to commit + run: | + git reset --hard ${{ github.sha }} + + - name: Get current version + id: current-version + run: | + VERSION=$(node -p "require('./package.json').version") + # Remove both -ea. and -ea- formats for compatibility + BASE_VERSION=$(echo "$VERSION" | sed -E 's/-ea[.-][0-9]+$//') + echo "base-version=$BASE_VERSION" >> "$GITHUB_OUTPUT" + + - name: Install project modules + run: npm ci + + - name: Compile project + run: npm run compile + + - name: Publish package + run: | + SHORT_SHA=$(git rev-parse --short "${{ github.sha }}") + EA_VERSION="${{ steps.current-version.outputs.base-version }}-ea.${SHORT_SHA}" + npm version "$EA_VERSION" --no-git-tag-version + npm publish --verbose --tag ea --access public --provenance + + publish-release: + if: (github.event_name == 'workflow_run' && github.event.workflow_run.conclusion == 'success') || github.event_name == 'workflow_dispatch' + runs-on: ubuntu-latest + name: Publish release to NPM + steps: + - name: Get releasebranch.txt artifact from Release pipeline + if: github.event_name == 'workflow_run' + uses: actions/download-artifact@v8 + with: + name: releasebranch.txt + run-id: ${{ github.event.workflow_run.id }} + github-token: ${{ secrets.GITHUB_TOKEN }} + + - name: Read releasebranch.txt + if: github.event_name == 'workflow_run' + id: releasebranch + run: | + echo "branch=$(cat releasebranch.txt)" >> "$GITHUB_OUTPUT" + rm releasebranch.txt + + - name: Checkout sources + uses: actions/checkout@v6 + with: + ref: ${{ (github.event_name == 'workflow_run' && steps.releasebranch.outputs.branch) || github.ref }} + fetch-depth: 0 + + - name: Install node 24 + uses: actions/setup-node@v6 + with: + node-version: 24 + cache: npm + registry-url: 'https://registry.npmjs.org' + + - name: Update npm + run: npm install -g npm@11.11.1 + + - name: Install project modules + run: npm ci + + - name: Compile project + run: npm run compile + + - name: Publish package + run: npm publish --verbose --access public --provenance diff --git a/.github/workflows/push-to-registry.yml b/.github/workflows/push-to-registry.yml new file mode 100644 index 00000000..7316da1d --- /dev/null +++ b/.github/workflows/push-to-registry.yml @@ -0,0 +1,104 @@ +# yaml-language-server: $schema=https://www.schemastore.org/github-workflow.json +--- +name: Push to registry + +on: + workflow_dispatch: + push: + branches: + - main + tags: + - 'v*.*.*' + +env: + REGISTRY: ghcr.io + IMAGE_NAME: ${{ github.repository }} + +jobs: + build-and-push: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + + steps: + - name: Checkout repository + uses: actions/checkout@v6 + + - name: Install node 24 + uses: actions/setup-node@v6 + with: + node-version: 24 + cache: npm + + - name: Install latest npm + run: npm install -g npm@11.11.1 + + - name: Install project modules + run: npm ci + + - name: Compile project + run: npm run compile + + - name: Determine package version + id: version + run: | + if [[ "${GITHUB_REF}" =~ refs/tags/ ]]; then + # Release tag + VERSION="${GITHUB_REF#refs/tags/v}" + EA_BUILD=false + elif [ "${GITHUB_REF}" = "refs/heads/main" ]; then + # EA build for main + BASE=$(node -p "require('./package.json').version" | sed -E 's/-ea[.-][0-9]+$//') + SHORT_SHA=$(git rev-parse --short "${GITHUB_SHA}") + VERSION="${BASE}-ea.${SHORT_SHA}" + EA_BUILD=true + else + echo "Not building image for this branch" + exit 0 + fi + + echo "version=$VERSION" >> $GITHUB_OUTPUT + echo "ea_build=$EA_BUILD" >> $GITHUB_OUTPUT + + - name: Get image metadata + id: image-meta + run: | + echo "revision=${{ github.sha }}" >> $GITHUB_OUTPUT + echo "created=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_OUTPUT + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v4 + + - name: Log in to Container Registry + uses: docker/login-action@v4 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Extract Docker metadata + id: meta + uses: docker/metadata-action@v6 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + tags: | + type=raw,value=latest,enable=${{ steps.version.outputs.ea_build == 'true' }} + type=raw,value=${{ steps.version.outputs.version }} + + - name: Build and push Docker image + uses: docker/build-push-action@v7 + with: + context: . + file: ./docker-image/Dockerfiles/Dockerfile + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + build-args: | + IMAGE_VERSION=${{ steps.version.outputs.version }} + IMAGE_REVISION=${{ steps.image-meta.outputs.revision }} + IMAGE_CREATED=${{ steps.image-meta.outputs.created }} + cache-from: type=gha + cache-to: type=gha,mode=max + provenance: true + sbom: true diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8c6399f8..b9f238d7 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,12 +1,7 @@ +# yaml-language-server: $schema=https://www.schemastore.org/github-workflow.json --- name: Release -env: - # ๐Ÿ–Š๏ธ EDIT to change the image build settings. - IMAGE_NAME: exhort-javascript-api - IMAGE_REGISTRY: quay.io/ecosystem-appeng - DOCKERFILE_PATH: ./docker-image/Dockerfiles/Dockerfile.alpha - on: workflow_dispatch: inputs: @@ -21,104 +16,78 @@ on: - major jobs: - release: + create-release: runs-on: ubuntu-latest - environment: staging - name: Release the project + name: Create release + permissions: + contents: write + pull-requests: write steps: - name: Checkout sources - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: - ssh-key: ${{ secrets.DEPLOY_KEY }} fetch-depth: 0 + token: ${{ secrets.GITHUB_TOKEN }} - - name: Install node 18 - uses: actions/setup-node@v4 + - name: Install node 24 + uses: actions/setup-node@v6 with: - node-version: 18 + node-version: 24 cache: npm - registry-url: 'https://npm.pkg.github.com' - env: - NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Create .npmrc - run: | - echo "@trustification:registry=https://npm.pkg.github.com" >> .npmrc - name: Configure git run: | git config user.name "${{ github.actor }}" git config user.email "${{ github.actor }}@users.noreply.github.com" - - name: get previous released annotated tag - id: last-release - run: | - echo "base-tag=$(git describe | awk -F '-' '{print $1}')" >> "$GITHUB_OUTPUT" - echo "full-tag=$(git describe)" >> "$GITHUB_OUTPUT" - - - name: get first tag in current development iteration according to base - id: fetch-tag - if: ${{ contains(steps.last-release.outputs.full-tag , '-ea.') }} - run: | - echo "oldest-tag=$(git for-each-ref --sort=creatordate --format '%(refname:lstrip=2)' refs/tags | grep ${{ steps.last-release.outputs.base-tag }} | head -n 1)" >> "$GITHUB_OUTPUT" - - - name: determine semver component to bump - id: bump-decision - run: | - echo "bump-part=${{ github.event.inputs.version_type }}" >> "$GITHUB_OUTPUT" - - name: Update package with new version id: bump run: | - echo "version=$(npm version ${{ steps.bump-decision.outputs.bump-part }} --no-git-tag-version )" >> "$GITHUB_OUTPUT" + # Get base version (remove -ea suffix if present, handles both -ea. and -ea- formats) + BASE_VERSION=$(node -p "require('./package.json').version" | sed -E 's/-ea[.-][0-9]+$//') + # Bump the version + NEW_VERSION=$(npm version ${{ inputs.version_type }} --no-git-tag-version | sed 's/v//') + echo "version=$NEW_VERSION" >> "$GITHUB_OUTPUT" + + - name: Install latest npm + run: npm install -g npm@11.11.1 - name: Install project modules run: npm ci - - name: Compile project - run: npm run compile - - - name: Publish package - env: - NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: npm publish - - - name: Commit and push package modifications + - name: Create release branch run: | + BRANCH="release/v${{ steps.bump.outputs.version }}" + git config user.name "${{ github.actor }}" + git config user.email "${{ github.actor }}@users.noreply.github.com" + git checkout -b "$BRANCH" git add package.json git add package-lock.json - git commit -m "build: updated package with ${{ steps.bump.outputs.version }} [skip ci]" - git push + git commit -m "build: release ${{ steps.bump.outputs.version }} [skip ci]" + git push origin "$BRANCH" + echo "$BRANCH" > releasebranch.txt - - name: Create and push new tag - run: | - git tag ${{ steps.bump.outputs.version }} -m "${{ steps.bump.outputs.version }}" - git push origin ${{ steps.bump.outputs.version }} - - - name: Create release notes for ${{ steps.bump.outputs.version }} release - uses: actions/github-script@v6 - id: release-notes + - uses: actions/upload-artifact@v7 with: - github-token: ${{ secrets.STAGING_PAT }} - script: | - const repo_name = context.payload.repository.full_name - const response = await github.request('POST /repos/' + repo_name + '/releases' + '/generate-notes', { - tag_name: '${{ steps.bump.outputs.version }}', - previous_tag_name: '${{ steps.fetch-tag.outputs.oldest-tag != '' && steps.fetch-tag.outputs.oldest-tag || steps.last-release.outputs.base-tag }}' - }) - return response.data.body + name: releasebranch.txt + path: releasebranch.txt - - name: Create a release - uses: actions/github-script@v6.4.1 + - name: Create GitHub release tag + uses: softprops/action-gh-release@v2 with: - github-token: ${{ secrets.STAGING_PAT }} - script: | - const repo_name = context.payload.repository.full_name - const response = await github.request('POST /repos/' + repo_name + '/releases', { - tag_name: '${{ steps.bump.outputs.version }}', - name: '${{ steps.bump.outputs.version }}', - draft: false, - body: ${{ steps.release-notes.outputs.result }}, - prerelease: false, - make_latest: 'true' - }) + name: "Release ${{ steps.bump.outputs.version }}" + tag_name: "v${{ steps.bump.outputs.version }}" + target_commitish: "release/v${{ steps.bump.outputs.version }}" + generate_release_notes: true + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Create Pull Request for release + next version + run: | + gh pr create \ + --title "build: release ${{ steps.bump.outputs.version }} [skip ci]" \ + --body "build: release ${{ steps.bump.outputs.version }} [skip ci]" \ + --base main \ + --head "release/v${{ steps.bump.outputs.version }}" + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/stage.yml b/.github/workflows/stage.yml deleted file mode 100644 index cbad2af5..00000000 --- a/.github/workflows/stage.yml +++ /dev/null @@ -1,186 +0,0 @@ ---- -name: Stage - -env: - # ๐Ÿ–Š๏ธ EDIT to change the image build settings. - IMAGE_NAME: exhort-javascript-api - IMAGE_REGISTRY: quay.io/ecosystem-appeng - DOCKERFILE_PATH: ./docker-image/Dockerfiles/Dockerfile - -on: - pull_request_target: - types: - - closed - - branches: - - main - - 'release/*' - - paths: - - "src/**" - - "test/**" - - "package-lock.json" - - "package.json" - - "tsconfig.json" - - ".github/workflows/stage.yml" - - "docker-image/**" - -jobs: - stage: - runs-on: ubuntu-latest -# Branches that starts with `release/` shouldn't trigger this workflow, as these are triggering the release workflow. - if: github.repository_owner == 'trustification' && github.event.pull_request.merged == true && !startsWith(github.head_ref, 'release/') - environment: staging - name: Stage the project - steps: - - name: Checkout sources - uses: actions/checkout@v4 - with: - ssh-key: ${{ secrets.DEPLOY_KEY }} - fetch-depth: 0 - - - name: Install node 18 - uses: actions/setup-node@v4 - with: - node-version: 18 - cache: npm - registry-url: 'https://npm.pkg.github.com' - env: - NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Create .npmrc - run: | - echo "@trustification:registry=https://npm.pkg.github.com" >> .npmrc - - - name: Enable Corepack - run: corepack enable - - - name: Prepare Yarn - run: corepack prepare yarn@4.9.1 --activate - - - name: Prepare PNPM - run: corepack prepare pnpm@latest --activate - - - name: Setup Java 17 - uses: actions/setup-java@v4 - with: - distribution: temurin - java-version: 17 - cache: maven - - - name: setup go - uses: actions/setup-go@v5 - with: - go-version: '1.20.1' - - - name: Setup Gradle - uses: gradle/gradle-build-action@v3 - - - name: Setup syft - uses: jaxxstorm/action-install-gh-release@v1.10.0 - with: - repo: anchore/syft - platform: linux - arch: amd64 - # tag: the latest one, so we can catch changes - - - name: Setup skopeo - run: sudo apt update && sudo apt-get -y install skopeo - - - name: Configure git - run: | - git config user.name "${{ github.actor }}" - git config user.email "${{ github.actor }}@users.noreply.github.com" - - - name: Update package with new version - id: bump - run: | - echo "version=$(npm version prerelease --no-git-tag-version --preid ea)" >> "$GITHUB_OUTPUT" - - - name: Install project modules - run: npm ci - - - name: Compile project - run: npm run compile - - - name: Check if re-test is needed - id: test-check - uses: zvigrinberg/git-retest-checkup-action@v1.1 - with: - base-ref: ${{ github.base_ref }} - pr-ref: ${{ github.head_ref }} - file-pattern-regex: "^src/.*|^test/.*" - - - name: setup Python - uses: actions/setup-python@v4 - if: steps.test-check.outputs.retest-is-needed == 'true' - with: - python-version: '3.9' - cache: 'pip' - - name: get Python location - id: python-location - run: | - echo "python-bin-location=$(echo $pythonLocation)/bin" >> $GITHUB_OUTPUT - - - name: re-test Unit-Tests + Integration Tests - if: steps.test-check.outputs.retest-is-needed == 'true' - env: - TRIGGERING_FILE: ${{ steps.test-check.outputs.triggering-file}} - run: | - echo "Re-test was triggered!!, triggering changed file - $TRIGGERING_FILE" - echo "Running Again Unit-tests =>" - npm run test - echo "Running Again Integration tests =>" - npm run integration-tests - - - name: Publish package - env: - NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: npm publish - - - name: Commit and push package modifications - run: | - git add package.json - git add package-lock.json - git commit -m "build: updated package with ${{ steps.bump.outputs.version }} [skip ci]" - git push - - - name: Create and push new tag - run: | - git tag ${{ steps.bump.outputs.version }} -m "${{ steps.bump.outputs.version }}" - git push origin ${{ steps.bump.outputs.version }} - - - name: Create a release - uses: actions/github-script@v6.4.1 - with: - github-token: ${{ secrets.GITHUB_TOKEN }} - script: | - const repo_name = context.payload.repository.full_name - const response = await github.request('POST /repos/' + repo_name + '/releases', { - tag_name: '${{ steps.bump.outputs.version }}', - name: '${{ steps.bump.outputs.version }}', - prerelease: true, - generate_release_notes: true - }) - - - name: Build Image With buildah - id: build-image - uses: redhat-actions/buildah-build@v2 - with: - image: ${{ env.IMAGE_NAME }} - tags: ${{ steps.bump.outputs.version }} - dockerfiles: | - ${{ env.DOCKERFILE_PATH }} - build-args: | - PACKAGE_REGISTRY_ACCESS_TOKEN=${{ secrets.PACKAGE_REGISTRY_ACCESS_TOKEN }} - EXHORT_JAVASCRIPT_API_VERSION=${{ steps.bump.outputs.version }} - context: docker-image - - - name: Push Image To Registry - uses: redhat-actions/push-to-registry@v2 - with: - image: ${{ steps.build-image.outputs.image }} - tags: ${{ steps.build-image.outputs.tags }} - registry: ${{ env.IMAGE_REGISTRY }} - username: ${{ secrets.IMAGE_REGISTRY_USER }} - password: ${{ secrets.IMAGE_REGISTRY_PASSWORD }} diff --git a/.github/workflows/pr.yml b/.github/workflows/test.yml similarity index 61% rename from .github/workflows/pr.yml rename to .github/workflows/test.yml index 79dba4ae..8e3c6bc5 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/test.yml @@ -1,11 +1,14 @@ +# yaml-language-server: $schema=https://www.schemastore.org/github-workflow.json --- -name: Pull request build +name: Test on: pull_request: branches: - main - - 'release/*' + push: + branches: + - main concurrency: group: ${{ github.workflow }}-${{ github.ref }} @@ -17,25 +20,18 @@ jobs: name: Lint and test project strategy: matrix: - node: ['18', 'latest'] + node: ['22', '24'] env: - MAIN_NODE_VER: '18' + MAIN_NODE_VER: '24' steps: - name: Checkout sources - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Install node ${{ matrix.node }} - uses: actions/setup-node@v4 + uses: actions/setup-node@v6 with: node-version: ${{ matrix.node }} cache: npm - registry-url: 'https://npm.pkg.github.com' - env: - NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Create .npmrc - run: | - echo "@trustification:registry=https://npm.pkg.github.com" >> .npmrc - name: Enable Corepack run: corepack enable @@ -47,41 +43,51 @@ jobs: run: corepack prepare pnpm@latest --activate - name: Setup Java 17 - uses: actions/setup-java@v4 + uses: actions/setup-java@v5 with: distribution: temurin java-version: 17 cache: maven - name: setup Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v6 with: python-version: '3.9' cache: 'pip' + - name: get Python location id: python-location run: | echo "python-bin-location=$(echo $pythonLocation)/bin" >> $GITHUB_OUTPUT + - name: Install uv + uses: astral-sh/setup-uv@v6 + + - name: Install Poetry + run: pipx install poetry + - name: setup go - uses: actions/setup-go@v5 + uses: actions/setup-go@v6 with: go-version: '1.20.1' - name: Setup Gradle - uses: gradle/actions/setup-gradle@v4 + uses: gradle/actions/setup-gradle@v5 - name: Setup syft - uses: jaxxstorm/action-install-gh-release@v1.10.0 + uses: jaxxstorm/action-install-gh-release@v2.1.0 with: repo: anchore/syft platform: linux arch: amd64 - # tag: the latest one, so we can catch changes + tag: v1.41.1 - name: Setup skopeo run: sudo apt update && sudo apt-get -y install skopeo + - name: Install latest npm + run: npm install -g npm@11.11.1 + - name: Install project modules run: npm ci @@ -90,23 +96,18 @@ jobs: - name: Run unit tests env: - EXHORT_PYTHON3_PATH: "${{steps.python-location.outputs.python-bin-location}}/python3" - EXHORT_PIP3_PATH: "${{steps.python-location.outputs.python-bin-location}}/pip3" + TRUSTIFY_DA_PYTHON3_PATH: "${{steps.python-location.outputs.python-bin-location}}/python3" + TRUSTIFY_DA_PIP3_PATH: "${{steps.python-location.outputs.python-bin-location}}/pip3" + TRUSTIFY_DA_BACKEND_URL: 'https://exhort.stage.devshift.net' run: npm run test - name: Compile project run: npm run compile - - name: Run integration tests - run: npm run integration-tests - - - name: Run integration tests cli - working-directory: integration - run: bash ./run_its.sh - - name: Upload coverage reports if: ${{ matrix.node == env.MAIN_NODE_VER }} - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: coverage path: ./coverage/coverage-final.json + diff --git a/.gitignore b/.gitignore index 8afaeecf..50a69abc 100644 --- a/.gitignore +++ b/.gitignore @@ -4,9 +4,9 @@ node_modules dist http_requests json_responses -integration/**/package-lock.json unit-tests-result.json .gradle build target .npmrc +src/providers/*.wasm diff --git a/.idea/modules.xml b/.idea/modules.xml index aa96804a..b1018eea 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -2,7 +2,7 @@ - + - \ No newline at end of file + diff --git a/.mocharc.json b/.mocharc.json index a1cd6260..3f47f6f5 100644 --- a/.mocharc.json +++ b/.mocharc.json @@ -10,5 +10,6 @@ "check-leaks": false, "color": true, "fail-zero": true, - "recursive": true + "recursive": true, + "reporter-options": ["maxDiffSize=0"] } \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index be52e737..2f497eb2 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,4 +1,4 @@ -# Contributing to *exhort-javascript-api*
![nodejs-version][10] +# Contributing to *trustify-da-javascript-client*
![nodejs-version][10] * Fork the repository * Create a new branch @@ -20,11 +20,11 @@ ### Good to know -* You can override the default backend url by setting another one in the _EXHORT_URL_ environment variable. +* You can override the default backend url by setting another one in the _TRUSTIFY_DA_URL_ environment variable. ### OpenAPI Specifications -The OpenAPI specification is located in the [`exhort-api-spec`](https://github.com/trustification/exhort-api-spec) where the Java and Javascript libraries are generated. +The OpenAPI specification is located in the [`trustify-da-api-spec`](https://github.com/trustify-da/trustify-da-api-model) where the Java and Javascript libraries are generated. ### Code Walkthrough @@ -42,6 +42,7 @@ The OpenAPI specification is located in the [`exhort-api-spec`](https://github.c which will provide data that we can send to the _Backend_ using _analysis.js_. See the [Adding a Provider](#adding-a-provider) section. * [java_maven.js](src/providers/java_maven.js) is the provider for the _Java_ _Maven_ ecosystem. + * [rust_cargo.js](src/providers/rust_cargo.js) is the provider for the _Rust_ _Cargo_ ecosystem. #### Types @@ -67,49 +68,10 @@ excluded from both linting and coverage. to the _Backend_. Use [java_maven.js](src/providers/java_maven.js) as an example to get you started. * Import the new _Provider_ and list in the in _availableProviders_ array in [provider.js](src/provider.js). -* Update the _choices_ configuration for the _manifest-name_ positional argument in [cli.js](src/cli.js). -* Add Integration Test scenarios for the added provider in [integration/scenarios](integration/scenarios). - Use the [java scenarios](integration/scenarios/maven) as an example. +* Update the _choices_ configuration for the _manifest-name_ positional argument in [cli.js](src/cli.js). +* Add Integration Test scenarios for the added provider in the [trustification/integration](https://github.com/trustification/exhort-integration-tests/) repository. * Update the documentation. This document and [README.md](README.md). -### Integration Tests - -Integration tests are performed with a _bash_ script executing _node_ scripts.
-In [integration/run_its.sh](integration/run_its.sh) we start with a function called _match_ taking 2 arguments: -* `$1` is a file name for the holding the expected result (scenarios) -* `$2` is a command execution for evaluation (testers) - -The _match_ function will match the content of the file to the output of the command. -Typically, test cases in [integration/run_its.sh](integration/run_its.sh) will invoke the _match_ function with -a scenario from the [integration/scenarios](integration/scenarios) and a _node_ command invoking one of the _node_ -scripts in [integration/testers](integration/testers).
- -We have 3 _testers_: -* [integration/testers/cli](integration/testers/cli) is a _package.json_ used for installing the _ESM module_. - Invoking the CLI Script is done against the _@trustification/exhort-javascript-api/dist/src/cli.js_ in the tester's - _node_modules_. -* [integration/testers/javascript](integration/testers/javascript) is a _javascript_ script invoking the _ESM module_. -* [integration/testers/typescript](integration/testers/typescript) is a _typescript_ script invoking the _ESM module_. - -Run integration tests from the project's root: - -> Don't forget to run `npm run compile` before running the integration tests. - -```shell -(cd integration/ && bash ./run_its.sh) -``` - -Integration tests are executed against a mocked _Backend_ server.
-If you need to run against the actual _Backend_ server, use the _EXHORT_ITS_USE_REAL_API_ environment variable: - -```shell -(cd integration/ && EXHORT_ITS_USE_REAL_API=true bash ./run_its.sh) -``` - -The mocked server implementation is [integration/server/mock_server.js](integration/server/mock_server.js). See the -[integration/server/mock_server_config.json](integration/server/mock_server_config.json) for configuring the mock -server. - ## Certificate of Origin By contributing to this project you agree to the Developer Certificate of @@ -119,7 +81,5 @@ contribution. See the [DCO](DCO) file for details. [0]: https://www.conventionalcommits.org/en/v1.0.0/ -[1]: https://github.com/trustification/exhort/blob/0.1.x/src/main/resources/META-INF/openapi.yaml - [10]: https://badgen.net/badge/NodeJS%20Version/18/68a063 diff --git a/README.md b/README.md index ba6d02e1..b02d4161 100644 --- a/README.md +++ b/README.md @@ -1,84 +1,87 @@ -# Exhort JavaScript API
![latest-no-snapshot][0] ![latest-snapshot][1] +# Trustify Dependency Analytics JavaScript Client
![latest-no-snapshot][0] ![latest-snapshot][1] -* Looking for the OpenAPI Spec? Try [Exhort API Spec](https://github.com/trustification/exhort-api-spec) -* Looking for our Java API? Try [Exhort Java API](https://github.com/trustification/exhort-java-api). -* Looking for our Backend implementation? Try [Exhort](https://github.com/trustification/exhort). - -The _Exhort JavaScript API_ module is deployed to _GitHub Package Registry_. - -
-Click here for configuring GHPR registry access. -

Configure Registry Access

-

-Create a -token -with the read:packages scope
- -> Based on -> GitHub documentation, -> In Actions you can use GITHUB_TOKEN -

-

- -Add the following line to the .npmrc file in your user home ( -See [GH Docs](https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-npm-registry#authenticating-with-a-personal-access-token)): - -```text -//npm.pkg.github.com/:_authToken= -``` -

-
+* Looking for the OpenAPI Spec? Try [Trustify Dependency Analytics API](https://github.com/guacsec/trustify-da-api-spec) +* Looking for our Java API? Try [Trustify Dependency Analytics Java Client](https://github.com/guacsec/trustify-da-java-client). +* Looking for our Backend implementation? Try [Trustify Dependency Analytics](https://github.com/guacsec/trustify-dependency-analytics).

Usage

-Configuring NPM to look in GHPR for the trustification namespace is done by adding -@trustification:registry=https://npm.pkg.github.com to .npmrc in the project root or user home. -```shell -echo "@trustification:registry=https://npm.pkg.github.com" >> .npmrc -``` -

+Prerequisites: The TRUSTIFY_DA_BACKEND_URL environment variable must be set to the URL of the Trustify Dependency Analytics backend service. You can set it as an environment variable or pass it in the options object (see Customization section). + +

License Detection

+

+The client automatically detects your project's license with intelligent fallback: +

+ +

+See License Resolution and Compliance for detailed documentation. +

+ @@ -156,10 +224,27 @@ $ exhort-javascript-api component /path/to/pom.xml
  • JavaScript - pnpm
  • JavaScript - Yarn Classic / Yarn Berry
  • Golang - Go Modules
  • -
  • Python - pip Installer
  • +
  • Python - pip Installer (requirements.txt)
  • +
  • Python - Poetry / uv (pyproject.toml)
  • Gradle (Groovy and Kotlin DSL) - Gradle Installation
  • +
  • Rust - Cargo
  • +

    License Detection

    +

    +The client automatically detects your project's license with intelligent fallback: +

    + +

    +See License Resolution and Compliance for detailed documentation. +

    + +

    Excluding Packages

    Excluding a package from any analysis can be achieved by marking the package for exclusion. @@ -203,17 +288,20 @@ Excluding a package from any analysis can be achieved by marking the package for ] } ``` + + +

  • +Golang users can add in go.mod a comment with // exhortignore next to the package to be ignored, or to "piggyback" on existing comment ( e.g - // indirect), for example: -Golang users can add in go.mod a comment with //exhortignore next to the package to be ignored, or to "piggyback" on existing comment ( e.g - //indirect) , for example: ```go -module github.com/trustification/SaaSi/deployer +module github.com/trustify-da/SaaSi/deployer go 1.19 require ( github.com/gin-gonic/gin v1.9.1 github.com/google/uuid v1.1.2 - github.com/jessevdk/go-flags v1.5.0 //exhortignore + github.com/jessevdk/go-flags v1.5.0 // exhortignore github.com/kr/pretty v0.3.1 gopkg.in/yaml.v2 v2.4.0 k8s.io/apimachinery v0.26.1 @@ -221,14 +309,20 @@ require ( ) require ( - github.com/davecgh/go-spew v1.1.1 // indirect exhortignore + github.com/davecgh/go-spew v1.1.1 // indirect; exhortignore github.com/emicklei/go-restful/v3 v3.9.0 // indirect - github.com/go-logr/logr v1.2.3 // indirect //exhortignore + github.com/go-logr/logr v1.2.3 // indirect; exhortignore ) ``` +NOTE: It is important to format exhortignore markers on indirect dependencies as shown above, otherwise the Go tooling (as well as this library) may incorrectly parse dependencies marked as indirect as being direct dependencies instead. +
  • + + +
  • Python pip users can add in requirements.txt a comment with #exhortignore(or # exhortignore) to the right of the same artifact to be ignored, for example: + ```properties anyio==3.6.2 asgiref==3.4.1 @@ -259,11 +353,14 @@ Werkzeug==2.0.3 zipp==3.6.0 ``` +
  • +
  • Gradle users can add in build.gradle a comment with //exhortignore next to the package to be ignored: + ```build.gradle plugins { -id 'java' + id 'java' } group = 'groupName' @@ -281,49 +378,116 @@ test { } ``` -All of the 5 above examples are valid for marking a package to be ignored -
  • +Rust Cargo users can add a comment with # trustify-da-ignore (or # exhortignore) in Cargo.toml next to the dependency to be ignored. This works for inline declarations, table-based declarations, and workspace-level dependency sections: + +```toml +[dependencies] +serde = "1.0" # trustify-da-ignore +tokio = { version = "1.35", features = ["full"] } + +[dependencies.regex] # trustify-da-ignore +version = "1.10" + +[workspace.dependencies] +log = "0.4" # trustify-da-ignore +``` + + +Python pyproject.toml users can add a comment with #exhortignore (or # trustify-da-ignore) next to the dependency in pyproject.toml. + +PEP 621 style ([project] dependencies): +```toml +[project] +dependencies = [ + "flask>=2.0.3", + "requests>=2.25.1", + "uvicorn>=0.17.0", #exhortignore + "click>=8.0.4", # trustify-da-ignore +] +``` + +Poetry style ([tool.poetry.dependencies]): +```toml +[tool.poetry.dependencies] +flask = "^2.0.3" +requests = "^2.25.1" +uvicorn = "^0.17.0" #exhortignore +click = "^8.0.4" # trustify-da-ignore +``` +All of the above examples are valid for marking a package to be ignored +

    Customization

    -There are 2 approaches for customizing Exhort JavaScript API. Whether you're using this API as a +There are 2 approaches for customizing Trustify Dependency Analytics JavaScript Client. Whether you're using this API as a Global Module, a Remote Script, or an ESM Module, you can use Environment Variables for various customization. +Note: The TRUSTIFY_DA_BACKEND_URL environment variable is mandatory and must be set to the URL of the Trustify Dependency Analytics backend service. Without this variable, the API will throw an error. + However, ESM Module users, can opt for customizing programmatically: ```javascript -import exhort from '@trustification/exhort-javascript-api' +import client from '@trustify-da/trustify-da-javascript-client' import fs from 'node:fs' let options = { - 'EXHORT_MVN_PATH': '/path/to/my/mvn', - 'EXHORT_NPM_PATH': '/path/to/npm', - 'EXHORT_PNPM_PATH': '/path/to/pnpm', - 'EXHORT_GO_PATH': '/path/to/go', + // Mandatory: Backend URL for Trustify Dependency Analytics service + 'TRUSTIFY_DA_BACKEND_URL': 'https://api.trustify.dev', + 'TRUSTIFY_DA_MVN_PATH': '/path/to/my/mvn', + 'TRUSTIFY_DA_NPM_PATH': '/path/to/npm', + 'TRUSTIFY_DA_PNPM_PATH': '/path/to/pnpm', + 'TRUSTIFY_DA_GO_PATH': '/path/to/go', //python - python3, pip3 take precedence if python version > 3 installed - 'EXHORT_PYTHON3_PATH' : '/path/to/python3', - 'EXHORT_PIP3_PATH' : '/path/to/pip3', - 'EXHORT_PYTHON_PATH' : '/path/to/python', - 'EXHORT_PIP_PATH' : '/path/to/pip', - 'EXHORT_GRADLE_PATH' : '/path/to/gradle', + 'TRUSTIFY_DA_PYTHON3_PATH' : '/path/to/python3', + 'TRUSTIFY_DA_PIP3_PATH' : '/path/to/pip3', + 'TRUSTIFY_DA_PYTHON_PATH' : '/path/to/python', + 'TRUSTIFY_DA_PIP_PATH' : '/path/to/pip', + 'TRUSTIFY_DA_UV_PATH' : '/path/to/uv', + 'TRUSTIFY_DA_POETRY_PATH' : '/path/to/poetry', + 'TRUSTIFY_DA_GRADLE_PATH' : '/path/to/gradle', + 'TRUSTIFY_DA_CARGO_PATH' : '/path/to/cargo', + // Workspace root for monorepos (Cargo, npm/pnpm/yarn); lock file expected here + 'workspaceDir': '/path/to/workspace-root', // Configure proxy for all requests - 'EXHORT_PROXY_URL': 'http://proxy.example.com:8080' + 'TRUSTIFY_DA_PROXY_URL': 'http://proxy.example.com:8080' } // Get stack analysis in JSON format ( all package managers, pom.xml is as an example here) -let stackAnalysis = await exhort.stackAnalysis('/path/to/pom.xml', false, options) +let stackAnalysis = await client.stackAnalysis('/path/to/pom.xml', false, options) // Get stack analysis in HTML format in string ( all package managers, pom.xml is as an example here) -let stackAnalysisHtml = await exhort.stackAnalysis('/path/to/pom.xml', true, options) +let stackAnalysisHtml = await client.stackAnalysis('/path/to/pom.xml', true, options) // Get component analysis in JSON format -let componentAnalysis = await exhort.componentAnalysis('/path/to/pom.xml', options) +let componentAnalysis = await client.componentAnalysis('/path/to/pom.xml', options) + +// Get image analysis in JSON format +let imageAnalysis = await client.imageAnalysis(['docker.io/library/node:18'], false, options) +// Get image analysis in HTML format in string +let imageAnalysisHtml = await client.imageAnalysis(['docker.io/library/node:18'], true, options) +// Specify architecture using ^^ notation (e.g., httpd:2.4.49^^amd64) +let imageAnalysisWithArch = await client.imageAnalysis(['httpd:2.4.49^^amd64'], false, options) ``` **_Environment variables takes precedence._**

    +

    Monorepo / Workspace Support

    +

    +For monorepos (Cargo workspaces, npm/pnpm/yarn workspaces) where the lock file lives at the workspace root rather than next to the manifest, pass the workspace root via workspaceDir or TRUSTIFY_DA_WORKSPACE_DIR: +

    + +

    +Use stackAnalysisBatch(workspaceRoot, html, opts) to analyze all packages/crates in a workspace in one request. Supports Cargo workspaces and JS/TS workspaces (pnpm, npm, yarn). Optional batchConcurrency (or TRUSTIFY_DA_BATCH_CONCURRENCY) limits parallel SBOM generation (default 10). For JS/TS, each package.json must have non-empty name and version; invalid manifests are skipped (warnings). Per-manifest SBOM failures are skipped if at least one SBOM succeeds (unless continueOnError: false). Set batchMetadata: true (or TRUSTIFY_DA_BATCH_METADATA) to receive { analysis, metadata } with errors[]. CLI: stack-batch --metadata, --fail-fast. See monorepo implementation plan ยง2.3 and ยง3.5. +

    +

    +See VS Code Extension Integration Requirements for integration details. +

    +

    Proxy Configuration

    You can configure a proxy for all HTTP/HTTPS requests made by the API. This is useful when your environment requires going through a proxy to access external services. @@ -332,19 +496,24 @@ You can set the proxy URL in two ways: 1. Using environment variable: ```shell -export EXHORT_PROXY_URL=http://proxy.example.com:8080 +export TRUSTIFY_DA_PROXY_URL=http://proxy.example.com:8080 ``` 2. Using the options object when calling the API programmatically: ```javascript const options = { - 'EXHORT_PROXY_URL': 'http://proxy.example.com:8080' + 'TRUSTIFY_DA_PROXY_URL': 'http://proxy.example.com:8080' } ``` The proxy URL should be in the format: `http://host:port` or `https://host:port`. The API will automatically use the appropriate protocol (HTTP or HTTPS) based on the proxy URL provided.

    +

    License resolution and dependency license compliance

    +

    +The client can resolve the project license from the manifest (e.g. package.json license, pom.xml <licenses>, Cargo.toml license) and from a LICENSE or LICENSE.md file in the project, and report when they differ. For component analysis, you can optionally run a license check: the client fetches dependency licenses from the backend (by purl) and reports dependencies whose licenses are incompatible with the project license. See License resolution and compliance for design and behavior. To disable the check on component analysis, set TRUSTIFY_DA_LICENSE_CHECK=false or pass licenseCheck: false in the options. +

    +

    Customizing Executables

    This project uses each ecosystem's executable for creating dependency trees. These executables are expected to be @@ -361,62 +530,82 @@ following keys for setting custom paths for the said executables. Maven mvn -EXHORT_MVN_PATH +TRUSTIFY_DA_MVN_PATH Maven maven -EXHORT_PREFER_MVNW +TRUSTIFY_DA_PREFER_MVNW NPM npm -EXHORT_NPM_PATH +TRUSTIFY_DA_NPM_PATH PNPM pnpm -EXHORT_PNPM_PATH +TRUSTIFY_DA_PNPM_PATH Yarn Classic / Yarn Berry yarn -EXHORT_YARN_PATH +TRUSTIFY_DA_YARN_PATH Go Modules go -EXHORT_GO_PATH +TRUSTIFY_DA_GO_PATH Python programming language python3 -EXHORT_PYTHON3_PATH +TRUSTIFY_DA_PYTHON3_PATH Python pip Package Installer pip3 -EXHORT_PIP3_PATH +TRUSTIFY_DA_PIP3_PATH Python programming language python -EXHORT_PYTHON_PATH +TRUSTIFY_DA_PYTHON_PATH Python pip Package Installer pip -EXHORT_PIP_PATH +TRUSTIFY_DA_PIP_PATH Gradle gradle -EXHORT_GRADLE_PATH +TRUSTIFY_DA_GRADLE_PATH Gradle gradle -EXHORT_PREFER_GRADLEW +TRUSTIFY_DA_PREFER_GRADLEW + + +Rust Cargo +cargo +TRUSTIFY_DA_CARGO_PATH + + +uv +uv +TRUSTIFY_DA_UV_PATH + + +Poetry +poetry +TRUSTIFY_DA_POETRY_PATH + + +Workspace root (monorepos) +โ€” +workspaceDir / TRUSTIFY_DA_WORKSPACE_DIR @@ -444,35 +633,52 @@ Two possible values for this setting: 2. MATCH_MANIFEST_VERSIONS="true" - means that before starting the analysis, the api will compare all the versions of packages in manifest against installed/resolved versions on client' environment, in case there is a difference, it will throw an error to the client/user with message containing the first encountered versions mismatch, including package name, and the versions difference, and will suggest to set setting `MATCH_MANIFEST_VERSIONS`="false" to ignore all differences - #### Golang Support -By default, all go.mod' packages' transitive modules will be taken to analysis with their original package version, that is, -if go.mod has 2 modules, `a` and `b`, and each one of them has the same package c with same major version v1, but different minor versions: -- namespace/c/v1@v1.1 -- namespace/c/v1@v1.2 +By default, Golang dependency resolution follows the [Minimal Version Selection (MVS) Algorithm](https://go.dev/ref/mod#minimal-version-selection). +This means that when analyzing a project, only the module versions that would actually be included in the final executable are considered. +For example, if your `go.mod` file declares two modules, `a` and `b`, and both depend on the same package `c` (same major version `v1`) but with different minor versions: -Then both of these packages will be entered to the generated sbom and will be included in analysis returned to client. -In golang, in an actual build of an application into an actual application executable binary, only one of the minor versions will be included in the executable, as only packages with same name but different major versions considered different packages , -hence can co-exist together in the application executable. +- `namespace/c/v1@v1.1` +- `namespace/c/v1@v1.2` -Go ecosystem knows how to select one minor version among all the minor versions of the same major version of a given package, using the [MVS Algorithm](https://go.dev/ref/mod#minimal-version-selection). +Only one of these versions โ€” the minimal version selected by MVS โ€” will be included in the generated SBOM and analysis results. +This mirrors the behavior of a real Go build, where only one minor version of a given major version can be present in the executable (since Go treats packages with the same name and major version as identical). -In order to enable this behavior, that only shows in analysis modules versions that are actually built into the application executable, please set -system property/environment variable - `EXHORT_GO_MVS_LOGIC_ENABLED=true`(Default is false) +The MVS-based resolution is **enabled by default**. +If you want to disable this behavior and instead include **all transitive module versions** (as listed in `go.mod` dependencies), set the system property or environment variable: +```bash +TRUSTIFY_DA_GO_MVS_LOGIC_ENABLED=false +``` +#### Python Support +The client supports two Python manifest formats: -#### Python Support +- **`requirements.txt`** โ€” uses pip/pip3 to resolve dependencies +- **`pyproject.toml`** โ€” uses [uv](https://docs.astral.sh/uv/) or [Poetry](https://python-poetry.org/) to resolve dependencies + +##### pyproject.toml + +For `pyproject.toml` projects, the client detects which tool manages the project by checking for lock files: +- If `poetry.lock` is present and `[tool.poetry]` is defined, **Poetry** is used (`poetry show --tree` and `poetry show --all`) +- If `uv.lock` is present, **uv** is used (`uv export --format requirements.txt --frozen --no-hashes`) +- If neither lock file is found, an error is thrown + +Both PEP 621 (`[project]` dependencies) and Poetry-style (`[tool.poetry.dependencies]`) are supported. + +Custom executable paths can be set via `TRUSTIFY_DA_UV_PATH` and `TRUSTIFY_DA_POETRY_PATH`. + +##### requirements.txt By default, For python support, the api assumes that the package is installed using the pip/pip3 binary on the system PATH, or using the customized Binaries passed to environment variables. In any case, If the package is not installed , then an error will be thrown. There is an experimental feature of installing the requirements.txt on a virtual env(only python3 or later is supported for this feature) - in this case, -it's important to pass in a path to python3 binary as `EXHORT_PYTHON3_PATH` or instead make sure that python3 is on the system path. -in such case, You can use that feature by setting environment variable `EXHORT_PYTHON_VIRTUAL_ENV` to true. +it's important to pass in a path to python3 binary as `TRUSTIFY_DA_PYTHON3_PATH` or instead make sure that python3 is on the system path. +in such case, You can use that feature by setting environment variable `TRUSTIFY_DA_PYTHON_VIRTUAL_ENV` to true. ##### "Best Efforts Installation" Since Python pip packages are very sensitive/picky regarding python version changes( every small range of versions is only tailored for a certain python version), I'm introducing this feature, that @@ -480,25 +686,33 @@ tries to install all packages in requirements.txt onto created virtual environme This increasing the chances and the probability that the automatic installation will succeed. ###### Usage -A New setting is introduced - `EXHORT_PYTHON_INSTALL_BEST_EFFORTS` (as both env variable/key in `options` object) -1. `EXHORT_PYTHON_INSTALL_BEST_EFFORTS`="false" - install requirements.txt while respecting declared versions for all packages. -2. `EXHORT_PYTHON_INSTALL_BEST_EFFORTS`="true" - install all packages from requirements.txt, not respecting the declared version, but trying to install a version tailored for the used python version. When using this setting, you must set setting `MATCH_MANIFEST_VERSIONS` to 'false'. +A New setting is introduced - `TRUSTIFY_DA_PYTHON_INSTALL_BEST_EFFORTS` (as both env variable/key in `options` object) +1. `TRUSTIFY_DA_PYTHON_INSTALL_BEST_EFFORTS`="false" - install requirements.txt while respecting declared versions for all packages. +2. `TRUSTIFY_DA_PYTHON_INSTALL_BEST_EFFORTS`="true" - install all packages from requirements.txt, not respecting the declared version, but trying to install a version tailored for the used python version. When using this setting, you must set setting `MATCH_MANIFEST_VERSIONS` to 'false'. ##### Using `pipdeptree` By default, The API algorithm will use native commands of PIP installer as data source to build the dependency tree. -It's also possible to use the lightweight Python PIP utility [pipdeptree](https://pypi.org/project/pipdeptree/) as data source instead. In order to activate this, you need to set the environment variable/option `EXHORT_PIP_USE_DEP_TREE` to 'true'. +It's also possible to use the lightweight Python PIP utility [pipdeptree](https://pypi.org/project/pipdeptree/) as data source instead. In order to activate this, you need to set the environment variable/option `TRUSTIFY_DA_PIP_USE_DEP_TREE` to 'true'. #### Toggle Red Hat Trusted Content recommendations -Both the HTML-based report and JSON response will by default contain recommendations for migrating to Red Hat-based Trusted Content repositories. This feature can be disabled by setting `EXHORT_RECOMMENDATIONS_ENABLED` to 'false' via environment variables or options. +Both the HTML-based report and JSON response will by default contain recommendations for migrating to Red Hat-based Trusted Content repositories. This feature can be disabled by setting `TRUSTIFY_DA_RECOMMENDATIONS_ENABLED` to 'false' via environment variables or options. + +#### Additional CLI arguments +For some ecosystems we support passing additional CLI arguments to the underlying tools. The following table outlines the supported ecosystems and the environment variable/option that configures this. Note that the arguments are expected to be in the format of a JSON array. + +|Ecosystem|Key | +|---------|---------------| +|Maven |TRUSTIFY_DA_MVN_ARGS| + -[0]: https://img.shields.io/github/v/release/trustification/exhort-javascript-api?color=green&label=latest -[1]: https://img.shields.io/github/v/release/trustification/exhort-javascript-api?color=yellow&include_prereleases&label=early-access +[0]: https://img.shields.io/github/v/release/guacsec/trustify-da-javascript-client?color=green&label=latest +[1]: https://img.shields.io/github/v/release/guacsec/trustify-da-javascript-client?color=yellow&include_prereleases&label=early-access ### Known Issues - For pip requirements.txt - It's been observed that for python versions 3.11.x, there might be slowness for invoking the analysis. - If you encounter a performance issue with version >= 3.11.x, kindly try to set environment variable/option `EXHORT_PIP_USE_DEP_TREE=true`, before calling the analysis. + If you encounter a performance issue with version >= 3.11.x, kindly try to set environment variable/option `TRUSTIFY_DA_PIP_USE_DEP_TREE=true`, before calling the analysis. - For maven pom.xml, it has been noticed that using java 17 might cause stack analysis to hang forever. diff --git a/catalog-info.yaml b/catalog-info.yaml index e3642967..2ef62c8e 100644 --- a/catalog-info.yaml +++ b/catalog-info.yaml @@ -2,15 +2,15 @@ apiVersion: backstage.io/v1alpha1 kind: Component metadata: annotations: - backstage.io/kubernetes-id: exhort-javascript-api - github.com/project-slug: trustification/exhort-javascript-api + backstage.io/kubernetes-id: trustify-da-javascript-client + github.com/project-slug: guacsec/trustify-da-javascript-client github.com/project-readme-path: README.md - backstage.io/view-url: https://github.com/trustification/exhort-javascript-api/blob/main/catalog-info.yaml - backstage.io/edit-url: https://github.com/trustification/exhort-javascript-api/blob/main/catalog-info.yaml - backstage.io/source-location: url:https://github.com/trustification/exhort-javascript-api + backstage.io/view-url: https://github.com/guacsec/trustify-da-javascript-client/blob/main/catalog-info.yaml + backstage.io/edit-url: https://github.com/guacsec/trustify-da-javascript-client/blob/main/catalog-info.yaml + backstage.io/source-location: url:https://github.com/guacsec/trustify-da-javascript-client rhda/manifest-file-path: package.json backstage.io/techdocs-ref: dir:README.md - name: exhort-javascript-api + name: trustify-da-javascript-client spec: lifecycle: production owner: ecosystem-appeng diff --git a/config/config.properties b/config/config.properties index 39940fa7..66bae57e 100644 --- a/config/config.properties +++ b/config/config.properties @@ -1 +1 @@ -EXHORT_DEV_MODE=false +TRUSTIFY_DA_DEV_MODE=false diff --git a/docker-image/Dockerfiles/Dockerfile b/docker-image/Dockerfiles/Dockerfile index 360471e2..ec89061b 100644 --- a/docker-image/Dockerfiles/Dockerfile +++ b/docker-image/Dockerfiles/Dockerfile @@ -1,83 +1,136 @@ # first stage -FROM registry.access.redhat.com/ubi9/nodejs-20 as builder +FROM registry.access.redhat.com/ubi9/nodejs-24 AS builder -# use privilaged user +# use privileged user USER root -# assign token for reading packages from github package registry -ARG PACKAGE_REGISTRY_ACCESS_TOKEN='' -ARG EXHORT_JAVASCRIPT_API_VERSION='0.1.1-ea.55' - -# install Java -RUN curl -kL https://download.oracle.com/java/21/archive/jdk-21.0.1_linux-x64_bin.tar.gz -o /tmp/java-package.tar.gz \ - && tar xvzf /tmp/java-package.tar.gz -C /usr/ +# install OpenJDK from Adoptium (Eclipse Temurin) - latest JDK 21 LTS +RUN curl -kL "https://api.adoptium.net/v3/binary/latest/21/ga/linux/x64/jdk/hotspot/normal/eclipse" -o /tmp/java-package.tar.gz \ + && tar xvzf /tmp/java-package.tar.gz -C /usr/ \ + && mv /usr/jdk-21* /usr/temurin-21 # install Maven package manager -RUN curl -kL https://dlcdn.apache.org/maven/maven-3/3.9.6/binaries/apache-maven-3.9.6-bin.tar.gz -o /tmp/maven-package.tar.gz \ +RUN curl -kL https://archive.apache.org/dist/maven/maven-3/3.9.12/binaries/apache-maven-3.9.12-bin.tar.gz -o /tmp/maven-package.tar.gz \ && tar xvzf /tmp/maven-package.tar.gz -C /usr/ +# install gradle package manager +RUN curl -kL https://services.gradle.org/distributions/gradle-9.2.1-bin.zip -o /tmp/gradle-package.zip \ + && unzip /tmp/gradle-package.zip -d /usr/ + # install golang package manager -RUN curl -kL https://go.dev/dl/go1.21.5.linux-amd64.tar.gz -o /tmp/golang-package.tar.gz \ +RUN curl -kL https://go.dev/dl/go1.25.5.linux-amd64.tar.gz -o /tmp/golang-package.tar.gz \ && tar xvzf /tmp/golang-package.tar.gz -C /usr/ +# install corepack and package managers (pnpm, yarn classic + berry) - stage to /usr/local for easy copying +ENV COREPACK_HOME=/usr/local/corepack/cache +RUN npm install -g corepack@latest \ + && corepack enable \ + && corepack prepare pnpm@10.1.0 --activate \ + && corepack prepare yarn@1.22.22 \ + && corepack prepare yarn@4.9.1 --activate \ + && NPM_PREFIX=$(npm config get prefix) \ + && mkdir -p /usr/local/corepack/bin \ + && cp -rL $NPM_PREFIX/lib/node_modules/corepack/* /usr/local/corepack/ \ + && cp $NPM_PREFIX/bin/pnpm /usr/local/corepack/bin/ \ + && cp $NPM_PREFIX/bin/yarn /usr/local/corepack/bin/ \ + && cp $NPM_PREFIX/bin/yarnpkg /usr/local/corepack/bin/ \ + && cp $NPM_PREFIX/bin/corepack /usr/local/corepack/bin/ \ + && ln -s ../dist/lib /usr/local/corepack/bin/lib + # install jq JSON formating tool -RUN curl -kL https://github.com/jqlang/jq/releases/download/jq-1.7.1/jq-linux64 -o /usr/bin/jq +RUN curl -kL https://github.com/jqlang/jq/releases/download/jq-1.8.1/jq-linux64 -o /usr/bin/jq -# copy the .npmrc file -COPY configs/.npmrc . -# replace placeholder with the actual environment variable -RUN sed -i "s/__PACKAGE_REGISTRY_ACCESS_TOKEN__/${PACKAGE_REGISTRY_ACCESS_TOKEN}/g" ./.npmrc -# install Exhort javascript API -RUN npm install --global @trustification/exhort-javascript-api@${EXHORT_JAVASCRIPT_API_VERSION} +# Copy RHDA script (before changing WORKDIR) +COPY docker-image/scripts/trustify-da.sh /trustify-da.sh -# add RHDA script -COPY scripts/rhda.sh /rhda.sh +# Copy project files and install Exhort javascript API locally +WORKDIR /app +COPY package.json package-lock.json ./ +COPY dist ./dist +COPY config ./config +RUN npm install --production \ + && mkdir -p /app/node_modules/.bin \ + && ln -s /app/dist/src/cli.js /app/node_modules/.bin/trustify-da-javascript-client # assign executable permissions to all installed binaries -RUN chmod +x /usr/jdk-21.0.1/bin/java \ - && chmod +x /usr/apache-maven-3.9.6/bin/mvn \ +RUN chmod +x /usr/temurin-21/bin/java \ + && chmod +x /usr/apache-maven-3.9.12/bin/mvn \ + && chmod +x /usr/gradle-9.2.1/bin/gradle \ && chmod +x /usr/go/bin/go \ && chmod +x /usr/bin/jq \ - && chmod +x /opt/app-root/src/.npm-global/bin/exhort-javascript-api \ - && chmod +x /rhda.sh + && chmod +x /app/dist/src/cli.js \ + && chmod +x /app/node_modules/.bin/trustify-da-javascript-client \ + && chmod +x /trustify-da.sh # use default user USER default # second stage -FROM registry.access.redhat.com/ubi9/nodejs-20-minimal +FROM registry.access.redhat.com/ubi9/nodejs-24-minimal + +# Build arguments for metadata +ARG IMAGE_VERSION +ARG IMAGE_REVISION +ARG IMAGE_CREATED + +# Open Container Initiative (OCI) metadata labels +LABEL org.opencontainers.image.source=https://github.com/guacsec/trustify-da-javascript-client +LABEL org.opencontainers.image.description="Trustify Dependency Analytics JavaScript Client - Container image for dependency analysis and vulnerability scanning supporting Maven, NPM, Golang, Gradle, Pnpm and Yarn ecosystems" +LABEL org.opencontainers.image.licenses=Apache-2.0 +LABEL org.opencontainers.image.title="Trustify Dependency Analytics JavaScript Client" +LABEL org.opencontainers.image.vendor="guacsec" +LABEL org.opencontainers.image.url=https://github.com/guacsec/trustify-da-javascript-client +LABEL org.opencontainers.image.documentation=https://github.com/guacsec/trustify-da-javascript-client#README.md +LABEL org.opencontainers.image.version="${IMAGE_VERSION}" +LABEL org.opencontainers.image.revision="${IMAGE_REVISION}" +LABEL org.opencontainers.image.created="${IMAGE_CREATED}" -LABEL org.opencontainers.image.source https://github.com/trustification/exhort-javascript-api - -# assign rhda source for exhort tracking purposes -ENV RHDA_SOURCE='' # contains pip feeze --all data, base64 encoded -ENV EXHORT_PIP_FREEZE='' +ENV TRUSTIFY_DA_PIP_FREEZE='' # contains pip show data for all packages, base64 encoded -ENV EXHORT_PIP_SHOW='' -# indicate whether to use the Minimal version selection (MVS) algorithm to select a set of module versions to use when building Go packages. -ENV EXHORT_GO_MVS_LOGIC_ENABLED='false' +ENV TRUSTIFY_DA_PIP_SHOW='' -# Copy java executable from the builder stage -COPY --from=builder /usr/jdk-21.0.1/ /usr/jdk-21.0.1/ -ENV JAVA_HOME=/usr/jdk-21.0.1 +# Copy OpenJDK (Temurin) from the builder stage +COPY --from=builder /usr/temurin-21/ /usr/temurin-21/ +ENV JAVA_HOME=/usr/temurin-21 # Copy maven executable from the builder stage -COPY --from=builder /usr/apache-maven-3.9.6/ /usr/apache-maven-3.9.6/ -ENV MAVEN_HOME=/usr/apache-maven-3.9.6 +COPY --from=builder /usr/apache-maven-3.9.12/ /usr/apache-maven-3.9.12/ +ENV MAVEN_HOME=/usr/apache-maven-3.9.12 # Copy golang executable from the builder stage COPY --from=builder /usr/go/ /usr/go/ ENV GOLANG_HOME=/usr/go -# Update PATH -ENV PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin:$GOLANG_HOME/bin +# Copy gradle executable from the builder stage +COPY --from=builder /usr/gradle-9.2.1/ /usr/gradle-9.2.1/ +ENV GRADLE_HOME=/usr/gradle-9.2.1 + +# Copy corepack and package manager binaries from builder stage +COPY --from=builder /usr/local/corepack/ /usr/local/corepack/ +ENV COREPACK_HOME=/usr/local/corepack/cache + +# Create yarn wrapper scripts, and fix permissions +USER root +RUN chown -R 1001:0 /usr/local/corepack/cache \ + && chmod -R g+rwX /usr/local/corepack/cache \ + && printf '#!/bin/sh\nexec corepack yarn@1.22.22 "$@"\n' > /usr/local/bin/yarn-classic \ + && printf '#!/bin/sh\nexec corepack yarn@4.9.1 "$@"\n' > /usr/local/bin/yarn-berry \ + && chmod +x /usr/local/bin/yarn-classic /usr/local/bin/yarn-berry +USER 1001 + +# Update PATH (corepack bin first for pnpm/yarn to be found reliably) +ENV PATH=/usr/local/corepack/bin:/app/node_modules/.bin:$JAVA_HOME/bin:$MAVEN_HOME/bin:$GOLANG_HOME/bin:$GRADLE_HOME/bin:$PATH + +# Set explicit paths for package managers (used by trustify-da-javascript-client) +ENV TRUSTIFY_DA_PNPM_PATH=/usr/local/corepack/bin/pnpm +ENV TRUSTIFY_DA_YARN_PATH=/usr/local/corepack/bin/yarn # Copy jq executable from the builder stage COPY --from=builder /usr/bin/jq /usr/bin/jq -# Copy exhort-javascript-api executable from the builder stage -COPY --from=builder /opt/app-root/src/.npm-global/ /opt/app-root/src/.npm-global/ +# Copy trustify-da-javascript-client from the builder stage +COPY --from=builder /app /app -# Copy RHDA executable script from the builder stage -COPY --from=builder /rhda.sh /rhda.sh +# Copy trustify-da-javascript-client executable script from the builder stage +COPY --from=builder /trustify-da.sh /trustify-da.sh diff --git a/docker-image/README.md b/docker-image/README.md index b31e8b81..1a9be9b8 100644 --- a/docker-image/README.md +++ b/docker-image/README.md @@ -1,7 +1,7 @@ -# Exhort Javascript API Docker Images +# Trustify Dependency Analytics Javascript Client Container Images -These dockerfiles provides all nessesary components to generate images for Red Hat Dependency Analytics (RHDA). -These images can be used as base images to set up the necessary environment and dependencies for running the Red Hat Dependency Analytics. +These dockerfiles provides all nessesary components to generate images for Trustify Dependency Analytics. +These images can be used as base images to set up the necessary environment and dependencies for running the Trustify Dependency Analytics. ## Prerequisites Before getting started, ensure that you have one of the following prerequisites installed on your system: @@ -9,31 +9,46 @@ Before getting started, ensure that you have one of the following prerequisites - Docker: [Installation Guide](https://docs.docker.com/get-docker/) - Podman: [Installation Guide](https://podman.io/docs/installation) -Both Docker and Podman are container runtimes that can be used to build and run the Red Hat Dependency Analytics images. You can choose either Docker or Podman based on your preference and the compatibility with your operating system. +Both Docker and Podman are container runtimes that can be used to build and run the Trustify Dependency Analytics images. You can choose either Docker or Podman based on your preference and the compatibility with your operating system. -## Images generated for Exhort Javascript API +## Image generated for Trustify Dependency Analytics Javascript Client -Ecosystem | Version | IMAGE | TAG | -------------------------------| ------------------------------------------------------------------ | ----------------------------------------------- |-------------------| -Maven, NPM, Golang | mvn 3.9.6,
    npm 10.2.4,
    go 1.21.5,
    python \ | quay.io/ecosystem-appeng/exhort-javascript-api | 0.1.1-ea.26 | +ghcr.io/guacsec/trustify-da-javascript-client +See the [GitHub Container Registry](https://github.com/guacsec/trustify-da-javascript-client/pkgs/container/trustify-da-javascript-client) + +Ecosystem | Version | +------------------------------| ------------------------------------------------------------------ | +Maven | 3.9.12 | +Gradle | 9.2.1 | +Go | 1.25.5 | +NPM | 11.6.2 | +PNPM | 10.1.0 | +Yarn Classic | 1.22.22 | +Yarn Berry | 4.9.1 | +Python | n/a | + +### Note for Python users + +This container image doesn't come with Python or Pip installed. It is suggested that you run `pip install` and `pip freeze` in a previous step like a sidecar (see [Tekton sidecars](https://tekton.dev/docs/pipelines/tasks/#using-a-sidecar-in-a-task)) where you can specify exactly which Python version +your project requires and generate the required dependency data. ## Usage Notes -To perform RHDA analysis on a **Python** ecosystem, the data from both `pip freeze --all` and `pip show` commands should be generated for all packages listed in the requirements.txt manifest. This data should be encoded in base64 and passed through the `EXHORT_PIP_FREEZE` and `EXHORT_PIP_SHOW` environment variables, respectively. +To perform RHDA analysis on a **Python** ecosystem, the data from both `pip freeze --all` and `pip show` commands should be generated for all packages listed in the requirements.txt manifest. This data should be encoded in base64 and passed through the `TRUSTIFY_DA_PIP_FREEZE` and `TRUSTIFY_DA_PIP_SHOW` environment variables, respectively. Code example: ``` shell # Install requirements.txt pip3 install -r requirements.txt -# Generate pip freeze --all data +# Generate pip freeze --all data pip3 freeze --all > pip_freeze.txt -# Generate pip show data +# Generate pip show data SHOW_LIST=$(awk -F '==' '{print $1}' < pip_freeze.txt) pip3 show $(echo "$SHOW_LIST") > pip_show.txt # Encode data using base64 and export to environment variables -export EXHORT_PIP_FREEZE=$(cat pip_freeze.txt | base64 -w 0) -export EXHORT_PIP_SHOW=$(cat pip_show.txt | base64 -w 0) -``` \ No newline at end of file +export TRUSTIFY_DA_PIP_FREEZE=$(cat pip_freeze.txt | base64 -w 0) +export TRUSTIFY_DA_PIP_SHOW=$(cat pip_show.txt | base64 -w 0) +``` diff --git a/docker-image/configs/.npmrc b/docker-image/configs/.npmrc deleted file mode 100644 index 6a001f2e..00000000 --- a/docker-image/configs/.npmrc +++ /dev/null @@ -1,2 +0,0 @@ -//npm.pkg.github.com/:_authToken=__PACKAGE_REGISTRY_ACCESS_TOKEN__ -@trustification:registry=https://npm.pkg.github.com diff --git a/docker-image/scripts/rhda.sh b/docker-image/scripts/trustify-da.sh similarity index 55% rename from docker-image/scripts/rhda.sh rename to docker-image/scripts/trustify-da.sh index bfeafb3b..6792e84b 100644 --- a/docker-image/scripts/rhda.sh +++ b/docker-image/scripts/trustify-da.sh @@ -5,25 +5,75 @@ output_file_path="$2" printf "Analyzing the stack. Please wait..\n\n" +# Get the directory containing the manifest file +manifest_dir=$(dirname "$manifest_file_path") +manifest_name=$(basename "$manifest_file_path") + +# Detect and set the correct yarn version if this is a yarn project +if [ "$manifest_name" = "package.json" ] && [ -f "$manifest_dir/yarn.lock" ]; then + # Check if packageManager is already declared in package.json + package_manager=$(jq -r '.packageManager // empty' "$manifest_file_path" 2>/dev/null) + + if [ -z "$package_manager" ]; then + # No packageManager declared, detect based on project files + if [ -f "$manifest_dir/.yarnrc.yml" ]; then + # .yarnrc.yml exists = Yarn Berry + printf "Detected Yarn Berry project (found .yarnrc.yml), using yarn@4.9.1\n" + export TRUSTIFY_DA_YARN_PATH=/usr/local/bin/yarn-berry + else + # No .yarnrc.yml = Yarn Classic + printf "Detected Yarn Classic project, using yarn@1.22.22\n" + export TRUSTIFY_DA_YARN_PATH=/usr/local/bin/yarn-classic + fi + else + printf "Using declared packageManager: %s\n" "$package_manager" + fi +fi + # Getting RHDA stack analysis report using Exhort Javascript CLI. -report=$(exhort-javascript-api stack $manifest_file_path 2>error.log) +report=$(trustify-da-javascript-client stack $manifest_file_path 2>error.log) exit_code=$? if [ $exit_code != 0 ] then - # In case of failure save only exit code into output file. + # Read the full error log + error_log=$(cat error.log 2>/dev/null || echo "") + + # Extract the main error message (first Error: line) + main_error=$(echo "$error_log" | grep -m1 "^Error:" || echo "Unknown error") + + # Extract cause chain (lines with "cause:" or indented error details) + cause_chain=$(echo "$error_log" | grep -E "(cause:|Caused by| at )" | head -20 || echo "") + + # In case of failure save error details into output file. jq -n {} | \ - jq --arg exit_code "$exit_code" '. + {exit_code: $exit_code}' > \ + jq --arg exit_code "$exit_code" \ + --arg error "$main_error" \ + --arg stderr "$error_log" \ + '. + {exit_code: $exit_code, error: $error, stderr: $stderr}' > \ $output_file_path - # Print stderr message to console - error_message=$(sed -n '/^Error:/p' error.log) - printf "\n[ERROR] Red Hat Dependency Analytics failed with exit code $exit_code.\n$error_message" + # Print detailed error message to console + printf "\n[ERROR] Trustify Dependency Analytics failed with exit code $exit_code.\n" + printf "\n%s\n" "$main_error" + + if [ -n "$cause_chain" ]; then + printf "\nCause chain:\n%s\n" "$cause_chain" + fi + + # Show full stderr if it contains additional information + if [ -n "$error_log" ] && [ "$error_log" != "$main_error" ]; then + printf "\nFull error output:\n" + printf "=%.0s" {1..50} + printf "\n%s\n" "$error_log" + printf "=%.0s" {1..50} + fi + exit 1 else # In case of success print report summary into console -printf "\nRed Hat Dependency Analytics Report\n" +printf "\nTrustify Dependency Analytics Report\n" printf "=%.0s" {1..50} printf "\n" printf "Dependencies\n" @@ -65,5 +115,5 @@ printf "=%.0s" {1..50} $output_file_path printf "\nFull report is saved into file: $output_file_path" - printf "\nTask is completed." + printf "\nTask is completed.\n" fi diff --git a/docs/license-resolution-and-compliance.md b/docs/license-resolution-and-compliance.md new file mode 100644 index 00000000..a4a5493c --- /dev/null +++ b/docs/license-resolution-and-compliance.md @@ -0,0 +1,172 @@ +# License Resolution and Compliance + +This document describes the license analysis features that help you understand your projectโ€™s license and check compatibility with your dependencies. + +## Overview + +License analysis is **enabled by default** and provides: + +1. **Project license detection** from your manifest file (e.g., `package.json`, `pom.xml`) and LICENSE files +2. **Dependency license information** from the Trustify DA backend +3. **Compatibility checking** to identify potential license conflicts +4. **Mismatch detection** when your manifest and LICENSE file declare different licenses + +## How It Works + +### Project License Detection + +The client looks for your projectโ€™s license with **automatic fallback**: + +1. **Primary: Manifest file** โ€” Reads the license field from: + - `package.json`: `license` field + - `pom.xml`: `` element + - `Cargo.toml`: `license` field under `[package]` or `[workspace.package]` + - `build.gradle` / `build.gradle.kts`: No standard license field (falls back to LICENSE file) + - `go.mod`: No standard license field (falls back to LICENSE file) + - `requirements.txt`: No standard license field (falls back to LICENSE file) + +2. **Fallback: LICENSE file** โ€” If no license is found in the manifest, searches for `LICENSE`, `LICENSE.md`, or `LICENSE.txt` in the same directory as your manifest + +**How the fallback works:** +- **Ecosystems with manifest license support** (Maven, JavaScript, Rust Cargo): Uses manifest license if present, otherwise falls back to LICENSE file +- **Ecosystems without manifest license support** (Gradle, Go, Python): Automatically reads from LICENSE file +- **SPDX detection**: Common licenses (Apache-2.0, MIT, GPL-2.0/3.0, LGPL-2.1/3.0, AGPL-3.0, BSD-2-Clause/3-Clause) are automatically detected from LICENSE file content + +The backendโ€™s license identification API is used for accurate LICENSE file detection when available. + +### Compatibility Checking + +The client checks if dependency licenses are compatible with your project license. For example: +- Permissive project (MIT) + permissive dependencies โ†’ โœ… Compatible +- Permissive project (MIT) + strong copyleft dependency (GPL) โ†’ โš ๏ธ Potentially incompatible + +Compatibility results are included in the analysis reportโ€™s `licenseSummary`. + +## Configuration + +### Disable License Checking + +License analysis runs automatically during **component analysis only** (not stack analysis). To disable it: + +**Environment variable:** +```bash +export TRUSTIFY_DA_LICENSE_CHECK=false +``` + +**Programmatic option:** +```javascript +await componentAnalysis(โ€˜pom.xmlโ€™, { licenseCheck: false }); +``` + +## CLI Usage + +### Get License Information + +```bash +exhort license path/to/pom.xml +``` + +**Example output:** +```json +{ + "manifestLicense": { + "spdxId": "Apache-2.0", + "category": "PERMISSIVE", + "name": "Apache License 2.0", + "identifiers": ["Apache-2.0"] + }, + "fileLicense": { + "spdxId": "Apache-2.0", + "category": "PERMISSIVE", + "name": "Apache License 2.0", + "identifiers": ["Apache-2.0"] + }, + "mismatch": false +} +``` + +Note: The `license` command shows only your project's license. For dependency license information, use component analysis. + +## Analysis Report Fields + +When license checking is enabled, component analysis includes a `licenseSummary` field: + +```javascript +{ + // ... standard analysis fields (providers, etc.) ... + "licenseSummary": { + "projectLicense": { + "manifest": { + "spdxId": "Apache-2.0", + "category": "PERMISSIVE", + "name": "Apache License 2.0", + "identifiers": ["Apache-2.0"] + }, + "file": { + "spdxId": "Apache-2.0", + "category": "PERMISSIVE", + "name": "Apache License 2.0", + "identifiers": ["Apache-2.0"] + }, + "mismatch": false + }, + "incompatibleDependencies": [ + { + "purl": "pkg:maven/org.example/gpl-lib@1.0.0", + "licenses": ["GPL-3.0"], + "category": "STRONG_COPYLEFT", + "reason": "Dependency license(s) are incompatible with the project license." + } + ] + } +} +``` + +**Note:** Dependency license information (for all dependencies, not just incompatible ones) is available in the standard backend response under the `licenses` field. The `licenseSummary` only includes project license details and flagged incompatibilities. + +## Common Scenarios + +### Mismatch Between Manifest and LICENSE File + +If your `package.json` says `"license": "MIT"` but your LICENSE file contains Apache-2.0 text, the component analysis report will show: +```json +{ + "licenseSummary": { + "projectLicense": { + "manifest": { + "spdxId": "MIT", + "category": "PERMISSIVE", + "name": "MIT License" + }, + "file": { + "spdxId": "Apache-2.0", + "category": "PERMISSIVE", + "name": "Apache License 2.0" + }, + "mismatch": true + }, + "incompatibleDependencies": [] + } +} +``` + +**Action:** Update your manifest or LICENSE file to match. + +### Incompatible Dependencies + +If you have a permissive-licensed project (MIT, Apache) but depend on GPL-licensed libraries, theyโ€™ll appear in `incompatibleDependencies`. + +**Action:** Review the flagged dependencies and consider: +- Finding alternative libraries with compatible licenses +- Consulting legal counsel if the dependency is necessary +- Understanding how youโ€™re using the dependency (linking, distribution, etc.) + +## SBOM Integration + +Project license information is automatically included in generated SBOMs (CycloneDX format) in the root componentโ€™s `licenses` field. + +**LICENSE file fallback in SBOMs:** +- **All ecosystems** now include license information in the SBOM when available +- **Gradle, Go, Python projects**: Even though these ecosystems donโ€™t have manifest license fields, the SBOM will include the license from your LICENSE file +- **Maven, JavaScript, Rust Cargo projects**: The SBOM uses the manifest license, or falls back to LICENSE file if not specified in manifest +- If neither manifest nor LICENSE file contains a license, the SBOM root component will have no `licenses` field diff --git a/integration/run_its.sh b/integration/run_its.sh deleted file mode 100755 index 48852ad7..00000000 --- a/integration/run_its.sh +++ /dev/null @@ -1,164 +0,0 @@ -#!/usr/bin/env bash - -#!!!!! DO NOT FORGET 'npm run compile' on root prior to running this script !!!!# - -# set EXHORT_ITS_USE_REAL_API=true to use the real backend -EXHORT_ITS_USE_REAL_API="${EXHORT_ITS_USE_REAL_API:=false}" - -# utility function for wrapping up and exiting -# takes an exit code -cleanup() { - # PID is set when we start the mock server - if [ -n "${PID}" ]; then - echo "STOPPING Mock HTTP Server" - if ! kill "$PID"; then - echo "- FAILED Killing PID $PID" - else - echo "- SUCCESSFUL" - fi - fi - exit "$1" -} - -matchConstant() { - TEST_MESSAGE="$3" - sleep 1 - echo "$TEST_MESSAGE" - if [[ "$1" != "$2" ]]; then - echo "- FAILED" - echo "expected = $1, actual= $2" - cleanup 1 - fi - echo "- PASSED" - echo -} - -########################################## -###### Verify Required Tools Exists ###### -########################################## -echo "VERIFYING Node and NPM availability" -if ! node --version > /dev/null 2>&1; then - RC="$?" - echo "- FAILED Node not found" - cleanup $RC -fi - -if ! npm --version > /dev/null 2>&1; then - RC="$?" - echo "- FAILED NPM not found" - cleanup $RC -fi -echo "- SUCCESSFUL" - -echo "VERIFYING Java and Maven availability" -if ! java --version > /dev/null 2>&1; then - RC="$?" - echo "- FAILED Java not found" - cleanup $RC -fi - -if ! mvn --version > /dev/null 2>&1; then - RC="$?" - echo "- FAILED Maven not found" - cleanup $RC -fi -echo "- SUCCESSFUL" - - -########################################## -###### Preparing CLI Tests ###### -########################################## -echo "PREPARING JavaScript CLI tests environment" -rm -rf testers/cli/node_modules -rm -f testers/cli/package-lock.json -if ! npm --prefix testers/cli install --silent ; then - RC="$?" - echo "- FAILED Installing exhort-javascript-api environment for testing" - cleanup $RC -fi -echo "- SUCCESSFUL" -mkdir -p ./responses -#### JAVA MAVEN -echo "RUNNING JavaScript CLI integration test for Stack Analysis report in Html for Java Maven" - -testers/cli/node_modules/.bin/exhort-javascript-api stack scenarios/maven/pom.xml --html > ./responses/stack.html -RC="$?" -if [ "$RC" -ne 0 ]; then - echo "- FAILED, return $RC from invocation" - cleanup $RC -fi -RESPONSE_CONTENT=$(grep -i "DOCTYPE html" ./responses/stack.html) -if [[ -z "${RESPONSE_CONTENT}" ]]; then - echo "- FAILED, response is not valid html: $RESPONSE_CONTENT" - cleanup 1 -fi -echo "- PASSED" -echo - -echo 'RUNNING JavaScript CLI integration test for Stack Analysis report summary of snyk provider for Java Maven' -testers/cli/node_modules/.bin/exhort-javascript-api stack scenarios/maven/pom.xml --summary > ./responses/stack-summary.json -RC="$?" -if [ "$RC" -ne 0 ]; then - echo "- FAILED, return $RC from invocation" - cleanup $RC -fi - -if ! RESPONSE_CONTENT=$(jq . ./responses/stack-summary.json); then - RC="$?" - echo "- FAILED, response is not a valid json: $RESPONSE_CONTENT" - cleanup $RC -fi -echo -echo "$RESPONSE_CONTENT" -echo "- PASSED" -echo - -echo "RUNNING JavaScript CLI integration test for Stack Analysis report in Json for Java Maven" -testers/cli/node_modules/.bin/exhort-javascript-api stack scenarios/maven/pom.xml > ./responses/stack.json -RC="$?" -if [ "$RC" -ne 0 ]; then - echo "- FAILED, return $RC from invocation" - cleanup $RC -fi - -if ! RESPONSE_CONTENT=$(jq . ./responses/stack.json); then - RC="$?" - echo "- FAILED, response is not a valid json: $RESPONSE_CONTENT" - cleanup $RC -fi - -StatusCodeTC=$(jq '.providers["trusted-content"].status.code' ./responses/stack.json) -matchConstant "200" "$StatusCodeTC" "Check that Response code from Trusted Content is OK ( Http Status = 200)..." - -#StatusCodeSnyk=$(jq '.providers.snyk.status.code' ./responses/stack.json) -#matchConstant "200" "$StatusCodeSnyk" "Check that Response code from Snyk Provider is OK ( Http Status = 200)..." - -echo "RUNNING JavaScript CLI integration test for Component Analysis report for Java Maven" -eval "testers/cli/node_modules/.bin/exhort-javascript-api component scenarios/maven/pom.xml" > ./responses/component.json -RC="$?" -if [ "$RC" -ne 0 ]; then - echo "- FAILED, return $RC from invocation" - cleanup $RC -fi - -if ! RESPONSE_CONTENT=$(jq . ./responses/component.json); then - RC="$?" - echo "- FAILED, response is not a valid json, got $RC from parsing the file" - cleanup $RC -fi - -StatusCodeTC=$(jq '.providers["trusted-content"].status.code' ./responses/stack.json) -matchConstant "200" "$StatusCodeTC" "Check that Response code from Trusted Content is OK ( Http Status = 200)..." -#StatusCodeSnyk=$(jq '.providers.snyk.status.code' ./responses/stack.json) -#matchConstant "200" "$StatusCodeSnyk" "Check that Response code from Snyk Provider is OK ( Http Status = 200)..." - -echo "RUNNING JavaScript CLI integration test for Validate Token Function With wrong token, expecting getting 401 http status code " -answerAboutToken=$(testers/cli/node_modules/.bin/exhort-javascript-api validate-token snyk --value=veryBadTokenValue) -matchConstant "401" "$answerAboutToken" "Checking That dummy Token is Invalid, Expecting Response Status of Authentication Failure( Http Status = 401)..." - -echo "RUNNING JavaScript CLI integration test for Validate Token Function With no token at all, Expecting getting 400 http status code" -answerAboutToken=$(testers/cli/node_modules/.bin/exhort-javascript-api validate-token snyk ) -matchConstant "400" "$answerAboutToken" "Checking That Token is missing, Expecting Response Status of Bad Request( Http Status = 400)..." -echo "==>SUCCESS!!" - -cleanup 0 diff --git a/integration/scenarios/maven/component_request_json b/integration/scenarios/maven/component_request_json deleted file mode 100644 index ab352940..00000000 --- a/integration/scenarios/maven/component_request_json +++ /dev/null @@ -1 +0,0 @@ -[{"name":"log4j:log4j","version":"1.2.17"}] \ No newline at end of file diff --git a/integration/scenarios/maven/expected_component b/integration/scenarios/maven/expected_component deleted file mode 100644 index 77da1fa6..00000000 --- a/integration/scenarios/maven/expected_component +++ /dev/null @@ -1,234 +0,0 @@ -{ - "summary": { - "dependencies": { - "scanned": 1, - "transitive": 0 - }, - "vulnerabilities": { - "direct": 1, - "total": 7, - "critical": 1, - "high": 3, - "medium": 2, - "low": 1 - }, - "providerStatuses": [ - { - "ok": true, - "provider": "snyk", - "status": 200, - "message": "OK" - } - ] - }, - "dependencies": [ - { - "ref": "pkg:maven/log4j/log4j@1.2.17", - "issues": [ - { - "id": "SNYK-JAVA-LOG4J-572732", - "title": "Deserialization of Untrusted Data", - "source": "snyk", - "cvss": { - "attackVector": "Network", - "attackComplexity": "Low", - "privilegesRequired": "None", - "userInteraction": "None", - "scope": "Unchanged", - "confidentialityImpact": "High", - "integrityImpact": "High", - "availabilityImpact": "High", - "exploitCodeMaturity": "Proof of concept code", - "remediationLevel": null, - "reportConfidence": null, - "cvss": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H/E:P" - }, - "cvssScore": 9.8, - "severity": "CRITICAL", - "cves": [ - "CVE-2019-17571" - ], - "unique": false - }, - { - "id": "SNYK-JAVA-LOG4J-2342645", - "title": "SQL Injection", - "source": "snyk", - "cvss": { - "attackVector": "Network", - "attackComplexity": "High", - "privilegesRequired": "None", - "userInteraction": "None", - "scope": "Unchanged", - "confidentialityImpact": "High", - "integrityImpact": "High", - "availabilityImpact": "High", - "exploitCodeMaturity": null, - "remediationLevel": null, - "reportConfidence": null, - "cvss": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H" - }, - "cvssScore": 8.1, - "severity": "HIGH", - "cves": [ - "CVE-2022-23305" - ], - "unique": false - }, - { - "id": "SNYK-JAVA-LOG4J-2342646", - "title": "Deserialization of Untrusted Data", - "source": "snyk", - "cvss": { - "attackVector": "Network", - "attackComplexity": "High", - "privilegesRequired": "None", - "userInteraction": "None", - "scope": "Unchanged", - "confidentialityImpact": "High", - "integrityImpact": "High", - "availabilityImpact": "High", - "exploitCodeMaturity": null, - "remediationLevel": null, - "reportConfidence": null, - "cvss": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H" - }, - "cvssScore": 8.1, - "severity": "HIGH", - "cves": [ - "CVE-2022-23307" - ], - "unique": false - }, - { - "id": "SNYK-JAVA-LOG4J-2342647", - "title": "Deserialization of Untrusted Data", - "source": "snyk", - "cvss": { - "attackVector": "Network", - "attackComplexity": "High", - "privilegesRequired": "None", - "userInteraction": "None", - "scope": "Unchanged", - "confidentialityImpact": "High", - "integrityImpact": "High", - "availabilityImpact": "High", - "exploitCodeMaturity": null, - "remediationLevel": null, - "reportConfidence": null, - "cvss": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H" - }, - "cvssScore": 8.1, - "severity": "HIGH", - "cves": [ - "CVE-2022-23302" - ], - "unique": false - }, - { - "id": "SNYK-JAVA-LOG4J-2316893", - "title": "Arbitrary Code Execution", - "source": "snyk", - "cvss": { - "attackVector": "Network", - "attackComplexity": "High", - "privilegesRequired": "High", - "userInteraction": "None", - "scope": "Unchanged", - "confidentialityImpact": "High", - "integrityImpact": "High", - "availabilityImpact": "High", - "exploitCodeMaturity": "Proof of concept code", - "remediationLevel": null, - "reportConfidence": null, - "cvss": "CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H/E:P" - }, - "cvssScore": 6.6, - "severity": "MEDIUM", - "cves": [ - "CVE-2021-4104" - ], - "unique": false - }, - { - "id": "SNYK-JAVA-LOG4J-3358774", - "title": "Denial of Service (DoS)", - "source": "snyk", - "cvss": { - "attackVector": "Network", - "attackComplexity": "High", - "privilegesRequired": "None", - "userInteraction": "None", - "scope": "Unchanged", - "confidentialityImpact": "None", - "integrityImpact": "None", - "availabilityImpact": "High", - "exploitCodeMaturity": null, - "remediationLevel": null, - "reportConfidence": null, - "cvss": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H" - }, - "cvssScore": 5.9, - "severity": "MEDIUM", - "cves": [ - "CVE-2023-26464" - ], - "unique": false - }, - { - "id": "SNYK-JAVA-LOG4J-1300176", - "title": "Man-in-the-Middle (MitM)", - "source": "snyk", - "cvss": { - "attackVector": "Network", - "attackComplexity": "High", - "privilegesRequired": "None", - "userInteraction": "None", - "scope": "Unchanged", - "confidentialityImpact": "Low", - "integrityImpact": "None", - "availabilityImpact": "None", - "exploitCodeMaturity": null, - "remediationLevel": null, - "reportConfidence": null, - "cvss": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N" - }, - "cvssScore": 3.7, - "severity": "LOW", - "cves": [ - "CVE-2020-9488" - ], - "unique": false - } - ], - "transitive": [], - "recommendation": null, - "remediations": {}, - "highestVulnerability": { - "id": "SNYK-JAVA-LOG4J-1300176", - "title": "Man-in-the-Middle (MitM)", - "source": "snyk", - "cvss": { - "attackVector": "Network", - "attackComplexity": "High", - "privilegesRequired": "None", - "userInteraction": "None", - "scope": "Unchanged", - "confidentialityImpact": "Low", - "integrityImpact": "None", - "availabilityImpact": "None", - "exploitCodeMaturity": null, - "remediationLevel": null, - "reportConfidence": null, - "cvss": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N" - }, - "cvssScore": 3.7, - "severity": "LOW", - "cves": [ - "CVE-2020-9488" - ], - "unique": false - } - } - ] -} diff --git a/integration/scenarios/maven/expected_stack_html b/integration/scenarios/maven/expected_stack_html deleted file mode 100644 index b1249f67..00000000 --- a/integration/scenarios/maven/expected_stack_html +++ /dev/null @@ -1,598 +0,0 @@ - - - Combined Shape - - - - - - - - - - - - - - - - - - - - - - - - - - Dependency Analysis - - - -

    -
    - - - - - - - - -   Security Issues - -
    -
    -
    -
    -

    Below is a list of dependencies affected with CVE, as well as vulnerability only found using Snyk's vulnerability database.

    -
    -
    -

    Dependencies with security issues in your stack.

    -

    Dependencies with high common vulnerabilities and exposures (CVE) score.

    -

    - - - - - - - - - Total Vulnerabilities: 7 -

    -

    - - - - - - - - - Vulnerable Dependencies: 1 -

    -
    -
    -
    -
    - -
    -
    Commonly Known Vulnerabilities
    -
    -
    -
    -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    #Dependencies# Direct# TransitiveHighest CVSSHighest SeverityRed Hat remediation available
    -
    -

    Details of the dependency: - log4j:log4j -

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    SeverityExploit MaturityDescriptionCVSSCVERemediation
    - - CRITICAL - - - Proof of concept codeDeserialization of Untrusted Data -
    -
    9.8/10
    -
    -
    -
    -
    - -
    - CVE-2019-17571 - - - SNYK-JAVA-LOG4J-572732 - -
    - - HIGH - - - No known exploitSQL Injection -
    -
    8.1/10
    -
    -
    -
    -
    - -
    - CVE-2022-23305 - - - SNYK-JAVA-LOG4J-2342645 - -
    - - HIGH - - - No known exploitDeserialization of Untrusted Data -
    -
    8.1/10
    -
    -
    -
    -
    - -
    - CVE-2022-23307 - - - SNYK-JAVA-LOG4J-2342646 - -
    - - HIGH - - - No known exploitDeserialization of Untrusted Data -
    -
    8.1/10
    -
    -
    -
    -
    - -
    - CVE-2022-23302 - - - SNYK-JAVA-LOG4J-2342647 - -
    - - MEDIUM - - - Proof of concept codeArbitrary Code Execution -
    -
    6.6/10
    -
    -
    -
    -
    - -
    - CVE-2021-4104 - - - SNYK-JAVA-LOG4J-2316893 - -
    - - MEDIUM - - - No known exploitDenial of Service (DoS) -
    -
    5.9/10
    -
    -
    -
    -
    - -
    - CVE-2023-26464 - - - SNYK-JAVA-LOG4J-3358774 - -
    - - LOW - - - No known exploitMan-in-the-Middle (MitM) -
    -
    3.7/10
    -
    -
    -
    -
    - -
    - CVE-2020-9488 - - - SNYK-JAVA-LOG4J-1300176 - -
    -
    - -
    - - - - - - - - - - - - - - -
    DependenciesSeverityExploit MaturityDescriptionCVSSCVERemediation
    -
    -
    -
    -
    - - - - - - - - - - diff --git a/integration/scenarios/maven/expected_stack_json b/integration/scenarios/maven/expected_stack_json deleted file mode 100644 index 77da1fa6..00000000 --- a/integration/scenarios/maven/expected_stack_json +++ /dev/null @@ -1,234 +0,0 @@ -{ - "summary": { - "dependencies": { - "scanned": 1, - "transitive": 0 - }, - "vulnerabilities": { - "direct": 1, - "total": 7, - "critical": 1, - "high": 3, - "medium": 2, - "low": 1 - }, - "providerStatuses": [ - { - "ok": true, - "provider": "snyk", - "status": 200, - "message": "OK" - } - ] - }, - "dependencies": [ - { - "ref": "pkg:maven/log4j/log4j@1.2.17", - "issues": [ - { - "id": "SNYK-JAVA-LOG4J-572732", - "title": "Deserialization of Untrusted Data", - "source": "snyk", - "cvss": { - "attackVector": "Network", - "attackComplexity": "Low", - "privilegesRequired": "None", - "userInteraction": "None", - "scope": "Unchanged", - "confidentialityImpact": "High", - "integrityImpact": "High", - "availabilityImpact": "High", - "exploitCodeMaturity": "Proof of concept code", - "remediationLevel": null, - "reportConfidence": null, - "cvss": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H/E:P" - }, - "cvssScore": 9.8, - "severity": "CRITICAL", - "cves": [ - "CVE-2019-17571" - ], - "unique": false - }, - { - "id": "SNYK-JAVA-LOG4J-2342645", - "title": "SQL Injection", - "source": "snyk", - "cvss": { - "attackVector": "Network", - "attackComplexity": "High", - "privilegesRequired": "None", - "userInteraction": "None", - "scope": "Unchanged", - "confidentialityImpact": "High", - "integrityImpact": "High", - "availabilityImpact": "High", - "exploitCodeMaturity": null, - "remediationLevel": null, - "reportConfidence": null, - "cvss": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H" - }, - "cvssScore": 8.1, - "severity": "HIGH", - "cves": [ - "CVE-2022-23305" - ], - "unique": false - }, - { - "id": "SNYK-JAVA-LOG4J-2342646", - "title": "Deserialization of Untrusted Data", - "source": "snyk", - "cvss": { - "attackVector": "Network", - "attackComplexity": "High", - "privilegesRequired": "None", - "userInteraction": "None", - "scope": "Unchanged", - "confidentialityImpact": "High", - "integrityImpact": "High", - "availabilityImpact": "High", - "exploitCodeMaturity": null, - "remediationLevel": null, - "reportConfidence": null, - "cvss": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H" - }, - "cvssScore": 8.1, - "severity": "HIGH", - "cves": [ - "CVE-2022-23307" - ], - "unique": false - }, - { - "id": "SNYK-JAVA-LOG4J-2342647", - "title": "Deserialization of Untrusted Data", - "source": "snyk", - "cvss": { - "attackVector": "Network", - "attackComplexity": "High", - "privilegesRequired": "None", - "userInteraction": "None", - "scope": "Unchanged", - "confidentialityImpact": "High", - "integrityImpact": "High", - "availabilityImpact": "High", - "exploitCodeMaturity": null, - "remediationLevel": null, - "reportConfidence": null, - "cvss": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H" - }, - "cvssScore": 8.1, - "severity": "HIGH", - "cves": [ - "CVE-2022-23302" - ], - "unique": false - }, - { - "id": "SNYK-JAVA-LOG4J-2316893", - "title": "Arbitrary Code Execution", - "source": "snyk", - "cvss": { - "attackVector": "Network", - "attackComplexity": "High", - "privilegesRequired": "High", - "userInteraction": "None", - "scope": "Unchanged", - "confidentialityImpact": "High", - "integrityImpact": "High", - "availabilityImpact": "High", - "exploitCodeMaturity": "Proof of concept code", - "remediationLevel": null, - "reportConfidence": null, - "cvss": "CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H/E:P" - }, - "cvssScore": 6.6, - "severity": "MEDIUM", - "cves": [ - "CVE-2021-4104" - ], - "unique": false - }, - { - "id": "SNYK-JAVA-LOG4J-3358774", - "title": "Denial of Service (DoS)", - "source": "snyk", - "cvss": { - "attackVector": "Network", - "attackComplexity": "High", - "privilegesRequired": "None", - "userInteraction": "None", - "scope": "Unchanged", - "confidentialityImpact": "None", - "integrityImpact": "None", - "availabilityImpact": "High", - "exploitCodeMaturity": null, - "remediationLevel": null, - "reportConfidence": null, - "cvss": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H" - }, - "cvssScore": 5.9, - "severity": "MEDIUM", - "cves": [ - "CVE-2023-26464" - ], - "unique": false - }, - { - "id": "SNYK-JAVA-LOG4J-1300176", - "title": "Man-in-the-Middle (MitM)", - "source": "snyk", - "cvss": { - "attackVector": "Network", - "attackComplexity": "High", - "privilegesRequired": "None", - "userInteraction": "None", - "scope": "Unchanged", - "confidentialityImpact": "Low", - "integrityImpact": "None", - "availabilityImpact": "None", - "exploitCodeMaturity": null, - "remediationLevel": null, - "reportConfidence": null, - "cvss": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N" - }, - "cvssScore": 3.7, - "severity": "LOW", - "cves": [ - "CVE-2020-9488" - ], - "unique": false - } - ], - "transitive": [], - "recommendation": null, - "remediations": {}, - "highestVulnerability": { - "id": "SNYK-JAVA-LOG4J-1300176", - "title": "Man-in-the-Middle (MitM)", - "source": "snyk", - "cvss": { - "attackVector": "Network", - "attackComplexity": "High", - "privilegesRequired": "None", - "userInteraction": "None", - "scope": "Unchanged", - "confidentialityImpact": "Low", - "integrityImpact": "None", - "availabilityImpact": "None", - "exploitCodeMaturity": null, - "remediationLevel": null, - "reportConfidence": null, - "cvss": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N" - }, - "cvssScore": 3.7, - "severity": "LOW", - "cves": [ - "CVE-2020-9488" - ], - "unique": false - } - } - ] -} diff --git a/integration/scenarios/maven/expected_stack_json_summary b/integration/scenarios/maven/expected_stack_json_summary deleted file mode 100644 index 62359470..00000000 --- a/integration/scenarios/maven/expected_stack_json_summary +++ /dev/null @@ -1,22 +0,0 @@ -{ - "dependencies": { - "scanned": 1, - "transitive": 0 - }, - "vulnerabilities": { - "direct": 1, - "total": 7, - "critical": 1, - "high": 3, - "medium": 2, - "low": 1 - }, - "providerStatuses": [ - { - "ok": true, - "provider": "snyk", - "status": 200, - "message": "OK" - } - ] -} diff --git a/integration/scenarios/maven/pom.xml b/integration/scenarios/maven/pom.xml deleted file mode 100644 index 20f8bdfc..00000000 --- a/integration/scenarios/maven/pom.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - 4.0.0 - - pom-with-deps-no-ignore - pom-with-dependency-not-ignored-for-tests - 0.0.1 - - - - log4j - log4j - 1.2.17 - - - - diff --git a/integration/scenarios/maven/stack_request_dot_graph b/integration/scenarios/maven/stack_request_dot_graph deleted file mode 100644 index 660153e8..00000000 --- a/integration/scenarios/maven/stack_request_dot_graph +++ /dev/null @@ -1,3 +0,0 @@ -digraph "pom-with-deps-no-ignore:pom-with-dependency-not-ignored-for-tests:jar:0.0.1" { - "pom-with-deps-no-ignore:pom-with-dependency-not-ignored-for-tests:jar:0.0.1" -> "log4j:log4j:jar:1.2.17:compile" ; - } \ No newline at end of file diff --git a/integration/server/mock_server.js b/integration/server/mock_server.js deleted file mode 100644 index 9052e618..00000000 --- a/integration/server/mock_server.js +++ /dev/null @@ -1,133 +0,0 @@ -import fs from 'fs' -import http from 'http' -import path from 'path' - -let args = process.argv.slice(1) - -let scenarios = path.resolve(args[0], '..', '..', 'scenarios') -let config = JSON.parse(fs.readFileSync(args[1]).toString()) - -function listener (req, res) { - // reject non-POST requests - if ('POST' !== req.method) { - res.writeHead(405) - res.end(`${req.method} not allowed`) - return - } - // reject requests without a body - if (!req.headers['content-length']) { - res.writeHead(411) - res.end('payload required') - return - } - // reject if unknown endpoint - let stripEcosystem = req.url.slice(0, req.url.lastIndexOf('/')) - if (!Object.values(config['endpoints']).includes(stripEcosystem)) { - res.writeHead(404) - res.end(`unknown endpoint ${req.url}`) - return - } - // iterate over all supported ecosystems - let accept = req.headers['accept'] - for (let ecosystem in config['ecosystems']) { - // handle component analysis for current ecosystem - if (`${config['endpoints']['component']}/${ecosystem}` === req.url) { - // reject unsupported media types requests - if (!'application/json' === accept) { - res.writeHead(415) - res.end(`${accept} is not supported`) - return - } - // load expected request from file - let requestBodyFile = config['ecosystems'][ecosystem]['component']['request']['body'] - let expectedRequestBody = fs.readFileSync( - path.resolve(scenarios, ecosystem, requestBodyFile) - ) - // load return response from file - let responseFile = config['ecosystems'][ecosystem]['component']['response']['json'] - let componentResponse = fs.readFileSync( - path.resolve(scenarios, ecosystem, responseFile) - ) - // operate on body - req.on('data', data => { - if (expectedRequestBody.toString().replace(/\s+/g, '') - === data.toString().replace(/\s+/g, '')) { - // if body as expected - res.setHeader('ContentType', 'application/json') - res.end(componentResponse.toString()) - return - } - res.writeHead(400) - res.end('payload not as expected') - }) - } - // handle stack analysis for current ecosystem - if (`${config['endpoints']['stack']}/${ecosystem}` === req.url) { - // reject unsupported media types requests - if (!['application/json', 'text/html'].includes(accept)) { - res.writeHead(415) - res.end(`${accept} is not supported`) - return - } - // if requested stack json report - if ('application/json' === accept) { - // load expected request from file - let requestBodyFile = config['ecosystems'][ecosystem]['stack']['request']['body'] - let expectedRequestBody = fs.readFileSync( - path.resolve(scenarios, ecosystem, requestBodyFile) - ) - // load return response from file - let responseFile = config['ecosystems'][ecosystem]['stack']['response']['json'] - let stackResponse = fs.readFileSync( - path.resolve(scenarios, ecosystem, responseFile) - ) - // operate on body - req.on('data', data => { - if (expectedRequestBody.toString().replace(/\s+/g, '') - === data.toString().replace(/\s+/g, '')) { - // if body as expected - res.setHeader('ContentType', 'application/json') - res.end(stackResponse.toString()) - return - } - res.writeHead(400) - res.end('payload not as expected') - }) - } - // if requested stack html report - if ('text/html' === accept) { - // load expected request from file - let requestBodyFile = config['ecosystems'][ecosystem]['stack']['request']['body'] - let expectedRequestBody = fs.readFileSync( - path.resolve(scenarios, ecosystem, requestBodyFile) - ) - // load return response from file - let responseFile = config['ecosystems'][ecosystem]['stack']['response']['html'] - let stackResponse = fs.readFileSync( - path.resolve(scenarios, ecosystem, responseFile) - ) - // operate on body - req.on('data', data => { - if (expectedRequestBody.toString().replace(/\s+/g, '') - === data.toString().replace(/\s+/g, '')) { - // if body as expected - res.setHeader('ContentType', 'text/html') - res.end(stackResponse.toString()) - return - } - res.writeHead(400) - res.end('payload not as expected') - }) - } - } - } -} - -// create and start the server -let server = http.createServer(listener) -server.listen(config['port'], config['host']) -// close server after configured seconds -server.close(async () => { - await new Promise(resolve => setTimeout(resolve, config['up_for'] * 1000)) - process.exit(0) -}) diff --git a/integration/server/mock_server_config.json b/integration/server/mock_server_config.json deleted file mode 100644 index 6d8c2349..00000000 --- a/integration/server/mock_server_config.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "host": "localhost", - "port": 9432, - "up_for": 300, - "endpoints": { - "component": "/api/v3/component-analysis", - "stack": "/api/v3/dependency-analysis" - }, - "ecosystems": { - "maven": { - "component": { - "request": { - "body": "component_request_json" - }, - "response": { - "json": "expected_component" - } - }, - "stack": { - "request": { - "body": "stack_request_dot_graph" - }, - "response": { - "html": "expected_stack_html", - "json": "expected_stack_json" - } - } - } - } -} diff --git a/integration/testers/cli/package.json b/integration/testers/cli/package.json deleted file mode 100644 index 4e208f20..00000000 --- a/integration/testers/cli/package.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "name": "cli-it", - "version": "0.0.1", - "description": "exhort-javascript-api cli integration tests", - "private": true, - "type": "module", - "license": "Apache-2.0", - "dependencies": { - "@trustification/exhort-javascript-api": "file:../../../" - } -} diff --git a/integration/testers/javascript/index.js b/integration/testers/javascript/index.js deleted file mode 100644 index 80f10538..00000000 --- a/integration/testers/javascript/index.js +++ /dev/null @@ -1,33 +0,0 @@ -#!/usr/bin/env node - -import exhort from '@trustification/exhort-javascript-api' -import process from 'node:process' - -const [,, ...args] = process.argv - -if ('stack' === args[0]) { - // arg[1] = manifest path; arg[2] = is html boolean - let html = args[2] === 'true' - let res = await exhort.stackAnalysis(args[1], html) - console.log(html ? res : JSON.stringify(res, null, 2)) - process.exit(0) -} -if ('component' === args[0]) { - // arg[1] = manifest path - let res = await exhort.componentAnalysis(args[1]) - console.log(JSON.stringify(res, null, 2)) - process.exit(0) -} - -if ('validateToken' === args[0]) { - // args[1] - the token passed - let tokens = { - "EXHORT_SNYK_TOKEN" : args[1] - } - let res = await exhort.validateToken(tokens) - console.log(res) - process.exit(0) -} - -console.log(`unknown action ${args}`) -process.exit(1) diff --git a/integration/testers/javascript/package.json b/integration/testers/javascript/package.json deleted file mode 100644 index eac4af4b..00000000 --- a/integration/testers/javascript/package.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "name": "js-it", - "version": "0.0.1", - "description": "exhort-javascript-api javascript integration tests", - "private": true, - "type": "module", - "license": "Apache-2.0", - "dependencies": { - "@trustification/exhort-javascript-api": "file:../../../" - } -} diff --git a/integration/testers/typescript/index.ts b/integration/testers/typescript/index.ts deleted file mode 100644 index 3e5ac38c..00000000 --- a/integration/testers/typescript/index.ts +++ /dev/null @@ -1,24 +0,0 @@ -#!/usr/bin/env node - -import exhort from '@trustification/exhort-javascript-api' -import process from 'node:process' -import { AnalysisReport } from '@trustification/exhort-api-spec/model/v4/AnalysisReport' - -const [,, ...args] = process.argv - -if ('stack' === args[0]) { - // arg[1] = manifest path; arg[2] = is html boolean - let html = args[2] === 'true' - let res = await exhort.stackAnalysis(args[1], html) - console.log(html ? res as string : JSON.stringify(res as AnalysisReport, null, 2)) - process.exit(0) -} -if ('component' === args[0]) { - // arg[1] = manifest path - let res = await exhort.componentAnalysis(args[1]) - console.log(JSON.stringify(res as AnalysisReport, null, 2)) - process.exit(0) -} - -console.log(`unknown action ${args}`) -process.exit(1) diff --git a/integration/testers/typescript/package.json b/integration/testers/typescript/package.json deleted file mode 100644 index 2e93e718..00000000 --- a/integration/testers/typescript/package.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "ts-it", - "version": "0.0.1", - "description": "exhort-javascript-api typescript integration tests", - "private": true, - "type": "module", - "license": "Apache-2.0", - "scripts": { - "precompile": "rm -rf ./dist", - "compile": "tsc -p tsconfig.json" - }, - "dependencies": { - "@trustification/exhort-javascript-api": "file:../../../" - }, - "devDependencies": { - "typescript": "^5.1.3" - } -} diff --git a/integration/testers/typescript/tsconfig.json b/integration/testers/typescript/tsconfig.json deleted file mode 100644 index 7b63ca9a..00000000 --- a/integration/testers/typescript/tsconfig.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "include": [ - "index.ts" - ], - "exclude": ["node_modules", "dist"], - "compilerOptions": { - "baseUrl": "./", - "esModuleInterop": true, - "lib": ["esnext"], - "moduleResolution": "Node", - "rootDir": ".", - "types": ["node"], - "module": "esnext", - "outDir": "dist", - "target": "esnext" - } -} diff --git a/package-lock.json b/package-lock.json index b844a7e9..a78eb73c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,149 +1,80 @@ { - "name": "@trustification/exhort-javascript-api", - "version": "0.2.4-ea.1", + "name": "@trustify-da/trustify-da-javascript-client", + "version": "0.3.0", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "@trustification/exhort-javascript-api", - "version": "0.2.4-ea.1", + "name": "@trustify-da/trustify-da-javascript-client", + "version": "0.3.0", "license": "Apache-2.0", "dependencies": { "@babel/core": "^7.23.2", - "@cyclonedx/cyclonedx-library": "~1.13.3", + "@cyclonedx/cyclonedx-library": "^6.13.0", + "eslint-import-resolver-typescript": "^4.4.4", + "fast-glob": "^3.3.3", "fast-toml": "^0.5.4", - "fast-xml-parser": "^4.2.4", + "fast-xml-parser": "^5.3.4", "help": "^3.0.2", "https-proxy-agent": "^7.0.6", - "node-fetch": "^2.6.7", - "packageurl-js": "^1.0.2", - "yargs": "^17.7.2" + "js-yaml": "^4.1.1", + "micromatch": "^4.0.8", + "node-fetch": "^3.3.2", + "p-limit": "^4.0.0", + "packageurl-js": "~1.0.2", + "smol-toml": "^1.6.0", + "tree-sitter-gomod": "github:strum355/tree-sitter-go-mod#56326f2ad478892ace58ff247a97d492a3cbcdda", + "tree-sitter-requirements": "github:Strum355/tree-sitter-requirements#d0261ee76b84253997fe70d7d397e78c006c3801", + "web-tree-sitter": "^0.26.7", + "yargs": "^18.0.0" }, "bin": { - "exhort-javascript-api": "dist/src/cli.js" + "trustify-da-javascript-client": "dist/src/cli.js" }, "devDependencies": { "@babel/core": "^7.23.2", - "@trustification/exhort-api-spec": "^1.0.13", + "@trustify-da/trustify-da-api-model": "^2.0.7", "@types/node": "^20.17.30", "@types/which": "^3.0.4", "babel-plugin-rewire": "^1.2.0", - "c8": "^8.0.0", + "c8": "^11.0.0", "chai": "^4.3.7", "eslint": "^8.42.0", + "eslint-import-resolver-typescript": "^4.4.4", "eslint-plugin-editorconfig": "^4.0.3", "eslint-plugin-import": "^2.29.1", "esmock": "^2.6.2", "mocha": "^10.2.0", - "msw": "^1.3.2", + "msw": "^2.12.7", "sinon": "^15.1.2", "sinon-chai": "^3.7.0", "typescript": "^5.1.3", "which": "^5.0.0" }, "engines": { - "node": ">= 18.0.0", - "npm": ">= 9.0.0" - } - }, - "node_modules/@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@ampproject/remapping": { - "version": "2.2.1", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" + "node": ">= 20.0.0", + "npm": ">= 11.5.1" } }, "node_modules/@babel/code-frame": { - "version": "7.22.13", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", + "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/highlight": "^7.22.13", - "chalk": "^2.4.2" + "@babel/helper-validator-identifier": "^7.28.5", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/code-frame/node_modules/ansi-styles": { - "version": "3.2.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/code-frame/node_modules/chalk": { - "version": "2.4.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/code-frame/node_modules/color-convert": { - "version": "1.9.3", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/code-frame/node_modules/color-name": { - "version": "1.1.3", - "dev": true, - "license": "MIT" - }, - "node_modules/@babel/code-frame/node_modules/escape-string-regexp": { - "version": "1.0.5", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/@babel/code-frame/node_modules/has-flag": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/code-frame/node_modules/supports-color": { - "version": "5.5.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/@babel/compat-data": { - "version": "7.23.2", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.0.tgz", + "integrity": "sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==", "dev": true, "license": "MIT", "engines": { @@ -151,20 +82,22 @@ } }, "node_modules/@babel/core": { - "version": "7.23.2", - "dev": true, - "license": "MIT", - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.0", - "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-module-transforms": "^7.23.0", - "@babel/helpers": "^7.23.2", - "@babel/parser": "^7.23.0", - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.2", - "@babel/types": "^7.23.0", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", + "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helpers": "^7.28.6", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/traverse": "^7.29.0", + "@babel/types": "^7.29.0", + "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -179,63 +112,33 @@ "url": "https://opencollective.com/babel" } }, - "node_modules/@babel/core/node_modules/convert-source-map": { - "version": "2.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/@babel/core/node_modules/json5": { - "version": "2.2.3", - "dev": true, - "license": "MIT", - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.1", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/@babel/generator": { - "version": "7.23.0", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.0.tgz", + "integrity": "sha512-vSH118/wwM/pLR38g/Sgk05sNtro6TlTJKuiMXDaZqPUfjTFcudpCOt00IhOfj+1BFAX+UFAlzCU+6WXr3GLFQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.23.0", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" + "@babel/parser": "^7.29.0", + "@babel/types": "^7.29.0", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/generator/node_modules/jsesc": { - "version": "2.5.2", - "dev": true, - "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.22.15", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", + "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.22.9", - "@babel/helper-validator-option": "^7.22.15", - "browserslist": "^4.21.9", + "@babel/compat-data": "^7.28.6", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", "lru-cache": "^5.1.1", "semver": "^6.3.1" }, @@ -243,66 +146,40 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.1", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.20", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.23.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", "dev": true, "license": "MIT", - "dependencies": { - "@babel/types": "^7.22.5" - }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.22.15", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", + "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.22.15" + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.23.0", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", + "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.20" + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-validator-identifier": "^7.28.5", + "@babel/traverse": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -311,30 +188,10 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-simple-access": { - "version": "7.22.5", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-string-parser": { - "version": "7.22.5", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", "dev": true, "license": "MIT", "engines": { @@ -342,7 +199,9 @@ } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", "dev": true, "license": "MIT", "engines": { @@ -350,7 +209,9 @@ } }, "node_modules/@babel/helper-validator-option": { - "version": "7.22.15", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", "dev": true, "license": "MIT", "engines": { @@ -358,104 +219,28 @@ } }, "node_modules/@babel/helpers": { - "version": "7.23.2", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.2", - "@babel/types": "^7.23.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.22.20", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.6.tgz", + "integrity": "sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" + "@babel/template": "^7.28.6", + "@babel/types": "^7.28.6" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/highlight/node_modules/ansi-styles": { - "version": "3.2.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/color-convert": { - "version": "1.9.3", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "dev": true, - "license": "MIT" - }, - "node_modules/@babel/highlight/node_modules/escape-string-regexp": { - "version": "1.0.5", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/js-tokens": { - "version": "4.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/@babel/highlight/node_modules/supports-color": { - "version": "5.5.0", + "node_modules/@babel/parser": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz", + "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==", "dev": true, "license": "MIT", "dependencies": { - "has-flag": "^3.0.0" + "@babel/types": "^7.29.0" }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/parser": { - "version": "7.23.0", - "dev": true, - "license": "MIT", "bin": { "parser": "bin/babel-parser.js" }, @@ -464,112 +249,146 @@ } }, "node_modules/@babel/template": { - "version": "7.22.15", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", + "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" + "@babel/code-frame": "^7.28.6", + "@babel/parser": "^7.28.6", + "@babel/types": "^7.28.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.23.2", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", + "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.0", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.0", - "@babel/types": "^7.23.0", - "debug": "^4.1.0", - "globals": "^11.1.0" + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/types": "^7.29.0", + "debug": "^4.3.1" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/traverse/node_modules/globals": { - "version": "11.12.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/@babel/types": { - "version": "7.23.0", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", + "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/types/node_modules/to-fast-properties": { - "version": "2.0.0", + "node_modules/@bcoe/v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-1.0.2.tgz", + "integrity": "sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==", "dev": true, "license": "MIT", "engines": { - "node": ">=4" + "node": ">=18" } }, - "node_modules/@bcoe/v8-coverage": { - "version": "0.2.3", - "dev": true, - "license": "MIT" - }, "node_modules/@cyclonedx/cyclonedx-library": { - "version": "1.13.3", - "resolved": "https://registry.npmjs.org/@cyclonedx/cyclonedx-library/-/cyclonedx-library-1.13.3.tgz", - "integrity": "sha512-L3i4OWc5pUbmds7dy4jdrHmVQ2qwiqdNrh62g1OpDtBxOUMbMhlGtNTK8htJOvrAeyj7oBxghpOCjHgAMpdtYQ==", + "version": "6.13.1", + "resolved": "https://registry.npmjs.org/@cyclonedx/cyclonedx-library/-/cyclonedx-library-6.13.1.tgz", + "integrity": "sha512-u7Q01G2PAci3Qh+cY/7ReA8g2qJLQOncLQdzzdvpII84h6UICqZZZ1N0y9PLTVhS2Ra4x3kl4xY5bnP+lmrw2Q==", "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/jkowalleck" - }, { "type": "individual", "url": "https://owasp.org/donate/?reponame=www-project-cyclonedx&title=OWASP+CycloneDX" } ], + "license": "Apache-2.0", "dependencies": { - "packageurl-js": ">=0.0.6 <0.0.8 || ^1" + "packageurl-js": ">=0.0.6 <0.0.8 || ^1", + "spdx-expression-parse": "^3.0.1 || ^4" }, "engines": { "node": ">=14.0.0" }, "optionalDependencies": { + "ajv": "^8.12.0", + "ajv-formats": "^3.0.1", + "ajv-formats-draft2019": "^1.6.1", + "libxmljs2": "^0.31 || ^0.32 || ^0.33 || ^0.35", "xmlbuilder2": "^3.0.2" } }, + "node_modules/@emnapi/core": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.8.1.tgz", + "integrity": "sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.1.0", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.8.1.tgz", + "integrity": "sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.1.0.tgz", + "integrity": "sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", + "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", "dev": true, "license": "MIT", "dependencies": { - "eslint-visitor-keys": "^3.3.0" + "eslint-visitor-keys": "^3.4.3" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, + "funding": { + "url": "https://opencollective.com/eslint" + }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, "node_modules/@eslint-community/regexpp": { - "version": "4.10.0", + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", + "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", "dev": true, "license": "MIT", "engines": { @@ -577,7 +396,9 @@ } }, "node_modules/@eslint/eslintrc": { - "version": "2.1.2", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", "dev": true, "license": "MIT", "dependencies": { @@ -598,21 +419,59 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/@eslint/eslintrc/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, "node_modules/@eslint/js": { - "version": "8.52.0", + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", + "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", "dev": true, "license": "MIT", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.13", - "dev": true, - "license": "Apache-2.0", + "node_modules/@gar/promise-retry": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@gar/promise-retry/-/promise-retry-1.0.3.tgz", + "integrity": "sha512-GmzA9ckNokPypTg10pgpeHNQe7ph+iIKKmhKu3Ob9ANkswreCx7R3cKmY781K8QK3AqVL3xVh9A42JvIAbkkSA==", + "license": "MIT", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", + "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", + "deprecated": "Use @eslint/config-array instead", + "dev": true, + "license": "Apache-2.0", "dependencies": { - "@humanwhocodes/object-schema": "^2.0.1", - "debug": "^4.1.1", + "@humanwhocodes/object-schema": "^2.0.3", + "debug": "^4.3.1", "minimatch": "^3.0.5" }, "engines": { @@ -621,6 +480,8 @@ }, "node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true, "license": "Apache-2.0", "engines": { @@ -632,107 +493,311 @@ } }, "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.1", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": "Use @eslint/object-schema instead", "dev": true, "license": "BSD-3-Clause" }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", + "node_modules/@inquirer/ansi": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/ansi/-/ansi-1.0.2.tgz", + "integrity": "sha512-S8qNSZiYzFd0wAcyG5AXCvUHC5Sr7xpZ9wZ2py9XR88jUz8wooStVx5M6dRzczbBWjic9NP7+rY0Xi7qqK/aMQ==", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=18" } }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", + "node_modules/@inquirer/confirm": { + "version": "5.1.21", + "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.1.21.tgz", + "integrity": "sha512-KR8edRkIsUayMXV+o3Gv+q4jlhENF9nMYUZs9PA2HzrXeHI8M5uDag70U7RJn9yyiMZSbtF5/UexBtAVtZGSbQ==", "dev": true, "license": "MIT", "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" + "@inquirer/core": "^10.3.2", + "@inquirer/type": "^3.0.10" }, "engines": { - "node": ">=6.0.0" + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", + "node_modules/@inquirer/core": { + "version": "10.3.2", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.3.2.tgz", + "integrity": "sha512-43RTuEbfP8MbKzedNqBrlhhNKVwoK//vUFNW3Q3vZ88BLcrs4kYpGg+B2mm5p2K/HfygoCxuKwJJiv8PbGmE0A==", "dev": true, "license": "MIT", + "dependencies": { + "@inquirer/ansi": "^1.0.2", + "@inquirer/figures": "^1.0.15", + "@inquirer/type": "^3.0.10", + "cli-width": "^4.1.0", + "mute-stream": "^2.0.0", + "signal-exit": "^4.1.0", + "wrap-ansi": "^6.2.0", + "yoctocolors-cjs": "^2.1.3" + }, "engines": { - "node": ">=6.0.0" + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.2", + "node_modules/@inquirer/figures": { + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.15.tgz", + "integrity": "sha512-t2IEY+unGHOzAaVM5Xx6DEWKeXlDDcNPeDyUpsRc6CUhBfU3VQOEl+Vssh7VNp1dR8MdUJBWhuObjXCsVpjN5g==", "dev": true, "license": "MIT", "engines": { - "node": ">=6.0.0" + "node": ">=18" } }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", + "node_modules/@inquirer/type": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.10.tgz", + "integrity": "sha512-BvziSRxfz5Ov8ch0z/n3oijRSEcEsHnhggm4xFZe93DHcUCTlutlq9Ox4SVENAfcRD22UQq7T/atg9Wr3k09eA==", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.18", + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "license": "ISC", + "optional": true, + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "license": "MIT", + "optional": true + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "license": "MIT", + "optional": true, + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", + "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "license": "MIT", + "optional": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/fs-minipass": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", + "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", + "license": "ISC", + "dependencies": { + "minipass": "^7.0.4" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", "dev": true, "license": "MIT", "dependencies": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" } }, - "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", "dev": true, "license": "MIT" }, - "node_modules/@mswjs/cookies": { - "version": "0.2.2", + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", "dev": true, "license": "MIT", "dependencies": { - "@types/set-cookie-parser": "^2.4.0", - "set-cookie-parser": "^2.4.6" - }, - "engines": { - "node": ">=14" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, "node_modules/@mswjs/interceptors": { - "version": "0.17.10", + "version": "0.40.0", + "resolved": "https://registry.npmjs.org/@mswjs/interceptors/-/interceptors-0.40.0.tgz", + "integrity": "sha512-EFd6cVbHsgLa6wa4RljGj6Wk75qoHxUSyc5asLyyPSyuhIcdS2Q3Phw6ImS1q+CkALthJRShiYfKANcQMuMqsQ==", "dev": true, "license": "MIT", "dependencies": { - "@open-draft/until": "^1.0.3", - "@types/debug": "^4.1.7", - "@xmldom/xmldom": "^0.8.3", - "debug": "^4.3.3", - "headers-polyfill": "3.2.5", - "outvariant": "^1.2.1", - "strict-event-emitter": "^0.2.4", - "web-encoding": "^1.1.5" + "@open-draft/deferred-promise": "^2.2.0", + "@open-draft/logger": "^0.3.0", + "@open-draft/until": "^2.0.0", + "is-node-process": "^1.2.0", + "outvariant": "^1.4.3", + "strict-event-emitter": "^0.5.1" }, "engines": { - "node": ">=14" + "node": ">=18" } }, - "node_modules/@mswjs/interceptors/node_modules/strict-event-emitter": { - "version": "0.2.8", + "node_modules/@napi-rs/wasm-runtime": { + "version": "0.2.12", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz", + "integrity": "sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "events": "^3.3.0" + "@emnapi/core": "^1.4.3", + "@emnapi/runtime": "^1.4.3", + "@tybys/wasm-util": "^0.10.0" } }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", - "dev": true, + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "license": "MIT", "dependencies": { "@nodelib/fs.stat": "2.0.5", @@ -744,7 +809,8 @@ }, "node_modules/@nodelib/fs.stat": { "version": "2.0.5", - "dev": true, + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "license": "MIT", "engines": { "node": ">= 8" @@ -752,7 +818,8 @@ }, "node_modules/@nodelib/fs.walk": { "version": "1.2.8", - "dev": true, + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "license": "MIT", "dependencies": { "@nodelib/fs.scandir": "2.1.5", @@ -762,13 +829,76 @@ "node": ">= 8" } }, + "node_modules/@npmcli/agent": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-2.2.2.tgz", + "integrity": "sha512-OrcNPXdpSl9UX7qPVRWbmWMCSXrcDa2M9DvrbOTj7ao1S4PlqVFYv9/yLKMkrJKZ/V5A/kDBC690or307i26Og==", + "license": "ISC", + "optional": true, + "dependencies": { + "agent-base": "^7.1.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.1", + "lru-cache": "^10.0.1", + "socks-proxy-agent": "^8.0.3" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/agent/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "license": "ISC", + "optional": true + }, + "node_modules/@npmcli/fs": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.1.tgz", + "integrity": "sha512-q9CRWjpHCMIh5sVyefoD1cA7PkvILqCZsnSOEUUivORLjxCO/Irmue2DprETiNgEqktDBZaM1Bi+jrarx1XdCg==", + "license": "ISC", + "optional": true, + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/fs/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "license": "ISC", + "optional": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@npmcli/redact": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/redact/-/redact-4.0.0.tgz", + "integrity": "sha512-gOBg5YHMfZy+TfHArfVogwgfBeQnKbbGo3pSUyK/gSI0AVu+pEiDVcKlQb0D8Mg1LNRZILZ6XG8I5dJ4KuAd9Q==", + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, "node_modules/@one-ini/wasm": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@one-ini/wasm/-/wasm-0.1.1.tgz", + "integrity": "sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==", "dev": true, "license": "MIT" }, "node_modules/@oozcitak/dom": { "version": "1.15.10", + "resolved": "https://registry.npmjs.org/@oozcitak/dom/-/dom-1.15.10.tgz", + "integrity": "sha512-0JT29/LaxVgRcGKvHmSrUTEvZ8BXvZhGl2LASRUgHqDTC1M5g1pLmVv56IYNyt3bG2CUjDkc67wnyZC14pbQrQ==", "license": "MIT", "optional": true, "dependencies": { @@ -782,6 +912,8 @@ }, "node_modules/@oozcitak/infra": { "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@oozcitak/infra/-/infra-1.0.8.tgz", + "integrity": "sha512-JRAUc9VR6IGHOL7OGF+yrvs0LO8SlqGnPAMqyzOuFZPSZSXI7Xf2O9+awQPSMXgIWGtgUf/dA6Hs6X6ySEaWTg==", "license": "MIT", "optional": true, "dependencies": { @@ -793,6 +925,8 @@ }, "node_modules/@oozcitak/url": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@oozcitak/url/-/url-1.0.4.tgz", + "integrity": "sha512-kDcD8y+y3FCSOvnBI6HJgl00viO/nGbQoCINmQ0h98OhnGITrWR3bOGfwYCthgcrV8AnTJz8MzslTQbC3SOAmw==", "license": "MIT", "optional": true, "dependencies": { @@ -805,17 +939,49 @@ }, "node_modules/@oozcitak/util": { "version": "8.3.8", + "resolved": "https://registry.npmjs.org/@oozcitak/util/-/util-8.3.8.tgz", + "integrity": "sha512-T8TbSnGsxo6TDBJx/Sgv/BlVJL3tshxZP7Aq5R1mSnM5OcHY2dQaxLMu2+E8u3gN0MLOzdjurqN4ZRVuzQycOQ==", "license": "MIT", "optional": true, "engines": { "node": ">=8.0" } }, + "node_modules/@open-draft/deferred-promise": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@open-draft/deferred-promise/-/deferred-promise-2.2.0.tgz", + "integrity": "sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@open-draft/logger": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@open-draft/logger/-/logger-0.3.0.tgz", + "integrity": "sha512-X2g45fzhxH238HKO4xbSr7+wBS8Fvw6ixhTDuvLd5mqh6bJJCFAPwU9mPDxbcrRtfxv4u5IHCEH77BmxvXmmxQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-node-process": "^1.2.0", + "outvariant": "^1.4.0" + } + }, "node_modules/@open-draft/until": { - "version": "1.0.3", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@open-draft/until/-/until-2.1.0.tgz", + "integrity": "sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg==", "dev": true, "license": "MIT" }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, "node_modules/@rtsao/scc": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", @@ -824,71 +990,75 @@ "license": "MIT" }, "node_modules/@sinonjs/commons": { - "version": "3.0.0", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", "dev": true, "license": "BSD-3-Clause", "dependencies": { "type-detect": "4.0.8" } }, - "node_modules/@sinonjs/fake-timers": { - "version": "10.1.0", + "node_modules/@sinonjs/commons/node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@sinonjs/commons": "^3.0.0" + "license": "MIT", + "engines": { + "node": ">=4" } }, - "node_modules/@sinonjs/samsam": { - "version": "8.0.0", + "node_modules/@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", "dev": true, "license": "BSD-3-Clause", "dependencies": { - "@sinonjs/commons": "^2.0.0", - "lodash.get": "^4.4.2", - "type-detect": "^4.0.8" + "@sinonjs/commons": "^3.0.0" } }, - "node_modules/@sinonjs/samsam/node_modules/@sinonjs/commons": { - "version": "2.0.0", + "node_modules/@sinonjs/samsam": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-8.0.3.tgz", + "integrity": "sha512-hw6HbX+GyVZzmaYNh82Ecj1vdGZrqVIn/keDTg63IgAwiQPO+xCz99uG6Woqgb4tM0mUiFENKZ4cqd7IX94AXQ==", "dev": true, "license": "BSD-3-Clause", "dependencies": { - "type-detect": "4.0.8" + "@sinonjs/commons": "^3.0.1", + "type-detect": "^4.1.0" } }, "node_modules/@sinonjs/text-encoding": { - "version": "0.7.2", + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.3.tgz", + "integrity": "sha512-DE427ROAphMQzU4ENbliGYrBSYPXF+TtLg9S8vzeA+OF4ZKzoDdzfL8sxuMUGS/lgRhM6j1URSk9ghf7Xo1tyA==", "dev": true, "license": "(Unlicense OR Apache-2.0)" }, - "node_modules/@trustification/exhort-api-spec": { - "version": "1.0.13", - "resolved": "https://npm.pkg.github.com/download/@trustification/exhort-api-spec/1.0.13/5ad3fc6d7abfd81745d784dc112dbf7c4ee71ea8", - "integrity": "sha512-wTDPOWUTvPHN+PkLoVGYxAfCY/ALB7xi9XHIufvI88y4aeW+UDcjaRINwEUl9fupG2VJQ0Ory+uEeW1BSBIkDQ==", + "node_modules/@trustify-da/trustify-da-api-model": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@trustify-da/trustify-da-api-model/-/trustify-da-api-model-2.0.7.tgz", + "integrity": "sha512-42ApYWE4LYiCXD86AzPdLHSxFY7t2P9PhR+BwwFKBwHlcnJE2fPVELI0e8vbf+2Lxz0CpzU1g4WPHXOCp2K1oQ==", "dev": true, "license": "Apache-2.0" }, - "node_modules/@types/cookie": { - "version": "0.4.1", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/debug": { - "version": "4.1.9", + "node_modules/@tybys/wasm-util": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz", + "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==", "dev": true, "license": "MIT", + "optional": true, "dependencies": { - "@types/ms": "*" + "tslib": "^2.4.0" } }, "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.4", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/js-levenshtein": { - "version": "1.1.1", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", "dev": true, "license": "MIT" }, @@ -899,28 +1069,22 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/ms": { - "version": "0.7.32", - "dev": true, - "license": "MIT" - }, "node_modules/@types/node": { - "version": "20.17.30", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.30.tgz", - "integrity": "sha512-7zf4YyHA+jvBNfVrk2Gtvs6x7E8V+YDW05bNfG2XkWDJfYRXrTiP/DsB2zSYTaHX0bGIujTBQdMVAhb+j7mwpg==", + "version": "20.19.31", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.31.tgz", + "integrity": "sha512-5jsi0wpncvTD33Sh1UCgacK37FFwDn+EG7wCmEvs62fCvBL+n8/76cAYDok21NF6+jaVWIqKwCZyX7Vbu8eB3A==", "dev": true, "license": "MIT", "dependencies": { - "undici-types": "~6.19.2" + "undici-types": "~6.21.0" } }, - "node_modules/@types/set-cookie-parser": { - "version": "2.4.2", + "node_modules/@types/statuses": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/statuses/-/statuses-2.0.6.tgz", + "integrity": "sha512-xMAgYwceFhRA2zY+XbEA7mxYbA093wdiW8Vu6gZPGWy9cmOyU9XesH1tNcEWsKFd5Vzrqx5T3D38PWx1FIIXkA==", "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } + "license": "MIT" }, "node_modules/@types/which": { "version": "3.0.4", @@ -930,37 +1094,308 @@ "license": "MIT" }, "node_modules/@ungap/structured-clone": { - "version": "1.2.0", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", + "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", "dev": true, "license": "ISC" }, - "node_modules/@xmldom/xmldom": { - "version": "0.8.10", + "node_modules/@unrs/resolver-binding-android-arm-eabi": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.11.1.tgz", + "integrity": "sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==", + "cpu": [ + "arm" + ], "dev": true, "license": "MIT", - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/@zxing/text-encoding": { - "version": "0.9.0", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@unrs/resolver-binding-android-arm64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.11.1.tgz", + "integrity": "sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "(Unlicense OR Apache-2.0)", - "optional": true - }, - "node_modules/acorn": { - "version": "8.11.2", + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@unrs/resolver-binding-darwin-arm64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.11.1.tgz", + "integrity": "sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@unrs/resolver-binding-darwin-x64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.11.1.tgz", + "integrity": "sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@unrs/resolver-binding-freebsd-x64": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.11.1.tgz", + "integrity": "sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.11.1.tgz", + "integrity": "sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.11.1.tgz", + "integrity": "sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.11.1.tgz", + "integrity": "sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-arm64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.11.1.tgz", + "integrity": "sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.11.1.tgz", + "integrity": "sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-riscv64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.11.1.tgz", + "integrity": "sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-riscv64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.11.1.tgz", + "integrity": "sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-s390x-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.11.1.tgz", + "integrity": "sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-x64-gnu": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.11.1.tgz", + "integrity": "sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-x64-musl": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.11.1.tgz", + "integrity": "sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-wasm32-wasi": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.11.1.tgz", + "integrity": "sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==", + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@napi-rs/wasm-runtime": "^0.2.11" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@unrs/resolver-binding-win32-arm64-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.11.1.tgz", + "integrity": "sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@unrs/resolver-binding-win32-ia32-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.11.1.tgz", + "integrity": "sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@unrs/resolver-binding-win32-x64-msvc": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.11.1.tgz", + "integrity": "sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/abbrev": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz", + "integrity": "sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==", + "license": "ISC", + "optional": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/acorn": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, "engines": { "node": ">=0.4.0" } }, "node_modules/acorn-jsx": { "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, "license": "MIT", "peerDependencies": { @@ -968,66 +1403,94 @@ } }, "node_modules/agent-base": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz", - "integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==", + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", + "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", "license": "MIT", "engines": { "node": ">= 14" } }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "license": "MIT", + "optional": true, + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/ajv": { - "version": "6.12.6", - "dev": true, + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "license": "MIT", + "optional": true, "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" }, "funding": { "type": "github", "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/ansi-colors": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", - "dev": true, + "node_modules/ajv-formats": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", + "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", "license": "MIT", - "engines": { - "node": ">=6" + "optional": true, + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } } }, - "node_modules/ansi-escapes": { - "version": "4.3.2", - "dev": true, + "node_modules/ajv-formats-draft2019": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/ajv-formats-draft2019/-/ajv-formats-draft2019-1.6.1.tgz", + "integrity": "sha512-JQPvavpkWDvIsBp2Z33UkYCtXCSpW4HD3tAZ+oL4iEFOk9obQZffx0yANwECt6vzr6ET+7HN5czRyqXbnq/u0Q==", "license": "MIT", + "optional": true, "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" + "punycode": "^2.1.1", + "schemes": "^1.4.0", + "smtp-address-parser": "^1.0.3", + "uri-js": "^4.4.1" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "ajv": "*" } }, - "node_modules/ansi-escapes/node_modules/type-fest": { - "version": "0.21.3", + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", "dev": true, - "license": "(MIT OR CC0-1.0)", + "license": "MIT", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=6" } }, "node_modules/ansi-regex": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "devOptional": true, "license": "MIT", "engines": { "node": ">=8" @@ -1035,6 +1498,9 @@ }, "node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "devOptional": true, "license": "MIT", "dependencies": { "color-convert": "^2.0.1" @@ -1048,6 +1514,8 @@ }, "node_modules/anymatch": { "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dev": true, "license": "ISC", "dependencies": { @@ -1060,7 +1528,8 @@ }, "node_modules/argparse": { "version": "2.0.1", - "dev": true, + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "license": "Python-2.0" }, "node_modules/array-buffer-byte-length": { @@ -1081,18 +1550,20 @@ } }, "node_modules/array-includes": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", - "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.9.tgz", + "integrity": "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.4", - "is-string": "^1.0.7" + "es-abstract": "^1.24.0", + "es-object-atoms": "^1.1.1", + "get-intrinsic": "^1.3.0", + "is-string": "^1.1.1", + "math-intrinsics": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -1185,6 +1656,8 @@ }, "node_modules/assertion-error": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", "dev": true, "license": "MIT", "engines": { @@ -1219,17 +1692,22 @@ }, "node_modules/babel-plugin-rewire": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-rewire/-/babel-plugin-rewire-1.2.0.tgz", + "integrity": "sha512-JBZxczHw3tScS+djy6JPLMjblchGhLI89ep15H3SyjujIzlxo5nr6Yjo7AXotdeVczeBmWs0tF8PgJWDdgzAkQ==", "dev": true, "license": "ISC" }, "node_modules/balanced-match": { "version": "1.0.2", - "dev": true, + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "devOptional": true, "license": "MIT" }, "node_modules/base64-js": { "version": "1.5.1", - "dev": true, + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", "funding": [ { "type": "github", @@ -1244,20 +1722,48 @@ "url": "https://feross.org/support" } ], - "license": "MIT" + "license": "MIT", + "optional": true + }, + "node_modules/baseline-browser-mapping": { + "version": "2.9.19", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.19.tgz", + "integrity": "sha512-ipDqC8FrAl/76p2SSWKSI+H9tFwm7vYqXQrItCuiVPt26Km0jS+NzSsBWAaBusvSbQcfJG+JitdMm+wZAgTYqg==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.js" + } }, "node_modules/binary-extensions": { - "version": "2.2.0", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", "dev": true, "license": "MIT", "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "file-uri-to-path": "1.0.0" } }, "node_modules/bl": { "version": "4.1.0", - "dev": true, + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", "license": "MIT", + "optional": true, "dependencies": { "buffer": "^5.5.0", "inherits": "^2.0.4", @@ -1265,7 +1771,9 @@ } }, "node_modules/brace-expansion": { - "version": "1.1.11", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "license": "MIT", "dependencies": { @@ -1277,7 +1785,6 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dev": true, "license": "MIT", "dependencies": { "fill-range": "^7.1.1" @@ -1288,11 +1795,15 @@ }, "node_modules/browser-stdout": { "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", "dev": true, "license": "ISC" }, "node_modules/browserslist": { - "version": "4.22.1", + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", + "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", "dev": true, "funding": [ { @@ -1310,10 +1821,11 @@ ], "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001541", - "electron-to-chromium": "^1.4.535", - "node-releases": "^2.0.13", - "update-browserslist-db": "^1.0.13" + "baseline-browser-mapping": "^2.9.0", + "caniuse-lite": "^1.0.30001759", + "electron-to-chromium": "^1.5.263", + "node-releases": "^2.0.27", + "update-browserslist-db": "^1.2.0" }, "bin": { "browserslist": "cli.js" @@ -1324,7 +1836,8 @@ }, "node_modules/buffer": { "version": "5.7.1", - "dev": true, + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", "funding": [ { "type": "github", @@ -1340,91 +1853,196 @@ } ], "license": "MIT", + "optional": true, "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" } }, "node_modules/c8": { - "version": "8.0.0", + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/c8/-/c8-11.0.0.tgz", + "integrity": "sha512-e/uRViGHSVIJv7zsaDKM7VRn2390TgHXqUSvYwPHBQaU6L7E9L0n9JbdkwdYPvshDT0KymBmmlwSpms3yBaMNg==", "dev": true, "license": "ISC", "dependencies": { - "@bcoe/v8-coverage": "^0.2.3", + "@bcoe/v8-coverage": "^1.0.1", "@istanbuljs/schema": "^0.1.3", "find-up": "^5.0.0", - "foreground-child": "^2.0.0", + "foreground-child": "^3.1.1", "istanbul-lib-coverage": "^3.2.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-reports": "^3.1.4", - "rimraf": "^3.0.2", - "test-exclude": "^6.0.0", + "istanbul-lib-report": "^3.0.1", + "istanbul-reports": "^3.1.6", + "test-exclude": "^8.0.0", "v8-to-istanbul": "^9.0.0", - "yargs": "^16.2.0", - "yargs-parser": "^20.2.9" + "yargs": "^17.7.2", + "yargs-parser": "^21.1.1" }, "bin": { "c8": "bin/c8.js" }, "engines": { - "node": ">=12" + "node": "20 || >=22" + }, + "peerDependencies": { + "monocart-coverage-reports": "^2" + }, + "peerDependenciesMeta": { + "monocart-coverage-reports": { + "optional": true + } } }, "node_modules/c8/node_modules/cliui": { - "version": "7.0.4", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, "license": "ISC", "dependencies": { "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", + "strip-ansi": "^6.0.1", "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/c8/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, "node_modules/c8/node_modules/yargs": { - "version": "16.2.0", + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, "license": "MIT", "dependencies": { - "cliui": "^7.0.2", + "cliui": "^8.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", - "string-width": "^4.2.0", + "string-width": "^4.2.3", "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" + "yargs-parser": "^21.1.1" }, "engines": { - "node": ">=10" + "node": ">=12" } }, - "node_modules/c8/node_modules/yargs-parser": { - "version": "20.2.9", - "dev": true, + "node_modules/cacache": { + "version": "18.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-18.0.4.tgz", + "integrity": "sha512-B+L5iIa9mgcjLbliir2th36yEwPftrzteHYujzsx3dFP/31GCHcIeS8f5MGd80odLOjaOvSpU3EEAmRQptkxLQ==", "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/call-bind": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", - "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", - "dev": true, - "license": "MIT", + "optional": true, "dependencies": { - "call-bind-apply-helpers": "^1.0.0", - "es-define-property": "^1.0.0", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.2" + "@npmcli/fs": "^3.1.0", + "fs-minipass": "^3.0.0", + "glob": "^10.2.2", + "lru-cache": "^10.0.1", + "minipass": "^7.0.3", + "minipass-collect": "^2.0.1", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "p-map": "^4.0.0", + "ssri": "^10.0.0", + "tar": "^6.1.11", + "unique-filename": "^3.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/call-bind-apply-helpers": { + "node_modules/cacache/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/cacache/node_modules/glob": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz", + "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", + "license": "ISC", + "optional": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/cacache/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "license": "ISC", + "optional": true + }, + "node_modules/cacache/node_modules/minimatch": { + "version": "9.0.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", + "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", + "license": "ISC", + "optional": true, + "dependencies": { + "brace-expansion": "^2.0.2" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/call-bind": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", @@ -1457,14 +2075,31 @@ }, "node_modules/callsites": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, "license": "MIT", "engines": { "node": ">=6" } }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/caniuse-lite": { - "version": "1.0.30001557", + "version": "1.0.30001767", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001767.tgz", + "integrity": "sha512-34+zUAMhSH+r+9eKmYG+k2Rpt8XttfE4yXAjoZvkAPs15xcYQhyBYdalJ65BzivAvGRMViEjy6oKr/S91loekQ==", "dev": true, "funding": [ { @@ -1483,17 +2118,19 @@ "license": "CC-BY-4.0" }, "node_modules/chai": { - "version": "4.3.7", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.5.0.tgz", + "integrity": "sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==", "dev": true, "license": "MIT", "dependencies": { "assertion-error": "^1.1.0", - "check-error": "^1.0.2", - "deep-eql": "^4.1.2", - "get-func-name": "^2.0.0", - "loupe": "^2.3.1", + "check-error": "^1.0.3", + "deep-eql": "^4.1.3", + "get-func-name": "^2.0.2", + "loupe": "^2.3.6", "pathval": "^1.1.1", - "type-detect": "^4.0.5" + "type-detect": "^4.1.0" }, "engines": { "node": ">=4" @@ -1501,6 +2138,8 @@ }, "node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "license": "MIT", "dependencies": { @@ -1514,28 +2153,24 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/chardet": { - "version": "0.7.0", - "dev": true, - "license": "MIT" - }, "node_modules/check-error": { - "version": "1.0.2", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", + "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", "dev": true, "license": "MIT", + "dependencies": { + "get-func-name": "^2.0.2" + }, "engines": { "node": "*" } }, "node_modules/chokidar": { - "version": "3.5.3", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], "license": "MIT", "dependencies": { "anymatch": "~3.1.2", @@ -1549,12 +2184,17 @@ "engines": { "node": ">= 8.10.0" }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, "optionalDependencies": { "fsevents": "~2.3.2" } }, "node_modules/chokidar/node_modules/glob-parent": { "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, "license": "ISC", "dependencies": { @@ -1564,58 +2204,134 @@ "node": ">= 6" } }, - "node_modules/cli-cursor": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "restore-cursor": "^3.1.0" - }, + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "license": "ISC", + "optional": true, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/cli-spinners": { - "version": "2.9.0", - "dev": true, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", "license": "MIT", + "optional": true, "engines": { "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/cli-width": { - "version": "3.0.0", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", + "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==", "dev": true, "license": "ISC", "engines": { - "node": ">= 10" + "node": ">= 12" } }, "node_modules/cliui": { - "version": "8.0.1", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-9.0.1.tgz", + "integrity": "sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==", "license": "ISC", "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" + "string-width": "^7.2.0", + "strip-ansi": "^7.1.0", + "wrap-ansi": "^9.0.0" }, + "engines": { + "node": ">=20" + } + }, + "node_modules/cliui/node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "license": "MIT", "engines": { "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/clone": { - "version": "1.0.4", - "dev": true, + "node_modules/cliui/node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/cliui/node_modules/emoji-regex": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz", + "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==", + "license": "MIT" + }, + "node_modules/cliui/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cliui/node_modules/strip-ansi": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.2.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz", + "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==", "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, "engines": { - "node": ">=0.8" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, "node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "devOptional": true, "license": "MIT", "dependencies": { "color-name": "~1.1.4" @@ -1626,10 +2342,15 @@ }, "node_modules/color-name": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "devOptional": true, "license": "MIT" }, "node_modules/commander": { "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", "dev": true, "license": "MIT", "engines": { @@ -1638,27 +2359,37 @@ }, "node_modules/concat-map": { "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true, "license": "MIT" }, "node_modules/convert-source-map": { - "version": "1.9.0", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", "dev": true, "license": "MIT" }, "node_modules/cookie": { - "version": "0.4.2", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.1.1.tgz", + "integrity": "sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.6" + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/cross-spawn": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "path-key": "^3.1.0", @@ -1673,14 +2404,14 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, + "devOptional": true, "license": "ISC" }, "node_modules/cross-spawn/node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, + "devOptional": true, "license": "ISC", "dependencies": { "isexe": "^2.0.0" @@ -1692,6 +2423,15 @@ "node": ">= 8" } }, + "node_modules/data-uri-to-buffer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz", + "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==", + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, "node_modules/data-view-buffer": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", @@ -1747,9 +2487,9 @@ } }, "node_modules/debug": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", "license": "MIT", "dependencies": { "ms": "^2.1.3" @@ -1763,8 +2503,39 @@ } } }, + "node_modules/decamelize": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/deep-eql": { - "version": "4.1.3", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.4.tgz", + "integrity": "sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==", "dev": true, "license": "MIT", "dependencies": { @@ -1774,22 +2545,23 @@ "node": ">=6" } }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=4.0.0" + } + }, "node_modules/deep-is": { "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true, "license": "MIT" }, - "node_modules/defaults": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "dependencies": { - "clone": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/define-data-property": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", @@ -1826,18 +2598,37 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "license": "Apache-2.0", + "optional": true, + "engines": { + "node": ">=8" + } + }, "node_modules/diff": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", - "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.2.tgz", + "integrity": "sha512-vtcDfH3TOjP8UekytvnHH1o1P4FcUdt4eQ1Y+Abap1tk/OB2MWQvcwS2ClCd1zuIhc3JKOx6p3kod8Vfys3E+A==", "dev": true, "license": "BSD-3-Clause", "engines": { "node": ">=0.3.1" } }, + "node_modules/discontinuous-range": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/discontinuous-range/-/discontinuous-range-1.0.0.tgz", + "integrity": "sha512-c68LpLbO+7kP/b1Hr1qs8/BJ09F5khZGTxqxZuhzxpmwJKOgRFHJWIb9/KmqnqHhLdO55aOxFH/EGBvUQbL/RQ==", + "license": "MIT", + "optional": true + }, "node_modules/doctrine": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -1862,15 +2653,24 @@ "node": ">= 0.4" } }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "license": "MIT", + "optional": true + }, "node_modules/editorconfig": { - "version": "1.0.2", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-1.0.7.tgz", + "integrity": "sha512-e0GOtq/aTQhVdNyDU9e02+wz9oDDM+SIOQxWME2QRjzRX5yyLAuHDE+0aE8vHb9XRC8XD37eO2u57+F09JqFhw==", "dev": true, "license": "MIT", "dependencies": { "@one-ini/wasm": "0.1.1", "commander": "^10.0.0", - "minimatch": "6.1.6", - "semver": "^7.3.8" + "minimatch": "^9.0.1", + "semver": "^7.5.3" }, "bin": { "editorconfig": "bin/editorconfig" @@ -1880,7 +2680,9 @@ } }, "node_modules/editorconfig/node_modules/brace-expansion": { - "version": "2.0.1", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "dev": true, "license": "MIT", "dependencies": { @@ -1888,32 +2690,88 @@ } }, "node_modules/editorconfig/node_modules/minimatch": { - "version": "6.1.6", + "version": "9.0.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", + "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", "dev": true, "license": "ISC", "dependencies": { - "brace-expansion": "^2.0.1" + "brace-expansion": "^2.0.2" }, "engines": { - "node": ">=10" + "node": ">=16 || 14 >=14.17" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/editorconfig/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/electron-to-chromium": { - "version": "1.4.569", + "version": "1.5.286", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.286.tgz", + "integrity": "sha512-9tfDXhJ4RKFNerfjdCcZfufu49vg620741MNs26a9+bhLThdB+plgMeou98CAaHu/WATj2iHOOHTp1hWtABj2A==", "dev": true, "license": "ISC" }, "node_modules/emoji-regex": { "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "devOptional": true, "license": "MIT" }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "license": "MIT", + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", + "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", + "license": "MIT", + "optional": true, + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", + "license": "MIT", + "optional": true + }, "node_modules/es-abstract": { - "version": "1.23.10", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.10.tgz", - "integrity": "sha512-MtUbM072wlJNyeYAe0mhzrD+M6DIJa96CZAOBBrhDbgKnB4MApIKefcyAB1eOdYn8cUNZgvwBvEzdoAYsxgEIw==", + "version": "1.24.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.1.tgz", + "integrity": "sha512-zHXBLhP+QehSSbsS9Pt23Gg964240DPd6QCf8WpkqEXxQ7fhdZzYsocOr5u7apWonsS5EjZDmTF+/slGMyasvw==", "dev": true, "license": "MIT", "dependencies": { @@ -1944,7 +2802,9 @@ "is-array-buffer": "^3.0.5", "is-callable": "^1.2.7", "is-data-view": "^1.0.2", + "is-negative-zero": "^2.0.3", "is-regex": "^1.2.1", + "is-set": "^2.0.3", "is-shared-array-buffer": "^1.0.4", "is-string": "^1.1.1", "is-typed-array": "^1.1.15", @@ -1959,6 +2819,7 @@ "safe-push-apply": "^1.0.0", "safe-regex-test": "^1.1.0", "set-proto": "^1.0.0", + "stop-iteration-iterator": "^1.1.0", "string.prototype.trim": "^1.2.10", "string.prototype.trimend": "^1.0.9", "string.prototype.trimstart": "^1.0.8", @@ -2057,7 +2918,9 @@ } }, "node_modules/escalade": { - "version": "3.1.1", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "license": "MIT", "engines": { "node": ">=6" @@ -2065,6 +2928,8 @@ }, "node_modules/escape-string-regexp": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, "license": "MIT", "engines": { @@ -2075,15 +2940,18 @@ } }, "node_modules/eslint": { - "version": "8.52.0", + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", + "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", + "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "8.52.0", - "@humanwhocodes/config-array": "^0.11.13", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.1", + "@humanwhocodes/config-array": "^0.13.0", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "@ungap/structured-clone": "^1.2.0", @@ -2128,20 +2996,45 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", - "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "node_modules/eslint-import-context": { + "version": "0.1.9", + "resolved": "https://registry.npmjs.org/eslint-import-context/-/eslint-import-context-0.1.9.tgz", + "integrity": "sha512-K9Hb+yRaGAGUbwjhFNHvSmmkZs9+zbuoe3kFQ4V1wYjrepUFYM2dZAfNtjbbj3qsPfUfsA68Bx/ICWQMi+C8Eg==", "dev": true, "license": "MIT", "dependencies": { - "debug": "^3.2.7", - "is-core-module": "^2.13.0", - "resolve": "^1.22.4" - } - }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "3.2.7", + "get-tsconfig": "^4.10.1", + "stable-hash-x": "^0.2.0" + }, + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint-import-context" + }, + "peerDependencies": { + "unrs-resolver": "^1.0.0" + }, + "peerDependenciesMeta": { + "unrs-resolver": { + "optional": true + } + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, @@ -2150,10 +3043,45 @@ "ms": "^2.1.1" } }, + "node_modules/eslint-import-resolver-typescript": { + "version": "4.4.4", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-4.4.4.tgz", + "integrity": "sha512-1iM2zeBvrYmUNTj2vSC/90JTHDth+dfOfiNKkxApWRsTJYNrc8rOdxxIf5vazX+BiAXTeOT0UvWpGI/7qIWQOw==", + "dev": true, + "license": "ISC", + "dependencies": { + "debug": "^4.4.1", + "eslint-import-context": "^0.1.8", + "get-tsconfig": "^4.10.1", + "is-bun-module": "^2.0.0", + "stable-hash-x": "^0.2.0", + "tinyglobby": "^0.2.14", + "unrs-resolver": "^1.7.11" + }, + "engines": { + "node": "^16.17.0 || >=18.6.0" + }, + "funding": { + "url": "https://opencollective.com/eslint-import-resolver-typescript" + }, + "peerDependencies": { + "eslint": "*", + "eslint-plugin-import": "*", + "eslint-plugin-import-x": "*" + }, + "peerDependenciesMeta": { + "eslint-plugin-import": { + "optional": true + }, + "eslint-plugin-import-x": { + "optional": true + } + } + }, "node_modules/eslint-module-utils": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz", - "integrity": "sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==", + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.1.tgz", + "integrity": "sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==", "dev": true, "license": "MIT", "dependencies": { @@ -2180,6 +3108,8 @@ }, "node_modules/eslint-plugin-editorconfig": { "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-editorconfig/-/eslint-plugin-editorconfig-4.0.3.tgz", + "integrity": "sha512-5YeDxm6mlv75DrTbRBK9Jw2ogqhjiz8ZCvv9bkuz/MXq0603q9FpQvQlamtas4bX1Gji4YcksY7dq7stPeGaLQ==", "dev": true, "license": "MIT", "dependencies": { @@ -2193,30 +3123,30 @@ } }, "node_modules/eslint-plugin-import": { - "version": "2.31.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz", - "integrity": "sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==", + "version": "2.32.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.32.0.tgz", + "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", "dev": true, "license": "MIT", "dependencies": { "@rtsao/scc": "^1.1.0", - "array-includes": "^3.1.8", - "array.prototype.findlastindex": "^1.2.5", - "array.prototype.flat": "^1.3.2", - "array.prototype.flatmap": "^1.3.2", + "array-includes": "^3.1.9", + "array.prototype.findlastindex": "^1.2.6", + "array.prototype.flat": "^1.3.3", + "array.prototype.flatmap": "^1.3.3", "debug": "^3.2.7", "doctrine": "^2.1.0", "eslint-import-resolver-node": "^0.3.9", - "eslint-module-utils": "^2.12.0", + "eslint-module-utils": "^2.12.1", "hasown": "^2.0.2", - "is-core-module": "^2.15.1", + "is-core-module": "^2.16.1", "is-glob": "^4.0.3", "minimatch": "^3.1.2", "object.fromentries": "^2.0.8", "object.groupby": "^1.0.3", - "object.values": "^1.2.0", + "object.values": "^1.2.1", "semver": "^6.3.1", - "string.prototype.trimend": "^1.0.8", + "string.prototype.trimend": "^1.0.9", "tsconfig-paths": "^3.15.0" }, "engines": { @@ -2249,18 +3179,10 @@ "node": ">=0.10.0" } }, - "node_modules/eslint-plugin-import/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/eslint-scope": { "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -2276,6 +3198,8 @@ }, "node_modules/eslint-visitor-keys": { "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, "license": "Apache-2.0", "engines": { @@ -2285,17 +3209,44 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/eslint/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/eslint/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, "node_modules/esmock": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/esmock/-/esmock-2.6.2.tgz", - "integrity": "sha512-tcxyxE6l0TmyEwkybbVKqFwUpsWBrjVWXYiVc8PPnKC7q9RRYyRtK03z7MXaZimRAsLkEp7SQeHCQEnrD6z4Ww==", + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esmock/-/esmock-2.7.3.tgz", + "integrity": "sha512-/M/YZOjgyLaVoY6K83pwCsGE1AJQnj4S4GyXLYgi/Y79KL8EeW6WU7Rmjc89UO7jv6ec8+j34rKeWOfiLeEu0A==", "dev": true, + "license": "ISC", "engines": { "node": ">=14.16.0" } }, "node_modules/espree": { "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -2312,6 +3263,8 @@ }, "node_modules/esprima": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "license": "BSD-2-Clause", "optional": true, "bin": { @@ -2323,7 +3276,9 @@ } }, "node_modules/esquery": { - "version": "1.5.0", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", + "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -2335,6 +3290,8 @@ }, "node_modules/esrecurse": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -2346,6 +3303,8 @@ }, "node_modules/estraverse": { "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, "license": "BSD-2-Clause", "engines": { @@ -2354,105 +3313,163 @@ }, "node_modules/esutils": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true, "license": "BSD-2-Clause", "engines": { "node": ">=0.10.0" } }, - "node_modules/events": { - "version": "3.3.0", - "dev": true, - "license": "MIT", + "node_modules/expand-template": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", + "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", + "license": "(MIT OR WTFPL)", + "optional": true, "engines": { - "node": ">=0.8.x" + "node": ">=6" } }, - "node_modules/external-editor": { - "version": "3.1.0", - "dev": true, + "node_modules/exponential-backoff": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.3.tgz", + "integrity": "sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==", + "license": "Apache-2.0" + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "license": "MIT", + "optional": true + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", "license": "MIT", "dependencies": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" }, "engines": { - "node": ">=4" + "node": ">=8.6.0" } }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "dev": true, - "license": "MIT" + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", "dev": true, "license": "MIT" }, "node_modules/fast-levenshtein": { "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true, "license": "MIT" }, "node_modules/fast-toml": { "version": "0.5.4", "resolved": "https://registry.npmjs.org/fast-toml/-/fast-toml-0.5.4.tgz", - "integrity": "sha512-nUX94P84wE3gcem12g4FAH3xV7BmcCoV8FXcFVV+NIQAOwRJnyqVKhdGd9DqI4CunW+wOZhVBGKI6Jut/OlLTw==" + "integrity": "sha512-nUX94P84wE3gcem12g4FAH3xV7BmcCoV8FXcFVV+NIQAOwRJnyqVKhdGd9DqI4CunW+wOZhVBGKI6Jut/OlLTw==", + "license": "MIT" }, - "node_modules/fast-xml-parser": { - "version": "4.3.2", + "node_modules/fast-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz", + "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==", "funding": [ { "type": "github", - "url": "https://github.com/sponsors/NaturalIntelligence" + "url": "https://github.com/sponsors/fastify" }, { - "type": "paypal", - "url": "https://paypal.me/naturalintelligence" + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause", + "optional": true + }, + "node_modules/fast-xml-parser": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.3.4.tgz", + "integrity": "sha512-EFd6afGmXlCx8H8WTZHhAoDaWaGyuIBoZJ2mknrNxug+aZKjkp0a0dlars9Izl+jF+7Gu1/5f/2h68cQpe0IiA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" } ], "license": "MIT", "dependencies": { - "strnum": "^1.0.5" + "strnum": "^2.1.0" }, "bin": { "fxparser": "src/cli/cli.js" } }, "node_modules/fastq": { - "version": "1.15.0", - "dev": true, + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz", + "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==", "license": "ISC", "dependencies": { "reusify": "^1.0.4" } }, - "node_modules/figures": { + "node_modules/fetch-blob": { "version": "3.2.0", - "dev": true, + "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", + "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "paypal", + "url": "https://paypal.me/jimmywarting" + } + ], "license": "MIT", "dependencies": { - "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=8" + "node-domexception": "^1.0.0", + "web-streams-polyfill": "^3.0.3" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/figures/node_modules/escape-string-regexp": { - "version": "1.0.5", - "dev": true, - "license": "MIT", "engines": { - "node": ">=0.8.0" + "node": "^12.20 || >= 14.13" } }, "node_modules/file-entry-cache": { "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, "license": "MIT", "dependencies": { @@ -2462,11 +3479,17 @@ "node": "^10.12.0 || >=12.0.0" } }, + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "license": "MIT", + "optional": true + }, "node_modules/fill-range": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, "license": "MIT", "dependencies": { "to-regex-range": "^5.0.1" @@ -2477,6 +3500,8 @@ }, "node_modules/find-up": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, "license": "MIT", "dependencies": { @@ -2492,6 +3517,8 @@ }, "node_modules/flat": { "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", "dev": true, "license": "BSD-3-Clause", "bin": { @@ -2499,11 +3526,14 @@ } }, "node_modules/flat-cache": { - "version": "3.0.4", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", "dev": true, "license": "MIT", "dependencies": { - "flatted": "^3.1.0", + "flatted": "^3.2.9", + "keyv": "^4.5.3", "rimraf": "^3.0.2" }, "engines": { @@ -2511,7 +3541,9 @@ } }, "node_modules/flatted": { - "version": "3.2.7", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", "dev": true, "license": "ISC" }, @@ -2532,19 +3564,57 @@ } }, "node_modules/foreground-child": { - "version": "2.0.0", - "dev": true, + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", + "devOptional": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/formdata-polyfill": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", + "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", + "license": "MIT", + "dependencies": { + "fetch-blob": "^3.1.2" + }, + "engines": { + "node": ">=12.20.0" + } + }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "license": "MIT", + "optional": true + }, + "node_modules/fs-minipass": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz", + "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==", "license": "ISC", "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^3.0.2" + "minipass": "^7.0.3" }, "engines": { - "node": ">=8.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/fs.realpath": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", "dev": true, "license": "ISC" }, @@ -2565,6 +3635,8 @@ }, "node_modules/function-bind": { "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", "dev": true, "license": "MIT", "funding": { @@ -2602,8 +3674,20 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/generator-function": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/generator-function/-/generator-function-2.0.1.tgz", + "integrity": "sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/gensync": { "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true, "license": "MIT", "engines": { @@ -2612,13 +3696,29 @@ }, "node_modules/get-caller-file": { "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "license": "ISC", "engines": { "node": "6.* || 8.* || >= 10.*" } }, + "node_modules/get-east-asian-width": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.5.0.tgz", + "integrity": "sha512-CQ+bEO+Tva/qlmw24dCejulK5pMzVnUOFOijVogd3KQs07HnRIgp8TGipvCCRT06xeYEbpbgwaCxglFyiuIcmA==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/get-func-name": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", + "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", "dev": true, "license": "MIT", "engines": { @@ -2682,20 +3782,42 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/get-tsconfig": { + "version": "4.13.6", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.6.tgz", + "integrity": "sha512-shZT/QMiSHc/YBLxxOkMtgSid5HFoauqCE3/exfsEcwg1WkeqjG+V40yBbBrsD+jW2HDXcs28xOfcbm2jI8Ddw==", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + }, + "funding": { + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + } + }, + "node_modules/github-from-package": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==", + "license": "MIT", + "optional": true + }, "node_modules/glob": { - "version": "7.2.0", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "minimatch": "^5.0.1", + "once": "^1.3.0" }, "engines": { - "node": "*" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -2703,6 +3825,8 @@ }, "node_modules/glob-parent": { "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, "license": "ISC", "dependencies": { @@ -2712,8 +3836,33 @@ "node": ">=10.13.0" } }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "5.1.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.9.tgz", + "integrity": "sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/globals": { - "version": "13.23.0", + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, "license": "MIT", "dependencies": { @@ -2756,13 +3905,23 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "license": "ISC" + }, "node_modules/graphemer": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", "dev": true, "license": "MIT" }, "node_modules/graphql": { - "version": "16.8.1", + "version": "16.12.0", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.12.0.tgz", + "integrity": "sha512-DKKrynuQRne0PNpEbzuEdHlYOMksHSUI8Zc9Unei5gTsMNA2/vMpoMz/yKba50pejK56qj98qM0SjYxAKi13gQ==", "dev": true, "license": "MIT", "engines": { @@ -2784,6 +3943,8 @@ }, "node_modules/has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, "license": "MIT", "engines": { @@ -2863,6 +4024,8 @@ }, "node_modules/he": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", "dev": true, "license": "MIT", "bin": { @@ -2870,19 +4033,44 @@ } }, "node_modules/headers-polyfill": { - "version": "3.2.5", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/headers-polyfill/-/headers-polyfill-4.0.3.tgz", + "integrity": "sha512-IScLbePpkvO846sIwOtOTDjutRMWdXdJmXdMvk6gCBHxFO8d+QKOQedyZSxFTTFYRSmlgSTDtXqqq4pcenBXLQ==", "dev": true, "license": "MIT" }, "node_modules/help": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/help/-/help-3.0.2.tgz", + "integrity": "sha512-jDd0MU+9xzvOQRC6CIzdjvb+agCvpzQY/Fp11quDnugDO4QQzh134EsLkRQMvFIJBleFkvnXagHFm4MTefkkpA==", "license": "MIT" }, "node_modules/html-escaper": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true, "license": "MIT" }, + "node_modules/http-cache-semantics": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", + "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", + "license": "BSD-2-Clause" + }, + "node_modules/http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, "node_modules/https-proxy-agent": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", @@ -2897,11 +4085,13 @@ } }, "node_modules/iconv-lite": { - "version": "0.4.24", - "dev": true, + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "license": "MIT", + "optional": true, "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" + "safer-buffer": ">= 2.1.2 < 3.0.0" }, "engines": { "node": ">=0.10.0" @@ -2909,7 +4099,8 @@ }, "node_modules/ieee754": { "version": "1.2.1", - "dev": true, + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", "funding": [ { "type": "github", @@ -2924,10 +4115,13 @@ "url": "https://feross.org/support" } ], - "license": "BSD-3-Clause" + "license": "BSD-3-Clause", + "optional": true }, "node_modules/ignore": { - "version": "5.2.4", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", "dev": true, "license": "MIT", "engines": { @@ -2935,7 +4129,9 @@ } }, "node_modules/import-fresh": { - "version": "3.3.0", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", "dev": true, "license": "MIT", "dependencies": { @@ -2951,14 +4147,29 @@ }, "node_modules/imurmurhash": { "version": "0.1.4", - "dev": true, + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "devOptional": true, "license": "MIT", "engines": { "node": ">=0.8.19" } }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=8" + } + }, "node_modules/inflight": { "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", "dev": true, "license": "ISC", "dependencies": { @@ -2968,48 +4179,17 @@ }, "node_modules/inherits": { "version": "2.0.4", - "dev": true, + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "devOptional": true, "license": "ISC" }, - "node_modules/inquirer": { - "version": "8.2.6", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.6.tgz", - "integrity": "sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==", - "dev": true, - "dependencies": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.1", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.21", - "mute-stream": "0.0.8", - "ora": "^5.4.1", - "run-async": "^2.4.0", - "rxjs": "^7.5.5", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6", - "wrap-ansi": "^6.0.1" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/inquirer/node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "license": "ISC", + "optional": true }, "node_modules/internal-slot": { "version": "1.1.0", @@ -3026,19 +4206,13 @@ "node": ">= 0.4" } }, - "node_modules/is-arguments": { - "version": "1.1.1", - "dev": true, + "node_modules/ip-address": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.1.0.tgz", + "integrity": "sha512-XXADHxXmvT9+CRxhXg56LJovE+bmWnEWB78LB83VZTprKTmaC5QfruXocxzTZ2Kl0DNwKuBdlIhjL8LeY8Sf8Q==", "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 12" } }, "node_modules/is-array-buffer": { @@ -3097,6 +4271,8 @@ }, "node_modules/is-binary-path": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, "license": "MIT", "dependencies": { @@ -3123,8 +4299,33 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-bun-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-bun-module/-/is-bun-module-2.0.0.tgz", + "integrity": "sha512-gNCGbnnnnFAUGKeZ9PdbyeGYJqewpmc2aKHUEMO5nQPWU9lOmv7jcmQIv+qHD8fXW6W7qfuCwX4rY9LNRjXrkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.7.1" + } + }, + "node_modules/is-bun-module/node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/is-callable": { "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", "dev": true, "license": "MIT", "engines": { @@ -3187,7 +4388,8 @@ }, "node_modules/is-extglob": { "version": "2.1.1", - "dev": true, + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "license": "MIT", "engines": { "node": ">=0.10.0" @@ -3211,17 +4413,26 @@ }, "node_modules/is-fullwidth-code-point": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "devOptional": true, "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/is-generator-function": { - "version": "1.0.10", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.2.tgz", + "integrity": "sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==", "dev": true, "license": "MIT", "dependencies": { - "has-tostringtag": "^1.0.0" + "call-bound": "^1.0.4", + "generator-function": "^2.0.0", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -3232,7 +4443,8 @@ }, "node_modules/is-glob": { "version": "4.0.3", - "dev": true, + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "license": "MIT", "dependencies": { "is-extglob": "^2.1.1" @@ -3241,13 +4453,12 @@ "node": ">=0.10.0" } }, - "node_modules/is-interactive": { - "version": "1.0.0", - "dev": true, + "node_modules/is-lambda": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", + "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", "license": "MIT", - "engines": { - "node": ">=8" - } + "optional": true }, "node_modules/is-map": { "version": "2.0.3", @@ -3262,8 +4473,23 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-negative-zero": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-node-process": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-node-process/-/is-node-process-1.2.0.tgz", + "integrity": "sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw==", "dev": true, "license": "MIT" }, @@ -3271,7 +4497,6 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, "license": "MIT", "engines": { "node": ">=0.12.0" @@ -3296,6 +4521,8 @@ }, "node_modules/is-path-inside": { "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", "dev": true, "license": "MIT", "engines": { @@ -3304,6 +4531,8 @@ }, "node_modules/is-plain-obj": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", "dev": true, "license": "MIT", "engines": { @@ -3411,6 +4640,8 @@ }, "node_modules/is-unicode-supported": { "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", "dev": true, "license": "MIT", "engines": { @@ -3467,7 +4698,9 @@ } }, "node_modules/isarray": { - "version": "0.0.1", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", "dev": true, "license": "MIT" }, @@ -3475,14 +4708,16 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", - "dev": true, + "devOptional": true, "license": "ISC", "engines": { "node": ">=16" } }, "node_modules/istanbul-lib-coverage": { - "version": "3.2.0", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", "dev": true, "license": "BSD-3-Clause", "engines": { @@ -3490,20 +4725,24 @@ } }, "node_modules/istanbul-lib-report": { - "version": "3.0.0", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, "license": "BSD-3-Clause", "dependencies": { "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", + "make-dir": "^4.0.0", "supports-color": "^7.1.0" }, "engines": { - "node": ">=8" + "node": ">=10" } }, "node_modules/istanbul-reports": { - "version": "3.1.5", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.2.0.tgz", + "integrity": "sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -3514,17 +4753,33 @@ "node": ">=8" } }, - "node_modules/js-levenshtein": { - "version": "1.1.6", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "license": "BlueOak-1.0.0", + "optional": true, + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" } }, - "node_modules/js-yaml": { - "version": "4.1.0", + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "dev": true, + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", "license": "MIT", "dependencies": { "argparse": "^2.0.1" @@ -3533,36 +4788,74 @@ "js-yaml": "bin/js-yaml.js" } }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", "dev": true, "license": "MIT" }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT", + "optional": true + }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true, "license": "MIT" }, "node_modules/json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, "license": "MIT", - "dependencies": { - "minimist": "^1.2.0" - }, "bin": { "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" } }, "node_modules/just-extend": { - "version": "4.2.1", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-6.2.0.tgz", + "integrity": "sha512-cYofQu2Xpom82S6qD778jBDpwvvy39s1l/hrYij2u9AMdQcGRpaBu6kY4mVhuno5kJVi1DAz4aiphA2WI1/OAw==", "dev": true, "license": "MIT" }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, "node_modules/klona": { "version": "2.0.6", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", + "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", "dev": true, "license": "MIT", "engines": { @@ -3571,6 +4864,8 @@ }, "node_modules/levn": { "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, "license": "MIT", "dependencies": { @@ -3581,8 +4876,27 @@ "node": ">= 0.8.0" } }, + "node_modules/libxmljs2": { + "version": "0.35.0", + "resolved": "https://registry.npmjs.org/libxmljs2/-/libxmljs2-0.35.0.tgz", + "integrity": "sha512-SpVopqn4YNydnLjkGfL6yQwzjlipmEnCCsVrD/0hQmdgsQWb5rVmSJxxjQltHIUTto29vgX+PhLjXoc+gMeABQ==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "bindings": "~1.5.0", + "nan": "~2.20.0", + "node-gyp": "^10.2.0", + "prebuild-install": "^7.1.2" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/locate-path": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, "license": "MIT", "dependencies": { @@ -3595,23 +4909,17 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lodash": { - "version": "4.17.21", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.get": { - "version": "4.4.2", - "dev": true, - "license": "MIT" - }, "node_modules/lodash.merge": { "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true, "license": "MIT" }, "node_modules/log-symbols": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", "dev": true, "license": "MIT", "dependencies": { @@ -3626,46 +4934,76 @@ } }, "node_modules/loupe": { - "version": "2.3.6", + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", + "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", "dev": true, "license": "MIT", "dependencies": { - "get-func-name": "^2.0.0" + "get-func-name": "^2.0.1" } }, "node_modules/lru-cache": { "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, "license": "ISC", "dependencies": { "yallist": "^3.0.2" } }, - "node_modules/lru-cache/node_modules/yallist": { - "version": "3.1.1", - "dev": true, - "license": "ISC" - }, "node_modules/make-dir": { - "version": "3.1.0", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "dev": true, "license": "MIT", "dependencies": { - "semver": "^6.0.0" + "semver": "^7.5.3" }, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/make-dir/node_modules/semver": { - "version": "6.3.1", + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", "dev": true, "license": "ISC", "bin": { "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-fetch-happen": { + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-13.0.1.tgz", + "integrity": "sha512-cKTUFc/rbKUd/9meOvgrpJ2WrNzymt6jfRDdwg5UCnVzv9dTpEj9JS5m3wtziXVCjluIXyL8pcaukYqezIzZQA==", + "license": "ISC", + "optional": true, + "dependencies": { + "@npmcli/agent": "^2.0.0", + "cacache": "^18.0.0", + "http-cache-semantics": "^4.1.1", + "is-lambda": "^1.0.1", + "minipass": "^7.0.2", + "minipass-fetch": "^3.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "proc-log": "^4.2.0", + "promise-retry": "^2.0.1", + "ssri": "^10.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" } }, "node_modules/math-intrinsics": { @@ -3678,16 +5016,45 @@ "node": ">= 0.4" } }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "dev": true, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "license": "MIT", "engines": { - "node": ">=6" + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/minimatch": { - "version": "3.1.2", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", "dev": true, "license": "ISC", "dependencies": { @@ -3701,93 +5068,260 @@ "version": "1.2.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true, + "devOptional": true, "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/mocha": { - "version": "10.8.2", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.8.2.tgz", - "integrity": "sha512-VZlYo/WE8t1tstuRmqgeyBgCbJc/lEdopaa+axcKzTBJ+UIdlAB9XnmvTCAH4pwR4ElNInaedhEBmZD8iCSVEg==", - "dev": true, - "license": "MIT", + "node_modules/minipass": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", + "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==", + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/minipass-collect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-2.0.1.tgz", + "integrity": "sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==", + "license": "ISC", "dependencies": { - "ansi-colors": "^4.1.3", - "browser-stdout": "^1.3.1", - "chokidar": "^3.5.3", - "debug": "^4.3.5", - "diff": "^5.2.0", - "escape-string-regexp": "^4.0.0", - "find-up": "^5.0.0", - "glob": "^8.1.0", - "he": "^1.2.0", - "js-yaml": "^4.1.0", - "log-symbols": "^4.1.0", - "minimatch": "^5.1.6", - "ms": "^2.1.3", - "serialize-javascript": "^6.0.2", - "strip-json-comments": "^3.1.1", - "supports-color": "^8.1.1", - "workerpool": "^6.5.1", - "yargs": "^16.2.0", - "yargs-parser": "^20.2.9", - "yargs-unparser": "^2.0.0" - }, - "bin": { - "_mocha": "bin/_mocha", - "mocha": "bin/mocha.js" + "minipass": "^7.0.3" }, "engines": { - "node": ">= 14.0.0" + "node": ">=16 || 14 >=14.17" } }, - "node_modules/mocha/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, + "node_modules/minipass-fetch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.5.tgz", + "integrity": "sha512-2N8elDQAtSnFV0Dk7gt15KHsS0Fyz6CbYZ360h0WTYV1Ty46li3rAXVOQj1THMNLdmrD9Vt5pBPtWtVkpwGBqg==", "license": "MIT", + "optional": true, "dependencies": { - "balanced-match": "^1.0.0" + "minipass": "^7.0.3", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" } }, - "node_modules/mocha/node_modules/cliui": { - "version": "7.0.4", - "dev": true, + "node_modules/minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", "license": "ISC", "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/mocha/node_modules/glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "dev": true, + "node_modules/minipass-flush/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", "license": "ISC", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" + "yallist": "^4.0.0" }, "engines": { - "node": ">=12" + "node": ">=8" + } + }, + "node_modules/minipass-flush/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "license": "ISC" + }, + "node_modules/minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-pipeline/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-pipeline/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "license": "ISC" + }, + "node_modules/minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "license": "ISC", + "optional": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-sized/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "license": "ISC", + "optional": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-sized/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "license": "ISC", + "optional": true + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "license": "MIT", + "optional": true, + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "license": "ISC", + "optional": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "license": "ISC", + "optional": true + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "license": "MIT", + "optional": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", + "license": "MIT", + "optional": true + }, + "node_modules/mocha": { + "version": "10.8.2", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.8.2.tgz", + "integrity": "sha512-VZlYo/WE8t1tstuRmqgeyBgCbJc/lEdopaa+axcKzTBJ+UIdlAB9XnmvTCAH4pwR4ElNInaedhEBmZD8iCSVEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "^4.1.3", + "browser-stdout": "^1.3.1", + "chokidar": "^3.5.3", + "debug": "^4.3.5", + "diff": "^5.2.0", + "escape-string-regexp": "^4.0.0", + "find-up": "^5.0.0", + "glob": "^8.1.0", + "he": "^1.2.0", + "js-yaml": "^4.1.0", + "log-symbols": "^4.1.0", + "minimatch": "^5.1.6", + "ms": "^2.1.3", + "serialize-javascript": "^6.0.2", + "strip-json-comments": "^3.1.1", + "supports-color": "^8.1.1", + "workerpool": "^6.5.1", + "yargs": "^16.2.0", + "yargs-parser": "^20.2.9", + "yargs-unparser": "^2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/mocha/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/mocha/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" } }, "node_modules/mocha/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "version": "5.1.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.9.tgz", + "integrity": "sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==", "dev": true, "license": "ISC", "dependencies": { @@ -3799,6 +5333,8 @@ }, "node_modules/mocha/node_modules/supports-color": { "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, "license": "MIT", "dependencies": { @@ -3811,8 +5347,28 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, + "node_modules/mocha/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, "node_modules/mocha/node_modules/yargs": { "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "dev": true, "license": "MIT", "dependencies": { @@ -3838,6 +5394,13 @@ "node": ">=10" } }, + "node_modules/moo": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/moo/-/moo-0.5.2.tgz", + "integrity": "sha512-iSAJLHYKnX41mKcJKjqvnAN9sf0LMDTXDEvFv+ffuRR9a1MIuXLjMNL6EsnDHSkKLTWNqQQ5uo61P4EbU4NU+Q==", + "license": "BSD-3-Clause", + "optional": true + }, "node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", @@ -3845,45 +5408,43 @@ "license": "MIT" }, "node_modules/msw": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/msw/-/msw-1.3.5.tgz", - "integrity": "sha512-nG3fpmBXxFbKSIdk6miPuL3KjU6WMxgoW4tG1YgnP1M+TRG3Qn7b7R0euKAHq4vpwARHb18ZyfZljSxsTnMX2w==", + "version": "2.12.7", + "resolved": "https://registry.npmjs.org/msw/-/msw-2.12.7.tgz", + "integrity": "sha512-retd5i3xCZDVWMYjHEVuKTmhqY8lSsxujjVrZiGbbdoxxIBg5S7rCuYy/YQpfrTYIxpd/o0Kyb/3H+1udBMoYg==", "dev": true, "hasInstallScript": true, "license": "MIT", "dependencies": { - "@mswjs/cookies": "^0.2.2", - "@mswjs/interceptors": "^0.17.10", - "@open-draft/until": "^1.0.3", - "@types/cookie": "^0.4.1", - "@types/js-levenshtein": "^1.1.1", - "chalk": "^4.1.1", - "chokidar": "^3.4.2", - "cookie": "^0.4.2", - "graphql": "^16.8.1", - "headers-polyfill": "3.2.5", - "inquirer": "^8.2.0", + "@inquirer/confirm": "^5.0.0", + "@mswjs/interceptors": "^0.40.0", + "@open-draft/deferred-promise": "^2.2.0", + "@types/statuses": "^2.0.6", + "cookie": "^1.0.2", + "graphql": "^16.12.0", + "headers-polyfill": "^4.0.2", "is-node-process": "^1.2.0", - "js-levenshtein": "^1.1.6", - "node-fetch": "^2.6.7", - "outvariant": "^1.4.0", + "outvariant": "^1.4.3", "path-to-regexp": "^6.3.0", - "strict-event-emitter": "^0.4.3", - "type-fest": "^2.19.0", - "yargs": "^17.3.1" + "picocolors": "^1.1.1", + "rettime": "^0.7.0", + "statuses": "^2.0.2", + "strict-event-emitter": "^0.5.1", + "tough-cookie": "^6.0.0", + "type-fest": "^5.2.0", + "until-async": "^3.0.2", + "yargs": "^17.7.2" }, "bin": { "msw": "cli/index.js" }, "engines": { - "node": ">=14" + "node": ">=18" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mswjs" + "url": "https://github.com/sponsors/mswjs" }, "peerDependencies": { - "typescript": ">= 4.4.x" + "typescript": ">= 4.8.x" }, "peerDependenciesMeta": { "typescript": { @@ -3891,109 +5452,417 @@ } } }, - "node_modules/msw/node_modules/path-to-regexp": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.3.0.tgz", - "integrity": "sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==", + "node_modules/msw/node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, - "license": "MIT" + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } }, "node_modules/msw/node_modules/type-fest": { - "version": "2.19.0", + "version": "5.4.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-5.4.3.tgz", + "integrity": "sha512-AXSAQJu79WGc79/3e9/CR77I/KQgeY1AhNvcShIH4PTcGYyC4xv6H4R4AUOwkPS5799KlVDAu8zExeCrkGquiA==", "dev": true, "license": "(MIT OR CC0-1.0)", + "dependencies": { + "tagged-tag": "^1.0.0" + }, "engines": { - "node": ">=12.20" + "node": ">=20" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/mute-stream": { - "version": "0.0.8", - "dev": true, - "license": "ISC" - }, - "node_modules/natural-compare": { - "version": "1.4.0", + "node_modules/msw/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } }, - "node_modules/nise": { - "version": "5.1.4", + "node_modules/msw/node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", "dependencies": { - "@sinonjs/commons": "^2.0.0", - "@sinonjs/fake-timers": "^10.0.2", - "@sinonjs/text-encoding": "^0.7.1", - "just-extend": "^4.0.2", - "path-to-regexp": "^1.7.0" + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" } }, - "node_modules/nise/node_modules/@sinonjs/commons": { + "node_modules/mute-stream": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-2.0.0.tgz", + "integrity": "sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==", "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "type-detect": "4.0.8" + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/nise/node_modules/path-to-regexp": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.9.0.tgz", - "integrity": "sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==", - "dev": true, + "node_modules/nan": { + "version": "2.20.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.20.0.tgz", + "integrity": "sha512-bk3gXBZDGILuuo/6sKtr0DQmSThYHLtNCdSdXk9YkxD/jK6X2vmCyyXBBxyqZ4XcnzTyYEAThfX3DCEnLf6igw==", "license": "MIT", - "dependencies": { - "isarray": "0.0.1" - } + "optional": true }, - "node_modules/node-fetch": { - "version": "2.6.11", + "node_modules/napi-build-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-2.0.0.tgz", + "integrity": "sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==", "license": "MIT", - "dependencies": { - "whatwg-url": "^5.0.0" + "optional": true + }, + "node_modules/napi-postinstall": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/napi-postinstall/-/napi-postinstall-0.3.4.tgz", + "integrity": "sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==", + "dev": true, + "license": "MIT", + "bin": { + "napi-postinstall": "lib/cli.js" }, "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } + "funding": { + "url": "https://opencollective.com/napi-postinstall" } }, - "node_modules/node-releases": { - "version": "2.0.13", + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true, "license": "MIT" }, - "node_modules/normalize-path": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.13.4", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", - "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", - "dev": true, + "node_modules/nearley": { + "version": "2.20.1", + "resolved": "https://registry.npmjs.org/nearley/-/nearley-2.20.1.tgz", + "integrity": "sha512-+Mc8UaAebFzgV+KpI5n7DasuuQCHA89dmwm7JXw3TV43ukfNQ9DnBH3Mdb2g/I4Fdxc26pwimBWvjIw0UAILSQ==", "license": "MIT", - "engines": { - "node": ">= 0.4" + "optional": true, + "dependencies": { + "commander": "^2.19.0", + "moo": "^0.5.0", + "railroad-diagrams": "^1.0.0", + "randexp": "0.4.6" + }, + "bin": { + "nearley-railroad": "bin/nearley-railroad.js", + "nearley-test": "bin/nearley-test.js", + "nearley-unparse": "bin/nearley-unparse.js", + "nearleyc": "bin/nearleyc.js" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "individual", + "url": "https://nearley.js.org/#give-to-nearley" } }, - "node_modules/object-keys": { + "node_modules/nearley/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "license": "MIT", + "optional": true + }, + "node_modules/negotiator": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", + "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/nise": { + "version": "5.1.9", + "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.9.tgz", + "integrity": "sha512-qOnoujW4SV6e40dYxJOb3uvuoPHtmLzIk4TFo+j0jPJoC+5Z9xja5qH5JZobEPsa8+YYphMrOSwnrshEhG2qww==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@sinonjs/commons": "^3.0.0", + "@sinonjs/fake-timers": "^11.2.2", + "@sinonjs/text-encoding": "^0.7.2", + "just-extend": "^6.2.0", + "path-to-regexp": "^6.2.1" + } + }, + "node_modules/nise/node_modules/@sinonjs/fake-timers": { + "version": "11.3.1", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-11.3.1.tgz", + "integrity": "sha512-EVJO7nW5M/F5Tur0Rf2z/QoMo+1Ia963RiMtapiQrEWvY0iBUvADo8Beegwjpnle5BHkyHuoxSTW3jF43H1XRA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@sinonjs/commons": "^3.0.1" + } + }, + "node_modules/node-abi": { + "version": "3.87.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.87.0.tgz", + "integrity": "sha512-+CGM1L1CgmtheLcBuleyYOn7NWPVu0s0EJH2C4puxgEZb9h8QpR9G2dBfZJOAUhi7VQxuBPMd0hiISWcTyiYyQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-abi/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "license": "ISC", + "optional": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-addon-api": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-8.5.0.tgz", + "integrity": "sha512-/bRZty2mXUIFY/xU5HLvveNHlswNJej+RnxBjOMkidWfwZzgTbPG1E3K5TOxRLOR+5hX7bSofy8yf1hZevMS8A==", + "license": "MIT", + "engines": { + "node": "^18 || ^20 || >= 21" + } + }, + "node_modules/node-domexception": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", + "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", + "deprecated": "Use your platform's native DOMException instead", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "github", + "url": "https://paypal.me/jimmywarting" + } + ], + "license": "MIT", + "engines": { + "node": ">=10.5.0" + } + }, + "node_modules/node-fetch": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", + "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", + "license": "MIT", + "dependencies": { + "data-uri-to-buffer": "^4.0.0", + "fetch-blob": "^3.1.4", + "formdata-polyfill": "^4.0.10" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/node-fetch" + } + }, + "node_modules/node-gyp": { + "version": "10.3.1", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-10.3.1.tgz", + "integrity": "sha512-Pp3nFHBThHzVtNY7U6JfPjvT/DTE8+o/4xKsLQtBoU+j2HLsGlhcfzflAoUreaJbNmYnX+LlLi0qjV8kpyO6xQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "env-paths": "^2.2.0", + "exponential-backoff": "^3.1.1", + "glob": "^10.3.10", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^13.0.0", + "nopt": "^7.0.0", + "proc-log": "^4.1.0", + "semver": "^7.3.5", + "tar": "^6.2.1", + "which": "^4.0.0" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/node-gyp-build": { + "version": "4.8.4", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.4.tgz", + "integrity": "sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==", + "license": "MIT", + "bin": { + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" + } + }, + "node_modules/node-gyp/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/node-gyp/node_modules/glob": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz", + "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", + "license": "ISC", + "optional": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/node-gyp/node_modules/minimatch": { + "version": "9.0.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", + "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", + "license": "ISC", + "optional": true, + "dependencies": { + "brace-expansion": "^2.0.2" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/node-gyp/node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "license": "ISC", + "optional": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-gyp/node_modules/which": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", + "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", + "license": "ISC", + "optional": true, + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^16.13.0 || >=18.0.0" + } + }, + "node_modules/node-releases": { + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", + "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/nopt": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-7.2.1.tgz", + "integrity": "sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==", + "license": "ISC", + "optional": true, + "dependencies": { + "abbrev": "^2.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", @@ -4079,74 +5948,36 @@ }, "node_modules/once": { "version": "1.4.0", - "dev": true, + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "devOptional": true, "license": "ISC", "dependencies": { "wrappy": "1" } }, - "node_modules/onetime": { - "version": "5.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/optionator": { - "version": "0.9.3", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", "dev": true, "license": "MIT", "dependencies": { - "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" }, "engines": { "node": ">= 0.8.0" } }, - "node_modules/ora": { - "version": "5.4.1", - "dev": true, - "license": "MIT", - "dependencies": { - "bl": "^4.1.0", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.5.0", - "is-interactive": "^1.0.0", - "is-unicode-supported": "^0.1.0", - "log-symbols": "^4.1.0", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/os-tmpdir": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/outvariant": { - "version": "1.4.0", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/outvariant/-/outvariant-1.4.3.tgz", + "integrity": "sha512-+Sl2UErvtsoajRDKCE5/dBz4DIvHXQQnAxtQTF04OJxY0+DyZXSo5P5Bb7XYWOh81syohlYL24hbDwxedPUJCA==", "dev": true, "license": "MIT" }, @@ -4169,7 +6000,40 @@ } }, "node_modules/p-limit": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", + "license": "MIT", + "dependencies": { + "yocto-queue": "^1.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate/node_modules/p-limit": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, "license": "MIT", "dependencies": { @@ -4182,12 +6046,27 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-locate": { - "version": "5.0.0", + "node_modules/p-locate/node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "license": "MIT", + "optional": true, "dependencies": { - "p-limit": "^3.0.2" + "aggregate-error": "^3.0.0" }, "engines": { "node": ">=10" @@ -4196,6 +6075,13 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "license": "BlueOak-1.0.0", + "optional": true + }, "node_modules/packageurl-js": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/packageurl-js/-/packageurl-js-1.0.2.tgz", @@ -4204,6 +6090,8 @@ }, "node_modules/parent-module": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, "license": "MIT", "dependencies": { @@ -4215,6 +6103,8 @@ }, "node_modules/path-exists": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, "license": "MIT", "engines": { @@ -4223,6 +6113,8 @@ }, "node_modules/path-is-absolute": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "dev": true, "license": "MIT", "engines": { @@ -4231,7 +6123,9 @@ }, "node_modules/path-key": { "version": "3.1.1", - "dev": true, + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "devOptional": true, "license": "MIT", "engines": { "node": ">=8" @@ -4244,8 +6138,41 @@ "dev": true, "license": "MIT" }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "license": "BlueOak-1.0.0", + "optional": true, + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "license": "ISC", + "optional": true + }, + "node_modules/path-to-regexp": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.3.0.tgz", + "integrity": "sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==", + "dev": true, + "license": "MIT" + }, "node_modules/pathval": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", "dev": true, "license": "MIT", "engines": { @@ -4253,13 +6180,16 @@ } }, "node_modules/picocolors": { - "version": "1.0.0", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", "dev": true, "license": "ISC" }, "node_modules/picomatch": { "version": "2.3.1", - "dev": true, + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "license": "MIT", "engines": { "node": ">=8.6" @@ -4278,17 +6208,83 @@ "node": ">= 0.4" } }, + "node_modules/prebuild-install": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.3.tgz", + "integrity": "sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==", + "license": "MIT", + "optional": true, + "dependencies": { + "detect-libc": "^2.0.0", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.3", + "mkdirp-classic": "^0.5.3", + "napi-build-utils": "^2.0.0", + "node-abi": "^3.3.0", + "pump": "^3.0.0", + "rc": "^1.2.7", + "simple-get": "^4.0.0", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0" + }, + "bin": { + "prebuild-install": "bin.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/prelude-ls": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true, "license": "MIT", "engines": { "node": ">= 0.8.0" } }, + "node_modules/proc-log": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-4.2.0.tgz", + "integrity": "sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==", + "license": "ISC", + "optional": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "license": "MIT", + "optional": true, + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/pump": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.3.tgz", + "integrity": "sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==", + "license": "MIT", + "optional": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, "node_modules/punycode": { - "version": "2.3.0", - "dev": true, + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "devOptional": true, "license": "MIT", "engines": { "node": ">=6" @@ -4296,7 +6292,8 @@ }, "node_modules/queue-microtask": { "version": "1.2.3", - "dev": true, + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "funding": [ { "type": "github", @@ -4313,6 +6310,27 @@ ], "license": "MIT" }, + "node_modules/railroad-diagrams": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz", + "integrity": "sha512-cz93DjNeLY0idrCNOH6PviZGRN9GJhsdm9hpn1YCS879fj4W+x5IFJhhkRZcwVgMmFF7R82UA/7Oh+R8lLZg6A==", + "license": "CC0-1.0", + "optional": true + }, + "node_modules/randexp": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/randexp/-/randexp-0.4.6.tgz", + "integrity": "sha512-80WNmd9DA0tmZrw9qQa62GPPWfuXJknrmVmLcxvq4uZBdYqb1wYoKTmnlGUchvVWe0XiLupYkBoXVOxz3C8DYQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "discontinuous-range": "1.0.0", + "ret": "~0.1.10" + }, + "engines": { + "node": ">=0.12" + } + }, "node_modules/randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -4323,10 +6341,38 @@ "safe-buffer": "^5.1.0" } }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", + "optional": true, + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/rc/node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/readable-stream": { "version": "3.6.2", - "dev": true, + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "license": "MIT", + "optional": true, "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -4338,6 +6384,8 @@ }, "node_modules/readdirp": { "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, "license": "MIT", "dependencies": { @@ -4393,19 +6441,32 @@ }, "node_modules/require-directory": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", "license": "MIT", + "optional": true, "engines": { "node": ">=0.10.0" } }, "node_modules/resolve": { - "version": "1.22.10", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", - "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", + "version": "1.22.11", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", + "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", "dev": true, "license": "MIT", "dependencies": { - "is-core-module": "^2.16.0", + "is-core-module": "^2.16.1", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, @@ -4421,27 +6482,55 @@ }, "node_modules/resolve-from": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true, "license": "MIT", "engines": { "node": ">=4" } }, - "node_modules/restore-cursor": { - "version": "3.1.0", + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", "dev": true, "license": "MIT", - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + } + }, + "node_modules/ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "license": "MIT", + "optional": true, "engines": { - "node": ">=8" + "node": ">=0.12" } }, - "node_modules/reusify": { - "version": "1.0.4", + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/rettime": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/rettime/-/rettime-0.7.0.tgz", + "integrity": "sha512-LPRKoHnLKd/r3dVxcwO7vhCW+orkOGj9ViueosEBK6ie89CijnfRlhaDhHq/3Hxu4CkWQtxwlBG0mzTQY6uQjw==", "dev": true, + "license": "MIT" + }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", "license": "MIT", "engines": { "iojs": ">=1.0.0", @@ -4450,6 +6539,9 @@ }, "node_modules/rimraf": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", "dev": true, "license": "ISC", "dependencies": { @@ -4462,17 +6554,32 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/run-async": { - "version": "2.4.1", + "node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", "dev": true, - "license": "MIT", + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, "engines": { - "node": ">=0.12.0" + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/run-parallel": { "version": "1.2.0", - "dev": true, + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "funding": [ { "type": "github", @@ -4492,15 +6599,6 @@ "queue-microtask": "^1.2.2" } }, - "node_modules/rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", - "dev": true, - "dependencies": { - "tslib": "^2.1.0" - } - }, "node_modules/safe-array-concat": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", @@ -4521,16 +6619,11 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/safe-array-concat/node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true, - "license": "MIT" - }, "node_modules/safe-buffer": { "version": "5.2.1", - "dev": true, + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "devOptional": true, "funding": [ { "type": "github", @@ -4564,13 +6657,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/safe-push-apply/node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true, - "license": "MIT" - }, "node_modules/safe-regex-test": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", @@ -4591,32 +6677,29 @@ }, "node_modules/safer-buffer": { "version": "2.1.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT", + "optional": true }, - "node_modules/semver": { - "version": "7.5.4", - "dev": true, - "license": "ISC", + "node_modules/schemes": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/schemes/-/schemes-1.4.0.tgz", + "integrity": "sha512-ImFy9FbCsQlVgnE3TCWmLPCFnVzx0lHL/l+umHplDqAKd0dzFpnS6lFZIpagBlYhKwzVmlV36ec0Y1XTu8JBAQ==", + "license": "MIT", + "optional": true, "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" + "extend": "^3.0.0" } }, - "node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" + "bin": { + "semver": "bin/semver.js" } }, "node_modules/serialize-javascript": { @@ -4629,11 +6712,6 @@ "randombytes": "^2.1.0" } }, - "node_modules/set-cookie-parser": { - "version": "2.6.0", - "dev": true, - "license": "MIT" - }, "node_modules/set-function-length": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", @@ -4685,7 +6763,9 @@ }, "node_modules/shebang-command": { "version": "2.0.0", - "dev": true, + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "devOptional": true, "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" @@ -4696,7 +6776,9 @@ }, "node_modules/shebang-regex": { "version": "3.0.0", - "dev": true, + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "devOptional": true, "license": "MIT", "engines": { "node": ">=8" @@ -4779,17 +6861,75 @@ } }, "node_modules/signal-exit": { - "version": "3.0.7", - "dev": true, - "license": "ISC" + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "devOptional": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "optional": true + }, + "node_modules/simple-get": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", + "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "optional": true, + "dependencies": { + "decompress-response": "^6.0.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } }, "node_modules/sinon": { - "version": "15.1.2", + "version": "15.2.0", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-15.2.0.tgz", + "integrity": "sha512-nPS85arNqwBXaIsFCkolHjGIkFo+Oxu9vbgmBJizLAhqe6P2o3Qmj3KCUoRkfhHtvgDhZdWD3risLHAUJ8npjw==", + "deprecated": "16.1.1", "dev": true, "license": "BSD-3-Clause", "dependencies": { "@sinonjs/commons": "^3.0.0", - "@sinonjs/fake-timers": "^10.1.0", + "@sinonjs/fake-timers": "^10.3.0", "@sinonjs/samsam": "^8.0.0", "diff": "^5.1.0", "nise": "^5.1.4", @@ -4802,6 +6942,8 @@ }, "node_modules/sinon-chai": { "version": "3.7.0", + "resolved": "https://registry.npmjs.org/sinon-chai/-/sinon-chai-3.7.0.tgz", + "integrity": "sha512-mf5NURdUaSdnatJx3uhoBOrY9dtL19fiOtAdT1Azxg3+lNJFiuN0uzaU3xX1LeAfL17kHQhTAJgpsfhbMJMY2g==", "dev": true, "license": "(BSD-2-Clause OR WTFPL)", "peerDependencies": { @@ -4809,55 +6951,212 @@ "sinon": ">=4.0.0" } }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "license": "BSD-3-Clause", - "optional": true + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "license": "MIT", + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } }, - "node_modules/strict-event-emitter": { - "version": "0.4.6", - "dev": true, - "license": "MIT" + "node_modules/smol-toml": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.6.0.tgz", + "integrity": "sha512-4zemZi0HvTnYwLfrpk/CF9LOd9Lt87kAt50GnqhMpyF9U3poDAP2+iukq2bZsO/ufegbYehBkqINbsWxj4l4cw==", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 18" + }, + "funding": { + "url": "https://github.com/sponsors/cyyynthia" + } }, - "node_modules/string_decoder": { - "version": "1.3.0", - "dev": true, + "node_modules/smtp-address-parser": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/smtp-address-parser/-/smtp-address-parser-1.1.0.tgz", + "integrity": "sha512-Gz11jbNU0plrReU9Sj7fmshSBxxJ9ShdD2q4ktHIHo/rpTH6lFyQoYHYKINPJtPe8aHFnsbtW46Ls0tCCBsIZg==", "license": "MIT", + "optional": true, "dependencies": { - "safe-buffer": "~5.2.0" + "nearley": "^2.20.1" + }, + "engines": { + "node": ">=0.10" } }, - "node_modules/string-width": { - "version": "4.2.3", + "node_modules/socks": { + "version": "2.8.7", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.7.tgz", + "integrity": "sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A==", "license": "MIT", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "ip-address": "^10.0.1", + "smart-buffer": "^4.2.0" }, "engines": { - "node": ">=8" + "node": ">= 10.0.0", + "npm": ">= 3.0.0" } }, - "node_modules/string.prototype.trim": { - "version": "1.2.10", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", - "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", - "dev": true, + "node_modules/socks-proxy-agent": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz", + "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==", "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "define-data-property": "^1.1.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-object-atoms": "^1.0.0", - "has-property-descriptors": "^1.0.2" + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "socks": "^2.8.3" }, "engines": { - "node": ">= 0.4" - }, - "funding": { + "node": ">= 14" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", + "license": "CC-BY-3.0" + }, + "node_modules/spdx-expression-parse": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-4.0.0.tgz", + "integrity": "sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==", + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.22", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.22.tgz", + "integrity": "sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ==", + "license": "CC0-1.0" + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "license": "BSD-3-Clause", + "optional": true + }, + "node_modules/ssri": { + "version": "10.0.6", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.6.tgz", + "integrity": "sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ==", + "license": "ISC", + "optional": true, + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/stable-hash-x": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/stable-hash-x/-/stable-hash-x-0.2.0.tgz", + "integrity": "sha512-o3yWv49B/o4QZk5ZcsALc6t0+eCelPc44zZsLtCQnZPDwFpDYSWcDnrv2TtMmMbQ7uKo3J0HTURCqckw23czNQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/stop-iteration-iterator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", + "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "internal-slot": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/strict-event-emitter": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/strict-event-emitter/-/strict-event-emitter-0.5.1.tgz", + "integrity": "sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "license": "MIT", + "optional": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "optional": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.10", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", + "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-data-property": "^1.1.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-object-atoms": "^1.0.0", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { "url": "https://github.com/sponsors/ljharb" } }, @@ -4900,113 +7199,820 @@ }, "node_modules/strip-ansi": { "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "license": "MIT", + "optional": true, "dependencies": { "ansi-regex": "^5.0.1" }, "engines": { - "node": ">=8" + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strnum": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-2.1.2.tgz", + "integrity": "sha512-l63NF9y/cLROq/yqKXSLtcMeeyOfnSQlfMSlzFt/K73oIaD8DGaQWd7Z34X9GPiKqP5rbSh84Hl4bOlLcjiSrQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "license": "MIT" + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tagged-tag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/tagged-tag/-/tagged-tag-1.0.0.tgz", + "integrity": "sha512-yEFYrVhod+hdNyx7g5Bnkkb0G6si8HJurOoOEgC8B/O0uXLHlaey/65KRv6cuWBNhBgHKAROVpc7QyYqE5gFng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/tar": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "deprecated": "Old versions of tar are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exhorbitant rates) by contacting i@izs.me", + "license": "ISC", + "optional": true, + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tar-fs": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.4.tgz", + "integrity": "sha512-mDAjwmZdh7LTT6pNleZ05Yt65HC3E+NiQzl672vQG38jIrehtJk/J3mNwIg+vShQPcLF/LV7CMnDW6vjj6sfYQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "node_modules/tar-fs/node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "license": "ISC", + "optional": true + }, + "node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tar/node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "license": "ISC", + "optional": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/tar/node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "license": "ISC", + "optional": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "license": "ISC", + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/tar/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "license": "ISC", + "optional": true + }, + "node_modules/test-exclude": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-8.0.0.tgz", + "integrity": "sha512-ZOffsNrXYggvU1mDGHk54I96r26P8SyMjO5slMKSc7+IWmtB/MQKnEC2fP51imB3/pT6YK5cT5E8f+Dd9KdyOQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^13.0.6", + "minimatch": "^10.2.2" + }, + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/test-exclude/node_modules/balanced-match": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/test-exclude/node_modules/brace-expansion": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.3.tgz", + "integrity": "sha512-fy6KJm2RawA5RcHkLa1z/ScpBeA762UF9KmZQxwIbDtRJrgLzM10depAiEQ+CXYcoiqW1/m96OAAoke2nE9EeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/test-exclude/node_modules/glob": { + "version": "13.0.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz", + "integrity": "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "minimatch": "^10.2.2", + "minipass": "^7.1.3", + "path-scurry": "^2.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/test-exclude/node_modules/lru-cache": { + "version": "11.2.6", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.6.tgz", + "integrity": "sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/test-exclude/node_modules/minimatch": { + "version": "10.2.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz", + "integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "brace-expansion": "^5.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/test-exclude/node_modules/path-scurry": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz", + "integrity": "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true, + "license": "MIT" + }, + "node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinyglobby/node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/tldts": { + "version": "7.0.21", + "resolved": "https://registry.npmjs.org/tldts/-/tldts-7.0.21.tgz", + "integrity": "sha512-Plu6V8fF/XU6d2k8jPtlQf5F4Xx2hAin4r2C2ca7wR8NK5MbRTo9huLUWRe28f3Uk8bYZfg74tit/dSjc18xnw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tldts-core": "^7.0.21" + }, + "bin": { + "tldts": "bin/cli.js" + } + }, + "node_modules/tldts-core": { + "version": "7.0.21", + "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-7.0.21.tgz", + "integrity": "sha512-oVOMdHvgjqyzUZH1rOESgJP1uNe2bVrfK0jUHHmiM2rpEiRbf3j4BrsIc6JigJRbHGanQwuZv/R+LTcHsw+bLA==", + "dev": true, + "license": "MIT" + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tough-cookie": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-6.0.0.tgz", + "integrity": "sha512-kXuRi1mtaKMrsLUxz3sQYvVl37B0Ns6MzfrtV5DvJceE9bPyspOqk9xxv7XbZWcfLWbFmm997vl83qUWVJA64w==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "tldts": "^7.0.5" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/tree-sitter": { + "version": "0.22.4", + "resolved": "https://registry.npmjs.org/tree-sitter/-/tree-sitter-0.22.4.tgz", + "integrity": "sha512-usbHZP9/oxNsUY65MQUsduGRqDHQOou1cagUSwjhoSYAmSahjQDAVsh9s+SlZkn8X8+O1FULRGwHu7AFP3kjzg==", + "hasInstallScript": true, + "license": "MIT", + "peer": true, + "dependencies": { + "node-addon-api": "^8.3.0", + "node-gyp-build": "^4.8.4" + } + }, + "node_modules/tree-sitter-gomod": { + "version": "1.1.1", + "resolved": "git+ssh://git@github.com/strum355/tree-sitter-go-mod.git#56326f2ad478892ace58ff247a97d492a3cbcdda", + "integrity": "sha512-NQ/6pAjcjy7cmhQGOMFMXO3mf0PEwwKHXir0yz3h82NX/04Z6Q0FtAq2bAFNZz6bQ+kzX1snJAMRVy+NT9+w5A==", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "node-addon-api": "^8.0.0", + "node-gyp": "^12.2.0", + "node-gyp-build": "^4.8.1" + }, + "peerDependencies": { + "tree-sitter": "^0.22.4" + }, + "peerDependenciesMeta": { + "tree_sitter": { + "optional": true + } + } + }, + "node_modules/tree-sitter-gomod/node_modules/@npmcli/agent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-4.0.0.tgz", + "integrity": "sha512-kAQTcEN9E8ERLVg5AsGwLNoFb+oEG6engbqAU2P43gD4JEIkNGMHdVQ096FsOAAYpZPB0RSt0zgInKIAS1l5QA==", + "license": "ISC", + "dependencies": { + "agent-base": "^7.1.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.1", + "lru-cache": "^11.2.1", + "socks-proxy-agent": "^8.0.3" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/tree-sitter-gomod/node_modules/@npmcli/fs": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-5.0.0.tgz", + "integrity": "sha512-7OsC1gNORBEawOa5+j2pXN9vsicaIOH5cPXxoR6fJOmH6/EXpJB2CajXOu1fPRFun2m1lktEFX11+P89hqO/og==", + "license": "ISC", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/tree-sitter-gomod/node_modules/abbrev": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-4.0.0.tgz", + "integrity": "sha512-a1wflyaL0tHtJSmLSOVybYhy22vRih4eduhhrkcjgrWGnRfrZtovJ2FRjxuTtkkj47O/baf0R86QU5OuYpz8fA==", + "license": "ISC", + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/tree-sitter-gomod/node_modules/balanced-match": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", + "license": "MIT", + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/tree-sitter-gomod/node_modules/brace-expansion": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", + "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/tree-sitter-gomod/node_modules/cacache": { + "version": "20.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-20.0.4.tgz", + "integrity": "sha512-M3Lab8NPYlZU2exsL3bMVvMrMqgwCnMWfdZbK28bn3pK6APT/Te/I8hjRPNu1uwORY9a1eEQoifXbKPQMfMTOA==", + "license": "ISC", + "dependencies": { + "@npmcli/fs": "^5.0.0", + "fs-minipass": "^3.0.0", + "glob": "^13.0.0", + "lru-cache": "^11.1.0", + "minipass": "^7.0.3", + "minipass-collect": "^2.0.1", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "p-map": "^7.0.2", + "ssri": "^13.0.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/tree-sitter-gomod/node_modules/chownr": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", + "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/tree-sitter-gomod/node_modules/glob": { + "version": "13.0.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz", + "integrity": "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==", + "license": "BlueOak-1.0.0", + "dependencies": { + "minimatch": "^10.2.2", + "minipass": "^7.1.3", + "path-scurry": "^2.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/tree-sitter-gomod/node_modules/iconv-lite": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.2.tgz", + "integrity": "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==", + "license": "MIT", + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/tree-sitter-gomod/node_modules/isexe": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-4.0.0.tgz", + "integrity": "sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw==", + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=20" + } + }, + "node_modules/tree-sitter-gomod/node_modules/lru-cache": { + "version": "11.2.7", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.7.tgz", + "integrity": "sha512-aY/R+aEsRelme17KGQa/1ZSIpLpNYYrhcrepKTZgE+W3WM16YMCaPwOHLHsmopZHELU0Ojin1lPVxKR0MihncA==", + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/tree-sitter-gomod/node_modules/make-fetch-happen": { + "version": "15.0.5", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-15.0.5.tgz", + "integrity": "sha512-uCbIa8jWWmQZt4dSnEStkVC6gdakiinAm4PiGsywIkguF0eWMdcjDz0ECYhUolFU3pFLOev9VNPCEygydXnddg==", + "license": "ISC", + "dependencies": { + "@gar/promise-retry": "^1.0.0", + "@npmcli/agent": "^4.0.0", + "@npmcli/redact": "^4.0.0", + "cacache": "^20.0.1", + "http-cache-semantics": "^4.1.1", + "minipass": "^7.0.2", + "minipass-fetch": "^5.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^1.0.0", + "proc-log": "^6.0.0", + "ssri": "^13.0.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/tree-sitter-gomod/node_modules/minimatch": { + "version": "10.2.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", + "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", + "license": "BlueOak-1.0.0", + "dependencies": { + "brace-expansion": "^5.0.5" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/tree-sitter-gomod/node_modules/minipass-fetch": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-5.0.2.tgz", + "integrity": "sha512-2d0q2a8eCi2IRg/IGubCNRJoYbA1+YPXAzQVRFmB45gdGZafyivnZ5YSEfo3JikbjGxOdntGFvBQGqaSMXlAFQ==", + "license": "MIT", + "dependencies": { + "minipass": "^7.0.3", + "minipass-sized": "^2.0.0", + "minizlib": "^3.0.1" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + }, + "optionalDependencies": { + "iconv-lite": "^0.7.2" + } + }, + "node_modules/tree-sitter-gomod/node_modules/minipass-sized": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-2.0.0.tgz", + "integrity": "sha512-zSsHhto5BcUVM2m1LurnXY6M//cGhVaegT71OfOXoprxT6o780GZd792ea6FfrQkuU4usHZIUczAQMRUE2plzA==", + "license": "ISC", + "dependencies": { + "minipass": "^7.1.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tree-sitter-gomod/node_modules/minizlib": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.1.0.tgz", + "integrity": "sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==", + "license": "MIT", + "dependencies": { + "minipass": "^7.1.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/tree-sitter-gomod/node_modules/negotiator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", + "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/tree-sitter-gomod/node_modules/node-gyp": { + "version": "12.2.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-12.2.0.tgz", + "integrity": "sha512-q23WdzrQv48KozXlr0U1v9dwO/k59NHeSzn6loGcasyf0UnSrtzs8kRxM+mfwJSf0DkX0s43hcqgnSO4/VNthQ==", + "license": "MIT", + "dependencies": { + "env-paths": "^2.2.0", + "exponential-backoff": "^3.1.1", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^15.0.0", + "nopt": "^9.0.0", + "proc-log": "^6.0.0", + "semver": "^7.3.5", + "tar": "^7.5.4", + "tinyglobby": "^0.2.12", + "which": "^6.0.0" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "dev": true, - "license": "MIT", + "node_modules/tree-sitter-gomod/node_modules/nopt": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-9.0.0.tgz", + "integrity": "sha512-Zhq3a+yFKrYwSBluL4H9XP3m3y5uvQkB/09CwDruCiRmR/UJYnn9W4R48ry0uGC70aeTPKLynBtscP9efFFcPw==", + "license": "ISC", + "dependencies": { + "abbrev": "^4.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" + }, "engines": { - "node": ">=4" + "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "dev": true, + "node_modules/tree-sitter-gomod/node_modules/p-map": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.4.tgz", + "integrity": "sha512-tkAQEw8ysMzmkhgw8k+1U/iPhWNhykKnSk4Rd5zLoPJCuJaGRPo6YposrZgaxHKzDHdDWWZvE/Sk7hsL2X/CpQ==", "license": "MIT", "engines": { - "node": ">=8" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/strnum": { - "version": "1.0.5", - "license": "MIT" - }, - "node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", + "node_modules/tree-sitter-gomod/node_modules/path-scurry": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz", + "integrity": "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==", + "license": "BlueOak-1.0.0", "dependencies": { - "has-flag": "^4.0.0" + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" }, "engines": { - "node": ">=8" + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "license": "MIT", + "node_modules/tree-sitter-gomod/node_modules/proc-log": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-6.1.0.tgz", + "integrity": "sha512-iG+GYldRf2BQ0UDUAd6JQ/RwzaQy6mXmsk/IzlYyal4A4SNFw54MeH4/tLkF4I5WoWG9SQwuqWzS99jaFQHBuQ==", + "license": "ISC", "engines": { - "node": ">= 0.4" + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/tree-sitter-gomod/node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=10" } }, - "node_modules/test-exclude": { - "version": "6.0.0", - "dev": true, + "node_modules/tree-sitter-gomod/node_modules/ssri": { + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-13.0.1.tgz", + "integrity": "sha512-QUiRf1+u9wPTL/76GTYlKttDEBWV1ga9ZXW8BG6kfdeyyM8LGPix9gROyg9V2+P0xNyF3X2Go526xKFdMZrHSQ==", "license": "ISC", "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" + "minipass": "^7.0.3" }, "engines": { - "node": ">=8" + "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/text-table": { - "version": "0.2.0", - "dev": true, - "license": "MIT" - }, - "node_modules/through": { - "version": "2.3.8", - "dev": true, - "license": "MIT" - }, - "node_modules/tmp": { - "version": "0.0.33", - "dev": true, - "license": "MIT", + "node_modules/tree-sitter-gomod/node_modules/tar": { + "version": "7.5.13", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.13.tgz", + "integrity": "sha512-tOG/7GyXpFevhXVh8jOPJrmtRpOTsYqUIkVdVooZYJS/z8WhfQUX8RJILmeuJNinGAMSu1veBr4asSHFt5/hng==", + "license": "BlueOak-1.0.0", "dependencies": { - "os-tmpdir": "~1.0.2" + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.1.0", + "yallist": "^5.0.0" }, "engines": { - "node": ">=0.6.0" + "node": ">=18" } }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "license": "MIT", + "node_modules/tree-sitter-gomod/node_modules/which": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/which/-/which-6.0.1.tgz", + "integrity": "sha512-oGLe46MIrCRqX7ytPUf66EAYvdeMIZYn3WaocqqKZAxrBpkqHfL/qvTyJ/bTk5+AqHCjXmrv3CEWgy368zhRUg==", + "license": "ISC", "dependencies": { - "is-number": "^7.0.0" + "isexe": "^4.0.0" + }, + "bin": { + "node-which": "bin/which.js" }, "engines": { - "node": ">=8.0" + "node": "^20.17.0 || >=22.9.0" } }, - "node_modules/tr46": { - "version": "0.0.3", - "license": "MIT" + "node_modules/tree-sitter-gomod/node_modules/yallist": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", + "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/tree-sitter-requirements": { + "version": "0.5.0", + "resolved": "git+ssh://git@github.com/Strum355/tree-sitter-requirements.git#d0261ee76b84253997fe70d7d397e78c006c3801", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "node-addon-api": "^8.3.1", + "node-gyp-build": "^4.8.4" + }, + "funding": { + "url": "https://github.com/sponsors/ObserverOfTime" + }, + "peerDependencies": { + "tree-sitter": "^0.22.4" + }, + "peerDependenciesMeta": { + "tree-sitter": { + "optional": true + } + } }, "node_modules/tsconfig-paths": { "version": "3.15.0", @@ -5021,15 +8027,44 @@ "strip-bom": "^3.0.0" } }, + "node_modules/tsconfig-paths/node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, "node_modules/tslib": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true, - "license": "0BSD" + "license": "0BSD", + "optional": true + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } }, "node_modules/type-check": { "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, "license": "MIT", "dependencies": { @@ -5040,7 +8075,9 @@ } }, "node_modules/type-detect": { - "version": "4.0.8", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.1.0.tgz", + "integrity": "sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==", "dev": true, "license": "MIT", "engines": { @@ -5049,6 +8086,8 @@ }, "node_modules/type-fest": { "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true, "license": "(MIT OR CC0-1.0)", "engines": { @@ -5137,7 +8176,9 @@ } }, "node_modules/typescript": { - "version": "5.1.3", + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "dev": true, "license": "Apache-2.0", "bin": { @@ -5168,14 +8209,87 @@ } }, "node_modules/undici-types": { - "version": "6.19.8", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", - "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", "dev": true, "license": "MIT" }, + "node_modules/unique-filename": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", + "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", + "license": "ISC", + "optional": true, + "dependencies": { + "unique-slug": "^4.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/unique-slug": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz", + "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==", + "license": "ISC", + "optional": true, + "dependencies": { + "imurmurhash": "^0.1.4" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/unrs-resolver": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.11.1.tgz", + "integrity": "sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "napi-postinstall": "^0.3.0" + }, + "funding": { + "url": "https://opencollective.com/unrs-resolver" + }, + "optionalDependencies": { + "@unrs/resolver-binding-android-arm-eabi": "1.11.1", + "@unrs/resolver-binding-android-arm64": "1.11.1", + "@unrs/resolver-binding-darwin-arm64": "1.11.1", + "@unrs/resolver-binding-darwin-x64": "1.11.1", + "@unrs/resolver-binding-freebsd-x64": "1.11.1", + "@unrs/resolver-binding-linux-arm-gnueabihf": "1.11.1", + "@unrs/resolver-binding-linux-arm-musleabihf": "1.11.1", + "@unrs/resolver-binding-linux-arm64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-arm64-musl": "1.11.1", + "@unrs/resolver-binding-linux-ppc64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-riscv64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-riscv64-musl": "1.11.1", + "@unrs/resolver-binding-linux-s390x-gnu": "1.11.1", + "@unrs/resolver-binding-linux-x64-gnu": "1.11.1", + "@unrs/resolver-binding-linux-x64-musl": "1.11.1", + "@unrs/resolver-binding-wasm32-wasi": "1.11.1", + "@unrs/resolver-binding-win32-arm64-msvc": "1.11.1", + "@unrs/resolver-binding-win32-ia32-msvc": "1.11.1", + "@unrs/resolver-binding-win32-x64-msvc": "1.11.1" + } + }, + "node_modules/until-async": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/until-async/-/until-async-3.0.2.tgz", + "integrity": "sha512-IiSk4HlzAMqTUseHHe3VhIGyuFmN90zMTpD3Z3y8jeQbzLIq500MVM7Jq2vUAnTKAFPJrqwkzr6PoTcPhGcOiw==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/kettanaito" + } + }, "node_modules/update-browserslist-db": { - "version": "1.0.13", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", "dev": true, "funding": [ { @@ -5193,8 +8307,8 @@ ], "license": "MIT", "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" + "escalade": "^3.2.0", + "picocolors": "^1.1.1" }, "bin": { "update-browserslist-db": "cli.js" @@ -5205,72 +8319,50 @@ }, "node_modules/uri-js": { "version": "4.4.1", - "dev": true, + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "devOptional": true, "license": "BSD-2-Clause", "dependencies": { "punycode": "^2.1.0" } }, - "node_modules/util": { - "version": "0.12.5", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "which-typed-array": "^1.1.2" - } - }, "node_modules/util-deprecate": { "version": "1.0.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT", + "optional": true }, "node_modules/v8-to-istanbul": { - "version": "9.1.0", + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz", + "integrity": "sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==", "dev": true, "license": "ISC", "dependencies": { "@jridgewell/trace-mapping": "^0.3.12", "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0" + "convert-source-map": "^2.0.0" }, "engines": { "node": ">=10.12.0" } }, - "node_modules/wcwidth": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "defaults": "^1.0.3" - } - }, - "node_modules/web-encoding": { - "version": "1.1.5", - "dev": true, + "node_modules/web-streams-polyfill": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz", + "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==", "license": "MIT", - "dependencies": { - "util": "^0.12.3" - }, - "optionalDependencies": { - "@zxing/text-encoding": "0.9.0" + "engines": { + "node": ">= 8" } }, - "node_modules/webidl-conversions": { - "version": "3.0.1", - "license": "BSD-2-Clause" - }, - "node_modules/whatwg-url": { - "version": "5.0.0", - "license": "MIT", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } + "node_modules/web-tree-sitter": { + "version": "0.26.8", + "resolved": "https://registry.npmjs.org/web-tree-sitter/-/web-tree-sitter-0.26.8.tgz", + "integrity": "sha512-4sUwi7ZyOrIk5KLgYLkc2A/F0LFMQnBhfb+2Cdl7ik4ePJ6JD+fk4ofI2sA5eGawBKBaK4Vntt7Ww5KcEsay4A==", + "license": "MIT" }, "node_modules/which": { "version": "5.0.0", @@ -5336,13 +8428,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/which-builtin-type/node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true, - "license": "MIT" - }, "node_modules/which-collection": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", @@ -5363,9 +8448,9 @@ } }, "node_modules/which-typed-array": { - "version": "1.1.19", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", - "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", + "version": "1.1.20", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.20.tgz", + "integrity": "sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==", "dev": true, "license": "MIT", "dependencies": { @@ -5384,6 +8469,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/workerpool": { "version": "6.5.1", "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.5.1.tgz", @@ -5392,8 +8487,27 @@ "license": "Apache-2.0" }, "node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "license": "MIT", + "optional": true, "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -5408,11 +8522,15 @@ }, "node_modules/wrappy": { "version": "1.0.2", - "dev": true, + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "devOptional": true, "license": "ISC" }, "node_modules/xmlbuilder2": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/xmlbuilder2/-/xmlbuilder2-3.1.1.tgz", + "integrity": "sha512-WCSfbfZnQDdLQLiMdGUQpMxxckeQ4oZNMNhLVkcekTu7xhD4tuUDyAPoY8CwXvBYE6LwBHd6QW2WZXlOWr1vCw==", "license": "MIT", "optional": true, "dependencies": { @@ -5427,6 +8545,8 @@ }, "node_modules/xmlbuilder2/node_modules/argparse": { "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "license": "MIT", "optional": true, "dependencies": { @@ -5435,6 +8555,8 @@ }, "node_modules/xmlbuilder2/node_modules/js-yaml": { "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "license": "MIT", "optional": true, "dependencies": { @@ -5447,34 +8569,42 @@ }, "node_modules/y18n": { "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "license": "ISC", "engines": { "node": ">=10" } }, "node_modules/yallist": { - "version": "4.0.0", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true, "license": "ISC" }, "node_modules/yargs": { - "version": "17.7.2", + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-18.0.0.tgz", + "integrity": "sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==", "license": "MIT", "dependencies": { - "cliui": "^8.0.1", + "cliui": "^9.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", + "string-width": "^7.2.0", "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" + "yargs-parser": "^22.0.0" }, "engines": { - "node": ">=12" + "node": "^20.19.0 || ^22.12.0 || >=23" } }, "node_modules/yargs-parser": { "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, "license": "ISC", "engines": { "node": ">=12" @@ -5482,6 +8612,8 @@ }, "node_modules/yargs-unparser": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", "dev": true, "license": "MIT", "dependencies": { @@ -5494,34 +8626,85 @@ "node": ">=10" } }, - "node_modules/yargs-unparser/node_modules/camelcase": { - "version": "6.3.0", - "dev": true, + "node_modules/yargs/node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", "license": "MIT", "engines": { - "node": ">=10" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/yargs-unparser/node_modules/decamelize": { - "version": "4.0.0", - "dev": true, + "node_modules/yargs/node_modules/emoji-regex": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz", + "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==", + "license": "MIT" + }, + "node_modules/yargs/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, "engines": { - "node": ">=10" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/yargs/node_modules/strip-ansi": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.2.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/yargs/node_modules/yargs-parser": { + "version": "22.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-22.0.0.tgz", + "integrity": "sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==", + "license": "ISC", + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=23" + } + }, "node_modules/yocto-queue": { - "version": "0.1.0", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.2.tgz", + "integrity": "sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==", + "license": "MIT", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yoctocolors-cjs": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/yoctocolors-cjs/-/yoctocolors-cjs-2.1.3.tgz", + "integrity": "sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==", "dev": true, "license": "MIT", "engines": { - "node": ">=10" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" diff --git a/package.json b/package.json index f607630f..80c7493a 100644 --- a/package.json +++ b/package.json @@ -1,25 +1,28 @@ { - "name": "@trustification/exhort-javascript-api", - "version": "0.2.4-ea.1", + "name": "@trustify-da/trustify-da-javascript-client", + "version": "0.3.0", "description": "Code-Ready Dependency Analytics JavaScript API.", "license": "Apache-2.0", - "homepage": "https://github.com/trustification/exhort-javascript-api#README.md", - "bugs": "https://github.com/trustification/exhort-javascript-api/issues", - "repository": "github:trustification/exhort-javascript-api", - "publishConfig": { - "registry": "https://npm.pkg.github.com" - }, + "homepage": "https://github.com/guacsec/trustify-da-javascript-client#README.md", + "bugs": "https://github.com/guacsec/trustify-da-javascript-client/issues", + "repository": "github:guacsec/trustify-da-javascript-client", "keywords": [ "analysis", "codeready", "exhort", "secure", "supply-chain", - "vulnerability" + "vulnerability", + "trustify", + "dependency analytics" ], "engines": { - "node": ">= 18.0.0", - "npm": ">= 9.0.0" + "node": ">= 20.0.0", + "npm": ">= 11.5.1" + }, + "publishConfig": { + "access": "public", + "provenance": true }, "type": "module", "bin": "dist/src/cli.js", @@ -35,39 +38,49 @@ "lint": "eslint src test --ext js", "lint:fix": "eslint src test --ext js --fix", "test": "c8 npm run tests", - "localtest": "EXHORT_PIP3_PATH=/home/zgrinber/python3.9/bin/pip3 EXHORT_PYTHON3_PATH=/home/zgrinber/python3.9/bin/python3 c8 npm run tests", - "postlocaltest": " git status | grep src/providers/ | grep rewire | xargs -i git clean -f {}", - "tests": "mocha --config .mocharc.json --grep \"Integration Tests|.*analysis module.*\" --invert", + "tests": "mocha --config .mocharc.json --grep \".*analysis module.*\" --invert", "tests:rep": "mocha --reporter-option maxDiffSize=0 --reporter json > unit-tests-result.json", - "integration-tests": "mocha --grep \"Integration Tests\"", + "pretest": "cp node_modules/tree-sitter-requirements/tree-sitter-requirements.wasm src/providers/tree-sitter-requirements.wasm && cp node_modules/tree-sitter-gomod/tree-sitter-gomod.wasm src/providers/tree-sitter-gomod.wasm", "precompile": "rm -rf dist", - "compile": "tsc -p tsconfig.json" + "compile": "tsc -p tsconfig.json", + "compile:dev": "tsc -p tsconfig.dev.json", + "postcompile": "cp node_modules/tree-sitter-requirements/tree-sitter-requirements.wasm dist/src/providers/tree-sitter-requirements.wasm && cp node_modules/tree-sitter-gomod/tree-sitter-gomod.wasm dist/src/providers/tree-sitter-gomod.wasm" }, "dependencies": { "@babel/core": "^7.23.2", - "@cyclonedx/cyclonedx-library": "~1.13.3", + "@cyclonedx/cyclonedx-library": "^6.13.0", + "eslint-import-resolver-typescript": "^4.4.4", + "fast-glob": "^3.3.3", "fast-toml": "^0.5.4", - "fast-xml-parser": "^4.2.4", + "fast-xml-parser": "^5.3.4", "help": "^3.0.2", "https-proxy-agent": "^7.0.6", - "node-fetch": "^2.6.7", - "packageurl-js": "^1.0.2", - "yargs": "^17.7.2" + "js-yaml": "^4.1.1", + "micromatch": "^4.0.8", + "node-fetch": "^3.3.2", + "p-limit": "^4.0.0", + "packageurl-js": "~1.0.2", + "smol-toml": "^1.6.0", + "tree-sitter-gomod": "github:strum355/tree-sitter-go-mod#56326f2ad478892ace58ff247a97d492a3cbcdda", + "tree-sitter-requirements": "github:Strum355/tree-sitter-requirements#d0261ee76b84253997fe70d7d397e78c006c3801", + "web-tree-sitter": "^0.26.7", + "yargs": "^18.0.0" }, "devDependencies": { "@babel/core": "^7.23.2", - "@trustification/exhort-api-spec": "^1.0.13", + "@trustify-da/trustify-da-api-model": "^2.0.7", "@types/node": "^20.17.30", "@types/which": "^3.0.4", "babel-plugin-rewire": "^1.2.0", - "c8": "^8.0.0", + "c8": "^11.0.0", "chai": "^4.3.7", "eslint": "^8.42.0", + "eslint-import-resolver-typescript": "^4.4.4", "eslint-plugin-editorconfig": "^4.0.3", "eslint-plugin-import": "^2.29.1", "esmock": "^2.6.2", "mocha": "^10.2.0", - "msw": "^1.3.2", + "msw": "^2.12.7", "sinon": "^15.1.2", "sinon-chai": "^3.7.0", "typescript": "^5.1.3", diff --git a/src/analysis.js b/src/analysis.js index 3a1a5c14..8675ac34 100644 --- a/src/analysis.js +++ b/src/analysis.js @@ -2,64 +2,49 @@ import fs from "node:fs"; import path from "node:path"; import { EOL } from "os"; -import { HttpsProxyAgent } from "https-proxy-agent"; - +import { runLicenseCheck } from "./license/index.js"; import { generateImageSBOM, parseImageRef } from "./oci_image/utils.js"; -import { RegexNotToBeLogged, getCustom } from "./tools.js"; - -export default { requestComponent, requestStack, requestImages, validateToken } +import { addProxyAgent, getCustom, getTokenHeaders , TRUSTIFY_DA_OPERATION_TYPE_HEADER, TRUSTIFY_DA_PACKAGE_MANAGER_HEADER } from "./tools.js"; -const rhdaTokenHeader = "rhda-token"; -const rhdaSourceHeader = "rhda-source" -const rhdaOperationTypeHeader = "rhda-operation-type" +/** Media type for CycloneDX JSON batch payloads (batch-analysis API). */ +export const CYCLONEDX_JSON_MEDIA_TYPE = 'application/vnd.cyclonedx+json' -/** - * Adds proxy agent configuration to fetch options if a proxy URL is specified - * @param {RequestInit} options - The base fetch options - * @param {import("index.js").Options} opts - The exhort options that may contain proxy configuration - * @returns {RequestInit} The fetch options with proxy agent if applicable - */ -function addProxyAgent(options, opts) { - const proxyUrl = getCustom('EXHORT_PROXY_URL', null, opts); - if (proxyUrl) { - options.agent = new HttpsProxyAgent(proxyUrl); - } - return options; -} +export default { requestComponent, requestStack, requestStackBatch, requestImages, validateToken } /** * Send a stack analysis request and get the report as 'text/html' or 'application/json'. - * @param {import('./provider').Provider | import('./providers/base_java.js').default } provider - the provided data for constructing the request + * @param {import('./provider').Provider} provider - the provided data for constructing the request * @param {string} manifest - path for the manifest * @param {string} url - the backend url to send the request to * @param {boolean} [html=false] - true will return 'text/html', false will return 'application/json' * @param {import("index.js").Options} [opts={}] - optional various options to pass along the application - * @returns {Promise} + * @returns {Promise} */ async function requestStack(provider, manifest, url, html = false, opts = {}) { opts["source-manifest"] = Buffer.from(fs.readFileSync(manifest).toString()).toString('base64') opts["manifest-type"] = path.parse(manifest).base - let provided = provider.provideStack(manifest, opts) // throws error if content providing failed + let provided = await provider.provideStack(manifest, opts) // throws error if content providing failed opts["source-manifest"] = "" - opts[rhdaOperationTypeHeader.toUpperCase().replaceAll("-", "_")] = "stack-analysis" + opts[TRUSTIFY_DA_OPERATION_TYPE_HEADER.toUpperCase().replaceAll("-", "_")] = "stack-analysis" let startTime = new Date() - let EndTime - if (process.env["EXHORT_DEBUG"] === "true") { - console.log("Starting time of sending stack analysis request to exhort server= " + startTime) + let endTime + if (process.env["TRUSTIFY_DA_DEBUG"] === "true") { + console.log("Starting time of sending stack analysis request to the dependency analytics server= " + startTime) } + opts[TRUSTIFY_DA_PACKAGE_MANAGER_HEADER.toUpperCase().replaceAll("-", "_")] = provided.ecosystem const fetchOptions = addProxyAgent({ method: 'POST', headers: { 'Accept': html ? 'text/html' : 'application/json', 'Content-Type': provided.contentType, - ...getTokenHeaders(opts) + ...getTokenHeaders(opts), }, body: provided.content }, opts); - const finalUrl = new URL(`${url}/api/v4/analysis`); - if (opts['EXHORT_RECOMMENDATIONS_ENABLED'] === 'false') { + const finalUrl = new URL(`${url}/api/v5/analysis`); + if (opts['TRUSTIFY_DA_RECOMMENDATIONS_ENABLED'] === 'false') { finalUrl.searchParams.append('recommend', 'false'); } @@ -71,21 +56,21 @@ async function requestStack(provider, manifest, url, html = false, opts = {}) { } else { result = await resp.text() } - if (process.env["EXHORT_DEBUG"] === "true") { + if (process.env["TRUSTIFY_DA_DEBUG"] === "true") { let exRequestId = resp.headers.get("ex-request-id"); if (exRequestId) { console.log("Unique Identifier associated with this request - ex-request-id=" + exRequestId) } - EndTime = new Date() - console.log("Response body received from exhort server : " + EOL + EOL) + endTime = new Date() + console.log("Response body received from Trustify DA backend server : " + EOL + EOL) console.log(console.log(JSON.stringify(result, null, 4))) - console.log("Ending time of sending stack analysis request to exhort server= " + EndTime) - let time = (EndTime - startTime) / 1000 + console.log("Ending time of sending stack analysis request to Trustify DA backend server= " + endTime) + let time = (endTime - startTime) / 1000 console.log("Total Time in seconds: " + time) } } else { - throw new Error(`Got error response from exhort backend - http return code : ${resp.status}, error message => ${await resp.text()}`) + throw new Error(`Got error response from Trustify DA backend - http return code : ${resp.status}, error message => ${await resp.text()}`) } return Promise.resolve(result) @@ -97,17 +82,18 @@ async function requestStack(provider, manifest, url, html = false, opts = {}) { * @param {string} manifest - path for the manifest * @param {string} url - the backend url to send the request to * @param {import("index.js").Options} [opts={}] - optional various options to pass along the application - * @returns {Promise} + * @returns {Promise} */ async function requestComponent(provider, manifest, url, opts = {}) { opts["source-manifest"] = Buffer.from(fs.readFileSync(manifest).toString()).toString('base64') - let provided = provider.provideComponent(manifest, opts) // throws error if content providing failed + let provided = await provider.provideComponent(manifest, opts) // throws error if content providing failed opts["source-manifest"] = "" - opts[rhdaOperationTypeHeader.toUpperCase().replaceAll("-", "_")] = "component-analysis" - if (process.env["EXHORT_DEBUG"] === "true") { - console.log("Starting time of sending component analysis request to exhort server= " + new Date()) + opts[TRUSTIFY_DA_OPERATION_TYPE_HEADER.toUpperCase().replaceAll("-", "_")] = "component-analysis" + if (process.env["TRUSTIFY_DA_DEBUG"] === "true") { + console.log("Starting time of sending component analysis request to Trustify DA backend server= " + new Date()) } + opts[TRUSTIFY_DA_PACKAGE_MANAGER_HEADER.toUpperCase().replaceAll("-", "_")] = provided.ecosystem const fetchOptions = addProxyAgent({ method: 'POST', @@ -119,8 +105,8 @@ async function requestComponent(provider, manifest, url, opts = {}) { body: provided.content }, opts); - const finalUrl = new URL(`${url}/api/v4/analysis`); - if (opts['EXHORT_RECOMMENDATIONS_ENABLED'] === 'false') { + const finalUrl = new URL(`${url}/api/v5/analysis`); + if (opts['TRUSTIFY_DA_RECOMMENDATIONS_ENABLED'] === 'false') { finalUrl.searchParams.append('recommend', 'false'); } @@ -128,40 +114,96 @@ async function requestComponent(provider, manifest, url, opts = {}) { let result if (resp.status === 200) { result = await resp.json() - if (process.env["EXHORT_DEBUG"] === "true") { + if (process.env["TRUSTIFY_DA_DEBUG"] === "true") { let exRequestId = resp.headers.get("ex-request-id"); if (exRequestId) { console.log("Unique Identifier associated with this request - ex-request-id=" + exRequestId) } - console.log("Response body received from exhort server : " + EOL + EOL) + console.log("Response body received from Trustify DA backend server : " + EOL + EOL) console.log(JSON.stringify(result, null, 4)) - console.log("Ending time of sending component analysis request to exhort server= " + new Date()) + console.log("Ending time of sending component analysis request to Trustify DA backend server= " + new Date()) } + const licenseCheckEnabled = getCustom('TRUSTIFY_DA_LICENSE_CHECK', 'true', opts) !== 'false' && opts.licenseCheck !== false + if (licenseCheckEnabled) { + try { + result.licenseSummary = await runLicenseCheck(provided.content, manifest, url, opts, result) + } catch (licenseErr) { + result.licenseSummary = { error: licenseErr.message } + } + } } else { - throw new Error(`Got error response from exhort backend - http return code : ${resp.status}, ex-request-id: ${resp.headers.get("ex-request-id")} error message => ${await resp.text()}`) + throw new Error(`Got error response from Trustify DA backend - http return code : ${resp.status}, ex-request-id: ${resp.headers.get("ex-request-id")} error message => ${await resp.text()}`) } return Promise.resolve(result) } +/** + * Send a batch stack analysis request for multiple manifests (SBOMs keyed by purl). + * @param {Object.} sbomByPurl - Map of root purl to CycloneDX SBOM object + * @param {string} url - the backend url + * @param {boolean} [html=false] - true returns HTML, false returns JSON + * @param {import("index.js").Options} [opts={}] + * @returns {Promise>} + */ +async function requestStackBatch(sbomByPurl, url, html = false, opts = {}) { + const finalUrl = new URL(`${url}/api/v5/batch-analysis`) + if (opts['TRUSTIFY_DA_RECOMMENDATIONS_ENABLED'] === 'false') { + finalUrl.searchParams.append('recommend', 'false') + } + + const fetchOptions = addProxyAgent({ + method: 'POST', + headers: { + 'Accept': html ? 'text/html' : 'application/json', + 'Content-Type': CYCLONEDX_JSON_MEDIA_TYPE, + ...getTokenHeaders(opts) + }, + body: JSON.stringify(sbomByPurl) + }, opts) + + const resp = await fetch(finalUrl, fetchOptions) + + if (resp.status === 200) { + let result + if (!html) { + result = await resp.json() + } else { + result = await resp.text() + } + if (process.env["TRUSTIFY_DA_DEBUG"] === "true") { + const exRequestId = resp.headers.get("ex-request-id") + if (exRequestId) { + console.log("Unique Identifier associated with this request - ex-request-id=" + exRequestId) + } + console.log("Response body received from Trustify DA backend server : " + EOL + EOL) + console.log(JSON.stringify(result, null, 4)) + console.log("Ending time of sending batch stack analysis request to Trustify DA backend server= " + new Date()) + } + return result + } else { + throw new Error(`Got error response from Trustify DA backend - http return code : ${resp.status}, ex-request-id: ${resp.headers.get("ex-request-id")} error message => ${await resp.text()}`) + } +} + /** * * @param {Array} imageRefs * @param {string} url * @param {import("index.js").Options} [opts={}] - optional various options to pass along the application - * @returns {Promise>} + * @returns {Promise>} */ async function requestImages(imageRefs, url, html = false, opts = {}) { const imageSboms = {} for (const image of imageRefs) { - const parsedImageRef = parseImageRef(image) - imageSboms[parsedImageRef.getPackageURL().toString()] = generateImageSBOM(parsedImageRef) + const parsedImageRef = parseImageRef(image, opts) + imageSboms[parsedImageRef.getPackageURL().toString()] = generateImageSBOM(parsedImageRef, opts) } - const finalUrl = new URL(`${url}/api/v4/batch-analysis`); - if (opts['EXHORT_RECOMMENDATIONS_ENABLED'] === 'false') { + const finalUrl = new URL(`${url}/api/v5/batch-analysis`); + if (opts['TRUSTIFY_DA_RECOMMENDATIONS_ENABLED'] === 'false') { finalUrl.searchParams.append('recommend', 'false'); } @@ -169,7 +211,7 @@ async function requestImages(imageRefs, url, html = false, opts = {}) { method: 'POST', headers: { 'Accept': html ? 'text/html' : 'application/json', - 'Content-Type': 'application/vnd.cyclonedx+json', + 'Content-Type': CYCLONEDX_JSON_MEDIA_TYPE, ...getTokenHeaders(opts) }, body: JSON.stringify(imageSboms), @@ -182,18 +224,18 @@ async function requestImages(imageRefs, url, html = false, opts = {}) { } else { result = await resp.text() } - if (process.env["EXHORT_DEBUG"] === "true") { + if (process.env["TRUSTIFY_DA_DEBUG"] === "true") { let exRequestId = resp.headers.get("ex-request-id"); if (exRequestId) { console.log("Unique Identifier associated with this request - ex-request-id=" + exRequestId) } - console.log("Response body received from exhort server : " + EOL + EOL) + console.log("Response body received from Trustify DA backend server : " + EOL + EOL) console.log(JSON.stringify(result, null, 4)) - console.log("Ending time of sending component analysis request to exhort server= " + new Date()) + console.log("Ending time of sending component analysis request to Trustify DA backend server= " + new Date()) } return result } else { - throw new Error(`Got error response from exhort backend - http return code : ${resp.status}, ex-request-id: ${resp.headers.get("ex-request-id")} error message => ${await resp.text()}`) + throw new Error(`Got error response from Trustify DA backend - http return code : ${resp.status}, ex-request-id: ${resp.headers.get("ex-request-id")} error message => ${await resp.text()}`) } } @@ -211,8 +253,8 @@ async function validateToken(url, opts = {}) { } }, opts); - let resp = await fetch(`${url}/api/v4/token`, fetchOptions) - if (process.env["EXHORT_DEBUG"] === "true") { + let resp = await fetch(`${url}/api/v5/token`, fetchOptions) + if (process.env["TRUSTIFY_DA_DEBUG"] === "true") { let exRequestId = resp.headers.get("ex-request-id"); if (exRequestId) { console.log("Unique Identifier associated with this request - ex-request-id=" + exRequestId) @@ -220,49 +262,3 @@ async function validateToken(url, opts = {}) { } return resp.status } - -/** - * - * @param {string} headerName - the header name to populate in request - * @param headers - * @param {import("index.js").Options} [opts={}] - optional various options to pass along the application - * @private - */ -function setRhdaHeader(headerName, headers, opts) { - let rhdaHeaderValue = getCustom(headerName.toUpperCase().replaceAll("-", "_"), null, opts); - if (rhdaHeaderValue) { - headers[headerName] = rhdaHeaderValue - } -} - -/** - * Utility function for fetching vendor tokens - * @param {import("index.js").Options} [opts={}] - optional various options to pass along the application - * @returns {{}} - */ -function getTokenHeaders(opts = {}) { - let supportedTokens = ['snyk', 'oss-index'] - let headers = {} - supportedTokens.forEach(vendor => { - let token = getCustom(`EXHORT_${vendor.replace("-", "_").toUpperCase()}_TOKEN`, null, opts); - if (token) { - headers[`ex-${vendor}-token`] = token - } - let user = getCustom(`EXHORT_${vendor.replace("-", "_").toUpperCase()}_USER`, null, opts); - if (user) { - headers[`ex-${vendor}-user`] = user - } - }) - setRhdaHeader(rhdaTokenHeader, headers, opts); - setRhdaHeader(rhdaSourceHeader, headers, opts); - setRhdaHeader(rhdaOperationTypeHeader, headers, opts); - if (process.env["EXHORT_DEBUG"] === "true") { - console.log("Headers Values to be sent to exhort:" + EOL) - for (const headerKey in headers) { - if (!headerKey.match(RegexNotToBeLogged)) { - console.log(`${headerKey}: ${headers[headerKey]}`) - } - } - } - return headers -} diff --git a/src/batch_opts.js b/src/batch_opts.js new file mode 100644 index 00000000..9c18d841 --- /dev/null +++ b/src/batch_opts.js @@ -0,0 +1,37 @@ +import { getCustom } from './tools.js' + +/** + * Whether to skip failed manifests and continue (default), or fail on first SBOM/validation error. + * `opts.continueOnError` overrides; env `TRUSTIFY_DA_CONTINUE_ON_ERROR=false` disables continuation. + * + * @param {{ continueOnError?: boolean, TRUSTIFY_DA_CONTINUE_ON_ERROR?: string, [key: string]: unknown }} [opts={}] + * @returns {boolean} true = collect errors (default), false = fail-fast + */ +export function resolveContinueOnError(opts = {}) { + if (typeof opts.continueOnError === 'boolean') { + return opts.continueOnError + } + const v = getCustom('TRUSTIFY_DA_CONTINUE_ON_ERROR', null, opts) + if (v != null && String(v).trim() !== '') { + return String(v).toLowerCase() !== 'false' + } + return true +} + +/** + * When true, `stackAnalysisBatch` returns `{ analysis, metadata }` instead of the backend response only. + * `opts.batchMetadata` overrides; env `TRUSTIFY_DA_BATCH_METADATA=true` enables. + * + * @param {{ batchMetadata?: boolean, TRUSTIFY_DA_BATCH_METADATA?: string, [key: string]: unknown }} [opts={}] + * @returns {boolean} + */ +export function resolveBatchMetadata(opts = {}) { + if (typeof opts.batchMetadata === 'boolean') { + return opts.batchMetadata + } + const v = getCustom('TRUSTIFY_DA_BATCH_METADATA', null, opts) + if (v != null && String(v).trim() !== '') { + return String(v).toLowerCase() === 'true' + } + return false +} diff --git a/src/cli.js b/src/cli.js index 956d76a2..1550c4aa 100644 --- a/src/cli.js +++ b/src/cli.js @@ -5,7 +5,9 @@ import * as path from "path"; import yargs from 'yargs' import { hideBin } from 'yargs/helpers' -import exhort from './index.js' +import { getProjectLicense, getLicenseDetails } from './license/index.js' + +import client, { selectTrustifyDABackend } from './index.js' // command for component analysis take manifest type and content @@ -19,10 +21,18 @@ const component = { type: 'string', normalize: true, } - ), + ).options({ + workspaceDir: { + alias: 'w', + desc: 'Workspace root directory (for monorepos; lock file is expected here)', + type: 'string', + normalize: true, + } + }), handler: async args => { let manifestName = args['/path/to/manifest'] - let res = await exhort.componentAnalysis(manifestName) + const opts = args.workspaceDir ? { TRUSTIFY_DA_WORKSPACE_DIR: args.workspaceDir } : {} + let res = await client.componentAnalysis(manifestName, opts) console.log(JSON.stringify(res, null, 2)) } } @@ -32,9 +42,8 @@ const validateToken = { builder: yargs => yargs.positional( 'token-provider', { - desc: 'the token provider', - type: 'string', - choices: ['snyk','oss-index'], + desc: 'the token provider name', + type: 'string' } ).options({ tokenValue: { @@ -48,13 +57,71 @@ const validateToken = { let opts={} if(args['tokenValue'] !== undefined && args['tokenValue'].trim() !=="" ) { let tokenValue = args['tokenValue'].trim() - opts[`EXHORT_${tokenProvider}_TOKEN`] = tokenValue + opts[`TRUSTIFY_DA_PROVIDER_${tokenProvider}_TOKEN`] = tokenValue } - let res = await exhort.validateToken(opts) + let res = await client.validateToken(opts) console.log(res) } } +// command for image analysis takes OCI image references +const image = { + command: 'image ', + desc: 'produce image analysis report for OCI image references', + builder: yargs => yargs.positional( + 'image-refs', + { + desc: 'OCI image references to analyze (one or more)', + type: 'string', + array: true, + } + ).options({ + html: { + alias: 'r', + desc: 'Get the report as HTML instead of JSON', + type: 'boolean', + conflicts: 'summary' + }, + summary: { + alias: 's', + desc: 'For JSON report, get only the \'summary\'', + type: 'boolean', + conflicts: 'html' + } + }), + handler: async args => { + let imageRefs = args['image-refs'] + if (!Array.isArray(imageRefs)) { + imageRefs = [imageRefs] + } + let html = args['html'] + let summary = args['summary'] + let res = await client.imageAnalysis(imageRefs, html) + if(summary && !html) { + let summaries = {} + for (let [imageRef, report] of Object.entries(res)) { + for (let provider in report.providers) { + if (report.providers[provider].sources !== undefined) { + for (let source in report.providers[provider].sources) { + if (report.providers[provider].sources[source].summary) { + if (!summaries[imageRef]) { + summaries[imageRef] = {}; + } + if (!summaries[imageRef][provider]) { + summaries[imageRef][provider] = {}; + } + summaries[imageRef][provider][source] = report.providers[provider].sources[source].summary + } + } + } + } + } + res = summaries + } + console.log(html ? res : JSON.stringify(res, null, 2)) + } +} + // command for stack analysis takes a manifest path const stack = { command: 'stack [--html|--summary]', @@ -78,15 +145,22 @@ const stack = { desc: 'For JSON report, get only the \'summary\'', type: 'boolean', conflicts: 'html' + }, + workspaceDir: { + alias: 'w', + desc: 'Workspace root directory (for monorepos; lock file is expected here)', + type: 'string', + normalize: true, } }), handler: async args => { let manifest = args['/path/to/manifest'] let html = args['html'] let summary = args['summary'] + const opts = args.workspaceDir ? { TRUSTIFY_DA_WORKSPACE_DIR: args.workspaceDir } : {} let theProvidersSummary = new Map(); let theProvidersObject ={} - let res = await exhort.stackAnalysis(manifest, html) + let res = await client.stackAnalysis(manifest, html, opts) if(summary) { for (let provider in res.providers ) { @@ -110,12 +184,192 @@ const stack = { } } +// command for batch stack analysis (workspace) +const stackBatch = { + command: 'stack-batch [--html|--summary] [--concurrency ] [--ignore ...] [--metadata] [--fail-fast]', + desc: 'produce stack report for all packages/crates in a workspace (Cargo or JS/TS)', + builder: yargs => yargs.positional( + '/path/to/workspace-root', + { + desc: 'workspace root directory (containing Cargo.toml+Cargo.lock or package.json+lock file)', + type: 'string', + normalize: true, + } + ).options({ + html: { + alias: 'r', + desc: 'Get the report as HTML instead of JSON', + type: 'boolean', + conflicts: 'summary' + }, + summary: { + alias: 's', + desc: 'For JSON report, get only the \'summary\' per package', + type: 'boolean', + conflicts: 'html' + }, + concurrency: { + alias: 'c', + desc: 'Max parallel SBOM generations (default: 10, env: TRUSTIFY_DA_BATCH_CONCURRENCY)', + type: 'number', + }, + ignore: { + alias: 'i', + desc: 'Extra glob patterns excluded from workspace discovery (merged with defaults). Repeat flag per pattern. Env: TRUSTIFY_DA_WORKSPACE_DISCOVERY_IGNORE (comma-separated)', + type: 'string', + array: true, + }, + metadata: { + alias: 'm', + desc: 'Return { analysis, metadata } with per-manifest errors (env: TRUSTIFY_DA_BATCH_METADATA=true)', + type: 'boolean', + default: false, + }, + failFast: { + desc: 'Stop on first invalid package.json or SBOM error (env: TRUSTIFY_DA_CONTINUE_ON_ERROR=false)', + type: 'boolean', + default: false, + } + }), + handler: async args => { + const workspaceRoot = args['/path/to/workspace-root'] + const html = args['html'] + const summary = args['summary'] + const opts = {} + if (args.concurrency != null) { + opts.batchConcurrency = args.concurrency + } + const extraIgnores = Array.isArray(args.ignore) ? args.ignore.filter(p => p != null && String(p).trim()) : [] + if (extraIgnores.length > 0) { + opts.workspaceDiscoveryIgnore = extraIgnores + } + if (args.metadata) { + opts.batchMetadata = true + } + if (args.failFast) { + opts.continueOnError = false + } + let res = await client.stackAnalysisBatch(workspaceRoot, html, opts) + const batchAnalysis = + res && typeof res === 'object' && res != null && 'analysis' in res ? res.analysis : res + if (summary && !html && typeof batchAnalysis === 'object') { + const summaries = {} + for (const [purl, report] of Object.entries(batchAnalysis)) { + if (report?.providers) { + for (const provider of Object.keys(report.providers)) { + const sources = report.providers[provider]?.sources + if (sources) { + for (const [source, data] of Object.entries(sources)) { + if (data?.summary) { + if (!summaries[purl]) { + summaries[purl] = {} + } + if (!summaries[purl][provider]) { + summaries[purl][provider] = {} + } + summaries[purl][provider][source] = data.summary + } + } + } + } + } + } + if (res && typeof res === 'object' && res != null && 'metadata' in res) { + res = { analysis: summaries, metadata: res.metadata } + } else { + res = summaries + } + } + if (html) { + const htmlContent = res && typeof res === 'object' && 'analysis' in res ? res.analysis : res + console.log(htmlContent) + } else { + console.log(JSON.stringify(res, null, 2)) + } + } +} + +// command for license checking +const license = { + command: 'license ', + desc: 'Display project license information from manifest and LICENSE file in JSON format', + builder: yargs => yargs.positional( + '/path/to/manifest', + { + desc: 'manifest path for license analysis', + type: 'string', + normalize: true, + } + ), + handler: async args => { + let manifestPath = args['/path/to/manifest'] + + const opts = {} // CLI options can be extended in the future + try { + selectTrustifyDABackend(opts) + } catch (err) { + console.error(JSON.stringify({ error: err.message }, null, 2)) + process.exit(1) + } + + let localResult + try { + localResult = getProjectLicense(manifestPath) + } catch (err) { + console.error(JSON.stringify({ error: `Failed to read manifest: ${err.message}` }, null, 2)) + process.exit(1) + } + + const errors = [] + + // Build LicenseInfo objects + const buildLicenseInfo = async (spdxId) => { + if (!spdxId) {return null} + + const licenseInfo = { spdxId } + + try { + const details = await getLicenseDetails(spdxId, opts) + if (details) { + // Check if backend recognized the license as valid + if (details.category === 'UNKNOWN') { + errors.push(`"${spdxId}" is not a valid SPDX license identifier. Please use a valid SPDX expression (e.g., "Apache-2.0", "MIT"). See https://spdx.org/licenses/`) + } else { + Object.assign(licenseInfo, details) + } + } else { + errors.push(`No license details found for ${spdxId}`) + } + } catch (err) { + errors.push(`Failed to fetch details for ${spdxId}: ${err.message}`) + } + + return licenseInfo + } + + const output = { + manifestLicense: await buildLicenseInfo(localResult.fromManifest), + fileLicense: await buildLicenseInfo(localResult.fromFile), + mismatch: localResult.mismatch + } + + if (errors.length > 0) { + output.errors = errors + } + + console.log(JSON.stringify(output, null, 2)) + } +} + // parse and invoke the command yargs(hideBin(process.argv)) - .usage(`Usage: ${process.argv[0].includes("node") ? path.parse(process.argv[1]).base : path.parse(process.argv[0]).base} {component|stack|validate-token}`) + .usage(`Usage: ${process.argv[0].includes("node") ? path.parse(process.argv[1]).base : path.parse(process.argv[0]).base} {component|stack|stack-batch|image|validate-token|license}`) .command(stack) + .command(stackBatch) .command(component) + .command(image) .command(validateToken) + .command(license) .scriptName('') .version(false) .demandCommand(1) diff --git a/src/cyclone_dx_sbom.js b/src/cyclone_dx_sbom.js index e699dccc..c56db0cd 100644 --- a/src/cyclone_dx_sbom.js +++ b/src/cyclone_dx_sbom.js @@ -7,10 +7,11 @@ import {PackageURL} from "packageurl-js"; * @param component {PackageURL} * @param type type of package - application or library * @param scope scope of the component - runtime or compile - * @return {{"bom-ref": string, name, purl: string, type, version, scope}} + * @param licenses optional license string or array of licenses for the component + * @return {{"bom-ref": string, name, purl: string, type, version, scope, licenses?}} * @private */ -function getComponent(component, type, scope) { +function getComponent(component, type, scope, licenses) { let componentObject; if(component instanceof PackageURL) { @@ -41,6 +42,18 @@ function getComponent(component, type, scope) { { componentObject = component } + + // Add licenses if provided (CycloneDX format). Callers must provide valid SPDX identifiers. + if (licenses) { + const licenseArray = Array.isArray(licenses) ? licenses : [licenses]; + componentObject.licenses = licenseArray.map(lic => { + if (typeof lic === 'string') { + return { license: { id: lic } }; + } + return lic; + }); + } + return componentObject } @@ -73,12 +86,13 @@ export default class CycloneDxSbom { /** * @param {PackageURL} root - add main/root component for sbom + * @param {string|Array} [licenses] - optional license(s) for the root component * @return {CycloneDxSbom} the CycloneDxSbom Sbom Object */ - addRoot(root) { + addRoot(root, licenses) { this.rootComponent = - getComponent(root, "application") + getComponent(root, "application", undefined, licenses) this.components.push(this.rootComponent) return this } @@ -135,6 +149,7 @@ export default class CycloneDxSbom { getAsJsonString(opts) { let manifestType = opts["manifest-type"] this.setSourceManifest(opts["source-manifest"]) + const rootPurl = this.rootComponent?.purl; this.sbomObject = { "bomFormat": "CycloneDX", "specVersion": "1.4", @@ -144,7 +159,7 @@ export default class CycloneDxSbom { "component": this.rootComponent, "properties": new Array() }, - "components": this.components, + "components": this.components.filter(c => c.purl !== rootPurl), "dependencies": this.dependencies } if (this.rootComponent === undefined) @@ -159,7 +174,7 @@ export default class CycloneDxSbom { delete this.sbomObject.metadata.properties } - if (process.env["EXHORT_DEBUG"] === "true") { + if (process.env["TRUSTIFY_DA_DEBUG"] === "true") { console.log("SBOM Generated for manifest, to be sent to exhort service:" + EOL + JSON.stringify(this.sbomObject, null, 4)) } return JSON.stringify(this.sbomObject) @@ -267,6 +282,21 @@ export default class CycloneDxSbom { } } + /** + * Checks if any entry in the dependsOn list of sourceRef starts with the given purl prefix. + * @param {PackageURL} sourceRef - The source component + * @param {string} purlPrefix - The purl prefix to match (e.g. "pkg:npm/minimist@") + * @return {boolean} + */ + checkDependsOnByPurlPrefix(sourceRef, purlPrefix) { + const sourcePurl = sourceRef.toString(); + const depIndex = this.getDependencyIndex(sourcePurl); + if (depIndex < 0) { + return false; + } + return this.dependencies[depIndex].dependsOn.some(dep => dep.startsWith(purlPrefix)); + } + /** Removes the root component from the sbom */ removeRootComponent() { diff --git a/src/index.js b/src/index.js index 1b376c1b..7b204f56 100644 --- a/src/index.js +++ b/src/index.js @@ -1,64 +1,105 @@ import path from "node:path"; import { EOL } from "os"; +import pLimit from 'p-limit' + import { availableProviders, match } from './provider.js' import analysis from './analysis.js' import fs from 'node:fs' import { getCustom } from "./tools.js"; +import { resolveBatchMetadata, resolveContinueOnError } from './batch_opts.js' +import { + discoverWorkspaceCrates, + discoverWorkspacePackages, + filterManifestPathsByDiscoveryIgnore, + resolveWorkspaceDiscoveryIgnore, + validatePackageJson, +} from './workspace.js' import.meta.dirname import * as url from 'url'; export { parseImageRef } from "./oci_image/utils.js"; export { ImageRef } from "./oci_image/images.js"; +export { getProjectLicense, findLicenseFilePath, identifyLicense, getLicenseDetails, licensesFromReport, normalizeLicensesResponse, runLicenseCheck, getCompatibility } from "./license/index.js"; -export default { componentAnalysis, stackAnalysis, imageAnalysis, validateToken } - -export const exhortDevDefaultUrl = 'https://exhort.stage.devshift.net'; - -/** @type {string} The default production URL for the Exhort backend. */ -export const exhortDefaultUrl = "https://rhda.rhcloud.com"; +export default { componentAnalysis, stackAnalysis, stackAnalysisBatch, imageAnalysis, validateToken } +export { + discoverWorkspacePackages, + discoverWorkspaceCrates, + validatePackageJson, + resolveWorkspaceDiscoveryIgnore, + filterManifestPathsByDiscoveryIgnore, + resolveContinueOnError, + resolveBatchMetadata, +} /** * @typedef {{ - * EXHORT_DOCKER_PATH?: string | undefined, - * EXHORT_GO_MVS_LOGIC_ENABLED?: string | undefined, - * EXHORT_GO_PATH?: string | undefined, - * EXHORT_GRADLE_PATH?: string | undefined, - * EXHORT_IMAGE_PLATFORM?: string | undefined, - * EXHORT_MVN_PATH?: string | undefined, - * EXHORT_PIP_PATH?: string | undefined, - * EXHORT_PIP_USE_DEP_TREE?: string | undefined, - * EXHORT_PIP3_PATH?: string | undefined, - * EXHORT_PNPM_PATH?: string | undefined, - * EXHORT_PODMAN_PATH?: string | undefined, - * EXHORT_PREFER_GRADLEW?: string | undefined, - * EXHORT_PREFER_MVNW?: string | undefined, - * EXHORT_PROXY_URL?: string | undefined, - * EXHORT_PYTHON_INSTALL_BEST_EFFORTS?: string | undefined, - * EXHORT_PYTHON_PATH?: string | undefined, - * EXHORT_PYTHON_VIRTUAL_ENV?: string | undefined, - * EXHORT_PYTHON3_PATH?: string | undefined, - * EXHORT_RECOMMENDATIONS_ENABLED?: string | undefined, - * EXHORT_SKOPEO_CONFIG_PATH?: string | undefined, - * EXHORT_SKOPEO_PATH?: string | undefined, - * EXHORT_SYFT_CONFIG_PATH?: string | undefined, - * EXHORT_SYFT_PATH?: string | undefined, - * EXHORT_YARN_PATH?: string | undefined, + * TRUSTIFY_DA_CARGO_PATH?: string | undefined, + * TRUSTIFY_DA_DOCKER_PATH?: string | undefined, + * TRUSTIFY_DA_GO_MVS_LOGIC_ENABLED?: string | undefined, + * TRUSTIFY_DA_GO_PATH?: string | undefined, + * TRUSTIFY_DA_GRADLE_PATH?: string | undefined, + * TRUSTIFY_DA_IMAGE_PLATFORM?: string | undefined, + * TRUSTIFY_DA_MVN_PATH?: string | undefined, + * TRUSTIFY_DA_PIP_PATH?: string | undefined, + * TRUSTIFY_DA_PIP_USE_DEP_TREE?: string | undefined, + * TRUSTIFY_DA_PIP3_PATH?: string | undefined, + * TRUSTIFY_DA_PNPM_PATH?: string | undefined, + * TRUSTIFY_DA_PODMAN_PATH?: string | undefined, + * TRUSTIFY_DA_PREFER_GRADLEW?: string | undefined, + * TRUSTIFY_DA_PREFER_MVNW?: string | undefined, + * TRUSTIFY_DA_PROXY_URL?: string | undefined, + * TRUSTIFY_DA_PYTHON_INSTALL_BEST_EFFORTS?: string | undefined, + * TRUSTIFY_DA_PYTHON_PATH?: string | undefined, + * TRUSTIFY_DA_PYTHON_VIRTUAL_ENV?: string | undefined, + * TRUSTIFY_DA_PYTHON3_PATH?: string | undefined, + * TRUSTIFY_DA_RECOMMENDATIONS_ENABLED?: string | undefined, + * TRUSTIFY_DA_SKOPEO_CONFIG_PATH?: string | undefined, + * TRUSTIFY_DA_SKOPEO_PATH?: string | undefined, + * TRUSTIFY_DA_SYFT_CONFIG_PATH?: string | undefined, + * TRUSTIFY_DA_SYFT_PATH?: string | undefined, + * TRUSTIFY_DA_YARN_PATH?: string | undefined, + * TRUSTIFY_DA_WORKSPACE_DIR?: string | undefined, + * TRUSTIFY_DA_LICENSE_CHECK?: string | undefined, * MATCH_MANIFEST_VERSIONS?: string | undefined, - * RHDA_SOURCE?: string | undefined, - * RHDA_TOKEN?: string | undefined, - * [key: string]: string | undefined, + * TRUSTIFY_DA_SOURCE?: string | undefined, + * TRUSTIFY_DA_TOKEN?: string | undefined, + * TRUSTIFY_DA_TELEMETRY_ID?: string | undefined, + * TRUSTIFY_DA_WORKSPACE_DIR?: string | undefined, + * batchConcurrency?: number | undefined, + * TRUSTIFY_DA_BATCH_CONCURRENCY?: string | undefined, + * workspaceDiscoveryIgnore?: string[] | undefined, + * TRUSTIFY_DA_WORKSPACE_DISCOVERY_IGNORE?: string | undefined, + * continueOnError?: boolean | undefined, + * TRUSTIFY_DA_CONTINUE_ON_ERROR?: string | undefined, + * batchMetadata?: boolean | undefined, + * TRUSTIFY_DA_BATCH_METADATA?: string | undefined, + * TRUSTIFY_DA_UV_PATH?: string | undefined, + * TRUSTIFY_DA_POETRY_PATH?: string | undefined, + * [key: string]: string | number | boolean | string[] | undefined, * }} Options */ +/** + * @typedef {{ + * workspaceRoot: string, + * ecosystem: 'javascript' | 'cargo' | 'unknown', + * total: number, + * successful: number, + * failed: number, + * errors: Array<{ manifestPath: string, phase: 'validation' | 'sbom', reason: string }> + * }} BatchAnalysisMetadata + */ + /** - * Logs messages to the console if the EXHORT_DEBUG environment variable is set to "true". + * Logs messages to the console if the TRUSTIFY_DA_DEBUG environment variable is set to "true". * @param {string} alongsideText - The text to prepend to the log message. * @param {any} valueToBePrinted - The value to log. * @private */ function logOptionsAndEnvironmentsVariables(alongsideText,valueToBePrinted) { - if (process.env["EXHORT_DEBUG"] === "true") { + if (process.env["TRUSTIFY_DA_DEBUG"] === "true") { console.log(`${alongsideText}: ${valueToBePrinted} ${EOL}`) } } @@ -85,56 +126,35 @@ function readAndPrintVersionFromPackageJson() { } let packageJson = JSON.parse(fs.readFileSync(path.join(dirName, "..", "package.json")).toString()) - logOptionsAndEnvironmentsVariables("exhort-javascript-api analysis started, version: ", packageJson.version) + logOptionsAndEnvironmentsVariables("trustify-da-javascript-client analysis started, version: ", packageJson.version) } /** - * This function is used to determine exhort theUrl backend according to the following logic: - * If EXHORT_DEV_MODE = true, then take the value of the EXHORT BACKEND URL of dev/staging environment in such a way: - * take it as environment variable if exists, otherwise, take it from opts object if exists, otherwise, use the hardcoded default of DEV environment. - * If EXHORT_DEV_MODE = false , then select the production theUrl of EXHORT Backend, which is hardcoded. - * EXHORT_DEV_MODE evaluated in the following order and selected when it finds it first: + * This function is used to determine the Trustify DA backend URL. + * The TRUSTIFY_DA_BACKEND_URL is evaluated in the following order and selected when it finds it first: * 1. Environment Variable * 2. (key,value) from opts object - * 3. Default False ( points to production URL ) - * @param {{}} [opts={}] - optional various options to override default EXHORT_DEV_MODE and DEV_EXHORT_BACKEND_URL. - * @return {string} - The selected exhort backend + * If TRUSTIFY_DA_BACKEND_URL is not set, the function will throw an error. + * @param {{TRUSTIFY_DA_DEBUG?: string | undefined; TRUSTIFY_DA_BACKEND_URL?: string | undefined}} [opts={}] + * @return {string} - The selected Trustify DA backend URL + * @throws {Error} if TRUSTIFY_DA_BACKEND_URL is unset * @private */ -function selectExhortBackend(opts = {}) { - let result - if (process.env["EXHORT_DEBUG"] === "true") { - let packageJson = readAndPrintVersionFromPackageJson(); +export function selectTrustifyDABackend(opts = {}) { + if (getCustom("TRUSTIFY_DA_DEBUG", "false", opts) === "true") { + readAndPrintVersionFromPackageJson(); } - let exhortDevModeBundled = "false" - let exhortDevMode = getCustom("EXHORT_DEV_MODE", exhortDevModeBundled, opts) - if(exhortDevMode !== null && exhortDevMode.toString() === "true") { - result = getCustom('DEV_EXHORT_BACKEND_URL', exhortDevDefaultUrl, opts); - } else { - result = exhortDefaultUrl + + let url = getCustom('TRUSTIFY_DA_BACKEND_URL', null, opts); + if (!url) { + throw new Error(`TRUSTIFY_DA_BACKEND_URL is unset`) } - logOptionsAndEnvironmentsVariables("Chosen exhort backend URL:", result) + logOptionsAndEnvironmentsVariables("Chosen Trustify DA backend URL:", url) - return result; + return url; } -/** - * Test function for selecting the Exhort backend URL. - * Primarily used for testing the backend selection logic. - * @param {object} [opts={}] - Optional configuration, similar to `selectExhortBackend`. - * @return {string} The selected exhort backend URL. - */ -export function testSelectExhortBackend(opts) { - return selectExhortBackend(opts) -} - -/** - * @type {string} The URL of the Exhort backend to send requests to. - * @private - */ -let theUrl - /** * @overload * @param {string} manifest @@ -149,7 +169,7 @@ let theUrl * @param {string} manifest * @param {false} html * @param {Options} [opts={}] - * @returns {Promise} + * @returns {Promise} * @throws {Error} */ @@ -159,14 +179,14 @@ let theUrl * @param {string} manifest - path for the manifest * @param {boolean} [html=false] - true will return a html string, false will return AnalysisReport object. * @param {Options} [opts={}] - optional various options to pass along the application - * @returns {Promise} + * @returns {Promise} * @throws {Error} if manifest inaccessible, no matching provider, failed to get create content, * or backend request failed */ async function stackAnalysis(manifest, html = false, opts = {}) { - theUrl = selectExhortBackend(opts) + const theUrl = selectTrustifyDABackend(opts) fs.accessSync(manifest, fs.constants.R_OK) // throws error if file unreadable - let provider = match(manifest, availableProviders) // throws error if no matching provider + let provider = match(manifest, availableProviders, opts) // throws error if no matching provider return await analysis.requestStack(provider, manifest, theUrl, html, opts) // throws error request sending failed } @@ -174,14 +194,14 @@ async function stackAnalysis(manifest, html = false, opts = {}) { * Get component analysis report for a manifest content. * @param {string} manifest - path to the manifest * @param {Options} [opts={}] - optional various options to pass along the application - * @returns {Promise} + * @returns {Promise} * @throws {Error} if no matching provider, failed to get create content, or backend request failed */ async function componentAnalysis(manifest, opts = {}) { - theUrl = selectExhortBackend(opts) + const theUrl = selectTrustifyDABackend(opts) fs.accessSync(manifest, fs.constants.R_OK) opts["manifest-type"] = path.basename(manifest) - let provider = match(manifest, availableProviders) // throws error if no matching provider + let provider = match(manifest, availableProviders, opts) // throws error if no matching provider return await analysis.requestComponent(provider, manifest, theUrl, opts) // throws error request sending failed } @@ -199,7 +219,7 @@ async function componentAnalysis(manifest, opts = {}) { * @param {Array} imageRefs * @param {false} html * @param {Options} [opts={}] - * @returns {Promise>} + * @returns {Promise>} * @throws {Error} */ @@ -209,15 +229,282 @@ async function componentAnalysis(manifest, opts = {}) { * @param {Array} imageRefs - OCI image references * @param {boolean} [html=false] - true will return a html string, false will return AnalysisReport * @param {Options} [opts={}] - optional various options to pass along the application - * @returns {Promise>} + * @returns {Promise>} * @throws {Error} if manifest inaccessible, no matching provider, failed to get create content, * or backend request failed */ async function imageAnalysis(imageRefs, html = false, opts = {}) { - theUrl = selectExhortBackend(opts) + const theUrl = selectTrustifyDABackend(opts) return await analysis.requestImages(imageRefs, theUrl, html, opts) } +/** + * Max concurrent SBOM generations for batch workspace analysis. Env/opts override default 10. + * @param {Options} opts + * @returns {number} + * @private + */ +function resolveBatchConcurrency(opts) { + const fromEnv = getCustom('TRUSTIFY_DA_BATCH_CONCURRENCY', null, opts) + const raw = opts.batchConcurrency ?? fromEnv ?? '10' + const n = typeof raw === 'number' ? raw : parseInt(String(raw), 10) + if (!Number.isFinite(n) || n < 1) { + return 10 + } + return Math.min(256, n) +} + +/** + * @param {string} root + * @param {'javascript' | 'cargo' | 'unknown'} ecosystem + * @param {number} totalSbomAttempts + * @param {number} successfulSbomCount + * @param {Array<{ manifestPath: string, phase: 'validation' | 'sbom', reason: string }>} errors + * @returns {BatchAnalysisMetadata} + * @private + */ +function buildBatchAnalysisMetadata(root, ecosystem, totalSbomAttempts, successfulSbomCount, errors) { + return { + workspaceRoot: root, + ecosystem, + total: totalSbomAttempts, + successful: successfulSbomCount, + failed: errors.length, + errors: [...errors], + } +} + +/** + * @typedef {{ ok: true, purl: string, sbom: object } | { ok: false, manifestPath: string, reason: string }} SbomResult + */ + +/** + * Generate an SBOM for a single manifest, returning a normalized result. + * + * @param {string} manifestPath + * @param {Options} workspaceOpts - opts with `TRUSTIFY_DA_WORKSPACE_DIR` set + * @returns {Promise} + * @private + */ +async function generateOneSbom(manifestPath, workspaceOpts) { + const provider = match(manifestPath, availableProviders, workspaceOpts) + const provided = await provider.provideStack(manifestPath, workspaceOpts) + const sbom = JSON.parse(provided.content) + const purl = sbom?.metadata?.component?.purl || sbom?.metadata?.component?.['bom-ref'] + if (!purl) { + return { ok: false, manifestPath, reason: 'missing purl in SBOM' } + } + return { ok: true, purl, sbom } +} + +/** + * Detect the workspace ecosystem and discover manifest paths. + * + * @param {string} root - Resolved workspace root + * @param {Options} opts + * @returns {Promise<{ ecosystem: 'javascript' | 'cargo' | 'unknown', manifestPaths: string[] }>} + * @private + */ +async function detectWorkspaceManifests(root, opts) { + const cargoToml = path.join(root, 'Cargo.toml') + const cargoLock = path.join(root, 'Cargo.lock') + const packageJson = path.join(root, 'package.json') + + if (fs.existsSync(cargoToml) && fs.existsSync(cargoLock)) { + return { ecosystem: 'cargo', manifestPaths: await discoverWorkspaceCrates(root, opts) } + } + + const hasJsLock = fs.existsSync(path.join(root, 'pnpm-lock.yaml')) + || fs.existsSync(path.join(root, 'yarn.lock')) + || fs.existsSync(path.join(root, 'package-lock.json')) + + if (fs.existsSync(packageJson) && hasJsLock) { + let manifestPaths = await discoverWorkspacePackages(root, opts) + if (manifestPaths.length === 0) { + manifestPaths = [packageJson] + } + return { ecosystem: 'javascript', manifestPaths } + } + + return { ecosystem: 'unknown', manifestPaths: [] } +} + +/** + * Validate discovered JS package.json manifests, collecting errors. + * + * @param {string[]} manifestPaths + * @param {boolean} continueOnError + * @param {Array<{ manifestPath: string, phase: 'validation' | 'sbom', reason: string }>} collectedErrors - mutated in place + * @returns {{ validPaths: string[] }} + * @throws {Error} on first invalid manifest when `continueOnError` is false + * @private + */ +function validateJsManifests(manifestPaths, continueOnError, collectedErrors) { + const validPaths = [] + for (const p of manifestPaths) { + const v = validatePackageJson(p) + if (v.valid) { + validPaths.push(p) + } else { + collectedErrors.push({ manifestPath: p, phase: 'validation', reason: v.error }) + console.warn(`Skipping invalid package.json (${v.error}): ${p}`) + if (!continueOnError) { + throw new Error(`Invalid package.json (${v.error}): ${p}`) + } + } + } + return { validPaths } +} + +/** + * Generate SBOMs for all manifests. In fail-fast mode, stops on first error. + * In continue-on-error mode, runs concurrently and collects failures. + * + * @param {string[]} manifestPaths + * @param {Options} workspaceOpts + * @param {boolean} continueOnError + * @param {number} concurrency + * @param {Array<{ manifestPath: string, phase: 'validation' | 'sbom', reason: string }>} collectedErrors - mutated in place + * @returns {Promise>} sbomByPurl map + * @throws {Error} on first SBOM failure when `continueOnError` is false + * @private + */ +async function generateSboms(manifestPaths, workspaceOpts, continueOnError, concurrency, collectedErrors) { + /** @type {SbomResult[]} */ + const results = [] + + if (!continueOnError) { + for (const manifestPath of manifestPaths) { + const result = await generateOneSbom(manifestPath, workspaceOpts) + if (!result.ok) { + collectedErrors.push({ manifestPath: result.manifestPath, phase: 'sbom', reason: result.reason }) + throw new Error(`${result.manifestPath}: ${result.reason}`) + } + results.push(result) + } + } else { + const limit = pLimit(concurrency) + const settled = await Promise.all( + manifestPaths.map(manifestPath => limit(async () => { + try { + return await generateOneSbom(manifestPath, workspaceOpts) + } catch (err) { + const msg = err instanceof Error ? err.message : String(err) + if (process.env["TRUSTIFY_DA_DEBUG"] === "true") { + console.log(`Skipping ${manifestPath}: ${msg}`) + } + return { ok: false, manifestPath, reason: msg } + } + })) + ) + for (const r of settled) { + results.push(r) + if (!r.ok) { + collectedErrors.push({ manifestPath: r.manifestPath, phase: 'sbom', reason: r.reason }) + } + } + } + + const sbomByPurl = {} + for (const r of results) { + if (r.ok) { + sbomByPurl[r.purl] = r.sbom + } + } + return sbomByPurl +} + +/** + * Create an Error with optional `batchMetadata` attached. + * @param {string} message + * @param {boolean} wantMetadata + * @param {BatchAnalysisMetadata} [metadata] + * @returns {Error} + * @private + */ +function batchError(message, wantMetadata, metadata) { + const err = new Error(message) + if (wantMetadata && metadata) { + err.batchMetadata = metadata + } + return err +} + +/** + * Get stack analysis for all workspace packages/crates (batch). + * Detects ecosystem from workspace root: Cargo (Cargo.toml + Cargo.lock) or JS/TS (package.json + lock file). + * SBOMs are generated in parallel (see `batchConcurrency`) unless `continueOnError: false` (fail-fast sequential). + * With `opts.batchMetadata` / `TRUSTIFY_DA_BATCH_METADATA`, returns `{ analysis, metadata }` including validation and SBOM errors. + * + * @param {string} workspaceRoot - Path to workspace root (containing lock file and workspace config) + * @param {boolean} [html=false] - true returns HTML, false returns JSON report + * @param {Options} [opts={}] - `batchConcurrency`, discovery ignores, `continueOnError` (default true), `batchMetadata` (default false) + * @returns {Promise|{ analysis: string|Object., metadata: BatchAnalysisMetadata }>} + * @throws {Error} if workspace root invalid, no manifests found, no packages pass validation, no SBOMs produced, or backend request failed. When `opts.batchMetadata` is set, `error.batchMetadata` may be set on thrown errors. + */ +async function stackAnalysisBatch(workspaceRoot, html = false, opts = {}) { + const theUrl = selectTrustifyDABackend(opts) + const root = path.resolve(workspaceRoot) + fs.accessSync(root, fs.constants.R_OK) + + const continueOnError = resolveContinueOnError(opts) + const wantMetadata = resolveBatchMetadata(opts) + + /** @type {Array<{ manifestPath: string, phase: 'validation' | 'sbom', reason: string }>} */ + const collectedErrors = [] + + const { ecosystem, manifestPaths: discovered } = await detectWorkspaceManifests(root, opts) + let manifestPaths = discovered + + if (ecosystem === 'javascript') { + try { + const { validPaths } = validateJsManifests(manifestPaths, continueOnError, collectedErrors) + manifestPaths = validPaths + } catch (err) { + throw batchError(err.message, wantMetadata, + buildBatchAnalysisMetadata(root, ecosystem, 0, 0, collectedErrors)) + } + if (manifestPaths.length === 0 && discovered.length > 0) { + const detail = collectedErrors.map(e => `${e.manifestPath}: ${e.reason}`).join('; ') + throw batchError(`No valid packages after validation at ${root}. ${detail}`, wantMetadata, + buildBatchAnalysisMetadata(root, ecosystem, 0, 0, collectedErrors)) + } + } + + if (manifestPaths.length === 0) { + throw new Error(`No workspace manifests found at ${root}. Ensure Cargo.toml+Cargo.lock or package.json+lock file exist.`) + } + + const workspaceOpts = { ...opts, TRUSTIFY_DA_WORKSPACE_DIR: root } + const concurrency = resolveBatchConcurrency(opts) + + let sbomByPurl + try { + sbomByPurl = await generateSboms(manifestPaths, workspaceOpts, continueOnError, concurrency, collectedErrors) + } catch (err) { + throw batchError(err.message, wantMetadata, + buildBatchAnalysisMetadata(root, ecosystem, manifestPaths.length, 0, collectedErrors)) + } + + if (Object.keys(sbomByPurl).length === 0) { + throw batchError( + `No valid SBOMs produced from ${manifestPaths.length} manifest(s) at ${root}`, + wantMetadata, + buildBatchAnalysisMetadata(root, ecosystem, manifestPaths.length, 0, collectedErrors) + ) + } + + const analysisResult = await analysis.requestStackBatch(sbomByPurl, theUrl, html, opts) + const meta = buildBatchAnalysisMetadata( + root, ecosystem, manifestPaths.length, Object.keys(sbomByPurl).length, collectedErrors + ) + + if (wantMetadata) { + return { analysis: analysisResult, metadata: meta } + } + return analysisResult +} + /** * Validates the Exhort token. * @param {Options} [opts={}] - Optional parameters, potentially including token override. @@ -225,6 +512,6 @@ async function imageAnalysis(imageRefs, html = false, opts = {}) { * @throws {Error} if the backend request failed. */ async function validateToken(opts = {}) { - theUrl = selectExhortBackend(opts) + const theUrl = selectTrustifyDABackend(opts) return await analysis.validateToken(theUrl, opts) // throws error request sending failed } diff --git a/src/license/index.js b/src/license/index.js new file mode 100644 index 00000000..112ae842 --- /dev/null +++ b/src/license/index.js @@ -0,0 +1,111 @@ +/** + * License resolution and dependency license compatibility for component analysis. + */ + +import { getProjectLicense, findLicenseFilePath, identifyLicense } from './project_license.js'; +import { licensesFromReport, getLicenseDetails } from './licenses_api.js'; +import { getCompatibility } from './license_utils.js'; + +export { getProjectLicense, findLicenseFilePath, identifyLicense } from './project_license.js'; +export { licensesFromReport, normalizeLicensesResponse, getLicenseDetails } from './licenses_api.js'; +export { getCompatibility } from './license_utils.js'; + +/** + * Run full license check: resolve project license (with backend identification and details), + * get dependency licenses from analysis report, and compute incompatibilities. + * + * @param {string} sbomContent - CycloneDX SBOM JSON string (the one sent for component analysis) + * @param {string} manifestPath - path to manifest + * @param {string} url - the backend url to send the request to + * @param {import('../index.js').Options} [opts={}] + * @param {import('@trustify-da/trustify-da-api-model/model/v5/AnalysisReport').AnalysisReport} [analysisResult] - analysis result that includes licenses array from backend + * @returns {Promise<{ projectLicense: { manifest: Object|null, file: Object|null, mismatch: boolean }, incompatibleDependencies: Array<{ purl: string, licenses: string[], category?: string, reason: string }>, error?: string }>} + */ +export async function runLicenseCheck(sbomContent, manifestPath, url, opts = {}, analysisResult = null) { + // Resolve project license from manifest and LICENSE file + const projectLicense = getProjectLicense(manifestPath); + + // Try backend identification for LICENSE file (more accurate than local pattern matching) + const licenseFilePath = findLicenseFilePath(manifestPath); + let backendFileId = null; + if (licenseFilePath) { + try { + backendFileId = await identifyLicense(licenseFilePath, { ...opts, TRUSTIFY_DA_BACKEND_URL: url }); + } catch { + // Fall back to local detection + } + } + + // Determine final license identifiers + const manifestSpdx = projectLicense.fromManifest; + const fileSpdx = backendFileId || projectLicense.fromFile; + const mismatch = Boolean(manifestSpdx && fileSpdx && manifestSpdx.toLowerCase() !== fileSpdx.toLowerCase()); + + // Fetch detailed license info from backend (avoid duplicate calls if same license) + const licenseDetailsCache = new Map(); + + async function getDetails(spdxId) { + if (!spdxId || !url) return null; + if (licenseDetailsCache.has(spdxId)) return licenseDetailsCache.get(spdxId); + + try { + const details = await getLicenseDetails(spdxId, { ...opts, TRUSTIFY_DA_BACKEND_URL: url }); + licenseDetailsCache.set(spdxId, details); + return details; + } catch { + return null; + } + } + + const manifestLicenseInfo = await getDetails(manifestSpdx); + const fileLicenseInfo = await getDetails(fileSpdx); + + // Extract dependency purls from SBOM (exclude root component) + const sbomObj = typeof sbomContent === 'string' ? JSON.parse(sbomContent) : sbomContent; + const rootRef = sbomObj?.metadata?.component?.["bom-ref"] || sbomObj?.metadata?.component?.purl; + const purls = (sbomObj?.components || []) + .map(c => c.purl || c["bom-ref"]) + .filter(Boolean) + .filter(purl => !rootRef || purl !== rootRef); + + if (purls.length === 0) { + return { + projectLicense: { manifest: manifestLicenseInfo, file: fileLicenseInfo, mismatch }, + incompatibleDependencies: [] + }; + } + + // Get dependency licenses from analysis report + const licenseByPurl = licensesFromReport(analysisResult, purls); + if (licenseByPurl.size === 0 && analysisResult) { + return { + projectLicense: { manifest: manifestLicenseInfo, file: fileLicenseInfo, mismatch }, + incompatibleDependencies: [], + error: 'No license data available in analysis report' + }; + } + + // Check compatibility for each dependency + const projectCategory = manifestLicenseInfo?.category || fileLicenseInfo?.category; + const incompatibleDependencies = []; + + for (const purl of purls) { + const entry = licenseByPurl.get(purl); + if (!entry) continue; + + const status = getCompatibility(projectCategory, entry.category); + if (status === 'incompatible') { + incompatibleDependencies.push({ + purl, + licenses: entry.licenses, + category: entry.category, + reason: 'Dependency license(s) are incompatible with the project license.' + }); + } + } + + return { + projectLicense: { manifest: manifestLicenseInfo, file: fileLicenseInfo, mismatch }, + incompatibleDependencies + }; +} diff --git a/src/license/license_utils.js b/src/license/license_utils.js new file mode 100644 index 00000000..4e845a00 --- /dev/null +++ b/src/license/license_utils.js @@ -0,0 +1,127 @@ +/** + * License utilities: file reading, SPDX detection, normalization, compatibility. + * This module has NO dependencies on providers or backend to avoid circular dependencies. + */ + +import fs from 'node:fs'; +import path from 'node:path'; + +const LICENSE_FILES = ['LICENSE', 'LICENSE.md', 'LICENSE.txt']; + +/** + * Find LICENSE file path in the same directory as the manifest. + * @param {string} manifestPath + * @returns {string|null} - path to LICENSE file or null if not found + */ +export function findLicenseFilePath(manifestPath) { + const manifestDir = path.dirname(path.resolve(manifestPath)); + + for (const name of LICENSE_FILES) { + const filePath = path.join(manifestDir, name); + try { + if (fs.statSync(filePath).isFile()) { + return filePath; + } + } catch { + // skip + } + } + return null; +} + +/** + * Very simple SPDX detection from common license text (first ~500 chars). + * @param {string} text + * @returns {string|null} + */ +export function detectSpdxFromText(text) { + const head = text.slice(0, 500); + if (/Apache License,?\s*Version 2\.0/i.test(head)) { return 'Apache-2.0'; } + if (/MIT License/i.test(head) && /Permission is hereby granted/i.test(head)) { return 'MIT'; } + if (/GNU AFFERO GENERAL PUBLIC LICENSE\s+Version 3/i.test(head)) { return 'AGPL-3.0-only'; } + if (/GNU LESSER GENERAL PUBLIC LICENSE\s+Version 3/i.test(head)) { return 'LGPL-3.0-only'; } + if (/GNU LESSER GENERAL PUBLIC LICENSE\s+Version 2\.1/i.test(head)) { return 'LGPL-2.1-only'; } + if (/GNU GENERAL PUBLIC LICENSE\s+Version 2/i.test(head)) { return 'GPL-2.0-only'; } + if (/GNU GENERAL PUBLIC LICENSE\s+Version 3/i.test(head)) { return 'GPL-3.0-only'; } + if (/BSD 2-Clause/i.test(head)) { return 'BSD-2-Clause'; } + if (/BSD 3-Clause/i.test(head)) { return 'BSD-3-Clause'; } + return null; +} + +/** + * Read LICENSE file and detect SPDX identifier. + * @param {string} manifestPath - path to manifest + * @returns {string|null} - SPDX identifier from LICENSE file or null + */ +export function readLicenseFile(manifestPath) { + const licenseFilePath = findLicenseFilePath(manifestPath); + if (!licenseFilePath) { return null; } + + try { + const content = fs.readFileSync(licenseFilePath, 'utf-8'); + return detectSpdxFromText(content) || content.split('\n')[0]?.trim() || null; + } catch { + return null; + } +} + +/** + * Get project license from manifest or LICENSE file. + * Returns manifestLicense if provided, otherwise tries LICENSE file. + * @param {string|null} manifestLicense - license from manifest (or null) + * @param {string} manifestPath - path to manifest + * @returns {string|null} - SPDX identifier or null + */ +export function getLicense(manifestLicense, manifestPath) { + return manifestLicense || readLicenseFile(manifestPath) || null; +} + +/** + * Normalize SPDX identifier for comparison (lowercase, strip common suffixes). + * @param {string} spdxOrName + * @returns {string} + */ +export function normalizeSpdx(spdxOrName) { + const s = String(spdxOrName).trim().toLowerCase(); + if (s.endsWith(' license')) { return s.slice(0, -8); } + return s; +} + +/** + * Check if a dependency's license is compatible with the project license based on backend categories. + * + * @param {string} [projectCategory] - backend category for project license: PERMISSIVE | WEAK_COPYLEFT | STRONG_COPYLEFT | UNKNOWN + * @param {string} [dependencyCategory] - backend category for dependency license: PERMISSIVE | WEAK_COPYLEFT | STRONG_COPYLEFT | UNKNOWN + * @returns {'compatible'|'incompatible'|'unknown'} + */ +export function getCompatibility(projectCategory, dependencyCategory) { + if (!projectCategory || !dependencyCategory) { + return 'unknown'; + } + + const proj = projectCategory.toUpperCase(); + const dep = dependencyCategory.toUpperCase(); + + if (proj === 'UNKNOWN' || dep === 'UNKNOWN') { + return 'unknown'; + } + + const restrictiveness = { + 'PERMISSIVE': 1, + 'WEAK_COPYLEFT': 2, + 'STRONG_COPYLEFT': 3 + }; + + const projLevel = restrictiveness[proj]; + const depLevel = restrictiveness[dep]; + + if (projLevel === undefined || depLevel === undefined) { + return 'unknown'; + } + + if (depLevel > projLevel) { + return 'incompatible'; + } + + return 'compatible'; +} diff --git a/src/license/licenses_api.js b/src/license/licenses_api.js new file mode 100644 index 00000000..de267ced --- /dev/null +++ b/src/license/licenses_api.js @@ -0,0 +1,97 @@ +/** + * Client for the Trustify DA backend License Analysis API (POST /api/v5/licenses). + * The same license data shape is returned in the dependency analysis JSON report (result.licenses). + * @see https://github.com/guacsec/trustify-dependency-analytics#license-analysis-apiv5licenses + * @see https://github.com/guacsec/trustify-da-api-spec/blob/main/api/v5/openapi.yaml + */ + +import { PackageURL } from 'packageurl-js'; +import { selectTrustifyDABackend } from '../index.js'; +import { addProxyAgent, getTokenHeaders } from '../tools.js'; + +/** + * Fetch license details by SPDX identifier from the backend GET /api/v5/licenses/{spdx}. + * Returns detailed information about a specific license including category, name, and text. + * + * @param {string} spdxId - SPDX identifier (e.g., "Apache-2.0", "MIT") + * @param {import('../index.js').Options} [opts={}] - options (proxy, token, TRUSTIFY_DA_BACKEND_URL, etc.) + * @returns {Promise} License details or null if not found + */ +export async function getLicenseDetails(spdxId, opts = {}) { + if (!spdxId) {return null;} + + const url = selectTrustifyDABackend(opts); + const finalUrl = new URL(`${url}/api/v5/licenses/${encodeURIComponent(spdxId)}`); + + const fetchOptions = addProxyAgent({ + method: 'GET', + headers: { + 'Accept': 'application/json', + ...getTokenHeaders(opts) + }, + }, opts); + + try { + const resp = await fetch(finalUrl, fetchOptions); + if (!resp.ok) { + const errorText = await resp.text().catch(() => ''); + throw new Error(`HTTP ${resp.status}: ${errorText || resp.statusText}`); + } + return await resp.json(); + } catch (err) { + throw new Error(`Failed to fetch license details: ${err.message}`); + } +} + +function normalizePurlString(purl) { + const parsed = PackageURL.fromString(purl); + return new PackageURL(parsed.type, parsed.namespace, parsed.name, parsed.version, null, null).toString(); +} + +/** + * Normalize the LicensesResponse shape (array of LicenseProviderResult) into a map of purl -> license info. + * Each provider result has { status, summary, packages } where packages is { [purl]: { concluded, evidence } }. + * We merge the first successful provider's packages; concluded has identifiers[], category (PERMISSIVE | WEAK_COPYLEFT | STRONG_COPYLEFT | UNKNOWN). + * + * @param {unknown} data - LicensesResponse (array) or analysis report's licenses field + * @param {string[]} [purls] - optional list of purls to restrict to (for consistency with getLicensesByPurl) + * @returns {Map} + */ +export function normalizeLicensesResponse(data, purls = []) { + const map = new Map(); + if (!data || !Array.isArray(data)) {return map;} + + const normalizedPurlsSet = purls.length > 0 ? new Set(purls.map(normalizePurlString)) : null; + + for (const providerResult of data) { + const packages = providerResult?.packages; + if (!packages || typeof packages !== 'object') {continue;} + for (const [purl, pkgLicense] of Object.entries(packages)) { + const concluded = pkgLicense?.concluded; + const identifiers = Array.isArray(concluded?.identifiers) ? concluded.identifiers : []; + const expression = concluded?.expression; + const licenses = identifiers.length > 0 ? identifiers : (expression ? [expression] : []); + const category = concluded?.category; // PERMISSIVE | WEAK_COPYLEFT | STRONG_COPYLEFT | UNKNOWN + const normalizedPurl = normalizePurlString(purl); + if (normalizedPurlsSet === null || normalizedPurlsSet.has(normalizedPurl)) { + map.set(normalizedPurl, { licenses: licenses.filter(Boolean), category }); + } + } + // Use first provider that has packages; backend may return multiple (e.g. deps.dev) + if (map.size > 0) {break;} + } + return map; +} + +/** + * Build license map from an analysis report that already includes license data (result.licenses). + * Use this when the dependency analysis response already contains the licenses array to avoid a second request. + * + * @param {import('@trustify-da/trustify-da-api-model/model/v5/AnalysisReport').AnalysisReport} analysisReport - full analysis JSON + * @param {string[]} [purls] - optional list of purls to restrict to + * @returns {Map} + */ +export function licensesFromReport(analysisReport, purls = []) { + if (!analysisReport?.licenses) {return new Map();} + return normalizeLicensesResponse(analysisReport.licenses, purls); +} diff --git a/src/license/project_license.js b/src/license/project_license.js new file mode 100644 index 00000000..b34fef3f --- /dev/null +++ b/src/license/project_license.js @@ -0,0 +1,74 @@ +/** + * Resolves the project license from the manifest and from a LICENSE / LICENSE.md file. + * Used to report manifest-vs-file mismatch and as the baseline for dependency license compatibility. + */ + +import fs from 'node:fs'; +import path from 'node:path'; + +import { selectTrustifyDABackend } from '../index.js'; +import { matchForLicense, availableProviders } from '../provider.js'; +import { addProxyAgent, getTokenHeaders } from '../tools.js'; + +import { + normalizeSpdx, + readLicenseFile +} from './license_utils.js'; + +/** + * Resolve project license from manifest and from LICENSE / LICENSE.md in manifest dir or git root. + * Uses local pattern matching for LICENSE file identification (synchronous). + * For more accurate backend-based identification, use identifyLicense() separately. + * @param {string} manifestPath - path to manifest + * @returns {{ fromManifest: string|null, fromFile: string|null, mismatch: boolean }} + */ +export function getProjectLicense(manifestPath) { + const resolved = path.resolve(manifestPath); + const provider = matchForLicense(resolved, availableProviders); + const fromManifest = provider.readLicenseFromManifest(resolved); + const fromFile = readLicenseFile(resolved); + const mismatch = Boolean( + fromManifest && fromFile && normalizeSpdx(fromManifest) !== normalizeSpdx(fromFile) + ); + return { + fromManifest: fromManifest || null, + fromFile: fromFile || null, + mismatch + }; +} + +export { findLicenseFilePath, readLicenseFile } from './license_utils.js'; + +/** + * Call backend /licenses/identify endpoint to identify license from file. + * @param {string} licenseFilePath - path to LICENSE file + * @param {{}} [opts={}] - options (proxy, token, etc.) + * @returns {Promise} - SPDX identifier or null + */ +export async function identifyLicense(licenseFilePath, opts = {}) { + try { + const fileContent = fs.readFileSync(licenseFilePath); + const backendUrl = selectTrustifyDABackend(opts); + const url = new URL(`${backendUrl}/api/v5/licenses/identify`); + const tokenHeaders = getTokenHeaders(opts); + const fetchOptions = addProxyAgent({ + method: 'POST', + headers: { + 'Content-Type': 'application/octet-stream', + ...tokenHeaders, + }, + body: fileContent, + }, opts); + + const resp = await fetch(url, fetchOptions); + if (!resp.ok) { + return null; // Fallback to local detection on error + } + + const data = await resp.json(); + // Extract SPDX identifier from backend response + return data?.license?.id || data?.spdx_id || data?.identifier || null; + } catch { + return null; // Fallback to local detection on error + } +} diff --git a/src/oci_image/images.js b/src/oci_image/images.js index 6462872b..d600f4bc 100644 --- a/src/oci_image/images.js +++ b/src/oci_image/images.js @@ -216,24 +216,25 @@ export class ImageRef { /** * @param {string} image * @param {string} [platform] + * @param {import("index.js").Options} [opts={}] */ - constructor(image, platform) { + constructor(image, platform, opts) { this.image = new Image(image); if (platform != null) { this.platform = Platform.fromString(platform); } - this.checkImageDigest(); + this.checkImageDigest(opts); } /** * @private */ - checkImageDigest() { + checkImageDigest(opts) { if (this.image.digest == null) { try { - const digests = getImageDigests(this); + const digests = getImageDigests(this, opts); if (digests.size === 0) { throw new Error("Failed to get any image digest"); } @@ -241,7 +242,7 @@ export class ImageRef { this.image.digest = digests[Platform.EMPTY.toString()]; } else { if (this.platform == null) { - this.platform = getImagePlatform(); + this.platform = getImagePlatform(opts); } if (this.platform == null) { throw new Error(`Failed to get image platform for image digest`); diff --git a/src/oci_image/utils.js b/src/oci_image/utils.js index 825b7f30..c57e2941 100644 --- a/src/oci_image/utils.js +++ b/src/oci_image/utils.js @@ -1,19 +1,19 @@ import { delimiter, sep } from 'path'; -import { getCustomPath, invokeCommand } from '../tools.js'; +import { getCustom, getCustomPath, invokeCommand } from '../tools.js'; import { ImageRef } from './images.js'; import { Platform } from './platform.js'; // Constants -const EXHORT_SYFT_CONFIG_PATH = "EXHORT_SYFT_CONFIG_PATH"; -const EXHORT_SYFT_IMAGE_SOURCE = "EXHORT_SYFT_IMAGE_SOURCE"; -const EXHORT_IMAGE_PLATFORM = "EXHORT_IMAGE_PLATFORM"; -const EXHORT_IMAGE_OS = "EXHORT_IMAGE_OS"; -const EXHORT_IMAGE_ARCH = "EXHORT_IMAGE_ARCH"; -const EXHORT_IMAGE_VARIANT = "EXHORT_IMAGE_VARIANT"; -const EXHORT_SKOPEO_CONFIG_PATH = "EXHORT_SKOPEO_CONFIG_PATH"; -const EXHORT_IMAGE_SERVICE_ENDPOINT = "EXHORT_IMAGE_SERVICE_ENDPOINT"; +const TRUSTIFY_DA_SYFT_CONFIG_PATH = "TRUSTIFY_DA_SYFT_CONFIG_PATH"; +const TRUSTIFY_DA_SYFT_IMAGE_SOURCE = "TRUSTIFY_DA_SYFT_IMAGE_SOURCE"; +const TRUSTIFY_DA_IMAGE_PLATFORM = "TRUSTIFY_DA_IMAGE_PLATFORM"; +const TRUSTIFY_DA_IMAGE_OS = "TRUSTIFY_DA_IMAGE_OS"; +const TRUSTIFY_DA_IMAGE_ARCH = "TRUSTIFY_DA_IMAGE_ARCH"; +const TRUSTIFY_DA_IMAGE_VARIANT = "TRUSTIFY_DA_IMAGE_VARIANT"; +const TRUSTIFY_DA_SKOPEO_CONFIG_PATH = "TRUSTIFY_DA_SKOPEO_CONFIG_PATH"; +const TRUSTIFY_DA_IMAGE_SERVICE_ENDPOINT = "TRUSTIFY_DA_IMAGE_SERVICE_ENDPOINT"; const MEDIA_TYPE_DOCKER2_MANIFEST = "application/vnd.docker.distribution.manifest.v2+json"; const MEDIA_TYPE_DOCKER2_MANIFEST_LIST = "application/vnd.docker.distribution.manifest.list.v2+json"; const MEDIA_TYPE_OCI1_MANIFEST = "application/vnd.oci.image.manifest.v1+json"; @@ -54,10 +54,11 @@ const variantMapping = { /** * * @param {import('./images').ImageRef} imageRef + * @param {import("../index.js").Options} [opts={}] - optional various options to pass along the application * @returns {{}} */ -export function generateImageSBOM(imageRef) { - const output = execSyft(imageRef); +export function generateImageSBOM(imageRef, opts = {}) { + const output = execSyft(imageRef, opts); const node = JSON.parse(output); if (node['metadata'] != null) { @@ -73,30 +74,32 @@ export function generateImageSBOM(imageRef) { /** * * @param {string} image + * @param {import("../index.js").Options} [opts={}] - optional various options to pass along the application * @returns {ImageRef} */ -export function parseImageRef(image) { +export function parseImageRef(image, opts) { const parts = image.split('^^') if (parts[0].trim() === image) { - return new ImageRef(image, null) + return new ImageRef(image, null, opts); } else if (parts.length === 2) { - return new ImageRef(parts[0], parts[1]) + return new ImageRef(parts[0], parts[1], opts); } else { throw new Error(`Failed to parse OCI image ref "${image}", should be in the format "image^^architecture" or "image"`) } } /** -* Executes Syft to generate SBOM -* @param {import('./images').ImageRef} imageRef - The image reference -*/ -function execSyft(imageRef) { - const syft = getCustomPath("syft"); - const docker = getCustomPath("docker"); - const podman = getCustomPath("podman"); - - const syftConfigPath = process.env[EXHORT_SYFT_CONFIG_PATH] ?? ''; - const imageSource = process.env[EXHORT_SYFT_IMAGE_SOURCE] ?? ''; + * Executes Syft to generate SBOM + * @param {import('./images').ImageRef} imageRef - The image reference + * @param {import("../index.js").Options} [opts={}] - optional various options to pass along the application + */ +function execSyft(imageRef, opts = {}) { + const syft = getCustomPath("syft", opts); + const docker = getCustomPath("docker", opts); + const podman = getCustomPath("podman", opts); + + const syftConfigPath = getCustom(TRUSTIFY_DA_SYFT_CONFIG_PATH, "", opts); + const imageSource = getCustom(TRUSTIFY_DA_SYFT_IMAGE_SOURCE, "", opts); // Confirm image source exists, this will throw an error if not getImageSource(imageSource); @@ -119,14 +122,8 @@ function execSyft(imageRef) { "-o", "cyclonedx-json@1.5", "-q", - ...(syftConfigPath ? [ - "-c", - syftConfigPath, - ] : []), - ...(imageSource ? [ - "--from", - imageSource, - ] : []) + ...(syftConfigPath ? ["-c", syftConfigPath] : []), + ...(imageSource ? ["--from", imageSource] : []), ]; try { @@ -144,11 +141,11 @@ function execSyft(imageRef) { } /** -* Gets the environment variables for Syft -* @param {string} dockerPath - The Docker path -* @param {string} podmanPath - The Podman path -* @returns {Array} - The environment variables -*/ + * Gets the environment variables for Syft + * @param {string} dockerPath - The Docker path + * @param {string} podmanPath - The Podman path + * @returns {Array} - The environment variables + */ function getSyftEnvs(dockerPath, podmanPath) { let path = null; if (dockerPath && podmanPath) { @@ -171,34 +168,35 @@ function getSyftEnvs(dockerPath, podmanPath) { } /** -* Gets the platform information for an image -* @returns {Platform|null} - The platform information or null -*/ -export function getImagePlatform() { - const platform = process.env[EXHORT_IMAGE_PLATFORM]; + * Gets the platform information for an image + * @param {import("../index.js").Options} [opts={}] - optional various options to pass along the application + * @returns {Platform|null} - The platform information or null + */ +export function getImagePlatform(opts = {}) { + const platform = getCustom(TRUSTIFY_DA_IMAGE_PLATFORM, null, opts); if (platform) { return Platform.fromString(platform) } - const imageSource = process.env[EXHORT_SYFT_IMAGE_SOURCE] ?? ''; + const imageSource = getCustom(TRUSTIFY_DA_SYFT_IMAGE_SOURCE, "", opts); const source = getImageSource(imageSource); - let os = process.env[EXHORT_IMAGE_OS]; + let os = getCustom(TRUSTIFY_DA_IMAGE_OS, null, opts); if (!os) { - os = source.getOs(); + os = source.getOs(opts); } - let arch = process.env[EXHORT_IMAGE_ARCH]; + let arch = getCustom(TRUSTIFY_DA_IMAGE_ARCH, null, opts); if (!arch) { - arch = source.getArch(); + arch = source.getArch(opts); } if (os && arch) { if (!Platform.isVariantRequired(os, arch)) { return Platform.fromComponents(os, arch, null); } - let variant = process.env[EXHORT_IMAGE_VARIANT]; + let variant = getCustom(TRUSTIFY_DA_IMAGE_VARIANT, null, opts); if (!variant) { - variant = source.getVariant(); + variant = source.getVariant(opts); } if (variant) { return Platform.fromComponents(os, arch, variant); @@ -209,13 +207,14 @@ export function getImagePlatform() { } /** -* Gets information about a host from a container engine -* @param {string} engine - The container engine name -* @param {string} info - The information to retrieve -* @returns {string} - The host information -*/ -function hostInfo(engine, info) { - const exec = getCustomPath(engine); + * Gets information about a host from a container engine + * @param {string} engine - The container engine name + * @param {string} info - The information to retrieve + * @param {import("../index.js").Options} [opts={}] - optional various options to pass along the application + * @returns {string} - The host information + */ +function hostInfo(engine, info, opts = {}) { + const exec = getCustomPath(engine, opts); let output; try { @@ -239,83 +238,91 @@ function hostInfo(engine, info) { /** * Gets the OS information from Docker + * @param {import("../index.js").Options} [opts={}] - optional various options to pass along the application * @returns {string} - The OS information */ -function dockerGetOs() { - return hostInfo("docker", "OSType"); +function dockerGetOs(opts = {}) { + return hostInfo("docker", "OSType", opts); } /** * Gets the architecture information from Docker + * @param {import("../index.js").Options} [opts={}] - optional various options to pass along the application * @returns {string} - The architecture information */ -function dockerGetArch() { - let arch = hostInfo("docker", "Architecture"); +function dockerGetArch(opts = {}) { + let arch = hostInfo("docker", "Architecture", opts); arch = archMapping[arch]; return arch || ""; } /** * Gets the variant information from Docker + * @param {import("../index.js").Options} [opts={}] - optional various options to pass along the application * @returns {string} - The variant information */ -function dockerGetVariant() { - let variant = hostInfo("docker", "Architecture"); +function dockerGetVariant(opts = {}) { + let variant = hostInfo("docker", "Architecture", opts); variant = variantMapping[variant]; return variant || ""; } /** * Gets the OS information from Podman + * @param {import("../index.js").Options} [opts={}] - optional various options to pass along the application * @returns {string} - The OS information */ -function podmanGetOs() { - return hostInfo("podman", "os"); +function podmanGetOs(opts = {}) { + return hostInfo("podman", "os", opts); } /** * Gets the architecture information from Podman + * @param {import("../index.js").Options} [opts={}] - optional various options to pass along the application * @returns {string} - The architecture information */ -function podmanGetArch() { - return hostInfo("podman", "arch"); +function podmanGetArch(opts = {}) { + return hostInfo("podman", "arch", opts); } /** * Gets the variant information from Podman + * @param {import("../index.js").Options} [opts={}] - optional various options to pass along the application * @returns {string} - The variant information */ -function podmanGetVariant() { - return hostInfo("podman", "variant"); +function podmanGetVariant(opts = {}) { + return hostInfo("podman", "variant", opts); } /** * Gets information from Docker or Podman - * @param {function(): string} dockerSupplier - function to get information from Docker - * @param {function(): string} podmanSupplier - function to get information from Podman + * @param {function(Object): string} dockerSupplier - function to get information from Docker + * @param {function(Object): string} podmanSupplier - function to get information from Podman + * @param {import("../index.js").Options} [opts={}] - optional various options to pass along the application * @returns {string} - The information */ -function dockerPodmanInfo(dockerSupplier, podmanSupplier) { - return dockerSupplier() ?? podmanSupplier(); +function dockerPodmanInfo(dockerSupplier, podmanSupplier, opts = {}) { + return dockerSupplier(opts) || podmanSupplier(opts); } /** * Gets the digests for an image * @param {import('./images').ImageRef} imageRef - The image reference + * @param {import("../index.js").Options} [opts={}] - optional various options to pass along the application * @returns {Object.} - The image digests * @throws {Error} If the image info is invalid */ -export function getImageDigests(imageRef) { - const output = execSkopeoInspect(imageRef, true); +export function getImageDigests(imageRef, opts = {}) { + const output = execSkopeoInspect(imageRef, true, opts); const node = JSON.parse(output); if (node.mediaType) { const mediaType = node.mediaType; - if (typeof mediaType === 'string') { + if (typeof mediaType === "string") { switch (mediaType) { case MEDIA_TYPE_OCI1_MANIFEST: case MEDIA_TYPE_DOCKER2_MANIFEST: - return getSingleImageDigest(imageRef); + return getSingleImageDigest(imageRef, opts); case MEDIA_TYPE_OCI1_MANIFEST_LIST: case MEDIA_TYPE_DOCKER2_MANIFEST_LIST: @@ -393,7 +400,6 @@ function filterPlatform(manifestNode) { if (platformNode.architecture && platformNode.os && typeof platformNode.architecture === 'string' && typeof platformNode.os === 'string') { - try { if (platformNode.variant && typeof platformNode.variant === 'string') { Platform.fromComponents(platformNode.os, platformNode.architecture, platformNode.variant); @@ -412,10 +418,11 @@ function filterPlatform(manifestNode) { /** * Gets digest for a single image * @param {import('./images').ImageRef} imageRef - The image reference + * @param {import("../index.js").Options} [opts={}] - optional various options to pass along the application * @returns {Object.} - The image digest */ -function getSingleImageDigest(imageRef) { - const output = execSkopeoInspect(imageRef, false); +function getSingleImageDigest(imageRef, opts = {}) { + const output = execSkopeoInspect(imageRef, false, opts); const node = JSON.parse(output); @@ -431,26 +438,21 @@ function getSingleImageDigest(imageRef) { * Executes Skopeo inspect * @param {import('./images').ImageRef} imageRef - The image reference * @param {boolean} raw - Whether to use raw output + * @param {import("../index.js").Options} [opts={}] - optional various options to pass along the application */ -function execSkopeoInspect(imageRef, raw) { - const skopeo = getCustomPath("skopeo"); +function execSkopeoInspect(imageRef, raw, opts = {}) { + const skopeo = getCustomPath("skopeo", opts); - const configPath = process.env[EXHORT_SKOPEO_CONFIG_PATH]; - const daemonHost = process.env[EXHORT_IMAGE_SERVICE_ENDPOINT]; + const configPath = getCustom(TRUSTIFY_DA_SKOPEO_CONFIG_PATH, null, opts); + const daemonHost = getCustom(TRUSTIFY_DA_IMAGE_SERVICE_ENDPOINT, null, opts); const args = [ "inspect", raw ? "--raw" : "", `docker://${imageRef.image.getFullName()}`, - ...(configPath ? [ - "--authfile", - configPath, - ] : []), - ...(daemonHost ? [ - "--daemon-host", - daemonHost, - ] : []) - ] + ...(configPath ? ["--authfile", configPath] : []), + ...(daemonHost ? ["--daemon-host", daemonHost] : []), + ]; try { return invokeCommand(skopeo, args); @@ -470,27 +472,56 @@ function execSkopeoInspect(imageRef, raw) { * @property {function(): string} getVariant */ -/** @type {Object. { + switch (name) { + case "": + case "registry": + return { + getOs(opts = {}) { + return dockerPodmanInfo(dockerGetOs, podmanGetOs, opts); + }, + getArch(opts = {}) { + return dockerPodmanInfo(dockerGetArch, podmanGetArch, opts); + }, + getVariant(opts = {}) { + return dockerPodmanInfo(dockerGetVariant, podmanGetVariant, opts); + }, + }; + case "docker": + return { + getOs(opts = {}) { + return dockerGetOs(opts); + }, + getArch(opts = {}) { + return dockerGetArch(opts); + }, + getVariant(opts = {}) { + return dockerGetVariant(opts); + }, + }; + case "podman": + return { + getOs(opts = {}) { + return podmanGetOs(opts); + }, + getArch(opts = {}) { + return podmanGetArch(opts); + }, + getVariant(opts = {}) { + return podmanGetVariant(opts); + }, + }; + default: + return null; } }; @@ -501,7 +532,7 @@ const SyftImageSource = { * @throws {Error} If the image source is not valid */ function getImageSource(name) { - const source = SyftImageSource[name]; + const source = SyftImageSource(name); if (!source) { throw new Error(`The image source for syft is not valid: ${name}`); } diff --git a/src/provider.js b/src/provider.js index 4bb6c30b..9a7f3074 100644 --- a/src/provider.js +++ b/src/provider.js @@ -8,9 +8,12 @@ import Javascript_npm from './providers/javascript_npm.js'; import Javascript_pnpm from './providers/javascript_pnpm.js'; import Javascript_yarn from './providers/javascript_yarn.js'; import pythonPipProvider from './providers/python_pip.js' +import Python_poetry from './providers/python_poetry.js' +import Python_uv from './providers/python_uv.js' +import rustCargoProvider from './providers/rust_cargo.js' /** @typedef {{ecosystem: string, contentType: string, content: string}} Provided */ -/** @typedef {{isSupported: function(string): boolean, validateLockFile: function(string): void, provideComponent: function(string, {}): Provided, provideStack: function(string, {}): Provided}} Provider */ +/** @typedef {{isSupported: function(string): boolean, validateLockFile: function(string, Object): void, provideComponent: function(string, {}): Provided | Promise, provideStack: function(string, {}): Provided | Promise, readLicenseFromManifest: function(string): string | null}} Provider */ /** * MUST include all providers here. @@ -20,11 +23,30 @@ export const availableProviders = [ new Java_maven(), new Java_gradle_groovy(), new Java_gradle_kotlin(), - new Javascript_npm(), new Javascript_pnpm(), new Javascript_yarn(), + new Javascript_npm(), golangGomodulesProvider, - pythonPipProvider] + pythonPipProvider, + new Python_poetry(), + new Python_uv(), + rustCargoProvider] + +/** + * Match a provider by manifest type only (no lock file check). Used for license reading. + * @param {string} manifestPath - path or name of the manifest + * @param {[Provider]} providers - list of providers to iterate over + * @returns {Provider} + * @throws {Error} when the manifest is not supported and no provider was matched + */ +export function matchForLicense(manifestPath, providers) { + const base = path.parse(manifestPath).base + const provider = providers.find(prov => prov.isSupported(base)) + if (!provider) { + throw new Error(`${base} is not supported`) + } + return provider +} /** * Match a provider from a list or providers based on file type. @@ -33,16 +55,17 @@ export const availableProviders = [ * Each provider MUST export 'provideStack' taking manifest path returning a {@link Provided}. * @param {string} manifest - the name-type or path of the manifest * @param {[Provider]} providers - list of providers to iterate over + * @param {{TRUSTIFY_DA_WORKSPACE_DIR?: string}} [opts={}] - optional; TRUSTIFY_DA_WORKSPACE_DIR overrides lock file location for workspaces * @returns {Provider} * @throws {Error} when the manifest is not supported and no provider was matched */ -export function match(manifest, providers) { +export function match(manifest, providers, opts = {}) { const manifestPath = path.parse(manifest) const supported = providers.filter(prov => prov.isSupported(manifestPath.base)) if (supported.length === 0) { throw new Error(`${manifestPath.base} is not supported`) } - const provider = supported.find(prov => prov.validateLockFile(manifestPath.dir)) + const provider = supported.find(prov => prov.validateLockFile(manifestPath.dir, opts)) if(!provider) { throw new Error(`${manifestPath.base} requires a lock file. Use your preferred package manager to generate the lock file.`); } diff --git a/src/providers/base_java.js b/src/providers/base_java.js index b987afe4..e80a17a7 100644 --- a/src/providers/base_java.js +++ b/src/providers/base_java.js @@ -5,7 +5,6 @@ import { PackageURL } from 'packageurl-js' import { getCustomPath, getGitRootDir, getWrapperPreference, invokeCommand } from "../tools.js" - /** @typedef {import('../provider').Provider} */ /** @typedef {import('../provider').Provided} Provided */ @@ -91,8 +90,7 @@ export default class Base_Java { * @returns {PackageURL} The parsed packageURL */ parseDep(line) { - - let match = line.match(this.DEP_REGEX); + let match = line.split(':').map(part => part ? part.match(this.DEP_REGEX)[0] : ''); if (!match) { throw new Error(`Unable generate SBOM from dependency tree. Line: ${line} cannot be parsed into a PackageURL`); } @@ -106,6 +104,9 @@ export default class Base_Java { if (override) { version = override[1]; } + if (match[0].trim() === '') { + throw new Error(`Artifact coordinates should have a non-empty group ID: ${line}`); + } return this.toPurl(match[0], match[1], version); } diff --git a/src/providers/base_javascript.js b/src/providers/base_javascript.js index fcb5d44c..aec43e36 100644 --- a/src/providers/base_javascript.js +++ b/src/providers/base_javascript.js @@ -2,20 +2,21 @@ import fs from 'node:fs' import os from "node:os"; import path from 'node:path' +import { getLicense } from '../license/license_utils.js' import Sbom from '../sbom.js' -import { getCustom, getCustomPath, invokeCommand, toPurl, toPurlFromString } from "../tools.js"; +import { getCustom, getCustomPath, invokeCommand, toPurl, toPurlFromString } from '../tools.js' import Manifest from './manifest.js'; -/** @typedef {import('../provider.js').Provider} Provider */ +/** @typedef {import('../provider').Provider} */ -/** @typedef {import('../provider.js').Provided} Provided */ +/** @typedef {import('../provider').Provided} Provided */ /** * The ecosystem identifier for JavaScript/npm packages * @type {string} */ -export const ecosystem = 'npm'; +export const purlType = 'npm'; /** * Base class for JavaScript package manager providers. @@ -28,6 +29,8 @@ export default class Base_javascript { #manifest; /** @type {string} */ #cmd; + /** @type {string} */ + #ecosystem; /** * Sets up the provider with the manifest path and options @@ -38,17 +41,27 @@ export default class Base_javascript { _setUp(manifestPath, opts) { this.#cmd = getCustomPath(this._cmdName(), opts); this.#manifest = new Manifest(manifestPath); + this.#ecosystem = purlType; } /** - * Gets the current manifest object - * @returns {Manifest} The manifest object - * @protected - */ + * Gets the current manifest object + * @returns {Manifest} The manifest object + * @protected + */ _getManifest() { return this.#manifest; } + /** + * Sets the ecosystem value + * @param {string} ecosystem - The ecosystem identifier + * @protected + */ + _setEcosystem(ecosystem) { + this.#ecosystem = ecosystem; + } + /** * Returns the name of the lock file for the specific implementation * @returns {string} The lock file name @@ -99,13 +112,70 @@ export default class Base_javascript { } /** - * Checks if a required lock file exists in the same path as the manifest + * Walks up the directory tree from manifestDir looking for the lock file. + * Stops when the lock file is found, when a package.json with a "workspaces" + * field is encountered without a lock file (workspace root boundary), or + * when the filesystem root is reached. + * + * When TRUSTIFY_DA_WORKSPACE_DIR is set, checks only that directory (no walk-up). + * + * @param {string} manifestDir - The directory to start searching from + * @param {Object} [opts={}] - optional; may contain TRUSTIFY_DA_WORKSPACE_DIR + * @returns {string|null} The directory containing the lock file, or null + * @protected + */ + _isWorkspaceRoot(dir) { + if (fs.existsSync(path.join(dir, 'pnpm-workspace.yaml'))) { + return true + } + const pkgJsonPath = path.join(dir, 'package.json') + if (fs.existsSync(pkgJsonPath)) { + try { + const content = JSON.parse(fs.readFileSync(pkgJsonPath, 'utf-8')) + if (content.workspaces) { + return true + } + } catch (_) { + // ignore parse errors + } + } + return false + } + + _findLockFileDir(manifestDir, opts = {}) { + const workspaceDir = getCustom('TRUSTIFY_DA_WORKSPACE_DIR', null, opts) + if (workspaceDir) { + const dir = path.resolve(workspaceDir) + return fs.existsSync(path.join(dir, this._lockFileName())) ? dir : null + } + + let dir = path.resolve(manifestDir) + let parent = dir + + do { + dir = parent + + if (fs.existsSync(path.join(dir, this._lockFileName()))) { + return dir + } + + if (this._isWorkspaceRoot(dir)) { + return null + } + + parent = path.dirname(dir) + } while (parent !== dir) + + return null + } + + /** * @param {string} manifestDir - The base directory where the manifest is located + * @param {Object} [opts={}] - optional; may contain TRUSTIFY_DA_WORKSPACE_DIR * @returns {boolean} True if the lock file exists */ - validateLockFile(manifestDir) { - const lock = path.join(manifestDir, this._lockFileName()); - return fs.existsSync(lock); + validateLockFile(manifestDir, opts = {}) { + return this._findLockFileDir(manifestDir, opts) !== null } /** @@ -117,7 +187,7 @@ export default class Base_javascript { provideStack(manifestPath, opts = {}) { this._setUp(manifestPath, opts); return { - ecosystem, + ecosystem: this.#ecosystem, content: this.#getSBOM(opts), contentType: 'application/vnd.cyclonedx+json' } @@ -132,24 +202,48 @@ export default class Base_javascript { provideComponent(manifestPath, opts = {}) { this._setUp(manifestPath, opts); return { - ecosystem, + ecosystem: this.#ecosystem, content: this.#getDirectDependencySbom(opts), contentType: 'application/vnd.cyclonedx+json' } } + /** + * Read license from manifest (package.json). Reused by npm, pnpm, yarn. + * @param {string} manifestPath - path to package.json + * @returns {string|null} + */ + readLicenseFromManifest(manifestPath) { + let manifestLicense; + try { + const content = JSON.parse(fs.readFileSync(manifestPath, 'utf-8')); + if (typeof content.license === 'string') { + manifestLicense = content.license.trim() || null; + } else if (Array.isArray(content.licenses) && content.licenses.length > 0) { + const first = content.licenses[0]; + const name = first.type || first.name; + manifestLicense = (typeof name === 'string' ? name.trim() : null); + } + } catch { + manifestLicense = null; + } + return getLicense(manifestLicense, manifestPath); + } + /** * Builds the dependency tree for the project * @param {boolean} includeTransitive - Whether to include transitive dependencies + * @param {Object} [opts={}] - Configuration options; when `TRUSTIFY_DA_WORKSPACE_DIR` is set, commands run from workspace root * @returns {Object} The dependency tree * @protected */ - _buildDependencyTree(includeTransitive) { + _buildDependencyTree(includeTransitive, opts = {}) { this._version(); - let manifestDir = path.dirname(this.#manifest.manifestPath); - this.#createLockFile(manifestDir); + const manifestDir = path.dirname(this.#manifest.manifestPath); + const cmdDir = this._findLockFileDir(manifestDir, opts) || manifestDir; + this.#createLockFile(cmdDir); - let output = this.#executeListCmd(includeTransitive, manifestDir); + let output = this.#executeListCmd(includeTransitive, cmdDir); output = this._parseDepTreeOutput(output); return JSON.parse(output); } @@ -161,18 +255,43 @@ export default class Base_javascript { * @private */ #getSBOM(opts = {}) { - const depsObject = this._buildDependencyTree(true); + const depsObject = this._buildDependencyTree(true, opts); - let mainComponent = toPurl(ecosystem, this.#manifest.name, this.#manifest.version); + let mainComponent = toPurl(purlType, this.#manifest.name, this.#manifest.version); + const license = this.readLicenseFromManifest(this.#manifest.manifestPath); let sbom = new Sbom(); - sbom.addRoot(mainComponent); + sbom.addRoot(mainComponent, license); this._addDependenciesToSbom(sbom, depsObject); + this.#ensurePeerAndOptionalDeps(sbom); sbom.filterIgnoredDeps(this.#manifest.ignored); return sbom.getAsJsonString(opts); } + /** + * Ensures peer and optional dependencies declared in the manifest are + * present in the SBOM, even when the package manager does not resolve them + * (e.g. yarn does not include peer deps in its dependency listing). + * @param {Sbom} sbom - The SBOM to supplement + * @private + */ + #ensurePeerAndOptionalDeps(sbom) { + const rootPurl = toPurl(purlType, this.#manifest.name, this.#manifest.version); + const depSources = [this.#manifest.peerDependencies, this.#manifest.optionalDependencies]; + for (const source of depSources) { + for (const [name, version] of Object.entries(source)) { + // Build the purl prefix for exact matching (e.g. "pkg:npm/minimist@" + // or "pkg:npm/%40hapi/joi@") to avoid substring false positives + const probe = toPurl(purlType, name, version); + const purlPrefix = probe.toString().replace(/@[^@]*$/, '@'); + if (!sbom.checkDependsOnByPurlPrefix(rootPurl, purlPrefix)) { + sbom.addDependency(rootPurl, probe); + } + } + } + } + /** * Recursively builds the Sbom from the JSON that npm listing returns * @param {Sbom} sbom - The SBOM object to add dependencies to @@ -180,13 +299,16 @@ export default class Base_javascript { * @protected */ _addDependenciesToSbom(sbom, depTree) { - const dependencies = depTree["dependencies"] || {}; + const dependencies = { + ...depTree["dependencies"], + ...depTree["optionalDependencies"], + }; Object.entries(dependencies) .forEach(entry => { const [name, artifact] = entry; - const target = toPurl(ecosystem, name, artifact.version); - const rootPurl = toPurl(ecosystem, this.#manifest.name, this.#manifest.version); + const target = toPurl(purlType, name, artifact.version); + const rootPurl = toPurl(purlType, this.#manifest.name, this.#manifest.version); sbom.addDependency(rootPurl, target); this.#addDependenciesOf(sbom, target, artifact); }); @@ -205,7 +327,7 @@ export default class Base_javascript { .forEach(entry => { const [name, depArtifact] = entry; if(depArtifact.version !== undefined) { - const target = toPurl(ecosystem, name, depArtifact.version); + const target = toPurl(purlType, name, depArtifact.version); sbom.addDependency(from, target); this.#addDependenciesOf(sbom, target, depArtifact); } @@ -219,11 +341,12 @@ export default class Base_javascript { * @private */ #getDirectDependencySbom(opts = {}) { - const depTree = this._buildDependencyTree(false); - let mainComponent = toPurl(ecosystem, this.#manifest.name, this.#manifest.version); + const depTree = this._buildDependencyTree(false, opts); + let mainComponent = toPurl(purlType, this.#manifest.name, this.#manifest.version); + const license = this.readLicenseFromManifest(this.#manifest.manifestPath); let sbom = new Sbom(); - sbom.addRoot(mainComponent); + sbom.addRoot(mainComponent, license); const rootDeps = this._getRootDependencies(depTree); const sortedDepsKeys = Array @@ -234,6 +357,7 @@ export default class Base_javascript { const rootPurl = toPurlFromString(sbom.getRoot().purl); sbom.addDependency(rootPurl, rootDeps.get(key)); } + this.#ensurePeerAndOptionalDeps(sbom); sbom.filterIgnoredDeps(this.#manifest.ignored); return sbom.getAsJsonString(opts); } @@ -245,13 +369,17 @@ export default class Base_javascript { * @protected */ _getRootDependencies(depTree) { - if (!depTree.dependencies) { + const allDeps = { + ...depTree.dependencies, + ...depTree.optionalDependencies, + }; + if (Object.keys(allDeps).length === 0) { return new Map(); } return new Map( - Object.entries(depTree.dependencies).map( - ([key, value]) => [key, toPurl(ecosystem, key, value.version)] + Object.entries(allDeps).map( + ([key, value]) => [key, toPurl(purlType, key, value.version)] ) ); } @@ -265,7 +393,7 @@ export default class Base_javascript { */ #executeListCmd(includeTransitive, manifestDir) { const listArgs = this._listCmdArgs(includeTransitive, manifestDir); - return this.#invokeCommand(listArgs); + return this.#invokeCommand(listArgs, { cwd: manifestDir }); } /** @@ -287,14 +415,12 @@ export default class Base_javascript { const isWindows = os.platform() === 'win32'; if (isWindows) { - // On Windows, --prefix flag doesn't work as expected - // Instead of installing from the prefix folder, it installs from current working directory process.chdir(manifestDir); } try { const args = this._updateLockFileCmdArgs(manifestDir); - this.#invokeCommand(args); + this.#invokeCommand(args, { cwd: manifestDir }); } finally { if (isWindows) { process.chdir(originalDir); diff --git a/src/providers/base_pyproject.js b/src/providers/base_pyproject.js new file mode 100644 index 00000000..2c5595ae --- /dev/null +++ b/src/providers/base_pyproject.js @@ -0,0 +1,374 @@ +import fs from 'node:fs' +import path from 'node:path' + +import { PackageURL } from 'packageurl-js' +import { parse as parseToml } from 'smol-toml' + +import { getLicense } from '../license/license_utils.js' +import Sbom from '../sbom.js' +import { getCustom } from '../tools.js' + +const ecosystem = 'pip' + +const IGNORE_MARKERS = ['exhortignore', 'trustify-da-ignore'] + +const DEFAULT_ROOT_NAME = 'default-pip-root' +const DEFAULT_ROOT_VERSION = '0.0.0' + +/** @typedef {{name: string, version: string, children: string[]}} GraphEntry */ +/** @typedef {{name: string, version: string, dependencies: DepTreeEntry[]}} DepTreeEntry */ +/** @typedef {{directDeps: string[], graph: Map}} DependencyData */ +/** @typedef {{ecosystem: string, content: string, contentType: string}} Provided */ + +export default class Base_pyproject { + + /** + * @param {string} manifestName + * @returns {boolean} + */ + isSupported(manifestName) { + return 'pyproject.toml' === manifestName + } + + /** + * @param {string} manifestDir + * @param {Object} [opts={}] + * @returns {boolean} + */ + validateLockFile(manifestDir, opts = {}) { + return this._findLockFileDir(manifestDir, opts) != null + } + + /** + * Walk up from manifestDir to find the directory containing the lock file. + * Follows the same pattern as Base_javascript._findLockFileDir(). + * @param {string} manifestDir + * @param {Object} [opts={}] + * @returns {string|null} + * @protected + */ + _findLockFileDir(manifestDir, opts = {}) { + const workspaceDir = getCustom('TRUSTIFY_DA_WORKSPACE_DIR', null, opts) + if (workspaceDir) { + const dir = path.resolve(workspaceDir) + return fs.existsSync(path.join(dir, this._lockFileName())) ? dir : null + } + + let dir = path.resolve(manifestDir) + let parent = dir + + do { + dir = parent + + if (fs.existsSync(path.join(dir, this._lockFileName()))) { + return dir + } + + if (this._isWorkspaceRoot(dir)) { + return null + } + + parent = path.dirname(dir) + } while (parent !== dir) + + return null + } + + /** + * Detect Python workspace root boundaries. + * - uv: pyproject.toml with [tool.uv.workspace] section + * - poetry: pyproject.toml with [tool.poetry] alongside poetry.lock + * @param {string} dir + * @returns {boolean} + * @protected + */ + _isWorkspaceRoot(dir) { + const pyprojectPath = path.join(dir, 'pyproject.toml') + if (!fs.existsSync(pyprojectPath)) { + return false + } + try { + const content = parseToml(fs.readFileSync(pyprojectPath, 'utf-8')) + if (content.tool?.uv?.workspace) { + return true + } + if (content.tool?.poetry && fs.existsSync(path.join(dir, 'poetry.lock'))) { + return true + } + } catch (_) { + // ignore parse errors + } + return false + } + + /** + * Read project license from pyproject.toml, with fallback to LICENSE file. + * @param {string} manifestPath + * @returns {string|null} + */ + readLicenseFromManifest(manifestPath) { + let fromManifest = null + try { + let content = fs.readFileSync(manifestPath, 'utf-8') + let parsed = parseToml(content) + fromManifest = parsed.project?.license + if (typeof fromManifest === 'object' && fromManifest != null) { + fromManifest = fromManifest.text || null + } + if (!fromManifest) { + fromManifest = parsed.tool?.poetry?.license || null + } + } catch (_) { + // leave fromManifest as null + } + return getLicense(fromManifest, manifestPath) + } + + /** + * @param {string} manifest - path to pyproject.toml + * @param {Object} [opts={}] + * @returns {Promise} + */ + async provideStack(manifest, opts = {}) { + return { + ecosystem, + content: await this._createSbom(manifest, opts, true), + contentType: 'application/vnd.cyclonedx+json' + } + } + + /** + * @param {string} manifest - path to pyproject.toml + * @param {Object} [opts={}] + * @returns {Promise} + */ + async provideComponent(manifest, opts = {}) { + return { + ecosystem, + content: await this._createSbom(manifest, opts, false), + contentType: 'application/vnd.cyclonedx+json' + } + } + + // --- abstract methods (subclasses must override) --- + + /** + * @returns {string} + * @protected + */ + _lockFileName() { + throw new TypeError('_lockFileName must be implemented') + } + + /** + * @returns {string} + * @protected + */ + _cmdName() { + throw new TypeError('_cmdName must be implemented') + } + + /** + * Resolve dependencies using the tool-specific command and parser. + * @param {string} manifestDir + * @param {object} parsed - parsed pyproject.toml + * @param {Object} opts + * @returns {Promise} + * @protected + */ + // eslint-disable-next-line no-unused-vars + async _getDependencyData(manifestDir, parsed, opts) { + throw new TypeError('_getDependencyData must be implemented') + } + + // --- shared helpers --- + + /** + * Canonicalize a Python package name per PEP 503. + * @param {string} name + * @returns {string} + * @protected + */ + _canonicalize(name) { + return name.toLowerCase().replace(/[-_.]+/g, '-') + } + + /** + * Get the project name from pyproject.toml. + * @param {object} parsed + * @returns {string|null} + * @protected + */ + _getProjectName(parsed) { + return parsed.project?.name || parsed.tool?.poetry?.name || null + } + + /** + * Get the project version from pyproject.toml. + * @param {object} parsed + * @returns {string|null} + * @protected + */ + _getProjectVersion(parsed) { + return parsed.project?.version || parsed.tool?.poetry?.version || null + } + + /** + * Scan raw pyproject.toml text for dependencies with ignore markers. + * @param {string} manifestPath + * @returns {Set} + * @protected + */ + _getIgnoredDeps(manifestPath) { + let ignored = new Set() + let content = fs.readFileSync(manifestPath, 'utf-8') + let lines = content.split(/\r?\n/) + + for (let line of lines) { + if (!IGNORE_MARKERS.some(m => line.includes(m))) { continue } + + // PEP 621 style: "requests>=2.25" #exhortignore + let pep621Match = line.match(/^\s*"([^"]+)"/) + if (pep621Match) { + let reqStr = pep621Match[1] + let nameMatch = reqStr.match(/^([A-Za-z0-9]([A-Za-z0-9._-]*[A-Za-z0-9])?)/) + if (nameMatch) { + ignored.add(this._canonicalize(nameMatch[1])) + } + continue + } + + // Poetry style: requests = "^2.25" #exhortignore + let poetryMatch = line.match(/^\s*([A-Za-z0-9][A-Za-z0-9._-]*)\s*=/) + if (poetryMatch) { + ignored.add(this._canonicalize(poetryMatch[1])) + } + } + + return ignored + } + + /** + * Build dependency tree from graph, starting from direct deps. + * @param {Map} graph + * @param {string[]} directDeps - canonical names of direct deps + * @param {Set} ignoredDeps + * @param {boolean} includeTransitive + * @returns {DepTreeEntry[]} + * @protected + */ + _buildDependencyTree(graph, directDeps, ignoredDeps, includeTransitive) { + let result = [] + + for (let key of directDeps) { + if (ignoredDeps.has(key)) { continue } + + let entry = graph.get(key) + if (!entry) { continue } + + let depTree = [] + if (includeTransitive) { + let visited = new Set() + visited.add(key) + this._collectTransitive(graph, entry.children, depTree, ignoredDeps, visited) + } + + result.push({ name: entry.name, version: entry.version, dependencies: depTree }) + } + + result.sort((a, b) => a.name.toLowerCase().localeCompare(b.name.toLowerCase())) + return result + } + + /** + * Recursively collect transitive dependencies. + * @param {Map} graph + * @param {string[]} childKeys + * @param {DepTreeEntry[]} result - mutated in place + * @param {Set} ignoredDeps + * @param {Set} visited + * @returns {void} + * @protected + */ + _collectTransitive(graph, childKeys, result, ignoredDeps, visited) { + for (let childKey of childKeys) { + let canonKey = this._canonicalize(childKey) + if (ignoredDeps.has(canonKey)) { continue } + if (visited.has(canonKey)) { continue } + visited.add(canonKey) + + let entry = graph.get(canonKey) + if (!entry) { continue } + + let childDeps = [] + this._collectTransitive(graph, entry.children, childDeps, ignoredDeps, visited) + + result.push({ name: entry.name, version: entry.version, dependencies: childDeps }) + } + + result.sort((a, b) => a.name.toLowerCase().localeCompare(b.name.toLowerCase())) + } + + /** + * @param {string} name + * @param {string} version + * @returns {PackageURL} + * @protected + */ + _toPurl(name, version) { + return new PackageURL('pypi', undefined, name, version, undefined, undefined) + } + + /** + * Recursively add a dependency and its transitive deps to the SBOM. + * @param {PackageURL} source + * @param {DepTreeEntry} dep + * @param {Sbom} sbom + * @returns {void} + * @private + */ + _addAllDependencies(source, dep, sbom) { + let targetPurl = this._toPurl(dep.name, dep.version) + sbom.addDependency(source, targetPurl) + if (dep.dependencies && dep.dependencies.length > 0) { + dep.dependencies.forEach(child => this._addAllDependencies(this._toPurl(dep.name, dep.version), child, sbom)) + } + } + + /** + * Create SBOM json string for a pyproject.toml project. + * @param {string} manifest - path to pyproject.toml + * @param {Object} opts + * @param {boolean} includeTransitive + * @returns {Promise} + * @private + */ + async _createSbom(manifest, opts, includeTransitive) { + let manifestDir = path.dirname(manifest) + let content = fs.readFileSync(manifest, 'utf-8') + let parsed = parseToml(content) + + let lockFileDir = this._findLockFileDir(manifestDir, opts) || manifestDir + let { directDeps, graph } = await this._getDependencyData(lockFileDir, parsed, opts) + + let ignoredDeps = this._getIgnoredDeps(manifest) + let dependencies = this._buildDependencyTree(graph, directDeps, ignoredDeps, includeTransitive) + + let sbom = new Sbom() + let rootName = this._getProjectName(parsed) || DEFAULT_ROOT_NAME + let rootVersion = this._getProjectVersion(parsed) || DEFAULT_ROOT_VERSION + let rootPurl = this._toPurl(rootName, rootVersion) + let license = this.readLicenseFromManifest(manifest) + sbom.addRoot(rootPurl, license) + + dependencies.forEach(dep => { + if (includeTransitive) { + this._addAllDependencies(rootPurl, dep, sbom) + } else { + sbom.addDependency(rootPurl, this._toPurl(dep.name, dep.version)) + } + }) + + return sbom.getAsJsonString(opts) + } +} diff --git a/src/providers/golang_gomodules.js b/src/providers/golang_gomodules.js index e0fddf5e..850f1e2f 100644 --- a/src/providers/golang_gomodules.js +++ b/src/providers/golang_gomodules.js @@ -1,14 +1,15 @@ import fs from 'node:fs' import path from 'node:path' -import { EOL } from "os"; import { PackageURL } from 'packageurl-js' +import { readLicenseFile } from '../license/license_utils.js' import Sbom from '../sbom.js' import { getCustom, getCustomPath, invokeCommand } from "../tools.js"; +import { getParser, getRequireQuery } from './gomod_parser.js' -export default { isSupported, validateLockFile, provideComponent, provideStack } +export default { isSupported, validateLockFile, provideComponent, provideStack, readLicenseFromManifest } /** @typedef {import('../provider').Provider} */ @@ -21,46 +22,55 @@ export default { isSupported, validateLockFile, provideComponent, provideStack } /** * @type {string} ecosystem for npm-npm is 'maven' * @private - */ +*/ const ecosystem = 'golang' const defaultMainModuleVersion = "v0.0.0"; + /** - * @param {string} manifestName - the subject manifest name-type - * @returns {boolean} - return true if `pom.xml` is the manifest name-type - */ + * @param {string} manifestName the subject manifest name-type + * @returns {boolean} return true if `pom.xml` is the manifest name-type +*/ function isSupported(manifestName) { return 'go.mod' === manifestName } /** - * @param {string} manifestDir - the directory where the manifest lies + * Go modules have no standard license field in go.mod + * @param {string} manifestPath path to go.mod + * @returns {string|null} +*/ +// eslint-disable-next-line no-unused-vars +function readLicenseFromManifest(manifestPath) { return readLicenseFile(manifestPath); } + +/** + * @param {string} manifestDir the directory where the manifest lies */ function validateLockFile() { return true; } /** * Provide content and content type for maven-maven stack analysis. - * @param {string} manifest - the manifest path or name - * @param {{}} [opts={}] - optional various options to pass along the application - * @returns {Provided} + * @param {string} manifest the manifest path or name + * @param {{}} [opts={}] optional various options to pass along the application + * @returns {Promise} */ -function provideStack(manifest, opts = {}) { +async function provideStack(manifest, opts = {}) { return { ecosystem, - content: getSBOM(manifest, opts, true), + content: await getSBOM(manifest, opts, true), contentType: 'application/vnd.cyclonedx+json' } } /** * Provide content and content type for maven-maven component analysis. - * @param {string} manifest - path to go.mod for component report - * @param {{}} [opts={}] - optional various options to pass along the application - * @returns {Provided} + * @param {string} manifest path to go.mod for component report + * @param {{}} [opts={}] optional various options to pass along the application + * @returns {Promise} */ -function provideComponent(manifest, opts = {}) { +async function provideComponent(manifest, opts = {}) { return { ecosystem, - content: getSBOM(manifest, opts, false), + content: await getSBOM(manifest, opts, false), contentType: 'application/vnd.cyclonedx+json' } } @@ -83,54 +93,54 @@ function getChildVertexFromEdge(edge) { } /** - * - * @param line one row from go.mod file - * @return {boolean} whether line from go.mod should be considered as ignored or not + * Check whether a require_spec has a valid exhortignore marker. + * For direct dependencies: `//exhortignore` or `// exhortignore` + * For indirect dependencies: `// indirect; exhortignore` (semicolon-separated) + * @param {import('web-tree-sitter').SyntaxNode} specNode + * @return {boolean} */ -function ignoredLine(line) { - let result = false - if(line.match(".*exhortignore.*")) { - if(line.match(".+//\\s*exhortignore") || line.match(".+//\\sindirect (//)?\\s*exhortignore")) { - let trimmedRow = line.trim() - if(!trimmedRow.startsWith("module ") && !trimmedRow.startsWith("go ") && !trimmedRow.startsWith("require (") && !trimmedRow.startsWith("require(") - && !trimmedRow.startsWith("exclude ") && !trimmedRow.startsWith("replace ") && !trimmedRow.startsWith("retract ") && !trimmedRow.startsWith("use ") - && !trimmedRow.includes("=>")) - { - if( trimmedRow.startsWith("require ") || trimmedRow.match("^[a-z.0-9/-]+\\s{1,2}[vV][0-9]\\.[0-9](\\.[0-9]){0,2}.*")) { - result = true - } - } +function hasExhortIgnore(specNode) { + // Ideally this would be the following tree-sitter query instead, but for some + // reason it throws an error here but not in the playground. + // (require_spec) ((module_path) @path (version) (comment) @comment (#match? @comment "^//.*exhortignore")) + // QueryError: Bad pattern structure at offset 53: '(comment) @comment (#match? @comment "^//.*exhortignore")) @spec'... + let comments = specNode.children.filter(c => c.type === 'comment') + for (let comment of comments) { + let text = comment.text + if (/^\/\/\s*indirect;\s*exhortignore/.test(text)) { + return true + } + if (/^\/\/\s*exhortignore/.test(text)) { + return true } } - return result -} - -/** - * extract package name from go.mod line that contains exhortignore comment. - * @param line a row contains exhortignore as part of a comment - * @return {string} the full package name + group/namespace + version - * @private - */ -function extractPackageName(line) { - let trimmedRow = line.trim(); - let firstRemarkNotationOccurrence = trimmedRow.indexOf("//"); - return trimmedRow.substring(0,firstRemarkNotationOccurrence).trim(); + return false } /** * - * @param {string } manifest - path to manifest - * @return {[PackageURL]} list of ignored dependencies d + * @param {string} manifestContent go.mod file contents + * @param {import('web-tree-sitter').Parser} parser + * @param {import('web-tree-sitter').Query} requireQuery + * @return {PackageURL[]} list of ignored dependencies */ -function getIgnoredDeps(manifest) { - let goMod = fs.readFileSync(manifest).toString().trim() - let lines = goMod.split(getLineSeparatorGolang()); - return lines.filter(line => ignoredLine(line)).map(line=> extractPackageName(line)).map(dep => toPurl(dep,/[ ]{1,3}/)) +function getIgnoredDeps(manifestContent, parser, requireQuery) { + let tree = parser.parse(manifestContent) + return requireQuery.matches(tree.rootNode) + .filter(match => { + let specNode = match.captures.find(c => c.name === 'spec').node + return hasExhortIgnore(specNode) + }) + .map(match => { + let name = match.captures.find(c => c.name === 'name').node.text + let version = match.captures.find(c => c.name === 'version').node.text + return toPurl(`${name} ${version}`, /[ ]{1,3}/) + }) } /** * - * @param {[PackageURL]}allIgnoredDeps - list of purls of all dependencies that should be ignored + * @param {PackageURL[]} allIgnoredDeps list of purls of all dependencies that should be ignored * @param {PackageURL} purl object to be checked if needed to be ignored * @return {boolean} */ @@ -151,68 +161,30 @@ function enforceRemovingIgnoredDepsInCaseOfAutomaticVersionUpdate(ignoredDeps, s /** * - * @param {[string]} lines - array of lines of go.mod manifest - * @param {string} goMod - content of go.mod manifest - * @return {[string]} all dependencies from go.mod file as array + * @param {string} manifestContent go.mod file contents + * @param {import('web-tree-sitter').Parser} parser + * @param {import('web-tree-sitter').Query} requireQuery + * @return {string[]} all dependencies from go.mod file as "name version" strings */ -function collectAllDepsFromManifest(lines, goMod) { - let result - // collect all deps that starts with require keyword - - result = lines.filter((line) => line.trim().startsWith("require") && !line.includes("(")).map((dep) => dep.substring("require".length).trim()) - - - - // collect all deps that are inside `require` blocks - let currentSegmentOfGoMod = goMod - let requirePositionObject = decideRequireBlockIndex(currentSegmentOfGoMod) - while(requirePositionObject.index > -1) { - let depsInsideRequirementsBlock = currentSegmentOfGoMod.substring(requirePositionObject.index + requirePositionObject.startingOffeset).trim(); - let endOfBlockIndex = depsInsideRequirementsBlock.indexOf(")") - let currentIndex = 0 - while(currentIndex < endOfBlockIndex) - { - let endOfLinePosition = depsInsideRequirementsBlock.indexOf(EOL, currentIndex); - let dependency = depsInsideRequirementsBlock.substring(currentIndex, endOfLinePosition) - result.push(dependency.trim()) - currentIndex = endOfLinePosition + 1 - } - currentSegmentOfGoMod = currentSegmentOfGoMod.substring(endOfBlockIndex + 1).trim() - requirePositionObject = decideRequireBlockIndex(currentSegmentOfGoMod) - } - - function decideRequireBlockIndex(goMod) { - let object = {} - let index = goMod.indexOf("require(") - object.startingOffeset = "require(".length - if (index === -1) - { - index = goMod.indexOf("require (") - object.startingOffeset = "require (".length - if(index === -1) - { - index = goMod.indexOf("require (") - object.startingOffeset = "require (".length - } - } - object.index = index - return object - } - return result +function collectAllDepsFromManifest(manifestContent, parser, requireQuery) { + let tree = parser.parse(manifestContent) + return requireQuery.matches(tree.rootNode).map(match => { + let name = match.captures.find(c => c.name === 'name').node.text + let version = match.captures.find(c => c.name === 'version').node.text + return `${name} ${version}` + }) } /** * * @param {string} rootElementName the rootElementName element of go mod graph, to compare only direct deps from go mod graph against go.mod manifest - * @param{[string]} goModGraphOutputRows the goModGraphOutputRows from go mod graph' output - * @param {string }manifest path to go.mod manifest on file system + * @param {string[]} goModGraphOutputRows the goModGraphOutputRows from go mod graph' output + * @param {string} manifestContent go.mod file contents * @private */ -function performManifestVersionsCheck(rootElementName, goModGraphOutputRows, manifest) { - let goMod = fs.readFileSync(manifest).toString().trim() - let lines = goMod.split(getLineSeparatorGolang()); +function performManifestVersionsCheck(rootElementName, goModGraphOutputRows, manifestContent, parser, requireQuery) { let comparisonLines = goModGraphOutputRows.filter((line)=> line.startsWith(rootElementName)).map((line)=> getChildVertexFromEdge(line)) - let manifestDeps = collectAllDepsFromManifest(lines,goMod) + let manifestDeps = collectAllDepsFromManifest(manifestContent, parser, requireQuery) try { comparisonLines.forEach((dependency) => { let parts = dependency.split("@") @@ -224,7 +196,7 @@ function performManifestVersionsCheck(rootElementName, goModGraphOutputRows, man let currentVersion = components[1] if (currentDepName === depName) { if (currentVersion !== version) { - throw new Error(`versions mismatch for dependency name ${depName}, manifest version=${currentVersion}, installed Version=${version}, if you want to allow version mismatch for analysis between installed and requested packages, set environment variable/setting - MATCH_MANIFEST_VERSIONS=false`) + throw new Error(`version mismatch for dependency "${depName}", manifest version=${currentVersion}, installed version=${version}, if you want to allow version mismatch for analysis between installed and requested packages, set environment variable/setting MATCH_MANIFEST_VERSIONS=false`) } } }) @@ -241,10 +213,10 @@ function performManifestVersionsCheck(rootElementName, goModGraphOutputRows, man * @param {string} manifest - path for go.mod * @param {{}} [opts={}] - optional various options to pass along the application * @param {boolean} includeTransitive - whether the sbom should contain transitive dependencies of the main module or not. - * @returns {string} the SBOM json content + * @returns {Promise} the SBOM json content * @private */ -function getSBOM(manifest, opts = {}, includeTransitive) { +async function getSBOM(manifest, opts = {}, includeTransitive) { // get custom goBin path let goBin = getCustomPath('go', opts) // verify goBin is accessible @@ -258,27 +230,45 @@ function getSBOM(manifest, opts = {}, includeTransitive) { } let manifestDir = path.dirname(manifest) try { - var goGraphOutput = invokeCommand(goBin, ['mod', 'graph'], {cwd: manifestDir}).toString() + var goGraphOutput = invokeCommand(goBin, ['mod', 'graph'], {cwd: manifestDir}).toString().trim() } catch(error) { throw new Error('failed to invoke go binary for module graph', {cause: error}) } - let ignoredDeps = getIgnoredDeps(manifest); + + try { + var goModEditOutput = JSON.parse(invokeCommand(goBin, ["mod", "edit", "-json"], {cwd: manifestDir}).toString().trim()) + } catch(error) { + throw new Error('failed to determine root module name', {cause: error}) + } + + let manifestContent = fs.readFileSync(manifest).toString() + let [parser, requireQuery] = await Promise.all([getParser(), getRequireQuery()]); + let ignoredDeps = getIgnoredDeps(manifestContent, parser, requireQuery); let allIgnoredDeps = ignoredDeps.map((dep) => dep.toString()) let sbom = new Sbom(); - let rows = goGraphOutput.split(getLineSeparatorGolang()).filter(line => { - return !line.includes(' go@'); - }); - let root = getParentVertexFromEdge(rows[0]) + let rows = goGraphOutput.split(getLineSeparatorGolang()).filter(line => !line.includes(' go@')); + let root = goModEditOutput['Module']['Path'] + + // Build set of direct dependency paths from go mod edit -json + let directDepPaths = new Set() + if (goModEditOutput['Require']) { + goModEditOutput['Require'].forEach(req => { + if (!req['Indirect']) { + directDepPaths.add(req['Path']) + } + }) + } let matchManifestVersions = getCustom("MATCH_MANIFEST_VERSIONS", "false", opts); if(matchManifestVersions === "true") { - performManifestVersionsCheck(root, rows, manifest) + performManifestVersionsCheck(root, rows, manifestContent, parser, requireQuery) } const mainModule = toPurl(root, "@") - sbom.addRoot(mainModule) - const exhortGoMvsLogicEnabled = getCustom("EXHORT_GO_MVS_LOGIC_ENABLED", "false", opts) + const license = readLicenseFromManifest(manifest); + sbom.addRoot(mainModule, license) + const exhortGoMvsLogicEnabled = getCustom("TRUSTIFY_DA_GO_MVS_LOGIC_ENABLED", "true", opts) if(includeTransitive && exhortGoMvsLogicEnabled === "true") { - rows = getFinalPackagesVersionsForModule(rows,manifest,goBin) + rows = getFinalPackagesVersionsForModule(rows, manifest, goBin) } if (includeTransitive) { let currentParent = "" @@ -289,7 +279,11 @@ function getSBOM(manifest, opts = {}, includeTransitive) { currentParent = getParentVertexFromEdge(row) source = toPurl(currentParent, "@"); } - let target = toPurl(getChildVertexFromEdge(row), "@"); + let child = getChildVertexFromEdge(row) + let target = toPurl(child, "@"); + if (getParentVertexFromEdge(row) === root && !directDepPaths.has(getPackageName(child))) { + return; + } sbom.addDependency(source, target) }) @@ -299,13 +293,15 @@ function getSBOM(manifest, opts = {}, includeTransitive) { } else { let directDependencies = rows.filter(row => row.startsWith(root)); directDependencies.forEach(pair => { - let dependency = getChildVertexFromEdge(pair) - let depPurl = toPurl(dependency, "@"); - if(dependencyNotIgnored(ignoredDeps, depPurl)) { - sbom.addDependency(mainModule, depPurl) + let child = getChildVertexFromEdge(pair) + let target = toPurl(child, "@"); + if(dependencyNotIgnored(ignoredDeps, target)) { + if (directDepPaths.has(getPackageName(child))) { + sbom.addDependency(mainModule, target) + } } }) - enforceRemovingIgnoredDepsInCaseOfAutomaticVersionUpdate(ignoredDeps,sbom) + enforceRemovingIgnoredDepsInCaseOfAutomaticVersionUpdate(ignoredDeps, sbom) } return sbom.getAsJsonString(opts) @@ -315,7 +311,7 @@ function getSBOM(manifest, opts = {}, includeTransitive) { /** * Utility function for creating Purl String - * @param {string }dependency the name of the artifact, can include a namespace(group) or not - namespace/artifactName. + * @param {string} dependency the name of the artifact, can include a namespace(group) or not - namespace/artifactName. * @param {RegExp} delimiter delimiter between name of dependency and version * @private * @returns {PackageURL|null} PackageUrl Object ready to be used in SBOM @@ -327,7 +323,7 @@ function toPurl(dependency, delimiter) { let splitParts = dependency.split(delimiter); pkg = new PackageURL(ecosystem, undefined, splitParts[0], splitParts[1], undefined, undefined) } else { - let namespace = dependency.slice(0,lastSlashIndex) + let namespace = dependency.slice(0, lastSlashIndex) let dependencyAndVersion = dependency.slice(lastSlashIndex+1) let parts = dependencyAndVersion.split(delimiter); if(parts.length === 2 ) { @@ -339,14 +335,14 @@ function toPurl(dependency, delimiter) { return pkg } -/** This function gets rows from go mod graph , and go.mod graph, and selecting for all +/** This function gets rows from go mod graph, and go.mod graph, and selecting for all * packages the has more than one minor the final versions as selected by golang MVS algorithm. - * @param {[string]}rows all the rows from go modules dependency tree + * @param {string[]} rows all the rows from go modules dependency tree * @param {string} manifestPath the path of the go.mod file * @param {string} path to go binary - * @return {[string]} rows that contains final versions. + * @return {string[]} rows that contains final versions. */ -function getFinalPackagesVersionsForModule(rows,manifestPath,goBin) { +function getFinalPackagesVersionsForModule(rows, manifestPath, goBin) { let manifestDir = path.dirname(manifestPath) let options = {cwd: manifestDir} // TODO: determine whether this is necessary @@ -372,15 +368,25 @@ function getFinalPackagesVersionsForModule(rows,manifestPath,goBin) { let childName = getPackageName(child) let parentFinalVersion = finalVersionModules[parentName] let childFinalVersion = finalVersionModules[childName] - // if this condition will be uncommented, there will be several differences between sbom and go list -m all listing... - // let parentOriginalVersion = getVersionOfPackage(parent) - // if( parentOriginalVersion !== undefined && parentOriginalVersion === parentFinalVersion) { - if (parentName !== parent) { - finalVersionModulesArray.push(`${parentName}@${parentFinalVersion} ${childName}@${childFinalVersion}`) + + // Handle special cases for go and toolchain modules that aren't in go list -m all + if (isSpecialGoModule(parentName) || isSpecialGoModule(childName)) { + // For go and toolchain modules, use the original versions from the graph + let parentVersion = getVersionOfPackage(parent) + let childVersion = getVersionOfPackage(child) + if (parentName !== parent) { + finalVersionModulesArray.push(`${parentName}@${parentVersion} ${childName}@${childVersion}`) + } else { + finalVersionModulesArray.push(`${parentName} ${childName}@${childVersion}`) + } } else { - finalVersionModulesArray.push(`${parentName} ${childName}@${childFinalVersion}`) + // For regular modules, use MVS logic + if (parentName !== parent) { + finalVersionModulesArray.push(`${parentName}@${parentFinalVersion} ${childName}@${childFinalVersion}`) + } else { + finalVersionModulesArray.push(`${parentName} ${childName}@${childFinalVersion}`) + } } - // } }) return finalVersionModulesArray @@ -389,13 +395,34 @@ function getFinalPackagesVersionsForModule(rows,manifestPath,goBin) { /** * * @param {string} fullPackage - full package with its name and version - * @return -{string} package name only + * @return {string} package name only * @private */ function getPackageName(fullPackage) { return fullPackage.split("@")[0] } +/** + * Check if a module name is a special Go module (go or toolchain) + * @param {string} moduleName - the module name to check + * @return {boolean} true if it's a special Go module + * @private + */ +function isSpecialGoModule(moduleName) { + return moduleName === 'go' || moduleName === 'toolchain'; +} + +/** + * + * @param {string} fullPackage - full package with its name and version + * @return {string|undefined} package version only + * @private + */ +function getVersionOfPackage(fullPackage) { + let parts = fullPackage.split("@") + return parts.length > 1 ? parts[1] : undefined +} + function getLineSeparatorGolang() { let reg = /\n|\r\n/ return reg diff --git a/src/providers/gomod_parser.js b/src/providers/gomod_parser.js new file mode 100644 index 00000000..4a0e8e21 --- /dev/null +++ b/src/providers/gomod_parser.js @@ -0,0 +1,21 @@ +import { readFile } from 'node:fs/promises'; + +import { Language, Parser, Query } from 'web-tree-sitter'; + +const wasmUrl = new URL('./tree-sitter-gomod.wasm', import.meta.url); + +async function init() { + await Parser.init(); + const wasmBytes = new Uint8Array(await readFile(wasmUrl)); + return await Language.load(wasmBytes); +} + +export async function getParser() { + const language = await init(); + return new Parser().setLanguage(language); +} + +export async function getRequireQuery() { + const language = await init(); + return new Query(language, '(require_spec (module_path) @name (version) @version) @spec'); +} diff --git a/src/providers/java_gradle.js b/src/providers/java_gradle.js index e47f2581..f7095dac 100644 --- a/src/providers/java_gradle.js +++ b/src/providers/java_gradle.js @@ -4,6 +4,7 @@ import { EOL } from 'os' import TOML from 'fast-toml' +import { readLicenseFile } from '../license/license_utils.js' import Sbom from '../sbom.js' import Base_java, { ecosystem_gradle } from "./base_java.js"; @@ -17,8 +18,8 @@ import Base_java, { ecosystem_gradle } from "./base_java.js"; const ROOT_PROJECT_KEY_NAME = "root-project"; -const EXHORT_IGNORE_REGEX_LINE = /.*\s?exhortignore\s*$/g -const EXHORT_IGNORE_REGEX = /\/\/\s?exhortignore/ +const TRUSTIFY_DA_IGNORE_REGEX_LINE = /.*\s?exhortignore\s*$/g +const TRUSTIFY_DA_IGNORE_REGEX = /\/\/\s?exhortignore/ /** * Check if the dependency marked for exclusion has libs notation , so if it's true the rest of coordinates( GAV) should be fetched from TOML file. @@ -69,6 +70,14 @@ export default class Java_gradle extends Base_java { */ validateLockFile() { return true; } + /** + * Gradle manifests (build.gradle, build.gradle.kts) have no standard license field. + * @param {string} manifestPath - path to manifest + * @returns {null} + */ + // eslint-disable-next-line no-unused-vars + readLicenseFromManifest(manifestPath) { return readLicenseFile(manifestPath); } + /** * Provide content and content type for stack analysis. * @param {string} manifest - the manifest path or name @@ -191,7 +200,8 @@ export default class Java_gradle extends Base_java { let sbom = new Sbom(); let root = `${properties.group}:${properties[ROOT_PROJECT_KEY_NAME].match(/Root project '(.+)'/)[1]}:jar:${properties.version}` let rootPurl = this.parseDep(root) - sbom.addRoot(rootPurl) + const license = this.readLicenseFromManifest(manifestPath); + sbom.addRoot(rootPurl, license) let ignoredDeps = this.#getIgnoredDeps(manifestPath); const [runtimeConfig, compileConfig] = this.#extractConfigurations(content); @@ -215,7 +225,7 @@ export default class Java_gradle extends Base_java { let content = this.#getDependencies(manifest, opts) let properties = this.#extractProperties(manifest, opts) // read dependency tree from temp file - if (process.env["EXHORT_DEBUG"] === "true") { + if (process.env["TRUSTIFY_DA_DEBUG"] === "true") { console.log("Dependency tree that will be used as input for creating the BOM =>" + EOL + EOL + content) } let sbom = this.#buildSbom(content, properties, manifest, opts) @@ -231,7 +241,7 @@ export default class Java_gradle extends Base_java { #extractProperties(manifestPath, opts) { let properties = {} let propertiesContent = this.#getProperties(manifestPath, opts) - let regExpMatchArray = propertiesContent.match(/([^:]+):\s+(.+)/g); + let regExpMatchArray = propertiesContent.match(/([^\n:]+):[\t ]*(.*)/g); for (let i = 0; i < regExpMatchArray.length - 1; i++) { let parts = regExpMatchArray[i].split(":"); properties[parts[0].trim()] = parts[1].trim() @@ -345,7 +355,8 @@ export default class Java_gradle extends Base_java { let sbom = new Sbom(); let root = `${properties.group}:${properties[ROOT_PROJECT_KEY_NAME].match(/Root project '(.+)'/)[1]}:jar:${properties.version}` let rootPurl = this.parseDep(root) - sbom.addRoot(rootPurl) + const license = this.readLicenseFromManifest(manifestPath); + sbom.addRoot(rootPurl, license) let ignoredDeps = this.#getIgnoredDeps(manifestPath); const [runtimeConfig, compileConfig] = this.#extractConfigurations(content); @@ -381,9 +392,9 @@ export default class Java_gradle extends Base_java { #getIgnoredDeps(manifestPath) { let buildGradleLines = fs.readFileSync(manifestPath).toString().split(EOL) let ignored = - buildGradleLines.filter(line => line && line.match(EXHORT_IGNORE_REGEX_LINE)) + buildGradleLines.filter(line => line && line.match(TRUSTIFY_DA_IGNORE_REGEX_LINE)) .map(line => line.indexOf("/*") === -1 ? line : line.substring(0, line.indexOf("/*"))) - .map(line => line.trim().substring(0, line.trim().search(EXHORT_IGNORE_REGEX))) + .map(line => line.trim().substring(0, line.trim().search(TRUSTIFY_DA_IGNORE_REGEX))) let depsToIgnore = new Array ignored.forEach(depToBeIgnored => { diff --git a/src/providers/java_maven.js b/src/providers/java_maven.js index 31d5c5aa..0e827172 100644 --- a/src/providers/java_maven.js +++ b/src/providers/java_maven.js @@ -5,7 +5,9 @@ import { EOL } from 'os' import { XMLParser } from 'fast-xml-parser' +import { getLicense } from '../license/license_utils.js' import Sbom from '../sbom.js' +import { getCustom } from '../tools.js' import Base_java, { ecosystem_maven } from "./base_java.js"; @@ -27,14 +29,13 @@ export default class Java_maven extends Base_java { * @param {string} manifestName - the subject manifest name-type * @returns {boolean} - return true if `pom.xml` is the manifest name-type */ - isSupported(manifestName) { return 'pom.xml' === manifestName } /** * @param {string} manifestDir - the directory where the manifest lies - */ + */ validateLockFile() { return true; } /** @@ -43,8 +44,6 @@ export default class Java_maven extends Base_java { * @param {{}} [opts={}] - optional various options to pass along the application * @returns {Provided} */ - - provideStack(manifest, opts = {}) { return { ecosystem: ecosystem_maven, @@ -59,7 +58,6 @@ export default class Java_maven extends Base_java { * @param {{}} [opts={}] - optional various options to pass along the application * @returns {Provided} */ - provideComponent(manifest, opts = {}) { return { ecosystem: ecosystem_maven, @@ -68,6 +66,30 @@ export default class Java_maven extends Base_java { } } + /** + * Read license from pom.xml manifest, with fallback to LICENSE file + * @param {string} manifestPath - path to pom.xml + * @returns {string|null} + */ + readLicenseFromManifest(manifestPath) { + let fromPom = null; + try { + const xml = fs.readFileSync(manifestPath, 'utf-8'); + const parser = new XMLParser({ ignoreAttributes: false }); + const obj = parser.parse(xml); + const project = obj?.project; + if (project?.licenses?.license) { + const license = Array.isArray(project.licenses.license) + ? project.licenses.license[0] + : project.licenses.license; + fromPom = (license?.name && license.name.trim()) || null; + } + } catch { + // leave fromPom as null + } + return getLicense(fromPom, manifestPath); + } + /** * Create a Dot Graph dependency tree for a manifest path. * @param {string} manifest - path for pom.xml @@ -78,20 +100,24 @@ export default class Java_maven extends Base_java { #createSbomStackAnalysis(manifest, opts = {}) { const manifestDir = path.dirname(manifest) const mvn = this.selectToolBinary(manifest, opts) + const mvnArgs = JSON.parse(getCustom('TRUSTIFY_DA_MVN_ARGS', '[]', opts)); + if (!Array.isArray(mvnArgs)) { + throw new Error(`configured maven args is not an array, is a ${typeof mvnArgs}`) + } // clean maven target try { - this._invokeCommand(mvn, ['-q', 'clean'], {cwd: manifestDir}) + this._invokeCommand(mvn, ['-q', 'clean', ...mvnArgs], { cwd: manifestDir }) } catch (error) { - throw new Error(`failed to clean maven target`, {cause: error}) + throw new Error(`failed to clean maven target`, { cause: error }) } // create dependency graph in a temp file - let tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'exhort_')) + let tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'trustify_da_')) let tmpDepTree = path.join(tmpDir, 'mvn_deptree.txt') // build initial command (dot outputType is not available for verbose mode) let depTreeCmdArgs = ['-q', 'org.apache.maven.plugins:maven-dependency-plugin:3.6.0:tree', - '-Dscope=compile','-Dverbose', + '-Dscope=compile', '-Dverbose', '-DoutputType=text', `-DoutputFile=${tmpDepTree}`] // exclude ignored dependencies, exclude format is groupId:artifactId:scope:version. // version and scope are marked as '*' if not specified (we do not use scope yet) @@ -104,23 +130,23 @@ export default class Java_maven extends Base_java { ignoredDeps.push(this.toPurl(dep.groupId, dep.artifactId)) } }) - if(ignoredArgs.length > 0) { + if (ignoredArgs.length > 0) { depTreeCmdArgs.push(`-Dexcludes=${ignoredArgs.join(',')}`) } // execute dependency tree command try { - this._invokeCommand(mvn, depTreeCmdArgs, {cwd: manifestDir}) + this._invokeCommand(mvn, [...depTreeCmdArgs, ...mvnArgs], { cwd: manifestDir }) } catch (error) { - throw new Error(`failed creating maven dependency tree`, {cause: error}) + throw new Error(`failed creating maven dependency tree`, { cause: error }) } // read dependency tree from temp file let content = fs.readFileSync(tmpDepTree) - if (process.env["EXHORT_DEBUG"] === "true") { + if (process.env["TRUSTIFY_DA_DEBUG"] === "true") { console.error("Dependency tree that will be used as input for creating the BOM =>" + EOL + EOL + content.toString()) } - let sbom = this.createSbomFileFromTextFormat(content.toString(), ignoredDeps, opts); + let sbom = this.createSbomFileFromTextFormat(content.toString(), ignoredDeps, opts, manifest); // delete temp file and directory - fs.rmSync(tmpDir, {recursive: true, force: true}) + fs.rmSync(tmpDir, { recursive: true, force: true }) // return dependency graph as string return sbom } @@ -129,15 +155,17 @@ export default class Java_maven extends Base_java { * * @param {String} textGraphList Text graph String of the manifest * @param {[String]} ignoredDeps List of ignored dependencies to be omitted from sbom + * @param {String} manifestPath Path to the pom.xml manifest * @return {String} formatted sbom Json String with all dependencies */ - createSbomFileFromTextFormat(textGraphList, ignoredDeps, opts) { + createSbomFileFromTextFormat(textGraphList, ignoredDeps, opts, manifestPath) { let lines = textGraphList.split(EOL); // get root component let root = lines[0]; let rootPurl = this.parseDep(root); + const license = this.readLicenseFromManifest(manifestPath); let sbom = new Sbom(); - sbom.addRoot(rootPurl); + sbom.addRoot(rootPurl, license); this.parseDependencyTree(root, 0, lines.slice(1), sbom); return sbom.filterIgnoredDeps(ignoredDeps).getAsJsonString(opts); } @@ -150,14 +178,18 @@ export default class Java_maven extends Base_java { */ #getSbomForComponentAnalysis(manifestPath, opts = {}) { const mvn = this.selectToolBinary(manifestPath, opts) + const mvnArgs = JSON.parse(getCustom('TRUSTIFY_DA_MVN_ARGS', '[]', opts)); + if (!Array.isArray(mvnArgs)) { + throw new Error(`configured maven args is not an array, is a ${typeof mvnArgs}`) + } const tmpEffectivePom = path.resolve(path.join(path.dirname(manifestPath), 'effective-pom.xml')) // create effective pom and save to temp file try { - this._invokeCommand(mvn, ['-q', 'help:effective-pom', `-Doutput=${tmpEffectivePom}`], {cwd: path.dirname(manifestPath)}) + this._invokeCommand(mvn, ['-q', 'help:effective-pom', `-Doutput=${tmpEffectivePom}`, ...mvnArgs], { cwd: path.dirname(manifestPath) }) } catch (error) { - throw new Error(`failed creating maven effective pom`, {cause: error}) + throw new Error(`failed creating maven effective pom`, { cause: error }) } // iterate over all dependencies in original pom and collect all ignored ones let ignored = this.#getDependencies(manifestPath).filter(d => d.ignore) @@ -168,7 +200,8 @@ export default class Java_maven extends Base_java { let sbom = new Sbom(); let rootDependency = this.#getRootFromPom(tmpEffectivePom, manifestPath); let purlRoot = this.toPurl(rootDependency.groupId, rootDependency.artifactId, rootDependency.version) - sbom.addRoot(purlRoot) + const license = this.readLicenseFromManifest(manifestPath); + sbom.addRoot(purlRoot, license) dependencies.forEach(dep => { let currentPurl = this.toPurl(dep.groupId, dep.artifactId, dep.version) sbom.addDependency(purlRoot, currentPurl) diff --git a/src/providers/javascript_pnpm.js b/src/providers/javascript_pnpm.js index 9cb723f5..142add02 100644 --- a/src/providers/javascript_pnpm.js +++ b/src/providers/javascript_pnpm.js @@ -18,8 +18,8 @@ export default class Javascript_pnpm extends Base_javascript { return ['install', '--frozen-lockfile']; } - _buildDependencyTree(includeTransitive, manifest) { - const tree = super._buildDependencyTree(includeTransitive, manifest); + _buildDependencyTree(includeTransitive, opts = {}) { + const tree = super._buildDependencyTree(includeTransitive, opts); if (Array.isArray(tree) && tree.length > 0) { return tree[0]; } diff --git a/src/providers/javascript_yarn.js b/src/providers/javascript_yarn.js index 7756472f..9d1c8e13 100644 --- a/src/providers/javascript_yarn.js +++ b/src/providers/javascript_yarn.js @@ -35,6 +35,7 @@ export default class Javascript_yarn extends Base_javascript { } const isClassic = matches[1] === '1'; + this._setEcosystem(isClassic ? 'yarn-classic' : 'yarn-berry'); this.#processor = isClassic ? new Yarn_classic_processor(this._getManifest()) : new Yarn_berry_processor(this._getManifest()); } diff --git a/src/providers/manifest.js b/src/providers/manifest.js index 3b283c62..fe96699a 100644 --- a/src/providers/manifest.js +++ b/src/providers/manifest.js @@ -12,6 +12,8 @@ export default class Manifest { this.manifestPath = manifestPath; const content = this.loadManifest(); this.dependencies = this.loadDependencies(content); + this.peerDependencies = content.peerDependencies || {}; + this.optionalDependencies = content.optionalDependencies || {}; this.name = content.name; this.version = content.version || DEFAULT_VERSION; this.ignored = this.loadIgnored(content); @@ -30,11 +32,27 @@ export default class Manifest { loadDependencies(content) { let deps = []; - if(!content.dependencies) { - return deps; + const depSources = [ + content.dependencies, + content.peerDependencies, + content.optionalDependencies, + ]; + for (const source of depSources) { + if (source) { + for (let dep in source) { + if (!deps.includes(dep)) { + deps.push(dep); + } + } + } } - for(let dep in content.dependencies) { - deps.push(dep); + // bundledDependencies is an array of package names (subset of dependencies) + if (Array.isArray(content.bundledDependencies)) { + for (const dep of content.bundledDependencies) { + if (!deps.includes(dep)) { + deps.push(dep); + } + } } return deps; } diff --git a/src/providers/processors/yarn_berry_processor.js b/src/providers/processors/yarn_berry_processor.js index b8854079..7da52689 100644 --- a/src/providers/processors/yarn_berry_processor.js +++ b/src/providers/processors/yarn_berry_processor.js @@ -1,7 +1,7 @@ import { EOL } from 'os'; import { toPurl, toPurlFromString } from "../../tools.js"; -import { ecosystem } from "../base_javascript.js"; +import { purlType } from "../base_javascript.js"; import Yarn_processor from "./yarn_processor.js"; @@ -58,15 +58,15 @@ export default class Yarn_berry_processor extends Yarn_processor { } return new Map( - depTree.filter(dep => !this.#isRoot(dep.value)).map( - dep => { + depTree.filter(dep => !this.#isRoot(dep.value)) + .map(dep => { const depName = dep.value; const idx = depName.lastIndexOf('@'); const name = depName.substring(0, idx); const version = dep.children.Version; - return [name, toPurl(ecosystem, name, version)]; - } - ) + return [name, toPurl(purlType, name, version)]; + }) + .filter(([name]) => this._manifest.dependencies.includes(name)) ); } @@ -93,12 +93,56 @@ export default class Yarn_berry_processor extends Yarn_processor { return; } + // Build index of nodes by their value for quick lookup + const nodeIndex = new Map(); + depTree.forEach(n => nodeIndex.set(n.value, n)); + + // Determine the set of node values reachable from root via production deps + const prodDeps = new Set(this._manifest.dependencies); + const reachable = new Set(); + const queue = []; + + // Seed with root's production dependencies + const rootNode = depTree.find(n => this.#isRoot(n.value)); + if (rootNode?.children?.Dependencies) { + for (const d of rootNode.children.Dependencies) { + const to = this.#purlFromLocator(d.locator); + if (to) { + const fullName = to.namespace ? `${to.namespace}/${to.name}` : to.name; + if (prodDeps.has(fullName)) { + queue.push(d.locator); + } + } + } + } + + // BFS to find all transitively reachable packages + while (queue.length > 0) { + const locator = queue.shift(); + if (reachable.has(locator)) {continue;} + reachable.add(locator); + + const node = nodeIndex.get(this.#nodeValueFromLocator(locator)); + if (node?.children?.Dependencies) { + for (const d of node.children.Dependencies) { + if (!reachable.has(d.locator)) { + queue.push(d.locator); + } + } + } + } + + // Only emit edges for root and reachable nodes depTree.forEach(n => { const depName = n.value; - const from = this.#isRoot(depName) ? toPurlFromString(sbom.getRoot().purl) : this.#purlFromNode(depName, n); + const isRoot = this.#isRoot(depName); + if (!isRoot && !this.#isReachableNode(depName, reachable)) {return;} + + const from = isRoot ? toPurlFromString(sbom.getRoot().purl) : this.#purlFromNode(depName, n); const deps = n.children?.Dependencies; if(!deps) {return;} deps.forEach(d => { + if (!reachable.has(d.locator)) {return;} const to = this.#purlFromLocator(d.locator); if(to) { sbom.addDependency(from, to); @@ -107,6 +151,37 @@ export default class Yarn_berry_processor extends Yarn_processor { }) } + /** + * Converts a locator to the node value format used in yarn info output + * @param {string} locator - e.g. "express@npm:4.17.1" + * @returns {string} The node value, same as locator for non-virtual + * @private + */ + #nodeValueFromLocator(locator) { + // Virtual locators: "@scope/name@virtual:hash#npm:version" โ†’ "@scope/name@npm:version" + const virtualMatch = Yarn_berry_processor.VIRTUAL_LOCATOR_PATTERN.exec(locator); + if (virtualMatch) { + return `${virtualMatch[1]}@npm:${virtualMatch[2]}`; + } + return locator; + } + + /** + * Checks if a node is in the reachable set by matching its value against reachable locators + * @param {string} depName - The node value (e.g. "express@npm:4.17.1") + * @param {Set} reachable - Set of reachable locators + * @returns {boolean} + * @private + */ + #isReachableNode(depName, reachable) { + if (reachable.has(depName)) {return true;} + // Check if any reachable locator resolves to this node value + for (const locator of reachable) { + if (this.#nodeValueFromLocator(locator) === depName) {return true;} + } + return false; + } + /** * Creates a PackageURL from a dependency locator * @param {string} locator - The dependency locator @@ -120,12 +195,12 @@ export default class Yarn_berry_processor extends Yarn_processor { const matches = Yarn_berry_processor.LOCATOR_PATTERN.exec(locator); if (matches) { - return toPurl(ecosystem, matches[1], matches[2]); + return toPurl(purlType, matches[1], matches[2]); } const virtualMatches = Yarn_berry_processor.VIRTUAL_LOCATOR_PATTERN.exec(locator); if (virtualMatches) { - return toPurl(ecosystem, virtualMatches[1], virtualMatches[2]); + return toPurl(purlType, virtualMatches[1], virtualMatches[2]); } return undefined; @@ -145,6 +220,6 @@ export default class Yarn_berry_processor extends Yarn_processor { const name = depName.substring(0, depName.lastIndexOf('@')); const version = node.children.Version; - return toPurl(ecosystem, name, version); + return toPurl(purlType, name, version); } } diff --git a/src/providers/processors/yarn_classic_processor.js b/src/providers/processors/yarn_classic_processor.js index 4f7c910b..baa17d41 100644 --- a/src/providers/processors/yarn_classic_processor.js +++ b/src/providers/processors/yarn_classic_processor.js @@ -1,5 +1,5 @@ import { toPurl, toPurlFromString } from "../../tools.js"; -import { ecosystem } from "../base_javascript.js"; +import { purlType } from "../base_javascript.js"; import Yarn_processor from "./yarn_processor.js"; @@ -52,7 +52,7 @@ export default class Yarn_classic_processor extends Yarn_processor { const idx = depName.lastIndexOf('@'); const name = depName.substring(0, idx); const version = idx !== -1 ? depName.substring(idx + 1) : ''; - return [name, toPurl(ecosystem, name, version)]; + return [name, toPurl(purlType, name, version)]; } ) ) @@ -119,7 +119,7 @@ class NodeMetaData { const idx = this.nodeName.lastIndexOf('@'); this.name = this.nodeName.substring(0, idx); this.version = idx !== -1 ? this.nodeName.substring(idx + 1) : ''; - this.purl = toPurl(ecosystem, this.name, this.version); + this.purl = toPurl(purlType, this.name, this.version); const shadowNode = node.shadow; this.shadow = shadowNode ? shadowNode : false; } diff --git a/src/providers/python_controller.js b/src/providers/python_controller.js index a0c115e3..1b6cff2d 100644 --- a/src/providers/python_controller.js +++ b/src/providers/python_controller.js @@ -1,12 +1,14 @@ import fs from "node:fs"; import path from 'node:path'; -import os, {EOL} from "os"; +import os, { EOL } from "os"; -import {environmentVariableIsPopulated,getCustom, invokeCommand} from "../tools.js"; +import { environmentVariableIsPopulated, getCustom, invokeCommand } from "../tools.js"; + +import { getParser, getRequirementQuery, getPinnedVersionQuery } from './requirements_parser.js'; function getPipFreezeOutput() { try { - return environmentVariableIsPopulated("EXHORT_PIP_FREEZE") ? new Buffer.from(process.env["EXHORT_PIP_FREEZE"], 'base64').toString('ascii') : invokeCommand(this.pathToPipBin, ['freeze', '--all']).toString(); + return environmentVariableIsPopulated("TRUSTIFY_DA_PIP_FREEZE") ? new Buffer.from(process.env["TRUSTIFY_DA_PIP_FREEZE"], 'base64').toString('ascii') : invokeCommand(this.pathToPipBin, ['freeze', '--all']).toString(); } catch (error) { throw new Error('Failed invoking \'pip freeze\' to list all installed packages in environment', {cause: error}) } @@ -14,7 +16,7 @@ function getPipFreezeOutput() { function getPipShowOutput(depNames) { try { - return environmentVariableIsPopulated("EXHORT_PIP_SHOW") ? new Buffer.from(process.env["EXHORT_PIP_SHOW"], 'base64').toString('ascii') : invokeCommand(this.pathToPipBin, ['show', ...depNames]).toString(); + return environmentVariableIsPopulated("TRUSTIFY_DA_PIP_SHOW") ? new Buffer.from(process.env["TRUSTIFY_DA_PIP_SHOW"], 'base64').toString('ascii') : invokeCommand(this.pathToPipBin, ['show', ...depNames]).toString(); } catch (error) { throw new Error('fail invoking \'pip show\' to fetch metadata for all installed packages in environment', {cause: error}) } @@ -23,13 +25,15 @@ function getPipShowOutput(depNames) { /** @typedef {{name: string, version: string, dependencies: DependencyEntry[]}} DependencyEntry */ export default class Python_controller { - pythonEnvDir pathToPipBin pathToPythonBin realEnvironment pathToRequirements options + parser + requirementsQuery + pinnedVersionQuery /** * Constructor to create new python controller instance to interact with pip package manager @@ -39,17 +43,21 @@ export default class Python_controller { * @param {string} pathToRequirements * @ */ - constructor(realEnvironment,pathToPip,pathToPython,pathToRequirements,options={}) { + constructor(realEnvironment, pathToPip, pathToPython, pathToRequirements, options={}) { this.pathToPythonBin = pathToPython this.pathToPipBin = pathToPip this.realEnvironment= realEnvironment this.prepareEnvironment() this.pathToRequirements = pathToRequirements this.options = options + this.parser = getParser() + this.requirementsQuery = getRequirementQuery() + this.pinnedVersionQuery = getPinnedVersionQuery() } + prepareEnvironment() { if(!this.realEnvironment) { - this.pythonEnvDir = path.join(path.sep, "tmp", "exhort_env_js") + this.pythonEnvDir = path.join(path.sep, "tmp", "trustify_da_env_js") try { invokeCommand(this.pathToPythonBin, ['-m', 'venv', this.pythonEnvDir]) } catch (error) { @@ -87,6 +95,24 @@ export default class Python_controller { } } + /** + * Parse the requirements.txt file using tree-sitter and return structured requirement data. + * @return {Promise<{name: string, version: string|null}[]>} + */ + async #parseRequirements() { + const content = fs.readFileSync(this.pathToRequirements).toString(); + const tree = (await this.parser).parse(content); + return Promise.all((await this.requirementsQuery).matches(tree.rootNode).map(async (match) => { + const reqNode = match.captures.find(c => c.name === 'req').node; + const name = match.captures.find(c => c.name === 'name').node.text; + const versionMatches = (await this.pinnedVersionQuery).matches(reqNode); + const version = versionMatches.length > 0 + ? versionMatches[0].captures.find(c => c.name === 'version').node.text + : null; + return { name, version }; + })); + } + #decideIfWindowsOrLinuxPath(fileName) { if (os.platform() === "win32") { return fileName + ".exe" @@ -97,17 +123,17 @@ export default class Python_controller { /** * * @param {boolean} includeTransitive - whether to return include in returned object transitive dependencies or not - * @return {[DependencyEntry]} + * @return {Promise<[DependencyEntry]>} */ - getDependencies(includeTransitive) { + async getDependencies(includeTransitive) { let startingTime let endingTime - if (process.env["EXHORT_DEBUG"] === "true") { + if (process.env["TRUSTIFY_DA_DEBUG"] === "true") { startingTime = new Date() console.log("Starting time to get requirements.txt dependency tree = " + startingTime) } if(!this.realEnvironment) { - let installBestEfforts = getCustom("EXHORT_PYTHON_INSTALL_BEST_EFFORTS","false",this.options); + let installBestEfforts = getCustom("TRUSTIFY_DA_PYTHON_INSTALL_BEST_EFFORTS","false",this.options); if(installBestEfforts === "false") { try { invokeCommand(this.pathToPipBin, ['install', '-r', this.pathToRequirements]) @@ -121,14 +147,14 @@ export default class Python_controller { else { let matchManifestVersions = getCustom("MATCH_MANIFEST_VERSIONS","true",this.options); if(matchManifestVersions === "true") { - throw new Error("Conflicting settings, EXHORT_PYTHON_INSTALL_BEST_EFFORTS=true can only work with MATCH_MANIFEST_VERSIONS=false") + throw new Error("Conflicting settings, TRUSTIFY_DA_PYTHON_INSTALL_BEST_EFFORTS=true can only work with MATCH_MANIFEST_VERSIONS=false") } - this.#installingRequirementsOneByOne() + await this.#installingRequirementsOneByOne() } } - let dependencies = this.#getDependenciesImpl(includeTransitive) + let dependencies = await this.#getDependenciesImpl(includeTransitive) this.#cleanEnvironment() - if (process.env["EXHORT_DEBUG"] === "true") { + if (process.env["TRUSTIFY_DA_DEBUG"] === "true") { endingTime = new Date() console.log("Ending time to get requirements.txt dependency tree = " + endingTime) let time = ( endingTime - startingTime ) / 1000 @@ -137,15 +163,13 @@ export default class Python_controller { return dependencies } - #installingRequirementsOneByOne() { - let requirementsContent = fs.readFileSync(this.pathToRequirements); - let requirementsRows = requirementsContent.toString().split(EOL); - requirementsRows.filter((line) => !line.trim().startsWith("#")).filter((line) => line.trim() !== "").forEach( (dependency) => { - let dependencyName = getDependencyName(dependency); + async #installingRequirementsOneByOne() { + const requirements = await this.#parseRequirements(); + requirements.forEach(({name}) => { try { - invokeCommand(this.pathToPipBin, ['install', dependencyName]) + invokeCommand(this.pathToPipBin, ['install', name]) } catch (error) { - throw new Error(`Failed in best-effort installing ${dependencyName} in virtual python environment`, {cause: error}) + throw new Error(`Failed in best-effort installing ${name} in virtual python environment`, {cause: error}) } }) } @@ -162,44 +186,33 @@ export default class Python_controller { } } - #getDependenciesImpl(includeTransitive) { - let dependencies = new Array() - let usePipDepTree = getCustom("EXHORT_PIP_USE_DEP_TREE","false",this.options); - let freezeOutput - let lines - let depNames - let pipShowOutput + async #getDependenciesImpl(includeTransitive) { + let dependencies = [] + let usePipDepTree = getCustom("TRUSTIFY_DA_PIP_USE_DEP_TREE","false",this.options); let allPipShowDeps let pipDepTreeJsonArrayOutput if(usePipDepTree !== "true") { - freezeOutput = getPipFreezeOutput.call(this); - lines = freezeOutput.split(EOL) - depNames = lines.map( line => getDependencyName(line)) - } - else { - pipDepTreeJsonArrayOutput = getDependencyTreeJsonFromPipDepTree(this.pathToPipBin,this.pathToPythonBin) - } - - - if(usePipDepTree !== "true") { - pipShowOutput = getPipShowOutput.call(this, depNames); + const freezeOutput = getPipFreezeOutput.call(this); + const lines = freezeOutput.split(EOL) + const depNames = lines.map( line => getDependencyName(line)) + const pipShowOutput = getPipShowOutput.call(this, depNames); allPipShowDeps = pipShowOutput.split( EOL + "---" + EOL); + } else { + pipDepTreeJsonArrayOutput = getDependencyTreeJsonFromPipDepTree(this.pathToPipBin,this.pathToPythonBin) } - //debug - // pipShowOutput = "alternative pip show output goes here for debugging" let matchManifestVersions = getCustom("MATCH_MANIFEST_VERSIONS","true",this.options); - let linesOfRequirements = fs.readFileSync(this.pathToRequirements).toString().split(EOL).filter( (line) => !line.trim().startsWith("#")).map(line => line.trim()) + let parsedRequirements = await this.#parseRequirements() let CachedEnvironmentDeps = {} if(usePipDepTree !== "true") { - allPipShowDeps.forEach((record) => { + allPipShowDeps.forEach(record => { let dependencyName = getDependencyNameShow(record).toLowerCase() CachedEnvironmentDeps[dependencyName] = record CachedEnvironmentDeps[dependencyName.replace("-", "_")] = record CachedEnvironmentDeps[dependencyName.replace("_", "-")] = record }) } else { - pipDepTreeJsonArrayOutput.forEach( depTreeEntry => { + pipDepTreeJsonArrayOutput.forEach(depTreeEntry => { let packageName = depTreeEntry["package"]["package_name"].toLowerCase() let pipDepTreeEntryForCache = { name: packageName, @@ -211,41 +224,25 @@ export default class Python_controller { CachedEnvironmentDeps[packageName.replace("_", "-")] = pipDepTreeEntryForCache }) } - linesOfRequirements.forEach( (dep) => { - // if matchManifestVersions setting is turned on , then - if(matchManifestVersions === "true") { - let dependencyName - let manifestVersion + parsedRequirements.forEach(({ name: depName, version: manifestVersion }) => { + if(matchManifestVersions === "true" && manifestVersion != null) { let installedVersion - let doubleEqualSignPosition - if(dep.includes("==")) { - doubleEqualSignPosition = dep.indexOf("==") - manifestVersion = dep.substring(doubleEqualSignPosition + 2).trim() - if(manifestVersion.includes("#")) { - let hashCharIndex = manifestVersion.indexOf("#"); - manifestVersion = manifestVersion.substring(0,hashCharIndex) + if(CachedEnvironmentDeps[depName.toLowerCase()] !== undefined) { + if(usePipDepTree !== "true") { + installedVersion = getDependencyVersion(CachedEnvironmentDeps[depName.toLowerCase()]) + } else { + installedVersion = CachedEnvironmentDeps[depName.toLowerCase()].version } - dependencyName = getDependencyName(dep) - // only compare between declared version in manifest to installed version , if the package is installed. - if(CachedEnvironmentDeps[dependencyName.toLowerCase()] !== undefined) { - if(usePipDepTree !== "true") { - installedVersion = getDependencyVersion(CachedEnvironmentDeps[dependencyName.toLowerCase()]) - } else { - installedVersion = CachedEnvironmentDeps[dependencyName.toLowerCase()].version - } - } - if(installedVersion) { - if (manifestVersion.trim() !== installedVersion.trim()) { - throw new Error(`Can't continue with analysis - versions mismatch for dependency name ${dependencyName} (manifest version=${manifestVersion}, installed version=${installedVersion}).If you want to allow version mismatch for analysis between installed and requested packages, set environment variable/setting MATCH_MANIFEST_VERSIONS=false`) - } + } + if(installedVersion) { + if (manifestVersion.trim() !== installedVersion.trim()) { + throw new Error(`Can't continue with analysis - versions mismatch for dependency name ${depName} (manifest version=${manifestVersion}, installed version=${installedVersion}).If you want to allow version mismatch for analysis between installed and requested packages, set environment variable/setting MATCH_MANIFEST_VERSIONS=false`) } } } - let path = new Array() - let depName = getDependencyName(dep) - //array to track a path for each branch in the dependency tree + let path = [] path.push(depName.toLowerCase()) - bringAllDependencies(dependencies,depName,CachedEnvironmentDeps,includeTransitive,path,usePipDepTree) + bringAllDependencies(dependencies, depName, CachedEnvironmentDeps, includeTransitive, path, usePipDepTree) }) dependencies.sort((dep1,dep2) =>{ const DEP1 = dep1.name.toLowerCase() @@ -336,7 +333,7 @@ function bringAllDependencies(dependencies, dependencyName, cachedEnvironmentDep } let record = cachedEnvironmentDeps[dependencyName.toLowerCase()] if(record == null) { - throw new Error(`Package ${dependencyName} is not installed in your python environment, either install it (better to install requirements.txt altogether) or set the setting EXHORT_PYTHON_VIRTUAL_ENV=true to automatically install it in virtual environment (please note that this may slow down the analysis)`) + throw new Error(`Package ${dependencyName} is not installed in your python environment, either install it (better to install requirements.txt altogether) or set the setting TRUSTIFY_DA_PYTHON_VIRTUAL_ENV=true to automatically install it in virtual environment (please note that this may slow down the analysis)`) } let depName let version; @@ -350,12 +347,12 @@ function bringAllDependencies(dependencies, dependencyName, cachedEnvironmentDep version = record.version directDeps = record.dependencies } - let targetDeps = new Array() + let targetDeps = [] - let entry = { "name" : depName , "version" : version, "dependencies" : [] } + let entry = { "name": depName, "version": version, "dependencies": [] } dependencies.push(entry) directDeps.forEach( (dep) => { - let depArray = new Array() + let depArray = [] // to avoid infinite loop, check if the dependency not already on current path, before going recursively resolving its dependencies. if(!path.includes(dep.toLowerCase())) { // send to recurrsion the path + the current dep diff --git a/src/providers/python_pip.js b/src/providers/python_pip.js index 1ce06c48..3cd8fdee 100644 --- a/src/providers/python_pip.js +++ b/src/providers/python_pip.js @@ -1,8 +1,8 @@ import fs from 'node:fs' -import { EOL } from 'os' import { PackageURL } from 'packageurl-js' +import { readLicenseFile } from '../license/license_utils.js' import Sbom from '../sbom.js' import { environmentVariableIsPopulated, @@ -11,10 +11,10 @@ import { invokeCommand } from "../tools.js"; - import Python_controller from './python_controller.js' +import { getParser, getIgnoreQuery, getPinnedVersionQuery } from './requirements_parser.js' -export default { isSupported, validateLockFile, provideComponent, provideStack } +export default { isSupported, validateLockFile, provideComponent, provideStack, readLicenseFromManifest } /** @typedef {{name: string, version: string, dependencies: DependencyEntry[]}} DependencyEntry */ @@ -32,6 +32,14 @@ function isSupported(manifestName) { return 'requirements.txt' === manifestName } +/** + * Python requirements.txt has no standard license field + * @param {string} manifestPath - path to requirements.txt + * @returns {string|null} + */ +// eslint-disable-next-line no-unused-vars +function readLicenseFromManifest(manifestPath) { return readLicenseFile(manifestPath); } + /** * @param {string} manifestDir - the directory where the manifest lies */ @@ -41,12 +49,12 @@ function validateLockFile() { return true; } * Provide content and content type for python-pip stack analysis. * @param {string} manifest - the manifest path or name * @param {{}} [opts={}] - optional various options to pass along the application - * @returns {Provided} + * @returns {Promise} */ -function provideStack(manifest, opts = {}) { +async function provideStack(manifest, opts = {}) { return { ecosystem, - content: createSbomStackAnalysis(manifest, opts), + content: await createSbomStackAnalysis(manifest, opts), contentType: 'application/vnd.cyclonedx+json' } } @@ -55,12 +63,12 @@ function provideStack(manifest, opts = {}) { * Provide content and content type for python-pip component analysis. * @param {string} manifest - path to requirements.txt for component report * @param {{}} [opts={}] - optional various options to pass along the application - * @returns {Provided} + * @returns {Promise} */ -function provideComponent(manifest, opts = {}) { +async function provideComponent(manifest, opts = {}) { return { ecosystem, - content: getSbomForComponentAnalysis(manifest, opts), + content: await getSbomForComponentAnalysis(manifest, opts), contentType: 'application/vnd.cyclonedx+json' } } @@ -79,56 +87,43 @@ function addAllDependencies(source, dep, sbom) { sbom.addDependency(source, targetPurl) let directDeps = dep["dependencies"] if (directDeps !== undefined && directDeps.length > 0) { - directDeps.forEach( (dependency) =>{ addAllDependencies(toPurl(dep["name"],dep["version"]), dependency, sbom)}) - } -} - -/** - * - * @param nameVersion - * @return {string} - */ -function splitToNameVersion(nameVersion) { - let result = [] - if(nameVersion.includes("==")) { - return nameVersion.split("==") + directDeps.forEach((dependency) => { addAllDependencies(toPurl(dep["name"], dep["version"]), dependency, sbom) }) } - const regex = /[^\w\s-_]/g; - let endIndex = nameVersion.search(regex); - result.push(nameVersion.substring(0, endIndex).trim()) - return result; } /** * - * @param {string} requirementTxtContent - * @return {PackageURL []} + * @param {string} manifest - path to requirements.txt + * @return {Promise} */ -function getIgnoredDependencies(requirementTxtContent) { - let requirementsLines = requirementTxtContent.split(EOL) - return requirementsLines - .filter(line => line.includes("#exhortignore") || line.includes("# exhortignore")) - .map((line) => line.substring(0,line.indexOf("#")).trim()) - .map((name) => { - let nameVersion = splitToNameVersion(name); - if(nameVersion.length === 2) { - return toPurl(nameVersion[0],nameVersion[1]) - } - return toPurl(nameVersion[0], undefined); - }) +async function getIgnoredDependencies(manifest) { + const [parser, ignoreQuery, pinnedVersionQuery] = await Promise.all([ + getParser(), getIgnoreQuery(), getPinnedVersionQuery() + ]); + const content = fs.readFileSync(manifest).toString(); + const tree = parser.parse(content); + return ignoreQuery.matches(tree.rootNode).map(match => { + const reqNode = match.captures.find(c => c.name === 'req').node; + const name = match.captures.find(c => c.name === 'name').node.text; + const versionMatches = pinnedVersionQuery.matches(reqNode); + const version = versionMatches.length > 0 + ? versionMatches[0].captures.find(c => c.name === 'version').node.text + : undefined; + return toPurl(name, version); + }) } /** * - * @param {string} requirementTxtContent content of requirments.txt in string + * @param {string} manifest - path to requirements.txt * @param {Sbom} sbom object to filter out from it exhortignore dependencies. * @param {{Object}} opts - various options and settings for the application * @private */ -function handleIgnoredDependencies(requirementTxtContent, sbom, opts ={}) { - let ignoredDeps = getIgnoredDependencies(requirementTxtContent) +async function handleIgnoredDependencies(manifest, sbom, opts = {}) { + let ignoredDeps = await getIgnoredDependencies(manifest) let matchManifestVersions = getCustom("MATCH_MANIFEST_VERSIONS", "true", opts); - if(matchManifestVersions === "true") { + if (matchManifestVersions === "true") { const ignoredDepsVersion = ignoredDeps.filter(dep => dep.version !== undefined); sbom.filterIgnoredDepsIncludingVersion(ignoredDepsVersion.map(dep => dep.toString())) } else { @@ -142,7 +137,7 @@ function handleIgnoredDependencies(requirementTxtContent, sbom, opts ={}) { * @param {object}binaries * @param {{}} [opts={}] */ -function getPythonPipBinaries(binaries,opts) { +function getPythonPipBinaries(binaries, opts) { let python = getCustomPath("python3", opts) let pip = getCustomPath("pip3", opts) try { @@ -155,7 +150,7 @@ function getPythonPipBinaries(binaries,opts) { invokeCommand(python, ['--version']) invokeCommand(pip, ['--version']) } catch (error) { - throw new Error(`Failed checking for python/pip binaries from supplied environment variables`, {cause: error}) + throw new Error(`Failed checking for python/pip binaries from supplied environment variables`, { cause: error }) } } binaries.pip = pip @@ -171,9 +166,9 @@ function getPythonPipBinaries(binaries,opts) { */ function handlePythonEnvironment(binaries, opts) { let createVirtualPythonEnv - if (!environmentVariableIsPopulated("EXHORT_PIP_SHOW") && !environmentVariableIsPopulated("EXHORT_PIP_FREEZE")) { + if (!environmentVariableIsPopulated("TRUSTIFY_DA_PIP_SHOW") && !environmentVariableIsPopulated("TRUSTIFY_DA_PIP_FREEZE")) { getPythonPipBinaries(binaries, opts) - createVirtualPythonEnv = getCustom("EXHORT_PYTHON_VIRTUAL_ENV", "false", opts); + createVirtualPythonEnv = getCustom("TRUSTIFY_DA_PYTHON_VIRTUAL_ENV", "false", opts); } // bypass invoking python and pip, as we get all information needed to build the dependency tree from these Environment variables. else { @@ -192,24 +187,24 @@ const DEFAULT_PIP_ROOT_COMPONENT_VERSION = "0.0.0"; * Create sbom json string out of a manifest path for stack analysis. * @param {string} manifest - path for requirements.txt * @param {{}} [opts={}] - optional various options to pass along the application - * @returns {string} the sbom json string content + * @returns {Promise} the sbom json string content * @private */ -function createSbomStackAnalysis(manifest, opts = {}) { +async function createSbomStackAnalysis(manifest, opts = {}) { let binaries = {} let createVirtualPythonEnv = handlePythonEnvironment(binaries, opts); let pythonController = new Python_controller(createVirtualPythonEnv === "false", binaries.pip, binaries.python, manifest, opts) - let dependencies = pythonController.getDependencies(true); + let dependencies = await pythonController.getDependencies(true); let sbom = new Sbom(); const rootPurl = toPurl(DEFAULT_PIP_ROOT_COMPONENT_NAME, DEFAULT_PIP_ROOT_COMPONENT_VERSION); - sbom.addRoot(rootPurl); + const license = readLicenseFromManifest(manifest); + sbom.addRoot(rootPurl, license); dependencies.forEach(dep => { addAllDependencies(rootPurl, dep, sbom) }) - let requirementTxtContent = fs.readFileSync(manifest).toString(); - handleIgnoredDependencies(requirementTxtContent, sbom, opts) - // In python there is no root component, then we must remove the dummy root we added, so the sbom json will be accepted by exhort backend + await handleIgnoredDependencies(manifest, sbom, opts) + // In python there is no root component, then we must remove the dummy root we added, so the sbom json will be accepted by the DA backend // sbom.removeRootComponent() return sbom.getAsJsonString(opts) } @@ -218,23 +213,23 @@ function createSbomStackAnalysis(manifest, opts = {}) { * Create a sbom json string out of a manifest content for component analysis * @param {string} manifest - path to requirements.txt * @param {{}} [opts={}] - optional various options to pass along the application - * @returns {string} the sbom json string content + * @returns {Promise} the sbom json string content * @private */ -function getSbomForComponentAnalysis(manifest, opts = {}) { +async function getSbomForComponentAnalysis(manifest, opts = {}) { let binaries = {} let createVirtualPythonEnv = handlePythonEnvironment(binaries, opts); let pythonController = new Python_controller(createVirtualPythonEnv === "false", binaries.pip, binaries.python, manifest, opts) - let dependencies = pythonController.getDependencies(false); + let dependencies = await pythonController.getDependencies(false); let sbom = new Sbom(); const rootPurl = toPurl(DEFAULT_PIP_ROOT_COMPONENT_NAME, DEFAULT_PIP_ROOT_COMPONENT_VERSION); - sbom.addRoot(rootPurl); + const license = readLicenseFromManifest(manifest); + sbom.addRoot(rootPurl, license); dependencies.forEach(dep => { sbom.addDependency(rootPurl, toPurl(dep.name, dep.version)) }) - let requirementTxtContent = fs.readFileSync(manifest).toString(); - handleIgnoredDependencies(requirementTxtContent, sbom, opts) - // In python there is no root component, then we must remove the dummy root we added, so the sbom json will be accepted by exhort backend + await handleIgnoredDependencies(manifest, sbom, opts) + // In python there is no root component, then we must remove the dummy root we added, so the sbom json will be accepted by the DA backend // sbom.removeRootComponent() return sbom.getAsJsonString(opts) } @@ -245,6 +240,6 @@ function getSbomForComponentAnalysis(manifest, opts = {}) { * @param version * @return {PackageURL} */ -function toPurl(name,version) { +function toPurl(name, version) { return new PackageURL('pypi', undefined, name, version, undefined, undefined); } diff --git a/src/providers/python_poetry.js b/src/providers/python_poetry.js new file mode 100644 index 00000000..686ac4c6 --- /dev/null +++ b/src/providers/python_poetry.js @@ -0,0 +1,159 @@ +import { environmentVariableIsPopulated, getCustomPath, invokeCommand } from '../tools.js' + +import Base_pyproject from './base_pyproject.js' + +export default class Python_poetry extends Base_pyproject { + + /** @returns {string} */ + _lockFileName() { + return 'poetry.lock' + } + + /** @returns {string} */ + _cmdName() { + return 'poetry' + } + + /** + * @param {string} manifestDir + * @param {object} parsed - parsed pyproject.toml + * @param {Object} opts + * @returns {Promise<{directDeps: string[], graph: Map}>} + */ + async _getDependencyData(manifestDir, parsed, opts) { + let treeOutput = this._getPoetryShowTreeOutput(manifestDir, opts) + let showAllOutput = this._getPoetryShowAllOutput(manifestDir, opts) + let versionMap = this._parsePoetryShowAll(showAllOutput) + return this._parsePoetryTree(treeOutput, versionMap) + } + + /** + * Get poetry show --tree output. + * @param {string} manifestDir + * @param {Object} opts + * @returns {string} + */ + _getPoetryShowTreeOutput(manifestDir, opts) { + if (environmentVariableIsPopulated('TRUSTIFY_DA_POETRY_SHOW_TREE')) { + return Buffer.from(process.env['TRUSTIFY_DA_POETRY_SHOW_TREE'], 'base64').toString('utf-8') + } + let poetryBin = getCustomPath('poetry', opts) + return invokeCommand(poetryBin, ['show', '--tree', '--no-ansi'], { cwd: manifestDir }).toString() + } + + /** + * Get poetry show --all output (flat list with resolved versions). + * @param {string} manifestDir + * @param {Object} opts + * @returns {string} + */ + _getPoetryShowAllOutput(manifestDir, opts) { + if (environmentVariableIsPopulated('TRUSTIFY_DA_POETRY_SHOW_ALL')) { + return Buffer.from(process.env['TRUSTIFY_DA_POETRY_SHOW_ALL'], 'base64').toString('utf-8') + } + let poetryBin = getCustomPath('poetry', opts) + return invokeCommand(poetryBin, ['show', '--no-ansi', '--all'], { cwd: manifestDir }).toString() + } + + /** + * Parse poetry show --all output into a version map. + * Lines look like: "name (!) 1.2.3 Description text..." + * or: "name 1.2.3 Description text..." + * @param {string} output + * @returns {Map} canonical name -> version + */ + _parsePoetryShowAll(output) { + let versions = new Map() + let lines = output.split(/\r?\n/) + for (let line of lines) { + let trimmed = line.trim() + if (!trimmed) { continue } + let match = trimmed.match(/^([A-Za-z0-9][A-Za-z0-9._-]*)\s+(?:\(!\)\s+)?(\S+)/) + if (match) { + versions.set(this._canonicalize(match[1]), match[2]) + } + } + return versions + } + + /** + * Parse poetry show --tree output into a dependency graph structure. + * Top-level lines (no indentation/tree chars) are direct deps: "name version description" + * Indented lines are transitive deps with tree chars: "โ”œโ”€โ”€ name >=constraint" + * + * @param {string} treeOutput + * @param {Map} versionMap - canonical name -> resolved version + * @returns {{directDeps: string[], graph: Map}} + */ + _parsePoetryTree(treeOutput, versionMap) { + let lines = treeOutput.split(/\r?\n/) + let graph = new Map() + let directDeps = [] + + let stack = [] // [{key, depth}] + let currentDirectDep = null + + for (let line of lines) { + if (!line.trim()) { continue } + + // top-level line: "name version description..." + let topMatch = line.match(/^([A-Za-z0-9][A-Za-z0-9._-]*)\s+(\S+)\s/) + if (topMatch) { + let name = topMatch[1] + let version = topMatch[2] + let key = this._canonicalize(name) + directDeps.push(key) + if (!graph.has(key)) { + graph.set(key, { name, version, children: [] }) + } + currentDirectDep = key + stack = [{ key, depth: -1 }] + continue + } + + if (!currentDirectDep) { continue } + + // indented line with tree chars (UTF-8 box-drawing: โ”œโ”€โ”€ โ””โ”€โ”€ โ”‚) + let nameStart = line.search(/[A-Za-z0-9]/) + if (nameStart < 0) { continue } + + let rest = line.substring(nameStart) + let depMatch = rest.match(/^([A-Za-z0-9][A-Za-z0-9._-]*)/) + if (!depMatch) { continue } + + let depName = depMatch[1] + let depKey = this._canonicalize(depName) + + // determine depth by counting tree-drawing groups in the prefix + let prefix = line.substring(0, nameStart) + let depth = (prefix.match(/(?:[โ”œโ””โ”‚ ][\sโ”€]{2} ?)/g) || []).length + + // resolve version from the version map + let version = versionMap.get(depKey) || null + if (!version) { + throw new Error(`poetry: package '${depName}' has no resolved version`) + } + + if (!graph.has(depKey)) { + graph.set(depKey, { name: depName, version, children: [] }) + } + + // pop stack back to find the parent at depth-1 + while (stack.length > 0 && stack[stack.length - 1].depth >= depth) { + stack.pop() + } + + if (stack.length > 0) { + let parentKey = stack[stack.length - 1].key + let parentEntry = graph.get(parentKey) + if (parentEntry && !parentEntry.children.includes(depKey)) { + parentEntry.children.push(depKey) + } + } + + stack.push({ key: depKey, depth }) + } + + return { directDeps, graph } + } +} diff --git a/src/providers/python_uv.js b/src/providers/python_uv.js new file mode 100644 index 00000000..92b52f54 --- /dev/null +++ b/src/providers/python_uv.js @@ -0,0 +1,165 @@ +import fs from 'node:fs' +import path from 'node:path' + +import { parse as parseToml } from 'smol-toml' + +import { environmentVariableIsPopulated, getCustomPath, invokeCommand } from '../tools.js' + +import Base_pyproject from './base_pyproject.js' +import { getParser, getPinnedVersionQuery } from './requirements_parser.js' + +export default class Python_uv extends Base_pyproject { + + /** @returns {string} */ + _lockFileName() { + return 'uv.lock' + } + + /** @returns {string} */ + _cmdName() { + return 'uv' + } + + /** + * @param {string} manifestDir + * @param {object} parsed - parsed pyproject.toml + * @param {Object} opts + * @returns {Promise<{directDeps: string[], graph: Map}>} + */ + async _getDependencyData(manifestDir, parsed, opts) { + let projectName = this._getProjectName(parsed) + let uvOutput = this._getUvExportOutput(manifestDir, opts) + return this._parseUvExport(uvOutput, projectName, manifestDir) + } + + /** + * Get the uv export output, either from env var or by running the command. + * @param {string} manifestDir + * @param {Object} opts + * @returns {string} + */ + _getUvExportOutput(manifestDir, opts) { + if (environmentVariableIsPopulated('TRUSTIFY_DA_UV_EXPORT')) { + return Buffer.from(process.env['TRUSTIFY_DA_UV_EXPORT'], 'base64').toString('ascii') + } + let uvBin = getCustomPath('uv', opts) + return invokeCommand(uvBin, ['export', '--format', 'requirements.txt', '--frozen', '--no-hashes'], { cwd: manifestDir }).toString() + } + + /** + * Parse uv export output into a dependency graph using tree-sitter-requirements + * for package/version extraction and string parsing for "# via" comments. + * + * @param {string} output + * @param {string} projectName - canonical project name to identify direct deps + * @param {string} manifestDir - directory where uv export was run (for resolving editable installs) + * @returns {Promise<{directDeps: string[], graph: Map}>} + */ + async _parseUvExport(output, projectName, manifestDir) { + let [parser, pinnedVersionQuery] = await Promise.all([ + getParser(), getPinnedVersionQuery() + ]) + let tree = parser.parse(output) + let root = tree.rootNode + let canonProjectName = this._canonicalize(projectName) + + let packages = new Map() // canonical name -> {name, version, parents: Set} + let currentPkg = null + let collectingVia = false + + for (let child of root.children) { + if (child.type === 'global_opt') { + let optNode = child.children.find(c => c.type === 'option') + let pathNode = child.children.find(c => c.type === 'path') + if (optNode?.text === '-e' && pathNode && manifestDir) { + let memberDir = path.resolve(manifestDir, pathNode.text) + let memberManifest = path.join(memberDir, 'pyproject.toml') + if (fs.existsSync(memberManifest)) { + let memberParsed = parseToml(fs.readFileSync(memberManifest, 'utf-8')) + let name = memberParsed.project?.name || memberParsed.tool?.poetry?.name + let version = memberParsed.project?.version || memberParsed.tool?.poetry?.version + if (name && version) { + let key = this._canonicalize(name) + currentPkg = { name, version, parents: new Set() } + packages.set(key, currentPkg) + collectingVia = false + continue + } + } + } + currentPkg = null + collectingVia = false + continue + } + + if (child.type === 'requirement') { + let nameNode = child.children.find(c => c.type === 'package') + if (!nameNode) { continue } + + let name = nameNode.text + let version = null + let versionMatches = pinnedVersionQuery.matches(child) + if (versionMatches.length > 0) { + version = versionMatches[0].captures.find(c => c.name === 'version').node.text + } + + if (!version) { + throw new Error(`uv export: package '${name}' has no pinned version`) + } + + let key = this._canonicalize(name) + currentPkg = { name, version, parents: new Set() } + packages.set(key, currentPkg) + collectingVia = false + continue + } + + if (child.type === 'comment' && currentPkg) { + let text = child.text.trim() + + let viaSingle = text.match(/^# via ([A-Za-z0-9][A-Za-z0-9._-]*)$/) + if (viaSingle) { + currentPkg.parents.add(this._canonicalize(viaSingle[1])) + collectingVia = false + continue + } + + if (text === '# via') { + collectingVia = true + continue + } + + if (collectingVia) { + let parentMatch = text.match(/^#\s+([A-Za-z0-9][A-Za-z0-9._-]*)$/) + if (parentMatch) { + currentPkg.parents.add(this._canonicalize(parentMatch[1])) + continue + } + collectingVia = false + } + } + } + + // Build forward dependency map and extract direct deps in one pass + let graph = new Map() + let directDeps = [] + + for (let [key, pkg] of packages) { + graph.set(key, { name: pkg.name, version: pkg.version, children: [] }) + } + for (let [childKey, pkg] of packages) { + for (let parentKey of pkg.parents) { + if (parentKey === canonProjectName) { + directDeps.push(childKey) + continue + } + let parentEntry = graph.get(parentKey) + if (parentEntry) { + parentEntry.children.push(childKey) + } + } + } + + return { directDeps, graph } + } +} diff --git a/src/providers/requirements_parser.js b/src/providers/requirements_parser.js new file mode 100644 index 00000000..55001a53 --- /dev/null +++ b/src/providers/requirements_parser.js @@ -0,0 +1,31 @@ +import { readFile } from 'node:fs/promises'; + +import { Language, Parser, Query } from 'web-tree-sitter'; + +const wasmUrl = new URL('./tree-sitter-requirements.wasm', import.meta.url); + +async function init() { + await Parser.init(); + const wasmBytes = new Uint8Array(await readFile(wasmUrl)); + return await Language.load(wasmBytes); +} + +export async function getParser() { + const language = await init(); + return new Parser().setLanguage(language); +} + +export async function getRequirementQuery() { + const language = await init(); + return new Query(language, '(requirement (package) @name) @req'); +} + +export async function getIgnoreQuery() { + const language = await init(); + return new Query(language, '((requirement (package) @name) @req . (comment) @comment (#match? @comment "^#[\\t ]*exhortignore"))'); +} + +export async function getPinnedVersionQuery() { + const language = await init(); + return new Query(language, '(version_spec (version_cmp) @cmp (version) @version (#eq? @cmp "=="))'); +} diff --git a/src/providers/rust_cargo.js b/src/providers/rust_cargo.js new file mode 100644 index 00000000..bfe62eba --- /dev/null +++ b/src/providers/rust_cargo.js @@ -0,0 +1,653 @@ +import fs from 'node:fs' +import path from 'node:path' + +import { PackageURL } from 'packageurl-js' +import { parse as parseToml } from 'smol-toml' + +import { getLicense } from '../license/license_utils.js' +import Sbom from '../sbom.js' +import { getCustom, getCustomPath, invokeCommand } from '../tools.js' + +export default { isSupported, validateLockFile, provideComponent, provideStack, readLicenseFromManifest } + +/** @typedef {import('../provider').Provider} */ + +/** @typedef {import('../provider').Provided} Provided */ + +/** + * @type {string} ecosystem identifier for cargo/crates packages + * @private + */ +const ecosystem = 'cargo' + +/** + * Ignore markers recognised in Cargo.toml comments. + * Supports both the legacy `exhortignore` marker and the new `trustify-da-ignore` marker. + * @type {string[]} + * @private + */ +const IGNORE_MARKERS = ['exhortignore', 'trustify-da-ignore'] + +/** + * Checks whether a line contains any of the recognised ignore markers. + * @param {string} line - the line to check + * @returns {boolean} true if the line contains at least one ignore marker + * @private + */ +function hasIgnoreMarker(line) { + return IGNORE_MARKERS.some(marker => line.includes(marker)) +} + +/** + * Checks whether a dependency name is in the ignored set, accounting for + * Cargo's underscore/hyphen equivalence + * @param {string} name - the dependency name to check + * @param {Set} ignoredDeps - set of ignored dependency names + * @returns {boolean} true if the dependency should be ignored + * @private + */ +function isDepIgnored(name, ignoredDeps) { + if (ignoredDeps.has(name)) {return true} + let normalized = name.replace(/_/g, '-') + if (normalized !== name && ignoredDeps.has(normalized)) {return true} + normalized = name.replace(/-/g, '_') + if (normalized !== name && ignoredDeps.has(normalized)) {return true} + return false +} + +/** + * Enum-like constants for Cargo project types. + * @private + */ +const CrateType = { + SINGLE_CRATE: 'SINGLE_CRATE', + WORKSPACE_VIRTUAL: 'WORKSPACE_VIRTUAL', + WORKSPACE_WITH_ROOT_CRATE: 'WORKSPACE_WITH_ROOT_CRATE' +} + +/** + * @param {string} manifestName - the subject manifest name-type + * @returns {boolean} - return true if `Cargo.toml` is the manifest name-type + */ +function isSupported(manifestName) { + return 'Cargo.toml' === manifestName +} + +/** + * Read project license from Cargo.toml, with fallback to LICENSE file. + * Supports the `license` field under `[package]` (single crate / workspace + * with root) and under `[workspace.package]` (virtual workspaces). + * @param {string} manifestPath - path to Cargo.toml + * @returns {string|null} SPDX identifier or null + */ +function readLicenseFromManifest(manifestPath) { + let fromManifest = null + try { + let content = fs.readFileSync(manifestPath, 'utf-8') + let parsed = parseToml(content) + + fromManifest = parsed.package?.license + || parsed.workspace?.package?.license + || null + } catch (_) { + // leave fromManifest as null + } + return getLicense(fromManifest, manifestPath) +} + +/** + * Validates that Cargo.lock exists in the manifest directory or in a parent + * workspace root directory. In Cargo workspaces the lock file always lives at + * the workspace root, so when a member crate's Cargo.toml is provided we walk + * up the directory tree looking for Cargo.lock (stopping when we find a + * Cargo.toml that contains a [workspace] section, or when we reach the + * filesystem root). + * When TRUSTIFY_DA_WORKSPACE_DIR is provided (via env var or opts), + * checks only that directory for Cargo.lock โ€” no walk-up. + * @param {string} manifestDir - the directory where the manifest lies + * @param {{TRUSTIFY_DA_WORKSPACE_DIR?: string}} [opts={}] - optional workspace root + * @returns {boolean} true if Cargo.lock is found + */ +function validateLockFile(manifestDir, opts = {}) { + const workspaceDir = getCustom('TRUSTIFY_DA_WORKSPACE_DIR', null, opts) + if (workspaceDir) { + const dir = path.resolve(workspaceDir) + return fs.existsSync(path.join(dir, 'Cargo.lock')) + } + + let dir = path.resolve(manifestDir) + let parent = dir + + do { + dir = parent + + if (fs.existsSync(path.join(dir, 'Cargo.lock'))) { + return true + } + + // If this directory has a Cargo.toml with [workspace], the lock file + // should have been here โ€” stop searching. + let cargoToml = path.join(dir, 'Cargo.toml') + if (fs.existsSync(cargoToml)) { + try { + let content = fs.readFileSync(cargoToml, 'utf-8') + if (/\[workspace\]/.test(content)) { + return false + } + } catch (_) { + // ignore read errors, keep searching + } + } + + parent = path.dirname(dir) + } while (parent !== dir) + + return false +} + +/** + * Provide content and content type for Cargo stack analysis. + * @param {string} manifest - the manifest path + * @param {{}} [opts={}] - optional various options to pass along the application + * @returns {Provided} + */ +function provideStack(manifest, opts = {}) { + return { + ecosystem, + content: getSBOM(manifest, opts, true), + contentType: 'application/vnd.cyclonedx+json' + } +} + +/** + * Provide content and content type for Cargo component analysis. + * @param {string} manifest - path to Cargo.toml for component report + * @param {{}} [opts={}] - optional various options to pass along the application + * @returns {Provided} + */ +function provideComponent(manifest, opts = {}) { + return { + ecosystem, + content: getSBOM(manifest, opts, false), + contentType: 'application/vnd.cyclonedx+json' + } +} + +/** + * Create SBOM json string for a Cargo project. + * @param {string} manifest - path to Cargo.toml + * @param {{}} [opts={}] - optional various options to pass along the application + * @param {boolean} includeTransitive - whether the sbom should contain transitive dependencies + * @returns {string} the SBOM json content + * @private + */ +function getSBOM(manifest, opts = {}, includeTransitive) { + let cargoBin = getCustomPath('cargo', opts) + verifyCargoAccessible(cargoBin) + + let manifestDir = path.dirname(manifest) + let metadata = executeCargoMetadata(cargoBin, manifestDir) + let ignoredDeps = getIgnoredDeps(manifest, metadata) + let crateType = detectCrateType(metadata) + let license = readLicenseFromManifest(manifest) + + let sbom + if (crateType === CrateType.WORKSPACE_VIRTUAL) { + sbom = handleVirtualWorkspace(manifest, metadata, ignoredDeps, includeTransitive, opts, license) + } else { + sbom = handleSingleCrate(metadata, ignoredDeps, includeTransitive, opts, license) + } + + return sbom +} + +/** + * Verifies that the cargo binary is accessible. + * @param {string} cargoBin - path to cargo binary + * @throws {Error} if cargo is not accessible + * @private + */ +function verifyCargoAccessible(cargoBin) { + try { + invokeCommand(cargoBin, ['--version']) + } catch (error) { + if (error.code === 'ENOENT') { + throw new Error(`cargo binary is not accessible at "${cargoBin}"`) + } + throw new Error('failed to check for cargo binary', { cause: error }) + } +} + +/** + * Executes `cargo metadata` and returns the parsed JSON. + * @param {string} cargoBin - path to cargo binary + * @param {string} manifestDir - directory containing Cargo.toml + * @returns {object} parsed cargo metadata JSON + * @throws {Error} if cargo metadata fails + * @private + */ +function executeCargoMetadata(cargoBin, manifestDir) { + try { + let output = invokeCommand(cargoBin, ['metadata', '--format-version', '1'], { cwd: manifestDir }) + return JSON.parse(output.toString().trim()) + } catch (error) { + throw new Error('failed to execute cargo metadata', { cause: error }) + } +} + +/** + * Detects the type of Cargo project from metadata. + * @param {object} metadata - parsed cargo metadata + * @returns {string} one of CrateType values + * @private + */ +function detectCrateType(metadata) { + let rootPackageId = metadata.resolve?.root + let workspaceMembers = metadata.workspace_members || [] + + if (!rootPackageId && workspaceMembers.length > 0) { + return CrateType.WORKSPACE_VIRTUAL + } + + if (rootPackageId && workspaceMembers.length > 1) { + return CrateType.WORKSPACE_WITH_ROOT_CRATE + } + + return CrateType.SINGLE_CRATE +} + +/** + * Handles SBOM generation for single crate and workspace-with-root-crate projects. + * For workspace-with-root-crate, workspace members are only included if they + * appear in the root crate's dependency graph from cargo metadata. We don't + * automatically add all members as dependencies since most workspace members + * (examples, tools, benchmarks) depend ON the root crate, not the other way around. + * @param {object} metadata - parsed cargo metadata + * @param {Set} ignoredDeps - set of ignored dependency names + * @param {boolean} includeTransitive - whether to include transitive dependencies + * @param {{}} opts - options + * @param {string|null} license - SPDX license identifier for the root component + * @returns {string} SBOM json string + * @private + */ +function handleSingleCrate(metadata, ignoredDeps, includeTransitive, opts, license) { + let rootPackageId = metadata.resolve.root + let rootPackage = findPackageById(metadata, rootPackageId) + let rootPurl = toPurl(rootPackage.name, rootPackage.version) + + let sbom = new Sbom() + sbom.addRoot(rootPurl, license) + + let resolveNode = findResolveNode(metadata, rootPackageId) + if (!resolveNode) { + return sbom.getAsJsonString(opts) + } + + if (includeTransitive) { + addTransitiveDeps(sbom, metadata, rootPackageId, ignoredDeps, new Set(), rootPurl) + } else { + addDirectDeps(sbom, metadata, rootPackageId, rootPurl, ignoredDeps) + } + + return sbom.getAsJsonString(opts) +} + +/** + * Handles SBOM generation for virtual workspace projects. + * + * For stack analysis (includeTransitive=true): + * Iterates all workspace members and walks their full dependency trees. + * + * For component analysis (includeTransitive=false): + * Only includes dependencies explicitly listed in [workspace.dependencies] + * of the root Cargo.toml. If that section is absent the SBOM contains only + * the synthetic workspace root with no dependencies โ€” this matches the Java + * client behaviour where CA "just analyzes direct dependencies defined in + * Cargo.toml". + * + * @param {string} manifest - path to the root Cargo.toml + * @param {object} metadata - parsed cargo metadata + * @param {Set} ignoredDeps - set of ignored dependency names + * @param {boolean} includeTransitive - whether to include transitive dependencies + * @param {{}} opts - options + * @param {string|null} license - SPDX license identifier for the root component + * @returns {string} SBOM json string + * @private + */ +function handleVirtualWorkspace(manifest, metadata, ignoredDeps, includeTransitive, opts, license) { + let workspaceRoot = metadata.workspace_root + let rootName = path.basename(workspaceRoot) + let workspaceVersion = getWorkspaceVersion(metadata) + let rootPurl = toPurl(rootName, workspaceVersion) + + let sbom = new Sbom() + sbom.addRoot(rootPurl, license) + + if (includeTransitive) { + // Stack analysis: walk all members and their full dependency trees + let workspaceMembers = metadata.workspace_members || [] + + for (let memberId of workspaceMembers) { + let memberPackage = findPackageById(metadata, memberId) + if (!memberPackage) {continue} + + let memberPurl = memberPackage.source == null + ? toPathDepPurl(memberPackage.name, memberPackage.version) + : toPurl(memberPackage.name, memberPackage.version) + + sbom.addDependency(rootPurl, memberPurl) + addTransitiveDeps(sbom, metadata, memberId, ignoredDeps, new Set(), memberPurl) + } + } else { + // Component analysis: only [workspace.dependencies] from root Cargo.toml + let workspaceDeps = getWorkspaceDepsFromManifest(manifest) + + for (let depName of workspaceDeps) { + if (isDepIgnored(depName, ignoredDeps)) {continue} + + let pkg = metadata.packages.find(p => p.name === depName) + if (!pkg) { + let altName = depName.replace(/-/g, '_') + pkg = metadata.packages.find(p => p.name === altName) + } + if (!pkg) {continue} + + let depPurl = pkg.source == null + ? toPathDepPurl(pkg.name, pkg.version) + : toPurl(pkg.name, pkg.version) + + sbom.addDependency(rootPurl, depPurl) + } + } + + return sbom.getAsJsonString(opts) +} + +/** + * Recursively adds transitive dependencies to the SBOM. + * Path dependencies (source == null) are included with a + * {@code repository_url=local} qualifier so the backend can skip + * vulnerability checks while still showing them in the dependency tree. + * @param {Sbom} sbom - the SBOM to add dependencies to + * @param {object} metadata - parsed cargo metadata + * @param {string} packageId - the package ID to resolve dependencies for + * @param {Set} ignoredDeps - set of ignored dependency names + * @param {Set} visited - set of already-visited package IDs to prevent cycles + * @param {PackageURL} [startingPurl] - purl to use for the starting package, + * so callers can ensure it matches the purl already added to the SBOM + * @private + */ +function addTransitiveDeps(sbom, metadata, packageId, ignoredDeps, visited, startingPurl) { + if (visited.has(packageId)) {return} + visited.add(packageId) + + let resolveNode = findResolveNode(metadata, packageId) + if (!resolveNode) {return} + + let sourcePackage = findPackageById(metadata, packageId) + if (!sourcePackage) {return} + + let sourcePurl = startingPurl || (sourcePackage.source == null + ? toPathDepPurl(sourcePackage.name, sourcePackage.version) + : toPurl(sourcePackage.name, sourcePackage.version)) + + let runtimeDeps = filterRuntimeDeps(resolveNode) + + for (let depId of runtimeDeps) { + let depPackage = findPackageById(metadata, depId) + if (!depPackage) {continue} + if (isDepIgnored(depPackage.name, ignoredDeps)) {continue} + + let depPurl = depPackage.source == null + ? toPathDepPurl(depPackage.name, depPackage.version) + : toPurl(depPackage.name, depPackage.version) + + sbom.addDependency(sourcePurl, depPurl) + addTransitiveDeps(sbom, metadata, depId, ignoredDeps, visited) + } +} + +/** + * Adds only direct (non-transitive) dependencies to the SBOM. + * Path dependencies are included with a {@code repository_url=local} qualifier. + * @param {Sbom} sbom - the SBOM to add dependencies to + * @param {object} metadata - parsed cargo metadata + * @param {string} packageId - the package ID to resolve dependencies for + * @param {PackageURL} parentPurl - the parent purl to attach dependencies to + * @param {Set} ignoredDeps - set of ignored dependency names + * @private + */ +function addDirectDeps(sbom, metadata, packageId, parentPurl, ignoredDeps) { + let resolveNode = findResolveNode(metadata, packageId) + if (!resolveNode) {return} + + let runtimeDeps = filterRuntimeDeps(resolveNode) + + for (let depId of runtimeDeps) { + let depPackage = findPackageById(metadata, depId) + if (!depPackage) {continue} + if (isDepIgnored(depPackage.name, ignoredDeps)) {continue} + + let depPurl = depPackage.source == null + ? toPathDepPurl(depPackage.name, depPackage.version) + : toPurl(depPackage.name, depPackage.version) + + sbom.addDependency(parentPurl, depPurl) + } +} + +/** + * Filters the deps of a resolve node to only include runtime (normal) dependencies. + * @param {object} resolveNode - a node from metadata.resolve.nodes + * @returns {string[]} array of package IDs for runtime dependencies + * @private + */ +function filterRuntimeDeps(resolveNode) { + if (!resolveNode.deps) {return []} + + return resolveNode.deps + .filter(dep => { + if (!dep.dep_kinds || dep.dep_kinds.length === 0) {return true} + return dep.dep_kinds.some(dk => dk.kind == null || dk.kind === 'normal') + }) + .map(dep => dep.pkg) +} + +/** + * Finds a package in the metadata by its ID. + * @param {object} metadata - parsed cargo metadata + * @param {string} packageId - the package ID to find + * @returns {object|undefined} the found package or undefined + * @private + */ +function findPackageById(metadata, packageId) { + return metadata.packages.find(pkg => pkg.id === packageId) +} + +/** + * Finds a resolve node by package ID. + * @param {object} metadata - parsed cargo metadata + * @param {string} packageId - the package ID to find + * @returns {object|undefined} the found resolve node or undefined + * @private + */ +function findResolveNode(metadata, packageId) { + return metadata.resolve.nodes.find(node => node.id === packageId) +} + +/** + * Parses the root Cargo.toml and returns the dependency names listed in the + * [workspace.dependencies] section. Returns an empty array when the section + * does not exist. + * @param {string} manifest - path to the root Cargo.toml + * @returns {string[]} list of dependency names + * @private + */ +function getWorkspaceDepsFromManifest(manifest) { + let content = fs.readFileSync(manifest, 'utf-8') + let parsed = parseToml(content) + return Object.keys(parsed.workspace?.dependencies || {}) +} + +/** + * Extracts the workspace version from metadata if defined. + * @param {object} metadata - parsed cargo metadata + * @returns {string} the workspace version or a placeholder + * @private + */ +function getWorkspaceVersion(metadata) { + let workspaceRoot = metadata.workspace_root + let cargoTomlPath = path.join(workspaceRoot, 'Cargo.toml') + try { + let content = fs.readFileSync(cargoTomlPath, 'utf-8') + let parsed = parseToml(content) + return parsed.workspace?.package?.version || '0.0.0' + } catch (_) { + return '0.0.0' + } +} + +/** + * Parses Cargo.toml for dependencies annotated with an ignore marker. + * Supports both `exhortignore` and `trustify-da-ignore` markers. + * Supports inline deps, table-based deps, and workspace-level dependency sections. + * Uses cargo metadata to discover workspace members (which already handles glob + * expansion and exclude filtering) instead of parsing workspace member paths ourselves. + * @param {string} manifest - path to Cargo.toml + * @param {object} metadata - parsed cargo metadata + * @returns {Set} set of dependency names to ignore + * @private + */ +function getIgnoredDeps(manifest, metadata) { + let ignored = new Set() + + scanManifestForIgnored(manifest, ignored) + + // Scan workspace member manifests using metadata + let manifestDir = path.dirname(manifest) + let workspaceRoot = metadata.workspace_root + let workspaceMembers = metadata.workspace_members || [] + + for (let memberId of workspaceMembers) { + let memberRelDir = getMemberRelativeDir(memberId, workspaceRoot) + if (memberRelDir == null) {continue} + + let memberManifest = path.join(manifestDir, memberRelDir, 'Cargo.toml') + if (path.resolve(memberManifest) === path.resolve(manifest)) {continue} + + if (fs.existsSync(memberManifest)) { + scanManifestForIgnored(memberManifest, ignored) + } + } + + return ignored +} + +/** + * Extracts a workspace member's directory path relative to the workspace root + * from its cargo package ID. Workspace member IDs use the `path+file://` scheme, + * e.g. `path+file:///workspace/root/crates/member#0.1.0`. + * @param {string} packageId - the cargo package ID + * @param {string} workspaceRoot - the workspace root path from cargo metadata + * @returns {string|null} relative directory path, or null if it cannot be determined + * @private + */ +function getMemberRelativeDir(packageId, workspaceRoot) { + let pathMatch = packageId.match(/path\+file:\/\/(.+?)#/) + if (!pathMatch) {return null} + + let pkgPath = pathMatch[1] + if (!pkgPath.startsWith(workspaceRoot)) {return null} + + let relPath = pkgPath.substring(workspaceRoot.length) + if (relPath.startsWith('/')) {relPath = relPath.substring(1)} + + return relPath || null +} + +/** + * Scans a single Cargo.toml for ignored dependencies and adds them to the set. + * @param {string} manifest - path to Cargo.toml + * @param {Set} ignored - the set to add ignored dependency names to + * @private + */ +function scanManifestForIgnored(manifest, ignored) { + let content = fs.readFileSync(manifest, 'utf-8') + let lines = content.split(/\r?\n/) + + let currentSection = '' + let currentDepName = null + + for (let line of lines) { + let trimmed = line.trim() + + let sectionMatch = trimmed.match(/^\[([^\]]+)\]\s*(?:#.*)?$/) + if (sectionMatch) { + currentSection = sectionMatch[1] + currentDepName = null + + let tableDep = currentSection.match(/^(?:dependencies|dev-dependencies|build-dependencies|workspace\.dependencies)\.(.+)$/) + if (tableDep) { + currentDepName = tableDep[1] + // If the section header line itself carries an ignore marker, + // immediately add the dep + if (hasIgnoreMarker(line)) { + ignored.add(currentDepName) + } + } + continue + } + + let isIgnored = hasIgnoreMarker(line) + + if (isIgnored && isInDependencySection(currentSection)) { + let inlineMatch = trimmed.match(/^([a-zA-Z0-9_-]+)\s*=/) + if (inlineMatch) { + ignored.add(inlineMatch[1]) + continue + } + } + + if (isIgnored && currentDepName) { + ignored.add(currentDepName) + continue + } + } +} + +/** + * Checks if a section name is a dependency section. + * @param {string} section - the TOML section name + * @returns {boolean} + * @private + */ +function isInDependencySection(section) { + return section === 'dependencies' || + section === 'dev-dependencies' || + section === 'build-dependencies' || + section === 'workspace.dependencies' +} + +/** + * Creates a PackageURL for a Cargo/crates.io package. + * @param {string} name - the crate name + * @param {string} version - the crate version + * @returns {PackageURL} the package URL + * @private + */ +function toPurl(name, version) { + return new PackageURL(ecosystem, undefined, name, version, undefined, undefined) +} + +/** + * Creates a PackageURL for a local path dependency, marked with a + * {@code repository_url=local} qualifier so the backend can distinguish + * it from registry packages and skip vulnerability checks. + * @param {string} name - the crate name + * @param {string} version - the crate version + * @returns {PackageURL} the package URL with local qualifier + * @private + */ +function toPathDepPurl(name, version) { + return new PackageURL(ecosystem, undefined, name, version, { repository_url: 'local' }, undefined) +} diff --git a/src/sbom.js b/src/sbom.js index 4f4da826..adf1cf4a 100644 --- a/src/sbom.js +++ b/src/sbom.js @@ -5,7 +5,7 @@ export default class Sbom { #startTime #endTime constructor() { - if (process.env["EXHORT_DEBUG"] === "true") { + if (process.env["TRUSTIFY_DA_DEBUG"] === "true") { this.#startTime = new Date() console.log("Starting time to create sbom = " + this.#startTime) } @@ -14,16 +14,17 @@ export default class Sbom { /** * @param {PackageURL} root - add main/root component for sbom + * @param {string|Array} [licenses] - optional license(s) for the root component * @return Sbom */ - addRoot (root) { - return this.sbomModel.addRoot(root) + addRoot (root, licenses) { + return this.sbomModel.addRoot(root, licenses) } /** * @return {{{"bom-ref": string, name, purl: string, type, version}}} root component of sbom. */ - getRoot (){ + getRoot() { return this.sbomModel.getRoot() } @@ -32,7 +33,7 @@ export default class Sbom { * @param {Array} dependencies to be removed from sbom * @return {Sbom} without ignored dependencies */ - filterIgnoredDeps(deps){ + filterIgnoredDeps(deps) { return this.sbomModel.filterIgnoredDeps(deps) } @@ -57,7 +58,7 @@ export default class Sbom { * @return String sbom json in a string format */ getAsJsonString(opts = {}){ - if (process.env["EXHORT_DEBUG"] === "true") { + if (process.env["TRUSTIFY_DA_DEBUG"] === "true") { this.#endTime = new Date() console.log("Ending time to create sbom = " + this.#endTime) let time = (this.#endTime - this.#startTime) / 1000 @@ -71,7 +72,7 @@ export default class Sbom { * @param purl {PackageURL} * @return component */ - purlToComponent(purl){ + purlToComponent(purl) { return this.sbomModel.purlToComponent(purl) } @@ -82,7 +83,17 @@ export default class Sbom { * @return {boolean} */ checkIfPackageInsideDependsOnList(component, name) { - return this.sbomModel.checkIfPackageInsideDependsOnList(component,name) + return this.sbomModel.checkIfPackageInsideDependsOnList(component, name) + } + + /** + * Checks if any entry in the dependsOn list of sourceRef starts with the given purl prefix. + * @param {PackageURL} sourceRef - The source component to check + * @param {string} purlPrefix - The purl prefix to match (e.g. "pkg:npm/minimist@") + * @return {boolean} + */ + checkDependsOnByPurlPrefix(sourceRef, purlPrefix) { + return this.sbomModel.checkDependsOnByPurlPrefix(sourceRef, purlPrefix) } /** Removes the root component from the sbom diff --git a/src/tools.js b/src/tools.js index 6e83942b..756968e5 100644 --- a/src/tools.js +++ b/src/tools.js @@ -1,9 +1,10 @@ import { execFileSync } from "child_process"; import { EOL } from "os"; +import { HttpsProxyAgent } from "https-proxy-agent"; import { PackageURL } from "packageurl-js"; -export const RegexNotToBeLogged = /EXHORT_.*_TOKEN|ex-.*-token/ +export const RegexNotToBeLogged = /TRUSTIFY_DA_(.*_)?TOKEN|ex-.*-token|trust-.*-token/ /** * * @param {string} key to log its value from environment variables and from opts, if it exists @@ -13,16 +14,12 @@ export const RegexNotToBeLogged = /EXHORT_.*_TOKEN|ex-.*-token/ export function logValueFromObjects(key,opts, defValue) { if(key in opts) { console.log(`value of option with key ${key} = ${opts[key]} ${EOL}`) - } - else - { + } else { console.log(`key ${key} doesn't exists on opts object ${EOL}`) } if(key in process.env) { console.log(`value of environment variable ${key} = ${process.env[key]} ${EOL}`) - } - else - { + } else { console.log(`environment variable ${key} doesn't exists ${EOL}`) } console.log(`default value for ${key} = ${defValue} ${EOL}`) @@ -39,7 +36,7 @@ export function logValueFromObjects(key,opts, defValue) { * default supplied */ export function getCustom(key, def = null, opts = {}) { - if (process.env["EXHORT_DEBUG"] === "true" && !key.match(RegexNotToBeLogged)) { + if (process.env["TRUSTIFY_DA_DEBUG"] === "true" && !key.match(RegexNotToBeLogged)) { logValueFromObjects(key, opts, def) } return key in process.env ? process.env[key] : key in opts && typeof opts[key] === 'string' ? opts[key] : def @@ -47,7 +44,7 @@ export function getCustom(key, def = null, opts = {}) { /** * Utility function for looking up custom variable for a binary path. - * Will look in the environment variables (1) or in opts (2) for a key with EXHORT_x_PATH, x is an + * Will look in the environment variables (1) or in opts (2) for a key with TRUSTIFY_DA_x_PATH, x is an * uppercase version of passed name to look for. The name will also be returned if nothing else was * found. * @param name the binary name to look for, will be returned as value in nothing else found @@ -56,7 +53,7 @@ export function getCustom(key, def = null, opts = {}) { * original name supplied */ export function getCustomPath(name, opts = {}) { - return getCustom(`EXHORT_${name.toUpperCase()}_PATH`, name, opts) + return getCustom(`TRUSTIFY_DA_${name.toUpperCase()}_PATH`, name, opts) } /** @@ -67,7 +64,7 @@ export function getCustomPath(name, opts = {}) { * @returns {boolean} whether to prefer the wrapper if exists or not */ export function getWrapperPreference(name, opts = {}) { - return getCustom(`EXHORT_PREFER_${name.toUpperCase()}W`, 'true', opts) === 'true' + return getCustom(`TRUSTIFY_DA_PREFER_${name.toUpperCase()}W`, 'true', opts) === 'true' } export function environmentVariableIsPopulated(envVariableName) { @@ -174,3 +171,63 @@ export function invokeCommand(bin, args, opts={}) { return execFileSync(bin, args, {...{stdio: 'pipe', encoding: 'utf-8'}, ...opts}) } + + +export const TRUSTIFY_DA_TOKEN_HEADER = "trust-da-token"; +export const TRUSTIFY_DA_TELEMETRY_ID_HEADER = "telemetry-anonymous-id"; +export const TRUSTIFY_DA_SOURCE_HEADER = "trust-da-source" +export const TRUSTIFY_DA_OPERATION_TYPE_HEADER = "trust-da-operation-type" +export const TRUSTIFY_DA_PACKAGE_MANAGER_HEADER = "trust-da-pkg-manager" + +/** + * Adds proxy agent configuration to fetch options if a proxy URL is specified + * @param {RequestInit} options - The base fetch options + * @param {import("index.js").Options} opts - The trustify DA options that may contain proxy configuration + * @returns {RequestInit} The fetch options with proxy agent if applicable + */ +export function addProxyAgent(options, opts) { + const proxyUrl = getCustom('TRUSTIFY_DA_PROXY_URL', null, opts); + if (proxyUrl) { + options.agent = new HttpsProxyAgent(proxyUrl); + } + return options; +} + +/** + * Utility function for fetching vendor tokens + * @param {import("index.js").Options} [opts={}] - optional various options to pass along the application + * @returns {{}} + */ +export function getTokenHeaders(opts = {}) { + let headers = {} + setCustomHeader(TRUSTIFY_DA_TOKEN_HEADER, headers, 'TRUSTIFY_DA_TOKEN', opts); + setCustomHeader(TRUSTIFY_DA_SOURCE_HEADER, headers, 'TRUSTIFY_DA_SOURCE', opts); + setCustomHeader(TRUSTIFY_DA_OPERATION_TYPE_HEADER, headers, TRUSTIFY_DA_OPERATION_TYPE_HEADER.toUpperCase().replaceAll("-", "_"), opts); + setCustomHeader(TRUSTIFY_DA_PACKAGE_MANAGER_HEADER, headers, TRUSTIFY_DA_PACKAGE_MANAGER_HEADER.toUpperCase().replaceAll("-", "_"), opts) + setCustomHeader(TRUSTIFY_DA_TELEMETRY_ID_HEADER, headers, 'TRUSTIFY_DA_TELEMETRY_ID', opts); + + if (getCustom("TRUSTIFY_DA_DEBUG", null, opts) === "true") { + console.log("Headers Values to be sent to Trustify DA backend:" + EOL) + for (const headerKey in headers) { + if (!headerKey.match(RegexNotToBeLogged)) { + console.log(`${headerKey}: ${headers[headerKey]}`) + } + } + } + return headers +} + +/** + * + * @param {string} headerName - the header name to populate in request + * @param headers + * @param {string} optsKey - key in the options object to use the value for + * @param {import("index.js").Options} [opts={}] - options input object to fetch header values from + * @private + */ +function setCustomHeader(headerName, headers, optsKey, opts) { + let customHeaderValue = getCustom(optsKey, null, opts); + if (customHeaderValue) { + headers[headerName] = customHeaderValue + } +} diff --git a/src/workspace.js b/src/workspace.js new file mode 100644 index 00000000..f71d5e18 --- /dev/null +++ b/src/workspace.js @@ -0,0 +1,271 @@ +import fs from 'node:fs' +import path from 'node:path' + +import fg from 'fast-glob' +import { load as yamlLoad } from 'js-yaml' +import micromatch from 'micromatch' + +import { getCustom, getCustomPath, invokeCommand } from './tools.js' + +/** Default paths skipped during JS workspace discovery (merged with user patterns). */ +const DEFAULT_WORKSPACE_DISCOVERY_IGNORE = [ + '**/node_modules/**', + '**/.git/**', +] + +/** + * Resolve ignore globs for workspace discovery: defaults + `TRUSTIFY_DA_WORKSPACE_DISCOVERY_IGNORE` + `opts.workspaceDiscoveryIgnore`. + * Patterns are fast-glob / micromatch style, relative to the workspace root (forward slashes). + * + * @param {{ workspaceDiscoveryIgnore?: string[], TRUSTIFY_DA_WORKSPACE_DISCOVERY_IGNORE?: string, [key: string]: unknown }} [opts={}] + * @returns {string[]} + */ +export function resolveWorkspaceDiscoveryIgnore(opts = {}) { + const merged = [...DEFAULT_WORKSPACE_DISCOVERY_IGNORE] + const fromEnv = getCustom('TRUSTIFY_DA_WORKSPACE_DISCOVERY_IGNORE', null, opts) + if (fromEnv && String(fromEnv).trim()) { + merged.push(...String(fromEnv).split(',').map(s => s.trim()).filter(Boolean)) + } + const extra = opts.workspaceDiscoveryIgnore + if (Array.isArray(extra)) { + for (const p of extra) { + if (typeof p === 'string' && p.trim()) { + merged.push(p.trim()) + } + } + } + return [...new Set(merged)] +} + +/** + * @param {string} root - Workspace root (absolute) + * @param {string[]} ignorePatterns + */ +function buildWorkspaceDiscoveryGlobOptions(root, ignorePatterns) { + return { + cwd: root, + absolute: true, + onlyFiles: true, + ignore: ignorePatterns, + followSymbolicLinks: false, + } +} + +/** + * @param {string} filePath - Absolute path + * @param {string} root - Workspace root (absolute) + * @returns {string} Relative path with forward slashes + */ +function relativePathForGlobMatch(filePath, root) { + const rel = path.relative(root, filePath) + return rel.split(path.sep).join('/') +} + +/** + * Drop manifest paths whose location matches an ignore pattern (e.g. root unshift, Cargo paths). + * + * @param {string[]} manifestPaths + * @param {string} root + * @param {string[]} ignorePatterns + * @returns {string[]} + */ +export function filterManifestPathsByDiscoveryIgnore(manifestPaths, root, ignorePatterns) { + if (!ignorePatterns.length) { + return manifestPaths + } + const resolvedRoot = path.resolve(root) + return manifestPaths.filter(absPath => { + const rel = relativePathForGlobMatch(absPath, resolvedRoot) + if (rel === '') { + return true + } + return !ignorePatterns.some(pattern => micromatch.isMatch(rel, pattern, { dot: true })) + }) +} + +/** + * @typedef {{ valid: true, name: string, version: string } | { valid: false, error: string }} ValidatePackageJsonResult + */ + +/** + * Validate a package.json has non-empty `name` and `version` (required for stable SBOM root identity in batch). + * + * @param {string} packageJsonPath - Absolute or relative path to package.json + * @returns {ValidatePackageJsonResult} + */ +export function validatePackageJson(packageJsonPath) { + let content + try { + const raw = fs.readFileSync(packageJsonPath, 'utf-8') + content = JSON.parse(raw) + } catch (err) { + const msg = err instanceof Error ? err.message : String(err) + return { valid: false, error: `Invalid package.json: ${msg}` } + } + if (!content || typeof content !== 'object') { + return { valid: false, error: 'package.json must be a JSON object' } + } + const name = content.name + const version = content.version + if (typeof name !== 'string' || !name.trim()) { + return { valid: false, error: 'Missing or invalid name' } + } + if (typeof version !== 'string' || !version.trim()) { + return { valid: false, error: 'Missing or invalid version' } + } + return { valid: true, name: name.trim(), version: version.trim() } +} + +/** + * Discover all package.json paths in a JS/TS workspace. + * Reads pnpm-workspace.yaml or package.json workspaces. + * + * @param {string} workspaceRoot - Absolute or relative path to workspace root + * @param {{ workspaceDiscoveryIgnore?: string[], TRUSTIFY_DA_WORKSPACE_DISCOVERY_IGNORE?: string, [key: string]: unknown }} [opts={}] - optional `workspaceDiscoveryIgnore` globs (merged with defaults and env) + * @returns {Promise} Paths to package.json files (absolute) + */ +export async function discoverWorkspacePackages(workspaceRoot, opts = {}) { + const root = path.resolve(workspaceRoot) + const ignorePatterns = resolveWorkspaceDiscoveryIgnore(opts) + const globOpts = buildWorkspaceDiscoveryGlobOptions(root, ignorePatterns) + const pnpmWorkspace = path.join(root, 'pnpm-workspace.yaml') + const packageJson = path.join(root, 'package.json') + + if (fs.existsSync(pnpmWorkspace)) { + return discoverFromPnpmWorkspace(root, pnpmWorkspace, globOpts, ignorePatterns) + } + if (fs.existsSync(packageJson)) { + return discoverFromPackageJsonWorkspaces(root, packageJson, globOpts, ignorePatterns) + } + return [] +} + +/** + * @param {string} root + * @param {string} pnpmWorkspacePath + * @param {object} globOpts - fast-glob options (cwd, ignore, followSymbolicLinks, โ€ฆ) + * @param {string[]} ignorePatterns - for post-filter + * @returns {Promise} + */ +async function discoverFromPnpmWorkspace(root, pnpmWorkspacePath, globOpts, ignorePatterns) { + const content = fs.readFileSync(pnpmWorkspacePath, 'utf-8') + const packages = parsePnpmPackages(content) + if (packages.length === 0) { + return [] + } + const patterns = toManifestGlobPatterns(packages, 'package.json') + const manifestPaths = await fg(patterns, globOpts) + return filterManifestPathsByDiscoveryIgnore(manifestPaths, root, ignorePatterns) +} + +/** + * Parse the `packages` array from pnpm-workspace.yaml content. + * @param {string} content - Raw YAML content + * @returns {string[]} + */ +function parsePnpmPackages(content) { + let doc + try { + doc = yamlLoad(content) + } catch { + return [] + } + if (!doc || typeof doc !== 'object' || !Array.isArray(doc.packages)) { + return [] + } + return doc.packages.filter(p => typeof p === 'string' && p.trim()).map(p => p.trim()) +} + +/** + * Convert workspace glob patterns to manifest-file glob patterns, + * correctly handling negation prefixes. + * + * @param {string[]} patterns - Workspace glob patterns (may include negations) + * @param {string} manifestFileName - e.g. 'package.json' or 'Cargo.toml' + * @returns {string[]} + */ +function toManifestGlobPatterns(patterns, manifestFileName) { + return patterns.map(p => { + if (p.startsWith('!')) { + return `!${p.slice(1)}/${manifestFileName}` + } + return `${p}/${manifestFileName}` + }) +} + +/** + * @param {string} root + * @param {string} packageJsonPath + * @param {object} globOpts + * @param {string[]} ignorePatterns + * @returns {Promise} + */ +async function discoverFromPackageJsonWorkspaces(root, packageJsonPath, globOpts, ignorePatterns) { + let pkg + try { + pkg = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8')) + } catch { + return [] + } + const workspaces = pkg.workspaces + if (!workspaces) { + return [] + } + const raw = Array.isArray(workspaces) ? workspaces : workspaces.packages || [] + const patterns = toManifestGlobPatterns(raw.filter(p => typeof p === 'string'), 'package.json') + if (patterns.length === 0) { + return [] + } + const manifestPaths = await fg(patterns, globOpts) + const rootPkg = path.join(root, 'package.json') + if (fs.existsSync(rootPkg) && !manifestPaths.includes(rootPkg)) { + manifestPaths.unshift(rootPkg) + } + return filterManifestPathsByDiscoveryIgnore(manifestPaths, root, ignorePatterns) +} + +/** + * Discover all Cargo.toml manifest paths in a Cargo workspace. + * Uses `cargo metadata` to get workspace members. + * + * @param {string} workspaceRoot - Absolute or relative path to workspace root (must contain Cargo.toml and Cargo.lock) + * @param {import('./index.js').Options} [opts={}] + * @returns {Promise} Paths to Cargo.toml files (absolute) + */ +export async function discoverWorkspaceCrates(workspaceRoot, opts = {}) { + const root = path.resolve(workspaceRoot) + const cargoToml = path.join(root, 'Cargo.toml') + const cargoLock = path.join(root, 'Cargo.lock') + + if (!fs.existsSync(cargoToml) || !fs.existsSync(cargoLock)) { + return [] + } + + const cargoBin = getCustomPath('cargo', opts) + let output + try { + output = invokeCommand(cargoBin, ['metadata', '--format-version', '1', '--no-deps'], { cwd: root }) + } catch { + return [] + } + + let metadata + try { + metadata = JSON.parse(output.toString().trim()) + } catch { + return [] + } + + const memberIds = new Set(metadata.workspace_members || []) + const manifestPaths = [] + for (const pkg of metadata.packages || []) { + if (memberIds.has(pkg.id) && pkg.manifest_path) { + const manifestPath = path.resolve(pkg.manifest_path) + if (fs.existsSync(manifestPath)) { + manifestPaths.push(manifestPath) + } + } + } + const ignorePatterns = resolveWorkspaceDiscoveryIgnore(opts) + return filterManifestPathsByDiscoveryIgnore(manifestPaths, root, ignorePatterns) +} diff --git a/test/analysis.test.js b/test/analysis.test.js index c0404d9d..438d8598 100644 --- a/test/analysis.test.js +++ b/test/analysis.test.js @@ -1,6 +1,6 @@ import { expect } from 'chai' import { afterEach } from 'mocha' -import { rest } from 'msw' +import { http } from 'msw' import { setupServer } from 'msw/node' import { stub } from 'sinon' @@ -23,10 +23,10 @@ function interceptAndRun(handler, test) { function determineResponse(req, res, ctx) { let response - if (req.headers.get("ex-snyk-token") == null) { + if (req.headers.get("ex-provider-1-token") == null) { response = res(ctx.status(400)); - } else if (req.headers.get("ex-snyk-token") === "good-dummy-token") { + } else if (req.headers.get("ex-provider-1-token") === "good-dummy-token") { response = res(ctx.status(200)); } else { response = res(ctx.status(401)); @@ -44,10 +44,10 @@ suite('testing the analysis module for sending api requests', () => { }; test('invoking the requestComponent should return a json report', interceptAndRun( - rest.post(`${backendUrl}/api/v3/analysis`, (req, res, ctx) => { + http.post(`${backendUrl}/api/v5/analysis`, (req, res, ctx) => { // interception route, will return ok response for our fake content type if (fakeProvided.contentType === req.headers.get('content-type')) { - return res(ctx.json({dummy: 'response'})) + return res(ctx.json({ dummy: 'response' })) } return res(ctx.status(400)) }), @@ -59,13 +59,13 @@ suite('testing the analysis module for sending api requests', () => { // fake providers hosts our stubbed provideStack function let fakeProvider = { provideComponent: componentProvideStub, - provideStack: () => {}, // not required for this test - isSupported: () => {} // not required for this test + provideStack: () => { }, // not required for this test + isSupported: () => { } // not required for this test } // verify response as expected let res = await analysis.requestComponent(fakeProvider, fakeContent, backendUrl) - expect(res).to.deep.equal({dummy: 'response'}) + expect(res).to.deep.equal({ dummy: 'response' }) } )) @@ -76,14 +76,14 @@ suite('testing the analysis module for sending api requests', () => { stackProviderStub.withArgs(fakeManifest).returns(fakeProvided) // fake providers hosts our stubbed provideStack function let fakeProvider = { - provideComponent: () => {}, // not required for this test + provideComponent: () => { }, // not required for this test provideStack: stackProviderStub, - isSupported: () => {} // not required for this test + isSupported: () => { } // not required for this test } test('invoking the requestStack for html should return a string report', interceptAndRun( // interception route, will return ok response for our fake content type - rest.post(`${backendUrl}/api/v3/analysis`, (req, res, ctx) => { + http.post(`${backendUrl}/api/v5/analysis`, (req, res, ctx) => { if (fakeProvided.contentType === req.headers.get('content-type')) { return res(ctx.text('html-content')) } @@ -98,16 +98,16 @@ suite('testing the analysis module for sending api requests', () => { test('invoking the requestStack for non-html should return a json report', interceptAndRun( // interception route, will return ok response for our fake content type - rest.post(`${backendUrl}/api/v3/analysis`, (req, res, ctx) => { + http.post(`${backendUrl}/api/v5/analysis`, (req, res, ctx) => { if (fakeProvided.contentType === req.headers.get('content-type')) { - return res(ctx.json({dummy: 'response'})) + return res(ctx.json({ dummy: 'response' })) } return res(ctx.status(400)) }), async () => { // verify response as expected let res = await analysis.requestStack(fakeProvider, fakeManifest, backendUrl) - expect(res).to.deep.equal({dummy: 'response'}) + expect(res).to.deep.equal({ dummy: 'response' }) } )) }) @@ -115,13 +115,13 @@ suite('testing the analysis module for sending api requests', () => { test('invoking validateToken function with good token', interceptAndRun( // interception route, will return ok response for our fake content type - rest.get(`${backendUrl}/api/v3/token`, (req, res, ctx) => { + http.get(`${backendUrl}/api/v5/token`, (req, res, ctx) => { return determineResponse(req, res, ctx); }), async () => { let options = { - 'EXHORT_SNYK_TOKEN': 'good-dummy-token' + 'TRUSTIFY_DA_PROVIDER_1_TOKEN': 'good-dummy-token' } // verify response as expected let res = await analysis.validateToken(backendUrl, options) @@ -130,13 +130,13 @@ suite('testing the analysis module for sending api requests', () => { )) test('invoking validateToken function with bad token', interceptAndRun( // interception route, will return ok response for our fake content type - rest.get(`${backendUrl}/api/v3/token`, (req, res, ctx) => { + http.get(`${backendUrl}/api/v5/token`, (req, res, ctx) => { return determineResponse(req, res, ctx); }), async () => { let options = { - 'EXHORT_SNYK_TOKEN': 'bad-dummy-token' + 'TRUSTIFY_DA_PROVIDER_1_TOKEN': 'bad-dummy-token' } // verify response as expected let res = await analysis.validateToken(backendUrl, options) @@ -145,7 +145,7 @@ suite('testing the analysis module for sending api requests', () => { )) test('invoking validateToken function without token', interceptAndRun( // interception route, will return ok response for our fake content type - rest.get(`${backendUrl}/api/v3/token`, (req, res, ctx) => { + http.get(`${backendUrl}/api/v5/token`, (req, res, ctx) => { return determineResponse(req, res, ctx); }), @@ -167,39 +167,39 @@ suite('testing the analysis module for sending api requests', () => { stackProviderStub.withArgs(fakeManifest).returns(fakeProvided) // fake providers hosts our stubbed provideStack function let fakeProvider = { - provideComponent: () => {}, // not required for this test + provideComponent: () => { }, // not required for this test provideStack: stackProviderStub, - isSupported: () => {} // not required for this test + isSupported: () => { } // not required for this test }; - afterEach(() => delete process.env['EXHORT_SNYK_TOKEN']) + afterEach(() => delete process.env['TRUSTIFY_DA_PROVIDER_1_TOKEN']) test('when the relevant token environment variables are set, verify corresponding headers are included', interceptAndRun( // interception route, will return ok response if found the expected token - rest.post(`${backendUrl}/api/v3/analysis`, (req, res, ctx) => { - if ('dummy-snyk-token' === req.headers.get('ex-snyk-token')) { - return res(ctx.json({ok: 'ok'})) + http.post(`${backendUrl}/api/v5/analysis`, (req, res, ctx) => { + if ('dummy-provider-1-token' === req.headers.get('ex-provider-1-token')) { + return res(ctx.json({ ok: 'ok' })) } return res(ctx.status(400)) }), async () => { - process.env['EXHORT_SNYK_TOKEN'] = 'dummy-snyk-token' + process.env['TRUSTIFY_DA_PROVIDER_1_TOKEN'] = 'dummy-provider-1-token' let res = await analysis.requestStack(fakeProvider, fakeManifest, backendUrl) - expect(res).to.deep.equal({ok: 'ok'}) + expect(res).to.deep.equal({ ok: 'ok' }) } )) test('when the relevant token environment variables are not set, verify no corresponding headers are included', interceptAndRun( // interception route, will return ok response if found the expected token - rest.post(`${backendUrl}/api/v3/analysis`, (req, res, ctx) => { - if (!req.headers.get('ex-snyk-token')) { - return res(ctx.json({ok: 'ok'})) + http.post(`${backendUrl}/api/v5/analysis`, (req, res, ctx) => { + if (!req.headers.get('ex-provider-1-token')) { + return res(ctx.json({ ok: 'ok' })) } return res(ctx.status(400)) }), async () => { let res = await analysis.requestStack(fakeProvider, fakeManifest, backendUrl) - expect(res).to.deep.equal({ok: 'ok'}) + expect(res).to.deep.equal({ ok: 'ok' }) } )) }) @@ -209,65 +209,65 @@ suite('testing the analysis module for sending api requests', () => { let stackProviderStub = stub() stackProviderStub.withArgs(fakeManifest).returns(fakeProvided) let fakeProvider = { - provideComponent: () => {}, + provideComponent: () => { }, provideStack: stackProviderStub, - isSupported: () => {} + isSupported: () => { } }; afterEach(() => { - delete process.env['EXHORT_PROXY_URL'] + delete process.env['TRUSTIFY_DA_PROXY_URL'] }) test('when HTTP proxy is configured, verify agent is set correctly', interceptAndRun( - rest.post(`${backendUrl}/api/v3/analysis`, (req, res, ctx) => { + http.post(`${backendUrl}/api/v5/analysis`, (req, res, ctx) => { // The request should go through the proxy - return res(ctx.json({ok: 'ok'})) + return res(ctx.json({ ok: 'ok' })) }), async () => { const httpProxyUrl = 'http://proxy.example.com:8080' const options = { - 'EXHORT_PROXY_URL': httpProxyUrl + 'TRUSTIFY_DA_PROXY_URL': httpProxyUrl } let res = await analysis.requestStack(fakeProvider, fakeManifest, backendUrl, false, options) - expect(res).to.deep.equal({ok: 'ok'}) + expect(res).to.deep.equal({ ok: 'ok' }) } )) test('when HTTPS proxy is configured, verify agent is set correctly', interceptAndRun( - rest.post(`${backendUrl}/api/v3/analysis`, (req, res, ctx) => { + http.post(`${backendUrl}/api/v5/analysis`, (req, res, ctx) => { // The request should go through the proxy - return res(ctx.json({ok: 'ok'})) + return res(ctx.json({ ok: 'ok' })) }), async () => { const httpsProxyUrl = 'https://proxy.example.com:8080' const options = { - 'EXHORT_PROXY_URL': httpsProxyUrl + 'TRUSTIFY_DA_PROXY_URL': httpsProxyUrl } let res = await analysis.requestStack(fakeProvider, fakeManifest, backendUrl, false, options) - expect(res).to.deep.equal({ok: 'ok'}) + expect(res).to.deep.equal({ ok: 'ok' }) } )) test('when proxy is configured via environment variable, verify agent is set correctly', interceptAndRun( - rest.post(`${backendUrl}/api/v3/analysis`, (req, res, ctx) => { + http.post(`${backendUrl}/api/v5/analysis`, (req, res, ctx) => { // The request should go through the proxy - return res(ctx.json({ok: 'ok'})) + return res(ctx.json({ ok: 'ok' })) }), async () => { - process.env['EXHORT_PROXY_URL'] = 'http://proxy.example.com:8080' + process.env['TRUSTIFY_DA_PROXY_URL'] = 'http://proxy.example.com:8080' let res = await analysis.requestStack(fakeProvider, fakeManifest, backendUrl) - expect(res).to.deep.equal({ok: 'ok'}) + expect(res).to.deep.equal({ ok: 'ok' }) } )) test('when no proxy is configured, verify no agent is set', interceptAndRun( - rest.post(`${backendUrl}/api/v3/analysis`, (req, res, ctx) => { + http.post(`${backendUrl}/api/v5/analysis`, (req, res, ctx) => { // The request should go directly without proxy - return res(ctx.json({ok: 'ok'})) + return res(ctx.json({ ok: 'ok' })) }), async () => { let res = await analysis.requestStack(fakeProvider, fakeManifest, backendUrl) - expect(res).to.deep.equal({ok: 'ok'}) + expect(res).to.deep.equal({ ok: 'ok' }) } )) }) diff --git a/test/batch_opts.test.js b/test/batch_opts.test.js new file mode 100644 index 00000000..b3f1b97f --- /dev/null +++ b/test/batch_opts.test.js @@ -0,0 +1,51 @@ +import { expect } from 'chai' + +import { resolveBatchMetadata, resolveContinueOnError } from '../src/batch_opts.js' + +suite('resolveContinueOnError', () => { + test('defaults to true', () => { + expect(resolveContinueOnError({})).to.be.true + }) + + test('opts false disables', () => { + expect(resolveContinueOnError({ continueOnError: false })).to.be.false + }) + + test('env false disables', () => { + const prev = process.env.TRUSTIFY_DA_CONTINUE_ON_ERROR + process.env.TRUSTIFY_DA_CONTINUE_ON_ERROR = 'false' + try { + expect(resolveContinueOnError({})).to.be.false + } finally { + if (prev === undefined) { + delete process.env.TRUSTIFY_DA_CONTINUE_ON_ERROR + } else { + process.env.TRUSTIFY_DA_CONTINUE_ON_ERROR = prev + } + } + }) +}) + +suite('resolveBatchMetadata', () => { + test('defaults to false', () => { + expect(resolveBatchMetadata({})).to.be.false + }) + + test('opts true enables', () => { + expect(resolveBatchMetadata({ batchMetadata: true })).to.be.true + }) + + test('env true enables', () => { + const prev = process.env.TRUSTIFY_DA_BATCH_METADATA + process.env.TRUSTIFY_DA_BATCH_METADATA = 'true' + try { + expect(resolveBatchMetadata({})).to.be.true + } finally { + if (prev === undefined) { + delete process.env.TRUSTIFY_DA_BATCH_METADATA + } else { + process.env.TRUSTIFY_DA_BATCH_METADATA = prev + } + } + }) +}) diff --git a/test/exhort-backend-utils.test.js b/test/exhort-backend-utils.test.js new file mode 100644 index 00000000..838ddfcb --- /dev/null +++ b/test/exhort-backend-utils.test.js @@ -0,0 +1,81 @@ +import { expect } from 'chai' +import * as chai from 'chai' +import * as sinon from 'sinon' +import sinonChai from 'sinon-chai' + +import { selectTrustifyDABackend } from '../src/index.js' +import { getTokenHeaders } from '../src/tools.js'; + +chai.use(sinonChai) + +suite('testing Select Trustify DA Backend function', () => { + const testUrl = 'https://trustify-da.example.com'; + const testUrl2 = 'https://dev.trustify-da.example.com'; + + test('When TRUSTIFY_DA_BACKEND_URL is set in environment variable, should return that value', () => { + process.env['TRUSTIFY_DA_BACKEND_URL'] = testUrl; + let selectedUrl = selectTrustifyDABackend({}); + expect(selectedUrl).to.be.equals(testUrl); + delete process.env['TRUSTIFY_DA_BACKEND_URL']; + }); + + test('When TRUSTIFY_DA_BACKEND_URL is set in opts (but not in env), should return that value', () => { + delete process.env['TRUSTIFY_DA_BACKEND_URL']; + let testOpts = { + 'TRUSTIFY_DA_BACKEND_URL': testUrl + }; + let selectedUrl = selectTrustifyDABackend(testOpts); + expect(selectedUrl).to.be.equals(testUrl); + }); + + test('When TRUSTIFY_DA_BACKEND_URL is set in both environment and opts, environment variable should take precedence', () => { + process.env['TRUSTIFY_DA_BACKEND_URL'] = testUrl; + let testOpts = { + 'TRUSTIFY_DA_BACKEND_URL': testUrl2 + }; + let selectedUrl = selectTrustifyDABackend(testOpts); + expect(selectedUrl).to.be.equals(testUrl); + delete process.env['TRUSTIFY_DA_BACKEND_URL']; + }); + + test('When TRUSTIFY_DA_BACKEND_URL is not set, should throw error', () => { + delete process.env['TRUSTIFY_DA_BACKEND_URL']; + expect(() => selectTrustifyDABackend({})).to.throw('TRUSTIFY_DA_BACKEND_URL is unset'); + }); + + test('When TRUSTIFY_DA_BACKEND_URL is empty string in environment, should throw error', () => { + process.env['TRUSTIFY_DA_BACKEND_URL'] = ''; + expect(() => selectTrustifyDABackend({})).to.throw('TRUSTIFY_DA_BACKEND_URL is unset'); + delete process.env['TRUSTIFY_DA_BACKEND_URL']; + }); + + test('When TRUSTIFY_DA_BACKEND_URL is empty string in opts, should throw error', () => { + delete process.env['TRUSTIFY_DA_BACKEND_URL']; + let testOpts = { + 'TRUSTIFY_DA_BACKEND_URL': '' + }; + expect(() => selectTrustifyDABackend(testOpts)).to.throw('TRUSTIFY_DA_BACKEND_URL is unset'); + }); + + test('When TRUSTIFY_DA_BACKEND_URL is null in opts, should throw error', () => { + delete process.env['TRUSTIFY_DA_BACKEND_URL']; + let testOpts = { + 'TRUSTIFY_DA_BACKEND_URL': null + }; + expect(() => selectTrustifyDABackend(testOpts)).to.throw('TRUSTIFY_DA_BACKEND_URL is unset'); + }); + +}).afterAll(() => { + delete process.env['TRUSTIFY_DA_BACKEND_URL']; +}); + +suite('verify token header logging', () => { + test('don\'t log the token header', () => { + getTokenHeaders({ + 'TRUSTIFY_DA_TOKEN': 'banana', + 'TRUSTIFY_DA_DEBUG': 'true' + }) + // Should only be called once with "Headers Values to be sent to Trustify DA backend:" + expect(console.log).to.be.calledOnce + }) +}).beforeAll(() => sinon.spy(console, 'log')).afterAll(() => console.log.restore()) diff --git a/test/get-exhort-url.test.js b/test/get-exhort-url.test.js deleted file mode 100644 index f511391f..00000000 --- a/test/get-exhort-url.test.js +++ /dev/null @@ -1,117 +0,0 @@ -import { expect } from 'chai' - -import {exhortDefaultUrl, exhortDevDefaultUrl, testSelectExhortBackend} from "../src/index.js" - -suite('testing Select Exhort Backend function when EXHORT_DEV_MODE environment variable is True', () => { - - test('When Dev Mode environment Variable= true, default DEV Exhort Backend Selected ', () => { - let testOpts = { - "EXHORT_DEV_MODE" : "true" - - } - let selectedUrl = testSelectExhortBackend(testOpts); - expect(selectedUrl).not.to.be.equals(exhortDefaultUrl) - expect(selectedUrl).to.be.equals(exhortDevDefaultUrl) - }); - - test('When Dev Mode environment Variable= true, and despite option Dev Mode = false , default DEV Exhort Backend Selected ', () => { - let testOpts = { - "EXHORT_DEV_MODE" : "false" - } - let selectedUrl = testSelectExhortBackend(testOpts); - expect(selectedUrl).not.to.be.equals(exhortDefaultUrl) - expect(selectedUrl).to.be.equals(exhortDevDefaultUrl) - }); - - test('When Dev Mode environment Variable= true, And option DEV_EXHORT_BACKEND_URL contains some url route that client set , default DEV Exhort Backend Not Selected ', () => { - const dummyRoute = "http://dummy-exhort-route"; - let testOpts = { - "DEV_EXHORT_BACKEND_URL" : dummyRoute - } - let selectedUrl = testSelectExhortBackend(testOpts); - expect(selectedUrl).not.to.be.equals(exhortDevDefaultUrl) - expect(selectedUrl).to.be.equals(dummyRoute) - }); - -}).beforeAll(() => process.env["EXHORT_DEV_MODE"] = "true" ).afterAll(() => delete process.env['EXHORT_DEV_MODE']); - -suite('testing Select Exhort Backend function when EXHORT_DEV_MODE environment variable is false', () => { - - test('When Dev Mode environment Variable= true, default DEV Exhort Backend Selected ', () => { - - let testOpts = { - "EXHORT_DEV_MODE" : "false" - } - let selectedUrl = testSelectExhortBackend(testOpts); - expect(selectedUrl).not.to.be.equals(exhortDevDefaultUrl) - expect(selectedUrl).to.be.equals(exhortDefaultUrl) - }); - - test('When Dev Mode environment Variable= false, and despite option Dev Mode = true , default Exhort Backend Selected (production) ', () => { - let dummyRoute = "http://dummy-dev-route-exhirt" - let testOpts = { - "EXHORT_DEV_MODE" : "true", - "DEV_EXHORT_BACKEND_URL" : dummyRoute - } - let selectedUrl = testSelectExhortBackend(testOpts); - expect(selectedUrl).not.to.be.equals(dummyRoute) - expect(selectedUrl).to.be.equals(exhortDefaultUrl) - }); - - test('When Dev Mode environment Variable= false, environment variable DEV_EXHORT_BACKEND_URL=dummy-url , option EXHORT_DEV_MODE=true , default Exhort Backend Selected anyway ', () => { - const dummyRoute = "http://dummy-url" - process.env["DEV_EXHORT_BACKEND_URL"] = dummyRoute - let testOpts = { - "EXHORT_DEV_MODE" : "true", - "DEV_EXHORT_BACKEND_URL" : dummyRoute - } - let selectedUrl = testSelectExhortBackend(testOpts); - delete process.env["DEV_EXHORT_BACKEND_URL"] - expect(selectedUrl).not.to.be.equals(dummyRoute) - expect(selectedUrl).to.be.equals(exhortDefaultUrl) - }); - -}).beforeAll(() => process.env["EXHORT_DEV_MODE"] = "false" ).afterAll(() => delete process.env['EXHORT_DEV_MODE']); - -suite('testing Select Exhort Backend function when EXHORT_DEV_MODE environment variable is not set', () => { - - test('When Dev Mode Option = false, default Exhort Backend Selected (production)', () => { - - let testOpts = { - "EXHORT_DEV_MODE" : "false" - } - let selectedUrl = testSelectExhortBackend(testOpts); - expect(selectedUrl).not.to.be.equals(exhortDevDefaultUrl) - expect(selectedUrl).to.be.equals(exhortDefaultUrl) - }); - - test('When Dev Mode Option Variable= true, default dev Exhort Backend Selected ', () => { - let testOpts = { - "EXHORT_DEV_MODE" : "true" - } - let selectedUrl = testSelectExhortBackend(testOpts); - expect(selectedUrl).not.to.be.equals(exhortDefaultUrl) - expect(selectedUrl).to.be.equals(exhortDevDefaultUrl) - }); - - test('When Dev Mode option = true, option DEV_EXHORT_BACKEND_URL=some dummy-url , then some dummy-url Selected ', () => { - let dummyRoute = "http://dummy-dev-route-exhirt" - process.env["DEV_EXHORT_BACKEND_URL"] = dummyRoute - let testOpts = { - "EXHORT_DEV_MODE" : "true", - "DEV_EXHORT_BACKEND_URL" : dummyRoute - } - let selectedUrl = testSelectExhortBackend(testOpts); - expect(selectedUrl).not.to.be.equals(exhortDefaultUrl) - expect(selectedUrl).to.be.equals(dummyRoute) - delete process.env["DEV_EXHORT_BACKEND_URL"] - }); - - test('When Nothing set, Choose default backend (production) ', () => { - let selectedUrl = testSelectExhortBackend({}); - expect(selectedUrl).to.be.equals(exhortDefaultUrl) - }); - - -}); - diff --git a/test/it/end-to-end.js b/test/it/end-to-end.js deleted file mode 100644 index cd8752e7..00000000 --- a/test/it/end-to-end.js +++ /dev/null @@ -1,112 +0,0 @@ -import { expect } from 'chai' - -import index from "../../src/index.js" - -const packageManagersDict = - { - "maven" : "pom.xml", - "npm" : "package.json", - "pnpm": "package.json", - "yarn-berry": "package.json", - "yarn-classic": "package.json", - "go" : "go.mod", - "pip" : "requirements.txt", - "gradle-groovy" : "build.gradle", - "gradle-kotlin" : "build.gradle.kts" - } - -function getParsedKeyFromHtml(html, key,keyLength) { - let beginSummary = html.substring(html.indexOf(key)) - let summary = beginSummary.substring(keyLength , beginSummary.indexOf("}") + 1); - return JSON.parse(summary); -} - -function extractTotalsGeneralOrFromProvider(providedDataForStack, provider) { - if(providedDataForStack.providers[provider].sources.length > 0) { - return providedDataForStack.providers[provider].sources[provider].summary.total; - } else { - return providedDataForStack.scanned.total; - } -} - -suite('Integration Tests', () => { - [ - "gradle-groovy", - "gradle-kotlin", - "maven", - "npm", - "pnpm", - "yarn-berry", - "yarn-classic", - "go", - "pip" - - ].forEach(packageManager => { - test(`Stack Analysis json for ${packageManager}`, async () => { - if(packageManager === "pip") { - process.env["EXHORT_PYTHON_VIRTUAL_ENV"] = "true" - } else { - process.env["EXHORT_PYTHON_VIRTUAL_ENV"] = "" - } - process.env["EXHORT_DEV_MODE"] = "true" - let manifestName = packageManagersDict[packageManager] - let pomPath = `test/it/test_manifests/${packageManager}/${manifestName}` - let providedDataForStack = await index.stackAnalysis(pomPath) - console.log(JSON.stringify(providedDataForStack,null , 4)) - let providers = ["tpa"] - providers.forEach(provider => expect(extractTotalsGeneralOrFromProvider(providedDataForStack, provider)).greaterThan(0)) - // TODO: if sources doesn't exist, add "scanned" instead - // python transitive count for stack analysis is awaiting fix in exhort backend - if(packageManager !== "pip") { - expect(providedDataForStack.scanned.transitive).greaterThan(0) - } - providers.forEach(provider => expect(providedDataForStack.providers[provider].status.code).equals(200)) - }).timeout(120000); - - test(`Stack Analysis html for ${packageManager}`, async () => { - let manifestName = packageManagersDict[packageManager] - let pomPath = `test/it/test_manifests/${packageManager}/${manifestName}` - let html = await index.stackAnalysis(pomPath,true) - if(packageManager === "pip") { - process.env["EXHORT_PYTHON_VIRTUAL_ENV"] = "true" - } else { - process.env["EXHORT_PYTHON_VIRTUAL_ENV"] = "" - } - let reportParsedFromHtml - let parsedSummaryFromHtml - let parsedStatusFromHtmlOsvNvd - let parsedScannedFromHtml - try { - reportParsedFromHtml = JSON.parse(html.substring(html.indexOf("\"report\" :") + 10, html.search(/([}](\s*)){5}/) + html.substring(html.search(/([}](\s*)){5}/)).indexOf(","))) - parsedSummaryFromHtml = getParsedKeyFromHtml(html,"\"summary\"",11) - expect(parsedSummaryFromHtml.total).greaterThanOrEqual(0) - } catch (e) { - let startOfJson = html.substring(html.indexOf("\"report\" :")) - reportParsedFromHtml = JSON.parse("{" + startOfJson.substring(0,startOfJson.indexOf("};") + 1)) - reportParsedFromHtml = reportParsedFromHtml.report - } finally { - parsedStatusFromHtmlOsvNvd = reportParsedFromHtml.providers["tpa"].status - expect(parsedStatusFromHtmlOsvNvd.code).equals(200) - parsedScannedFromHtml = reportParsedFromHtml.scanned - expect( typeof html).equals("string") - expect(html).include("html").include("svg") - expect(parsedScannedFromHtml.total).greaterThan(0) - expect(parsedScannedFromHtml.transitive).greaterThan(0) - } - }).timeout(60000); - - test(`Component Analysis for ${packageManager}`, async () => { - let manifestName = packageManagersDict[packageManager] - let manifestPath = `test/it/test_manifests/${packageManager}/${manifestName}` - const analysisReport = await index.componentAnalysis(manifestPath) - - expect(analysisReport.scanned.total).greaterThan(0) - expect(analysisReport.scanned.transitive).equal(0) - let providers = ["tpa"] - providers.forEach(provider => expect(extractTotalsGeneralOrFromProvider(analysisReport, provider)).greaterThan(0)) - providers.forEach(provider => expect(analysisReport.providers[provider].status.code).equals(200)) - }).timeout(20000); - - - }); -}).beforeAll(() => process.env["EXHORT_DEV_MODE"] = "true"); diff --git a/test/it/test_manifests/go/go.mod b/test/it/test_manifests/go/go.mod deleted file mode 100644 index c6911e8a..00000000 --- a/test/it/test_manifests/go/go.mod +++ /dev/null @@ -1,10 +0,0 @@ -module github.com/test-golang-namespace/test-golang-app - -go 1.19 - -require( - - github.com/gin-gonic/gin v1.6.0 - github.com/ipld/go-car v0.3.0 - go.elastic.co/apm v1.11.0 -) diff --git a/test/it/test_manifests/maven/pom.xml b/test/it/test_manifests/maven/pom.xml deleted file mode 100644 index 423c98bc..00000000 --- a/test/it/test_manifests/maven/pom.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - 4.0.0 - - pom-with-deps-no-ignore - pom-with-dependency-not-ignored-for-tests - 0.0.1 - - - - log4j - log4j - 1.2.17 - - - - org.projectlombok - lombok - 1.16.6 - - - - com.fasterxml.jackson.core - jackson-databind - 2.14.0 - - - - diff --git a/test/it/test_manifests/npm/package-lock.json b/test/it/test_manifests/npm/package-lock.json deleted file mode 100644 index cbb3d399..00000000 --- a/test/it/test_manifests/npm/package-lock.json +++ /dev/null @@ -1,96 +0,0 @@ -{ - "name": "test-app", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "test-app", - "version": "1.0.0", - "license": "ISC", - "dependencies": { - "@hapi/joi": "^17.1.1", - "axios": "^0.19.0" - } - }, - "node_modules/@hapi/address": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@hapi/address/-/address-4.1.0.tgz", - "integrity": "sha512-SkszZf13HVgGmChdHo/PxchnSaCJ6cetVqLzyciudzZRT0jcOouIF/Q93mgjw8cce+D+4F4C1Z/WrfFN+O3VHQ==", - "deprecated": "Moved to 'npm install @sideway/address'", - "dependencies": { - "@hapi/hoek": "^9.0.0" - } - }, - "node_modules/@hapi/formula": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@hapi/formula/-/formula-2.0.0.tgz", - "integrity": "sha512-V87P8fv7PI0LH7LiVi8Lkf3x+KCO7pQozXRssAHNXXL9L1K+uyu4XypLXwxqVDKgyQai6qj3/KteNlrqDx4W5A==", - "deprecated": "Moved to 'npm install @sideway/formula'" - }, - "node_modules/@hapi/hoek": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", - "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==" - }, - "node_modules/@hapi/joi": { - "version": "17.1.1", - "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-17.1.1.tgz", - "integrity": "sha512-p4DKeZAoeZW4g3u7ZeRo+vCDuSDgSvtsB/NpfjXEHTUjSeINAi/RrVOWiVQ1isaoLzMvFEhe8n5065mQq1AdQg==", - "deprecated": "Switch to 'npm install joi'", - "dependencies": { - "@hapi/address": "^4.0.1", - "@hapi/formula": "^2.0.0", - "@hapi/hoek": "^9.0.0", - "@hapi/pinpoint": "^2.0.0", - "@hapi/topo": "^5.0.0" - } - }, - "node_modules/@hapi/pinpoint": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@hapi/pinpoint/-/pinpoint-2.0.1.tgz", - "integrity": "sha512-EKQmr16tM8s16vTT3cA5L0kZZcTMU5DUOZTuvpnY738m+jyP3JIUj+Mm1xc1rsLkGBQ/gVnfKYPwOmPg1tUR4Q==" - }, - "node_modules/@hapi/topo": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", - "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", - "dependencies": { - "@hapi/hoek": "^9.0.0" - } - }, - "node_modules/axios": { - "version": "0.19.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz", - "integrity": "sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==", - "deprecated": "Critical security vulnerability fixed in v0.21.1. For more information, see https://github.com/axios/axios/pull/3410", - "dependencies": { - "follow-redirects": "1.5.10" - } - }, - "node_modules/debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/follow-redirects": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", - "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", - "dependencies": { - "debug": "=3.1.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } -} diff --git a/test/it/test_manifests/npm/package.json b/test/it/test_manifests/npm/package.json deleted file mode 100644 index 7e26367d..00000000 --- a/test/it/test_manifests/npm/package.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "name": "test-app", - "version": "1.0.0", - "description": "", - "main": "index.js", - "scripts": { - "start": "node app.js", - "server": "nodemon server.js" - }, - "keywords": [], - "license": "ISC", - "dependencies": { - "@hapi/joi": "^17.1.1", - "axios": "^0.19.0" - } -} diff --git a/test/it/test_manifests/pip/requirements.txt b/test/it/test_manifests/pip/requirements.txt deleted file mode 100644 index fded9502..00000000 --- a/test/it/test_manifests/pip/requirements.txt +++ /dev/null @@ -1,6 +0,0 @@ -anyio==3.6.2 - # fakepackage==11.69 -click==8.0.4 - # sample comment that should definitely not be resolved -Flask==2.0.3 -# another sample comment diff --git a/test/it/test_manifests/pnpm/package.json b/test/it/test_manifests/pnpm/package.json deleted file mode 100644 index 3be1563f..00000000 --- a/test/it/test_manifests/pnpm/package.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "name": "test-app", - "version": "1.0.0", - "description": "", - "main": "index.js", - "scripts": { - "start": "node app.js", - "server": "nodemon server.js" - }, - "keywords": [], - "license": "ISC", - "dependencies": { - "axios": "^0.19.0", - "node-json-converter": "0.0.1-security" - } -} diff --git a/test/it/test_manifests/pnpm/pnpm-lock.yaml b/test/it/test_manifests/pnpm/pnpm-lock.yaml deleted file mode 100644 index 8be47c95..00000000 --- a/test/it/test_manifests/pnpm/pnpm-lock.yaml +++ /dev/null @@ -1,62 +0,0 @@ -lockfileVersion: '9.0' - -settings: - autoInstallPeers: true - excludeLinksFromLockfile: false - -importers: - - .: - dependencies: - axios: - specifier: ^0.19.0 - version: 0.19.2 - node-json-converter: - specifier: 0.0.1-security - version: 0.0.1-security - -packages: - - axios@0.19.2: - resolution: {integrity: sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==} - deprecated: Critical security vulnerability fixed in v0.21.1. For more information, see https://github.com/axios/axios/pull/3410 - - debug@3.1.0: - resolution: {integrity: sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - - follow-redirects@1.5.10: - resolution: {integrity: sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==} - engines: {node: '>=4.0'} - - ms@2.0.0: - resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} - - node-json-converter@0.0.1-security: - resolution: {integrity: sha512-KxZvcO/m1dly7F8QvHKHq/kTXC/NtEzprCDCEt6ipJasWbT9YetNt0y7kSOblgR/l5sIS1455WQNtzSyu9Qe1Q==} - -snapshots: - - axios@0.19.2: - dependencies: - follow-redirects: 1.5.10 - transitivePeerDependencies: - - supports-color - - debug@3.1.0: - dependencies: - ms: 2.0.0 - - follow-redirects@1.5.10: - dependencies: - debug: 3.1.0 - transitivePeerDependencies: - - supports-color - - ms@2.0.0: {} - - node-json-converter@0.0.1-security: {} diff --git a/test/it/test_manifests/yarn-berry/.yarn/install-state.gz b/test/it/test_manifests/yarn-berry/.yarn/install-state.gz deleted file mode 100644 index 9b242068..00000000 Binary files a/test/it/test_manifests/yarn-berry/.yarn/install-state.gz and /dev/null differ diff --git a/test/it/test_manifests/yarn-berry/.yarnrc.yml b/test/it/test_manifests/yarn-berry/.yarnrc.yml deleted file mode 100644 index 3186f3f0..00000000 --- a/test/it/test_manifests/yarn-berry/.yarnrc.yml +++ /dev/null @@ -1 +0,0 @@ -nodeLinker: node-modules diff --git a/test/it/test_manifests/yarn-berry/package.json b/test/it/test_manifests/yarn-berry/package.json deleted file mode 100644 index 003db0f3..00000000 --- a/test/it/test_manifests/yarn-berry/package.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name": "backend", - "version": "1.0.0", - "description": "", - "main": "index.js", - "scripts": { - "start": "node app.js", - "server": "nodemon server.js", - "client-install": "npm install --prefix ../frontend", - "client": "npm start --prefix ../frontend", - "dev": "concurrently \"npm run server\" \"npm run client\"", - "heroku-postbuild": "NPM_CONFIG_PRODUCTION=false npm install --prefix ../frontend && npm run build --prefix ../frontend" - }, - "keywords": [], - "author": "", - "license": "ISC", - "dependencies": { - "@hapi/joi": "^17.1.1", - "axios": "^0.19.0", - "backend": "^0.0.0", - "bcryptjs": "^2.4.3", - "dotenv": "^8.2.0", - "express": "^4.17.1", - "jsdom": "^19.0.0", - "jsonwebtoken": "^8.5.1", - "mongoose": "^5.9.18", - "nodemon": "^2.0.4" - }, - "exhortignore": [ - "jsonwebtoken" - ], - "packageManager": "yarn@4.9.1" -} diff --git a/test/it/test_manifests/yarn-berry/yarn.lock b/test/it/test_manifests/yarn-berry/yarn.lock deleted file mode 100644 index 55719165..00000000 --- a/test/it/test_manifests/yarn-berry/yarn.lock +++ /dev/null @@ -1,2741 +0,0 @@ -# This file is generated by running "yarn install" inside your project. -# Manual changes might be lost - proceed with caution! - -__metadata: - version: 8 - cacheKey: 10c0 - -"@hapi/address@npm:^4.0.1": - version: 4.1.0 - resolution: "@hapi/address@npm:4.1.0" - dependencies: - "@hapi/hoek": "npm:^9.0.0" - checksum: 10c0/6f111f57d9ff72bab8f0a356cdc95f3a5561a347fedc5c2d398906a3754273db4f83e6f92f5d20759c95077f52d01837175a9128b705aef98101f2d34cabe3ac - languageName: node - linkType: hard - -"@hapi/formula@npm:^2.0.0": - version: 2.0.0 - resolution: "@hapi/formula@npm:2.0.0" - checksum: 10c0/93fd1768da51043e49e008a1556c68e9bbf19f6be4823a7c04ed982afaea8f7079f1d4a5452620fe6124976ea0867a6f42e69579fc74f9b9f3dac6bdcc1fc969 - languageName: node - linkType: hard - -"@hapi/hoek@npm:^9.0.0": - version: 9.3.0 - resolution: "@hapi/hoek@npm:9.3.0" - checksum: 10c0/a096063805051fb8bba4c947e293c664b05a32b47e13bc654c0dd43813a1cec993bdd8f29ceb838020299e1d0f89f68dc0d62a603c13c9cc8541963f0beca055 - languageName: node - linkType: hard - -"@hapi/joi@npm:^17.1.1": - version: 17.1.1 - resolution: "@hapi/joi@npm:17.1.1" - dependencies: - "@hapi/address": "npm:^4.0.1" - "@hapi/formula": "npm:^2.0.0" - "@hapi/hoek": "npm:^9.0.0" - "@hapi/pinpoint": "npm:^2.0.0" - "@hapi/topo": "npm:^5.0.0" - checksum: 10c0/0c9fc1e8d26909b0bd1458728d10071170c5112980d455b865fca17964f65befe8b4c30a3d362d423ec60be77afd2d811d2e40a028d3b099adaba80b960db297 - languageName: node - linkType: hard - -"@hapi/pinpoint@npm:^2.0.0": - version: 2.0.1 - resolution: "@hapi/pinpoint@npm:2.0.1" - checksum: 10c0/b3072f2c57c9fa2e44d85168e253e331324158509e1c45dae2676f31555326410345fd2422f890c41201e2783c5e9bb8c7b0bdcf6abe01079742a943b0c300b9 - languageName: node - linkType: hard - -"@hapi/topo@npm:^5.0.0": - version: 5.1.0 - resolution: "@hapi/topo@npm:5.1.0" - dependencies: - "@hapi/hoek": "npm:^9.0.0" - checksum: 10c0/b16b06d9357947149e032bdf10151eb71aea8057c79c4046bf32393cb89d0d0f7ca501c40c0f7534a5ceca078de0700d2257ac855c15e59fe4e00bba2f25c86f - languageName: node - linkType: hard - -"@isaacs/cliui@npm:^8.0.2": - version: 8.0.2 - resolution: "@isaacs/cliui@npm:8.0.2" - dependencies: - string-width: "npm:^5.1.2" - string-width-cjs: "npm:string-width@^4.2.0" - strip-ansi: "npm:^7.0.1" - strip-ansi-cjs: "npm:strip-ansi@^6.0.1" - wrap-ansi: "npm:^8.1.0" - wrap-ansi-cjs: "npm:wrap-ansi@^7.0.0" - checksum: 10c0/b1bf42535d49f11dc137f18d5e4e63a28c5569de438a221c369483731e9dac9fb797af554e8bf02b6192d1e5eba6e6402cf93900c3d0ac86391d00d04876789e - languageName: node - linkType: hard - -"@isaacs/fs-minipass@npm:^4.0.0": - version: 4.0.1 - resolution: "@isaacs/fs-minipass@npm:4.0.1" - dependencies: - minipass: "npm:^7.0.4" - checksum: 10c0/c25b6dc1598790d5b55c0947a9b7d111cfa92594db5296c3b907e2f533c033666f692a3939eadac17b1c7c40d362d0b0635dc874cbfe3e70db7c2b07cc97a5d2 - languageName: node - linkType: hard - -"@npmcli/agent@npm:^3.0.0": - version: 3.0.0 - resolution: "@npmcli/agent@npm:3.0.0" - dependencies: - agent-base: "npm:^7.1.0" - http-proxy-agent: "npm:^7.0.0" - https-proxy-agent: "npm:^7.0.1" - lru-cache: "npm:^10.0.1" - socks-proxy-agent: "npm:^8.0.3" - checksum: 10c0/efe37b982f30740ee77696a80c196912c274ecd2cb243bc6ae7053a50c733ce0f6c09fda085145f33ecf453be19654acca74b69e81eaad4c90f00ccffe2f9271 - languageName: node - linkType: hard - -"@npmcli/fs@npm:^4.0.0": - version: 4.0.0 - resolution: "@npmcli/fs@npm:4.0.0" - dependencies: - semver: "npm:^7.3.5" - checksum: 10c0/c90935d5ce670c87b6b14fab04a965a3b8137e585f8b2a6257263bd7f97756dd736cb165bb470e5156a9e718ecd99413dccc54b1138c1a46d6ec7cf325982fe5 - languageName: node - linkType: hard - -"@pkgjs/parseargs@npm:^0.11.0": - version: 0.11.0 - resolution: "@pkgjs/parseargs@npm:0.11.0" - checksum: 10c0/5bd7576bb1b38a47a7fc7b51ac9f38748e772beebc56200450c4a817d712232b8f1d3ef70532c80840243c657d491cf6a6be1e3a214cff907645819fdc34aadd - languageName: node - linkType: hard - -"@tootallnate/once@npm:2": - version: 2.0.0 - resolution: "@tootallnate/once@npm:2.0.0" - checksum: 10c0/073bfa548026b1ebaf1659eb8961e526be22fa77139b10d60e712f46d2f0f05f4e6c8bec62a087d41088ee9e29faa7f54838568e475ab2f776171003c3920858 - languageName: node - linkType: hard - -"@types/bson@npm:*": - version: 4.2.4 - resolution: "@types/bson@npm:4.2.4" - dependencies: - bson: "npm:*" - checksum: 10c0/5203f87e54ea5b9e8b7724d5465d163463c3578b8cf04a9f39bb85713426377bfdf199a5bc4a560232470e698882f5af0acfe307becfe9546d04cdc89b0fd4b2 - languageName: node - linkType: hard - -"@types/bson@npm:1.x || 4.0.x": - version: 4.0.5 - resolution: "@types/bson@npm:4.0.5" - dependencies: - "@types/node": "npm:*" - checksum: 10c0/0a1ff97af10796769756cce1da114cbf43752f129e4503ae8d9f6995d6a65619bcf7e96bcb66992c8619a53825e0a79dd5dff8a86ce3c378d3b721d07f5e624f - languageName: node - linkType: hard - -"@types/mongodb@npm:^3.5.27": - version: 3.6.20 - resolution: "@types/mongodb@npm:3.6.20" - dependencies: - "@types/bson": "npm:*" - "@types/node": "npm:*" - checksum: 10c0/eafa1074bfed07ab128a1d4635d8b2afdbb1dd1bf1c9fc3b5701b34f50cc6ec5f0de5b3fd59434254cf7b3e7fdc4549492478996ac9a5e5a7c5aba2aeae53560 - languageName: node - linkType: hard - -"@types/node@npm:*": - version: 22.15.3 - resolution: "@types/node@npm:22.15.3" - dependencies: - undici-types: "npm:~6.21.0" - checksum: 10c0/2879f012d1aeba0bfdb5fed80d165f4f2cb3d1f2e1f98a24b18d4a211b4ace7d64bf2622784c78355982ffc1081ba79d0934efc2fb8353913e5871a63609661f - languageName: node - linkType: hard - -"abab@npm:^2.0.5, abab@npm:^2.0.6": - version: 2.0.6 - resolution: "abab@npm:2.0.6" - checksum: 10c0/0b245c3c3ea2598fe0025abf7cc7bb507b06949d51e8edae5d12c1b847a0a0c09639abcb94788332b4e2044ac4491c1e8f571b51c7826fd4b0bda1685ad4a278 - languageName: node - linkType: hard - -"abbrev@npm:^3.0.0": - version: 3.0.1 - resolution: "abbrev@npm:3.0.1" - checksum: 10c0/21ba8f574ea57a3106d6d35623f2c4a9111d9ee3e9a5be47baed46ec2457d2eac46e07a5c4a60186f88cb98abbe3e24f2d4cca70bc2b12f1692523e2209a9ccf - languageName: node - linkType: hard - -"accepts@npm:~1.3.8": - version: 1.3.8 - resolution: "accepts@npm:1.3.8" - dependencies: - mime-types: "npm:~2.1.34" - negotiator: "npm:0.6.3" - checksum: 10c0/3a35c5f5586cfb9a21163ca47a5f77ac34fa8ceb5d17d2fa2c0d81f41cbd7f8c6fa52c77e2c039acc0f4d09e71abdc51144246900f6bef5e3c4b333f77d89362 - languageName: node - linkType: hard - -"acorn-globals@npm:^6.0.0": - version: 6.0.0 - resolution: "acorn-globals@npm:6.0.0" - dependencies: - acorn: "npm:^7.1.1" - acorn-walk: "npm:^7.1.1" - checksum: 10c0/5f92390a3fd7e5a4f84fe976d4650e2a33ecf27135aa9efc5406e3406df7f00a1bbb00648ee0c8058846f55ad0924ff574e6c73395705690e754589380a41801 - languageName: node - linkType: hard - -"acorn-walk@npm:^7.1.1": - version: 7.2.0 - resolution: "acorn-walk@npm:7.2.0" - checksum: 10c0/ff99f3406ed8826f7d6ef6ac76b7608f099d45a1ff53229fa267125da1924188dbacf02e7903dfcfd2ae4af46f7be8847dc7d564c73c4e230dfb69c8ea8e6b4c - languageName: node - linkType: hard - -"acorn@npm:^7.1.1": - version: 7.4.1 - resolution: "acorn@npm:7.4.1" - bin: - acorn: bin/acorn - checksum: 10c0/bd0b2c2b0f334bbee48828ff897c12bd2eb5898d03bf556dcc8942022cec795ac5bb5b6b585e2de687db6231faf07e096b59a361231dd8c9344d5df5f7f0e526 - languageName: node - linkType: hard - -"acorn@npm:^8.5.0": - version: 8.14.1 - resolution: "acorn@npm:8.14.1" - bin: - acorn: bin/acorn - checksum: 10c0/dbd36c1ed1d2fa3550140000371fcf721578095b18777b85a79df231ca093b08edc6858d75d6e48c73e431c174dcf9214edbd7e6fa5911b93bd8abfa54e47123 - languageName: node - linkType: hard - -"agent-base@npm:6": - version: 6.0.2 - resolution: "agent-base@npm:6.0.2" - dependencies: - debug: "npm:4" - checksum: 10c0/dc4f757e40b5f3e3d674bc9beb4f1048f4ee83af189bae39be99f57bf1f48dde166a8b0a5342a84b5944ee8e6ed1e5a9d801858f4ad44764e84957122fe46261 - languageName: node - linkType: hard - -"agent-base@npm:^7.1.0, agent-base@npm:^7.1.2": - version: 7.1.3 - resolution: "agent-base@npm:7.1.3" - checksum: 10c0/6192b580c5b1d8fb399b9c62bf8343d76654c2dd62afcb9a52b2cf44a8b6ace1e3b704d3fe3547d91555c857d3df02603341ff2cb961b9cfe2b12f9f3c38ee11 - languageName: node - linkType: hard - -"ansi-regex@npm:^5.0.1": - version: 5.0.1 - resolution: "ansi-regex@npm:5.0.1" - checksum: 10c0/9a64bb8627b434ba9327b60c027742e5d17ac69277960d041898596271d992d4d52ba7267a63ca10232e29f6107fc8a835f6ce8d719b88c5f8493f8254813737 - languageName: node - linkType: hard - -"ansi-regex@npm:^6.0.1": - version: 6.1.0 - resolution: "ansi-regex@npm:6.1.0" - checksum: 10c0/a91daeddd54746338478eef88af3439a7edf30f8e23196e2d6ed182da9add559c601266dbef01c2efa46a958ad6f1f8b176799657616c702b5b02e799e7fd8dc - languageName: node - linkType: hard - -"ansi-styles@npm:^4.0.0": - version: 4.3.0 - resolution: "ansi-styles@npm:4.3.0" - dependencies: - color-convert: "npm:^2.0.1" - checksum: 10c0/895a23929da416f2bd3de7e9cb4eabd340949328ab85ddd6e484a637d8f6820d485f53933446f5291c3b760cbc488beb8e88573dd0f9c7daf83dccc8fe81b041 - languageName: node - linkType: hard - -"ansi-styles@npm:^6.1.0": - version: 6.2.1 - resolution: "ansi-styles@npm:6.2.1" - checksum: 10c0/5d1ec38c123984bcedd996eac680d548f31828bd679a66db2bdf11844634dde55fec3efa9c6bb1d89056a5e79c1ac540c4c784d592ea1d25028a92227d2f2d5c - languageName: node - linkType: hard - -"anymatch@npm:~3.1.2": - version: 3.1.3 - resolution: "anymatch@npm:3.1.3" - dependencies: - normalize-path: "npm:^3.0.0" - picomatch: "npm:^2.0.4" - checksum: 10c0/57b06ae984bc32a0d22592c87384cd88fe4511b1dd7581497831c56d41939c8a001b28e7b853e1450f2bf61992dfcaa8ae2d0d161a0a90c4fb631ef07098fbac - languageName: node - linkType: hard - -"array-flatten@npm:1.1.1": - version: 1.1.1 - resolution: "array-flatten@npm:1.1.1" - checksum: 10c0/806966c8abb2f858b08f5324d9d18d7737480610f3bd5d3498aaae6eb5efdc501a884ba019c9b4a8f02ff67002058749d05548fd42fa8643f02c9c7f22198b91 - languageName: node - linkType: hard - -"asynckit@npm:^0.4.0": - version: 0.4.0 - resolution: "asynckit@npm:0.4.0" - checksum: 10c0/d73e2ddf20c4eb9337e1b3df1a0f6159481050a5de457c55b14ea2e5cb6d90bb69e004c9af54737a5ee0917fcf2c9e25de67777bbe58261847846066ba75bc9d - languageName: node - linkType: hard - -"axios@npm:^0.19.0": - version: 0.19.2 - resolution: "axios@npm:0.19.2" - dependencies: - follow-redirects: "npm:1.5.10" - checksum: 10c0/b775abf2db44ea4f182f4c2bfa4bf84a723b86f5aa001f222f12193fa45ba243b7e3f27b66289c6afa51d696402b05c82715fd621a34add5b538e850adcdbce1 - languageName: node - linkType: hard - -"backend@npm:^0.0.0": - version: 0.0.0 - resolution: "backend@npm:0.0.0" - checksum: 10c0/686c7b54482f3dfd3991e596fab4681d2d7a5940a8b00578fc78f565a0804b57fe9f5c1eeebca5c67b17b61f43e8fb92563ccaf77e4c8551058f5be391831bab - languageName: node - linkType: hard - -"backend@workspace:.": - version: 0.0.0-use.local - resolution: "backend@workspace:." - dependencies: - "@hapi/joi": "npm:^17.1.1" - axios: "npm:^0.19.0" - backend: "npm:^0.0.0" - bcryptjs: "npm:^2.4.3" - dotenv: "npm:^8.2.0" - express: "npm:^4.17.1" - jsdom: "npm:^19.0.0" - jsonwebtoken: "npm:^8.5.1" - mongoose: "npm:^5.9.18" - nodemon: "npm:^2.0.4" - languageName: unknown - linkType: soft - -"balanced-match@npm:^1.0.0": - version: 1.0.2 - resolution: "balanced-match@npm:1.0.2" - checksum: 10c0/9308baf0a7e4838a82bbfd11e01b1cb0f0cf2893bc1676c27c2a8c0e70cbae1c59120c3268517a8ae7fb6376b4639ef81ca22582611dbee4ed28df945134aaee - languageName: node - linkType: hard - -"bcryptjs@npm:^2.4.3": - version: 2.4.3 - resolution: "bcryptjs@npm:2.4.3" - checksum: 10c0/b969467087ed7a01ff905a1c6a0c45014ec586248a448ea08370c8ed8bb314bda16a870ca23e0961d7d23bdce1a04c76fa70a9d680be814fa9ac7d8fc61870a3 - languageName: node - linkType: hard - -"binary-extensions@npm:^2.0.0": - version: 2.3.0 - resolution: "binary-extensions@npm:2.3.0" - checksum: 10c0/75a59cafc10fb12a11d510e77110c6c7ae3f4ca22463d52487709ca7f18f69d886aa387557cc9864fbdb10153d0bdb4caacabf11541f55e89ed6e18d12ece2b5 - languageName: node - linkType: hard - -"bl@npm:^2.2.1": - version: 2.2.1 - resolution: "bl@npm:2.2.1" - dependencies: - readable-stream: "npm:^2.3.5" - safe-buffer: "npm:^5.1.1" - checksum: 10c0/37481260f1661755253b6205fcdd64b6d852147aaf61628947d2193fcdb78e625ee061dae0094ac16e7c7f10b12c90110fb2b08826815d47a28f9628bebb5a8f - languageName: node - linkType: hard - -"bluebird@npm:3.5.1": - version: 3.5.1 - resolution: "bluebird@npm:3.5.1" - checksum: 10c0/6df1d4499612aecc146cf6f89a8e81f4f7fd0f7a896bf57742214861c97882d9a4e0d8deab1a4e0c5270ad722d4ff74f161cce81c2742b58fb72f113cafd9ad6 - languageName: node - linkType: hard - -"body-parser@npm:1.20.3": - version: 1.20.3 - resolution: "body-parser@npm:1.20.3" - dependencies: - bytes: "npm:3.1.2" - content-type: "npm:~1.0.5" - debug: "npm:2.6.9" - depd: "npm:2.0.0" - destroy: "npm:1.2.0" - http-errors: "npm:2.0.0" - iconv-lite: "npm:0.4.24" - on-finished: "npm:2.4.1" - qs: "npm:6.13.0" - raw-body: "npm:2.5.2" - type-is: "npm:~1.6.18" - unpipe: "npm:1.0.0" - checksum: 10c0/0a9a93b7518f222885498dcecaad528cf010dd109b071bf471c93def4bfe30958b83e03496eb9c1ad4896db543d999bb62be1a3087294162a88cfa1b42c16310 - languageName: node - linkType: hard - -"brace-expansion@npm:^1.1.7": - version: 1.1.11 - resolution: "brace-expansion@npm:1.1.11" - dependencies: - balanced-match: "npm:^1.0.0" - concat-map: "npm:0.0.1" - checksum: 10c0/695a56cd058096a7cb71fb09d9d6a7070113c7be516699ed361317aca2ec169f618e28b8af352e02ab4233fb54eb0168460a40dc320bab0034b36ab59aaad668 - languageName: node - linkType: hard - -"brace-expansion@npm:^2.0.1": - version: 2.0.1 - resolution: "brace-expansion@npm:2.0.1" - dependencies: - balanced-match: "npm:^1.0.0" - checksum: 10c0/b358f2fe060e2d7a87aa015979ecea07f3c37d4018f8d6deb5bd4c229ad3a0384fe6029bb76cd8be63c81e516ee52d1a0673edbe2023d53a5191732ae3c3e49f - languageName: node - linkType: hard - -"braces@npm:~3.0.2": - version: 3.0.3 - resolution: "braces@npm:3.0.3" - dependencies: - fill-range: "npm:^7.1.1" - checksum: 10c0/7c6dfd30c338d2997ba77500539227b9d1f85e388a5f43220865201e407e076783d0881f2d297b9f80951b4c957fcf0b51c1d2d24227631643c3f7c284b0aa04 - languageName: node - linkType: hard - -"browser-process-hrtime@npm:^1.0.0": - version: 1.0.0 - resolution: "browser-process-hrtime@npm:1.0.0" - checksum: 10c0/65da78e51e9d7fa5909147f269c54c65ae2e03d1cf797cc3cfbbe49f475578b8160ce4a76c36c1a2ffbff26c74f937d73096c508057491ddf1a6dfd11143f72d - languageName: node - linkType: hard - -"bson@npm:*": - version: 6.10.3 - resolution: "bson@npm:6.10.3" - checksum: 10c0/15ad7a9b3bf8090add5fea1761b1ba7d75e5256efcfbb8c9ca448ca98e59c3b079c37c36c7aca0cc916236bd2d4684a5525c68f3d76da8a13d55dc230abbdd21 - languageName: node - linkType: hard - -"bson@npm:^1.1.4": - version: 1.1.6 - resolution: "bson@npm:1.1.6" - checksum: 10c0/a45416578e09837d0341149ee4bf2f2704d2e4ec5cdacbc343600e0d3cf01efdf17d6b64f8fc2e664ec2f727ad6ad2bce05894d9e7e4d4a0a10342ddbb122163 - languageName: node - linkType: hard - -"buffer-equal-constant-time@npm:1.0.1": - version: 1.0.1 - resolution: "buffer-equal-constant-time@npm:1.0.1" - checksum: 10c0/fb2294e64d23c573d0dd1f1e7a466c3e978fe94a4e0f8183937912ca374619773bef8e2aceb854129d2efecbbc515bbd0cc78d2734a3e3031edb0888531bbc8e - languageName: node - linkType: hard - -"bytes@npm:3.1.2": - version: 3.1.2 - resolution: "bytes@npm:3.1.2" - checksum: 10c0/76d1c43cbd602794ad8ad2ae94095cddeb1de78c5dddaa7005c51af10b0176c69971a6d88e805a90c2b6550d76636e43c40d8427a808b8645ede885de4a0358e - languageName: node - linkType: hard - -"cacache@npm:^19.0.1": - version: 19.0.1 - resolution: "cacache@npm:19.0.1" - dependencies: - "@npmcli/fs": "npm:^4.0.0" - fs-minipass: "npm:^3.0.0" - glob: "npm:^10.2.2" - lru-cache: "npm:^10.0.1" - minipass: "npm:^7.0.3" - minipass-collect: "npm:^2.0.1" - minipass-flush: "npm:^1.0.5" - minipass-pipeline: "npm:^1.2.4" - p-map: "npm:^7.0.2" - ssri: "npm:^12.0.0" - tar: "npm:^7.4.3" - unique-filename: "npm:^4.0.0" - checksum: 10c0/01f2134e1bd7d3ab68be851df96c8d63b492b1853b67f2eecb2c37bb682d37cb70bb858a16f2f0554d3c0071be6dfe21456a1ff6fa4b7eed996570d6a25ffe9c - languageName: node - linkType: hard - -"call-bind-apply-helpers@npm:^1.0.1, call-bind-apply-helpers@npm:^1.0.2": - version: 1.0.2 - resolution: "call-bind-apply-helpers@npm:1.0.2" - dependencies: - es-errors: "npm:^1.3.0" - function-bind: "npm:^1.1.2" - checksum: 10c0/47bd9901d57b857590431243fea704ff18078b16890a6b3e021e12d279bbf211d039155e27d7566b374d49ee1f8189344bac9833dec7a20cdec370506361c938 - languageName: node - linkType: hard - -"call-bound@npm:^1.0.2": - version: 1.0.4 - resolution: "call-bound@npm:1.0.4" - dependencies: - call-bind-apply-helpers: "npm:^1.0.2" - get-intrinsic: "npm:^1.3.0" - checksum: 10c0/f4796a6a0941e71c766aea672f63b72bc61234c4f4964dc6d7606e3664c307e7d77845328a8f3359ce39ddb377fed67318f9ee203dea1d47e46165dcf2917644 - languageName: node - linkType: hard - -"chokidar@npm:^3.5.2": - version: 3.6.0 - resolution: "chokidar@npm:3.6.0" - dependencies: - anymatch: "npm:~3.1.2" - braces: "npm:~3.0.2" - fsevents: "npm:~2.3.2" - glob-parent: "npm:~5.1.2" - is-binary-path: "npm:~2.1.0" - is-glob: "npm:~4.0.1" - normalize-path: "npm:~3.0.0" - readdirp: "npm:~3.6.0" - dependenciesMeta: - fsevents: - optional: true - checksum: 10c0/8361dcd013f2ddbe260eacb1f3cb2f2c6f2b0ad118708a343a5ed8158941a39cb8fb1d272e0f389712e74ee90ce8ba864eece9e0e62b9705cb468a2f6d917462 - languageName: node - linkType: hard - -"chownr@npm:^3.0.0": - version: 3.0.0 - resolution: "chownr@npm:3.0.0" - checksum: 10c0/43925b87700f7e3893296c8e9c56cc58f926411cce3a6e5898136daaf08f08b9a8eb76d37d3267e707d0dcc17aed2e2ebdf5848c0c3ce95cf910a919935c1b10 - languageName: node - linkType: hard - -"color-convert@npm:^2.0.1": - version: 2.0.1 - resolution: "color-convert@npm:2.0.1" - dependencies: - color-name: "npm:~1.1.4" - checksum: 10c0/37e1150172f2e311fe1b2df62c6293a342ee7380da7b9cfdba67ea539909afbd74da27033208d01d6d5cfc65ee7868a22e18d7e7648e004425441c0f8a15a7d7 - languageName: node - linkType: hard - -"color-name@npm:~1.1.4": - version: 1.1.4 - resolution: "color-name@npm:1.1.4" - checksum: 10c0/a1a3f914156960902f46f7f56bc62effc6c94e84b2cae157a526b1c1f74b677a47ec602bf68a61abfa2b42d15b7c5651c6dbe72a43af720bc588dff885b10f95 - languageName: node - linkType: hard - -"combined-stream@npm:^1.0.8": - version: 1.0.8 - resolution: "combined-stream@npm:1.0.8" - dependencies: - delayed-stream: "npm:~1.0.0" - checksum: 10c0/0dbb829577e1b1e839fa82b40c07ffaf7de8a09b935cadd355a73652ae70a88b4320db322f6634a4ad93424292fa80973ac6480986247f1734a1137debf271d5 - languageName: node - linkType: hard - -"concat-map@npm:0.0.1": - version: 0.0.1 - resolution: "concat-map@npm:0.0.1" - checksum: 10c0/c996b1cfdf95b6c90fee4dae37e332c8b6eb7d106430c17d538034c0ad9a1630cb194d2ab37293b1bdd4d779494beee7786d586a50bd9376fd6f7bcc2bd4c98f - languageName: node - linkType: hard - -"content-disposition@npm:0.5.4": - version: 0.5.4 - resolution: "content-disposition@npm:0.5.4" - dependencies: - safe-buffer: "npm:5.2.1" - checksum: 10c0/bac0316ebfeacb8f381b38285dc691c9939bf0a78b0b7c2d5758acadad242d04783cee5337ba7d12a565a19075af1b3c11c728e1e4946de73c6ff7ce45f3f1bb - languageName: node - linkType: hard - -"content-type@npm:~1.0.4, content-type@npm:~1.0.5": - version: 1.0.5 - resolution: "content-type@npm:1.0.5" - checksum: 10c0/b76ebed15c000aee4678c3707e0860cb6abd4e680a598c0a26e17f0bfae723ec9cc2802f0ff1bc6e4d80603719010431d2231018373d4dde10f9ccff9dadf5af - languageName: node - linkType: hard - -"cookie-signature@npm:1.0.6": - version: 1.0.6 - resolution: "cookie-signature@npm:1.0.6" - checksum: 10c0/b36fd0d4e3fef8456915fcf7742e58fbfcc12a17a018e0eb9501c9d5ef6893b596466f03b0564b81af29ff2538fd0aa4b9d54fe5ccbfb4c90ea50ad29fe2d221 - languageName: node - linkType: hard - -"cookie@npm:0.7.1": - version: 0.7.1 - resolution: "cookie@npm:0.7.1" - checksum: 10c0/5de60c67a410e7c8dc8a46a4b72eb0fe925871d057c9a5d2c0e8145c4270a4f81076de83410c4d397179744b478e33cd80ccbcc457abf40a9409ad27dcd21dde - languageName: node - linkType: hard - -"core-util-is@npm:~1.0.0": - version: 1.0.3 - resolution: "core-util-is@npm:1.0.3" - checksum: 10c0/90a0e40abbddfd7618f8ccd63a74d88deea94e77d0e8dbbea059fa7ebebb8fbb4e2909667fe26f3a467073de1a542ebe6ae4c73a73745ac5833786759cd906c9 - languageName: node - linkType: hard - -"cross-spawn@npm:^7.0.6": - version: 7.0.6 - resolution: "cross-spawn@npm:7.0.6" - dependencies: - path-key: "npm:^3.1.0" - shebang-command: "npm:^2.0.0" - which: "npm:^2.0.1" - checksum: 10c0/053ea8b2135caff68a9e81470e845613e374e7309a47731e81639de3eaeb90c3d01af0e0b44d2ab9d50b43467223b88567dfeb3262db942dc063b9976718ffc1 - languageName: node - linkType: hard - -"cssom@npm:^0.5.0": - version: 0.5.0 - resolution: "cssom@npm:0.5.0" - checksum: 10c0/8c4121c243baf0678c65dcac29b201ff0067dfecf978de9d5c83b2ff127a8fdefd2bfd54577f5ad8c80ed7d2c8b489ae01c82023545d010c4ecb87683fb403dd - languageName: node - linkType: hard - -"cssom@npm:~0.3.6": - version: 0.3.8 - resolution: "cssom@npm:0.3.8" - checksum: 10c0/d74017b209440822f9e24d8782d6d2e808a8fdd58fa626a783337222fe1c87a518ba944d4c88499031b4786e68772c99dfae616638d71906fe9f203aeaf14411 - languageName: node - linkType: hard - -"cssstyle@npm:^2.3.0": - version: 2.3.0 - resolution: "cssstyle@npm:2.3.0" - dependencies: - cssom: "npm:~0.3.6" - checksum: 10c0/863400da2a458f73272b9a55ba7ff05de40d850f22eb4f37311abebd7eff801cf1cd2fb04c4c92b8c3daed83fe766e52e4112afb7bc88d86c63a9c2256a7d178 - languageName: node - linkType: hard - -"data-urls@npm:^3.0.1": - version: 3.0.2 - resolution: "data-urls@npm:3.0.2" - dependencies: - abab: "npm:^2.0.6" - whatwg-mimetype: "npm:^3.0.0" - whatwg-url: "npm:^11.0.0" - checksum: 10c0/051c3aaaf3e961904f136aab095fcf6dff4db23a7fc759dd8ba7b3e6ba03fc07ef608086caad8ab910d864bd3b5e57d0d2f544725653d77c96a2c971567045f4 - languageName: node - linkType: hard - -"debug@npm:2.6.9": - version: 2.6.9 - resolution: "debug@npm:2.6.9" - dependencies: - ms: "npm:2.0.0" - checksum: 10c0/121908fb839f7801180b69a7e218a40b5a0b718813b886b7d6bdb82001b931c938e2941d1e4450f33a1b1df1da653f5f7a0440c197f29fbf8a6e9d45ff6ef589 - languageName: node - linkType: hard - -"debug@npm:3.1.0, debug@npm:=3.1.0": - version: 3.1.0 - resolution: "debug@npm:3.1.0" - dependencies: - ms: "npm:2.0.0" - checksum: 10c0/5bff34a352d7b2eaa31886eeaf2ee534b5461ec0548315b2f9f80bd1d2533cab7df1fa52e130ce27bc31c3945fbffb0fc72baacdceb274b95ce853db89254ea4 - languageName: node - linkType: hard - -"debug@npm:4, debug@npm:^4.3.4": - version: 4.4.0 - resolution: "debug@npm:4.4.0" - dependencies: - ms: "npm:^2.1.3" - peerDependenciesMeta: - supports-color: - optional: true - checksum: 10c0/db94f1a182bf886f57b4755f85b3a74c39b5114b9377b7ab375dc2cfa3454f09490cc6c30f829df3fc8042bc8b8995f6567ce5cd96f3bc3688bd24027197d9de - languageName: node - linkType: hard - -"debug@npm:^3.2.7": - version: 3.2.7 - resolution: "debug@npm:3.2.7" - dependencies: - ms: "npm:^2.1.1" - checksum: 10c0/37d96ae42cbc71c14844d2ae3ba55adf462ec89fd3a999459dec3833944cd999af6007ff29c780f1c61153bcaaf2c842d1e4ce1ec621e4fc4923244942e4a02a - languageName: node - linkType: hard - -"decimal.js@npm:^10.3.1": - version: 10.5.0 - resolution: "decimal.js@npm:10.5.0" - checksum: 10c0/785c35279df32762143914668df35948920b6c1c259b933e0519a69b7003fc0a5ed2a766b1e1dda02574450c566b21738a45f15e274b47c2ac02072c0d1f3ac3 - languageName: node - linkType: hard - -"delayed-stream@npm:~1.0.0": - version: 1.0.0 - resolution: "delayed-stream@npm:1.0.0" - checksum: 10c0/d758899da03392e6712f042bec80aa293bbe9e9ff1b2634baae6a360113e708b91326594c8a486d475c69d6259afb7efacdc3537bfcda1c6c648e390ce601b19 - languageName: node - linkType: hard - -"denque@npm:^1.4.1": - version: 1.5.1 - resolution: "denque@npm:1.5.1" - checksum: 10c0/9e6fc1a63e1c9ded38325290302fef40e5ad28471ad8c66d68eaea623ef847bd25fc75a7c3f47396206dc967922615999066470a364e1786f2758d61337872b7 - languageName: node - linkType: hard - -"depd@npm:2.0.0": - version: 2.0.0 - resolution: "depd@npm:2.0.0" - checksum: 10c0/58bd06ec20e19529b06f7ad07ddab60e504d9e0faca4bd23079fac2d279c3594334d736508dc350e06e510aba5e22e4594483b3a6562ce7c17dd797f4cc4ad2c - languageName: node - linkType: hard - -"destroy@npm:1.2.0": - version: 1.2.0 - resolution: "destroy@npm:1.2.0" - checksum: 10c0/bd7633942f57418f5a3b80d5cb53898127bcf53e24cdf5d5f4396be471417671f0fee48a4ebe9a1e9defbde2a31280011af58a57e090ff822f589b443ed4e643 - languageName: node - linkType: hard - -"domexception@npm:^4.0.0": - version: 4.0.0 - resolution: "domexception@npm:4.0.0" - dependencies: - webidl-conversions: "npm:^7.0.0" - checksum: 10c0/774277cd9d4df033f852196e3c0077a34dbd15a96baa4d166e0e47138a80f4c0bdf0d94e4703e6ff5883cec56bb821a6fff84402d8a498e31de7c87eb932a294 - languageName: node - linkType: hard - -"dotenv@npm:^8.2.0": - version: 8.6.0 - resolution: "dotenv@npm:8.6.0" - checksum: 10c0/6750431dea8efbd54b9f2d9681b04e1ccc7989486461dcf058bb708d9e3d63b04115fcdf8840e38ad1e24a4a2e1e7c1560626c5e3ac7bc09371b127c49e2d45f - languageName: node - linkType: hard - -"dunder-proto@npm:^1.0.1": - version: 1.0.1 - resolution: "dunder-proto@npm:1.0.1" - dependencies: - call-bind-apply-helpers: "npm:^1.0.1" - es-errors: "npm:^1.3.0" - gopd: "npm:^1.2.0" - checksum: 10c0/199f2a0c1c16593ca0a145dbf76a962f8033ce3129f01284d48c45ed4e14fea9bbacd7b3610b6cdc33486cef20385ac054948fefc6272fcce645c09468f93031 - languageName: node - linkType: hard - -"eastasianwidth@npm:^0.2.0": - version: 0.2.0 - resolution: "eastasianwidth@npm:0.2.0" - checksum: 10c0/26f364ebcdb6395f95124fda411f63137a4bfb5d3a06453f7f23dfe52502905bd84e0488172e0f9ec295fdc45f05c23d5d91baf16bd26f0fe9acd777a188dc39 - languageName: node - linkType: hard - -"ecdsa-sig-formatter@npm:1.0.11": - version: 1.0.11 - resolution: "ecdsa-sig-formatter@npm:1.0.11" - dependencies: - safe-buffer: "npm:^5.0.1" - checksum: 10c0/ebfbf19d4b8be938f4dd4a83b8788385da353d63307ede301a9252f9f7f88672e76f2191618fd8edfc2f24679236064176fab0b78131b161ee73daa37125408c - languageName: node - linkType: hard - -"ee-first@npm:1.1.1": - version: 1.1.1 - resolution: "ee-first@npm:1.1.1" - checksum: 10c0/b5bb125ee93161bc16bfe6e56c6b04de5ad2aa44234d8f644813cc95d861a6910903132b05093706de2b706599367c4130eb6d170f6b46895686b95f87d017b7 - languageName: node - linkType: hard - -"emoji-regex@npm:^8.0.0": - version: 8.0.0 - resolution: "emoji-regex@npm:8.0.0" - checksum: 10c0/b6053ad39951c4cf338f9092d7bfba448cdfd46fe6a2a034700b149ac9ffbc137e361cbd3c442297f86bed2e5f7576c1b54cc0a6bf8ef5106cc62f496af35010 - languageName: node - linkType: hard - -"emoji-regex@npm:^9.2.2": - version: 9.2.2 - resolution: "emoji-regex@npm:9.2.2" - checksum: 10c0/af014e759a72064cf66e6e694a7fc6b0ed3d8db680427b021a89727689671cefe9d04151b2cad51dbaf85d5ba790d061cd167f1cf32eb7b281f6368b3c181639 - languageName: node - linkType: hard - -"encodeurl@npm:~1.0.2": - version: 1.0.2 - resolution: "encodeurl@npm:1.0.2" - checksum: 10c0/f6c2387379a9e7c1156c1c3d4f9cb7bb11cf16dd4c1682e1f6746512564b053df5781029b6061296832b59fb22f459dbe250386d217c2f6e203601abb2ee0bec - languageName: node - linkType: hard - -"encodeurl@npm:~2.0.0": - version: 2.0.0 - resolution: "encodeurl@npm:2.0.0" - checksum: 10c0/5d317306acb13e6590e28e27924c754163946a2480de11865c991a3a7eed4315cd3fba378b543ca145829569eefe9b899f3d84bb09870f675ae60bc924b01ceb - languageName: node - linkType: hard - -"encoding@npm:^0.1.13": - version: 0.1.13 - resolution: "encoding@npm:0.1.13" - dependencies: - iconv-lite: "npm:^0.6.2" - checksum: 10c0/36d938712ff00fe1f4bac88b43bcffb5930c1efa57bbcdca9d67e1d9d6c57cfb1200fb01efe0f3109b2ce99b231f90779532814a81370a1bd3274a0f58585039 - languageName: node - linkType: hard - -"env-paths@npm:^2.2.0": - version: 2.2.1 - resolution: "env-paths@npm:2.2.1" - checksum: 10c0/285325677bf00e30845e330eec32894f5105529db97496ee3f598478e50f008c5352a41a30e5e72ec9de8a542b5a570b85699cd63bd2bc646dbcb9f311d83bc4 - languageName: node - linkType: hard - -"err-code@npm:^2.0.2": - version: 2.0.3 - resolution: "err-code@npm:2.0.3" - checksum: 10c0/b642f7b4dd4a376e954947550a3065a9ece6733ab8e51ad80db727aaae0817c2e99b02a97a3d6cecc648a97848305e728289cf312d09af395403a90c9d4d8a66 - languageName: node - linkType: hard - -"es-define-property@npm:^1.0.1": - version: 1.0.1 - resolution: "es-define-property@npm:1.0.1" - checksum: 10c0/3f54eb49c16c18707949ff25a1456728c883e81259f045003499efba399c08bad00deebf65cccde8c0e07908c1a225c9d472b7107e558f2a48e28d530e34527c - languageName: node - linkType: hard - -"es-errors@npm:^1.3.0": - version: 1.3.0 - resolution: "es-errors@npm:1.3.0" - checksum: 10c0/0a61325670072f98d8ae3b914edab3559b6caa980f08054a3b872052640d91da01d38df55df797fcc916389d77fc92b8d5906cf028f4db46d7e3003abecbca85 - languageName: node - linkType: hard - -"es-object-atoms@npm:^1.0.0, es-object-atoms@npm:^1.1.1": - version: 1.1.1 - resolution: "es-object-atoms@npm:1.1.1" - dependencies: - es-errors: "npm:^1.3.0" - checksum: 10c0/65364812ca4daf48eb76e2a3b7a89b3f6a2e62a1c420766ce9f692665a29d94fe41fe88b65f24106f449859549711e4b40d9fb8002d862dfd7eb1c512d10be0c - languageName: node - linkType: hard - -"es-set-tostringtag@npm:^2.1.0": - version: 2.1.0 - resolution: "es-set-tostringtag@npm:2.1.0" - dependencies: - es-errors: "npm:^1.3.0" - get-intrinsic: "npm:^1.2.6" - has-tostringtag: "npm:^1.0.2" - hasown: "npm:^2.0.2" - checksum: 10c0/ef2ca9ce49afe3931cb32e35da4dcb6d86ab02592cfc2ce3e49ced199d9d0bb5085fc7e73e06312213765f5efa47cc1df553a6a5154584b21448e9fb8355b1af - languageName: node - linkType: hard - -"escape-html@npm:~1.0.3": - version: 1.0.3 - resolution: "escape-html@npm:1.0.3" - checksum: 10c0/524c739d776b36c3d29fa08a22e03e8824e3b2fd57500e5e44ecf3cc4707c34c60f9ca0781c0e33d191f2991161504c295e98f68c78fe7baa6e57081ec6ac0a3 - languageName: node - linkType: hard - -"escodegen@npm:^2.0.0": - version: 2.1.0 - resolution: "escodegen@npm:2.1.0" - dependencies: - esprima: "npm:^4.0.1" - estraverse: "npm:^5.2.0" - esutils: "npm:^2.0.2" - source-map: "npm:~0.6.1" - dependenciesMeta: - source-map: - optional: true - bin: - escodegen: bin/escodegen.js - esgenerate: bin/esgenerate.js - checksum: 10c0/e1450a1f75f67d35c061bf0d60888b15f62ab63aef9df1901cffc81cffbbb9e8b3de237c5502cf8613a017c1df3a3003881307c78835a1ab54d8c8d2206e01d3 - languageName: node - linkType: hard - -"esprima@npm:^4.0.1": - version: 4.0.1 - resolution: "esprima@npm:4.0.1" - bin: - esparse: ./bin/esparse.js - esvalidate: ./bin/esvalidate.js - checksum: 10c0/ad4bab9ead0808cf56501750fd9d3fb276f6b105f987707d059005d57e182d18a7c9ec7f3a01794ebddcca676773e42ca48a32d67a250c9d35e009ca613caba3 - languageName: node - linkType: hard - -"estraverse@npm:^5.2.0": - version: 5.3.0 - resolution: "estraverse@npm:5.3.0" - checksum: 10c0/1ff9447b96263dec95d6d67431c5e0771eb9776427421260a3e2f0fdd5d6bd4f8e37a7338f5ad2880c9f143450c9b1e4fc2069060724570a49cf9cf0312bd107 - languageName: node - linkType: hard - -"esutils@npm:^2.0.2": - version: 2.0.3 - resolution: "esutils@npm:2.0.3" - checksum: 10c0/9a2fe69a41bfdade834ba7c42de4723c97ec776e40656919c62cbd13607c45e127a003f05f724a1ea55e5029a4cf2de444b13009f2af71271e42d93a637137c7 - languageName: node - linkType: hard - -"etag@npm:~1.8.1": - version: 1.8.1 - resolution: "etag@npm:1.8.1" - checksum: 10c0/12be11ef62fb9817314d790089a0a49fae4e1b50594135dcb8076312b7d7e470884b5100d249b28c18581b7fd52f8b485689ffae22a11ed9ec17377a33a08f84 - languageName: node - linkType: hard - -"exponential-backoff@npm:^3.1.1": - version: 3.1.2 - resolution: "exponential-backoff@npm:3.1.2" - checksum: 10c0/d9d3e1eafa21b78464297df91f1776f7fbaa3d5e3f7f0995648ca5b89c069d17055033817348d9f4a43d1c20b0eab84f75af6991751e839df53e4dfd6f22e844 - languageName: node - linkType: hard - -"express@npm:^4.17.1": - version: 4.21.2 - resolution: "express@npm:4.21.2" - dependencies: - accepts: "npm:~1.3.8" - array-flatten: "npm:1.1.1" - body-parser: "npm:1.20.3" - content-disposition: "npm:0.5.4" - content-type: "npm:~1.0.4" - cookie: "npm:0.7.1" - cookie-signature: "npm:1.0.6" - debug: "npm:2.6.9" - depd: "npm:2.0.0" - encodeurl: "npm:~2.0.0" - escape-html: "npm:~1.0.3" - etag: "npm:~1.8.1" - finalhandler: "npm:1.3.1" - fresh: "npm:0.5.2" - http-errors: "npm:2.0.0" - merge-descriptors: "npm:1.0.3" - methods: "npm:~1.1.2" - on-finished: "npm:2.4.1" - parseurl: "npm:~1.3.3" - path-to-regexp: "npm:0.1.12" - proxy-addr: "npm:~2.0.7" - qs: "npm:6.13.0" - range-parser: "npm:~1.2.1" - safe-buffer: "npm:5.2.1" - send: "npm:0.19.0" - serve-static: "npm:1.16.2" - setprototypeof: "npm:1.2.0" - statuses: "npm:2.0.1" - type-is: "npm:~1.6.18" - utils-merge: "npm:1.0.1" - vary: "npm:~1.1.2" - checksum: 10c0/38168fd0a32756600b56e6214afecf4fc79ec28eca7f7a91c2ab8d50df4f47562ca3f9dee412da7f5cea6b1a1544b33b40f9f8586dbacfbdada0fe90dbb10a1f - languageName: node - linkType: hard - -"fdir@npm:^6.4.4": - version: 6.4.4 - resolution: "fdir@npm:6.4.4" - peerDependencies: - picomatch: ^3 || ^4 - peerDependenciesMeta: - picomatch: - optional: true - checksum: 10c0/6ccc33be16945ee7bc841e1b4178c0b4cf18d3804894cb482aa514651c962a162f96da7ffc6ebfaf0df311689fb70091b04dd6caffe28d56b9ebdc0e7ccadfdd - languageName: node - linkType: hard - -"fill-range@npm:^7.1.1": - version: 7.1.1 - resolution: "fill-range@npm:7.1.1" - dependencies: - to-regex-range: "npm:^5.0.1" - checksum: 10c0/b75b691bbe065472f38824f694c2f7449d7f5004aa950426a2c28f0306c60db9b880c0b0e4ed819997ffb882d1da02cfcfc819bddc94d71627f5269682edf018 - languageName: node - linkType: hard - -"finalhandler@npm:1.3.1": - version: 1.3.1 - resolution: "finalhandler@npm:1.3.1" - dependencies: - debug: "npm:2.6.9" - encodeurl: "npm:~2.0.0" - escape-html: "npm:~1.0.3" - on-finished: "npm:2.4.1" - parseurl: "npm:~1.3.3" - statuses: "npm:2.0.1" - unpipe: "npm:~1.0.0" - checksum: 10c0/d38035831865a49b5610206a3a9a9aae4e8523cbbcd01175d0480ffbf1278c47f11d89be3ca7f617ae6d94f29cf797546a4619cd84dd109009ef33f12f69019f - languageName: node - linkType: hard - -"follow-redirects@npm:1.5.10": - version: 1.5.10 - resolution: "follow-redirects@npm:1.5.10" - dependencies: - debug: "npm:=3.1.0" - checksum: 10c0/f56ca26dcf3c9996a6cf8868b61e369a35d4000ade0292bdd27b5e0934902681b037060b9fabe58e7042bb8b85166d5db8bbcf027f1825c1577e4cffd904fd3f - languageName: node - linkType: hard - -"foreground-child@npm:^3.1.0": - version: 3.3.1 - resolution: "foreground-child@npm:3.3.1" - dependencies: - cross-spawn: "npm:^7.0.6" - signal-exit: "npm:^4.0.1" - checksum: 10c0/8986e4af2430896e65bc2788d6679067294d6aee9545daefc84923a0a4b399ad9c7a3ea7bd8c0b2b80fdf4a92de4c69df3f628233ff3224260e9c1541a9e9ed3 - languageName: node - linkType: hard - -"form-data@npm:^4.0.0": - version: 4.0.2 - resolution: "form-data@npm:4.0.2" - dependencies: - asynckit: "npm:^0.4.0" - combined-stream: "npm:^1.0.8" - es-set-tostringtag: "npm:^2.1.0" - mime-types: "npm:^2.1.12" - checksum: 10c0/e534b0cf025c831a0929bf4b9bbe1a9a6b03e273a8161f9947286b9b13bf8fb279c6944aae0070c4c311100c6d6dbb815cd955dc217728caf73fad8dc5b8ee9c - languageName: node - linkType: hard - -"forwarded@npm:0.2.0": - version: 0.2.0 - resolution: "forwarded@npm:0.2.0" - checksum: 10c0/9b67c3fac86acdbc9ae47ba1ddd5f2f81526fa4c8226863ede5600a3f7c7416ef451f6f1e240a3cc32d0fd79fcfe6beb08fd0da454f360032bde70bf80afbb33 - languageName: node - linkType: hard - -"fresh@npm:0.5.2": - version: 0.5.2 - resolution: "fresh@npm:0.5.2" - checksum: 10c0/c6d27f3ed86cc5b601404822f31c900dd165ba63fff8152a3ef714e2012e7535027063bc67ded4cb5b3a49fa596495d46cacd9f47d6328459cf570f08b7d9e5a - languageName: node - linkType: hard - -"fs-minipass@npm:^3.0.0": - version: 3.0.3 - resolution: "fs-minipass@npm:3.0.3" - dependencies: - minipass: "npm:^7.0.3" - checksum: 10c0/63e80da2ff9b621e2cb1596abcb9207f1cf82b968b116ccd7b959e3323144cce7fb141462200971c38bbf2ecca51695069db45265705bed09a7cd93ae5b89f94 - languageName: node - linkType: hard - -"fsevents@npm:~2.3.2": - version: 2.3.3 - resolution: "fsevents@npm:2.3.3" - dependencies: - node-gyp: "npm:latest" - checksum: 10c0/a1f0c44595123ed717febbc478aa952e47adfc28e2092be66b8ab1635147254ca6cfe1df792a8997f22716d4cbafc73309899ff7bfac2ac3ad8cf2e4ecc3ec60 - conditions: os=darwin - languageName: node - linkType: hard - -"fsevents@patch:fsevents@npm%3A~2.3.2#optional!builtin": - version: 2.3.3 - resolution: "fsevents@patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1" - dependencies: - node-gyp: "npm:latest" - conditions: os=darwin - languageName: node - linkType: hard - -"function-bind@npm:^1.1.2": - version: 1.1.2 - resolution: "function-bind@npm:1.1.2" - checksum: 10c0/d8680ee1e5fcd4c197e4ac33b2b4dce03c71f4d91717292785703db200f5c21f977c568d28061226f9b5900cbcd2c84463646134fd5337e7925e0942bc3f46d5 - languageName: node - linkType: hard - -"get-intrinsic@npm:^1.2.5, get-intrinsic@npm:^1.2.6, get-intrinsic@npm:^1.3.0": - version: 1.3.0 - resolution: "get-intrinsic@npm:1.3.0" - dependencies: - call-bind-apply-helpers: "npm:^1.0.2" - es-define-property: "npm:^1.0.1" - es-errors: "npm:^1.3.0" - es-object-atoms: "npm:^1.1.1" - function-bind: "npm:^1.1.2" - get-proto: "npm:^1.0.1" - gopd: "npm:^1.2.0" - has-symbols: "npm:^1.1.0" - hasown: "npm:^2.0.2" - math-intrinsics: "npm:^1.1.0" - checksum: 10c0/52c81808af9a8130f581e6a6a83e1ba4a9f703359e7a438d1369a5267a25412322f03dcbd7c549edaef0b6214a0630a28511d7df0130c93cfd380f4fa0b5b66a - languageName: node - linkType: hard - -"get-proto@npm:^1.0.1": - version: 1.0.1 - resolution: "get-proto@npm:1.0.1" - dependencies: - dunder-proto: "npm:^1.0.1" - es-object-atoms: "npm:^1.0.0" - checksum: 10c0/9224acb44603c5526955e83510b9da41baf6ae73f7398875fba50edc5e944223a89c4a72b070fcd78beb5f7bdda58ecb6294adc28f7acfc0da05f76a2399643c - languageName: node - linkType: hard - -"glob-parent@npm:~5.1.2": - version: 5.1.2 - resolution: "glob-parent@npm:5.1.2" - dependencies: - is-glob: "npm:^4.0.1" - checksum: 10c0/cab87638e2112bee3f839ef5f6e0765057163d39c66be8ec1602f3823da4692297ad4e972de876ea17c44d652978638d2fd583c6713d0eb6591706825020c9ee - languageName: node - linkType: hard - -"glob@npm:^10.2.2": - version: 10.4.5 - resolution: "glob@npm:10.4.5" - dependencies: - foreground-child: "npm:^3.1.0" - jackspeak: "npm:^3.1.2" - minimatch: "npm:^9.0.4" - minipass: "npm:^7.1.2" - package-json-from-dist: "npm:^1.0.0" - path-scurry: "npm:^1.11.1" - bin: - glob: dist/esm/bin.mjs - checksum: 10c0/19a9759ea77b8e3ca0a43c2f07ecddc2ad46216b786bb8f993c445aee80d345925a21e5280c7b7c6c59e860a0154b84e4b2b60321fea92cd3c56b4a7489f160e - languageName: node - linkType: hard - -"gopd@npm:^1.2.0": - version: 1.2.0 - resolution: "gopd@npm:1.2.0" - checksum: 10c0/50fff1e04ba2b7737c097358534eacadad1e68d24cccee3272e04e007bed008e68d2614f3987788428fd192a5ae3889d08fb2331417e4fc4a9ab366b2043cead - languageName: node - linkType: hard - -"graceful-fs@npm:^4.2.6": - version: 4.2.11 - resolution: "graceful-fs@npm:4.2.11" - checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 - languageName: node - linkType: hard - -"has-flag@npm:^3.0.0": - version: 3.0.0 - resolution: "has-flag@npm:3.0.0" - checksum: 10c0/1c6c83b14b8b1b3c25b0727b8ba3e3b647f99e9e6e13eb7322107261de07a4c1be56fc0d45678fc376e09772a3a1642ccdaf8fc69bdf123b6c086598397ce473 - languageName: node - linkType: hard - -"has-symbols@npm:^1.0.3, has-symbols@npm:^1.1.0": - version: 1.1.0 - resolution: "has-symbols@npm:1.1.0" - checksum: 10c0/dde0a734b17ae51e84b10986e651c664379018d10b91b6b0e9b293eddb32f0f069688c841fb40f19e9611546130153e0a2a48fd7f512891fb000ddfa36f5a20e - languageName: node - linkType: hard - -"has-tostringtag@npm:^1.0.2": - version: 1.0.2 - resolution: "has-tostringtag@npm:1.0.2" - dependencies: - has-symbols: "npm:^1.0.3" - checksum: 10c0/a8b166462192bafe3d9b6e420a1d581d93dd867adb61be223a17a8d6dad147aa77a8be32c961bb2f27b3ef893cae8d36f564ab651f5e9b7938ae86f74027c48c - languageName: node - linkType: hard - -"hasown@npm:^2.0.2": - version: 2.0.2 - resolution: "hasown@npm:2.0.2" - dependencies: - function-bind: "npm:^1.1.2" - checksum: 10c0/3769d434703b8ac66b209a4cca0737519925bbdb61dd887f93a16372b14694c63ff4e797686d87c90f08168e81082248b9b028bad60d4da9e0d1148766f56eb9 - languageName: node - linkType: hard - -"html-encoding-sniffer@npm:^3.0.0": - version: 3.0.0 - resolution: "html-encoding-sniffer@npm:3.0.0" - dependencies: - whatwg-encoding: "npm:^2.0.0" - checksum: 10c0/b17b3b0fb5d061d8eb15121c3b0b536376c3e295ecaf09ba48dd69c6b6c957839db124fe1e2b3f11329753a4ee01aa7dedf63b7677999e86da17fbbdd82c5386 - languageName: node - linkType: hard - -"http-cache-semantics@npm:^4.1.1": - version: 4.1.1 - resolution: "http-cache-semantics@npm:4.1.1" - checksum: 10c0/ce1319b8a382eb3cbb4a37c19f6bfe14e5bb5be3d09079e885e8c513ab2d3cd9214902f8a31c9dc4e37022633ceabfc2d697405deeaf1b8f3552bb4ed996fdfc - languageName: node - linkType: hard - -"http-errors@npm:2.0.0": - version: 2.0.0 - resolution: "http-errors@npm:2.0.0" - dependencies: - depd: "npm:2.0.0" - inherits: "npm:2.0.4" - setprototypeof: "npm:1.2.0" - statuses: "npm:2.0.1" - toidentifier: "npm:1.0.1" - checksum: 10c0/fc6f2715fe188d091274b5ffc8b3657bd85c63e969daa68ccb77afb05b071a4b62841acb7a21e417b5539014dff2ebf9550f0b14a9ff126f2734a7c1387f8e19 - languageName: node - linkType: hard - -"http-proxy-agent@npm:^5.0.0": - version: 5.0.0 - resolution: "http-proxy-agent@npm:5.0.0" - dependencies: - "@tootallnate/once": "npm:2" - agent-base: "npm:6" - debug: "npm:4" - checksum: 10c0/32a05e413430b2c1e542e5c74b38a9f14865301dd69dff2e53ddb684989440e3d2ce0c4b64d25eb63cf6283e6265ff979a61cf93e3ca3d23047ddfdc8df34a32 - languageName: node - linkType: hard - -"http-proxy-agent@npm:^7.0.0": - version: 7.0.2 - resolution: "http-proxy-agent@npm:7.0.2" - dependencies: - agent-base: "npm:^7.1.0" - debug: "npm:^4.3.4" - checksum: 10c0/4207b06a4580fb85dd6dff521f0abf6db517489e70863dca1a0291daa7f2d3d2d6015a57bd702af068ea5cf9f1f6ff72314f5f5b4228d299c0904135d2aef921 - languageName: node - linkType: hard - -"https-proxy-agent@npm:^5.0.0": - version: 5.0.1 - resolution: "https-proxy-agent@npm:5.0.1" - dependencies: - agent-base: "npm:6" - debug: "npm:4" - checksum: 10c0/6dd639f03434003577c62b27cafdb864784ef19b2de430d8ae2a1d45e31c4fd60719e5637b44db1a88a046934307da7089e03d6089ec3ddacc1189d8de8897d1 - languageName: node - linkType: hard - -"https-proxy-agent@npm:^7.0.1": - version: 7.0.6 - resolution: "https-proxy-agent@npm:7.0.6" - dependencies: - agent-base: "npm:^7.1.2" - debug: "npm:4" - checksum: 10c0/f729219bc735edb621fa30e6e84e60ee5d00802b8247aac0d7b79b0bd6d4b3294737a337b93b86a0bd9e68099d031858a39260c976dc14cdbba238ba1f8779ac - languageName: node - linkType: hard - -"iconv-lite@npm:0.4.24": - version: 0.4.24 - resolution: "iconv-lite@npm:0.4.24" - dependencies: - safer-buffer: "npm:>= 2.1.2 < 3" - checksum: 10c0/c6886a24cc00f2a059767440ec1bc00d334a89f250db8e0f7feb4961c8727118457e27c495ba94d082e51d3baca378726cd110aaf7ded8b9bbfd6a44760cf1d4 - languageName: node - linkType: hard - -"iconv-lite@npm:0.6.3, iconv-lite@npm:^0.6.2": - version: 0.6.3 - resolution: "iconv-lite@npm:0.6.3" - dependencies: - safer-buffer: "npm:>= 2.1.2 < 3.0.0" - checksum: 10c0/98102bc66b33fcf5ac044099d1257ba0b7ad5e3ccd3221f34dd508ab4070edff183276221684e1e0555b145fce0850c9f7d2b60a9fcac50fbb4ea0d6e845a3b1 - languageName: node - linkType: hard - -"ignore-by-default@npm:^1.0.1": - version: 1.0.1 - resolution: "ignore-by-default@npm:1.0.1" - checksum: 10c0/9ab6e70e80f7cc12735def7ecb5527cfa56ab4e1152cd64d294522827f2dcf1f6d85531241537dc3713544e88dd888f65cb3c49c7b2cddb9009087c75274e533 - languageName: node - linkType: hard - -"imurmurhash@npm:^0.1.4": - version: 0.1.4 - resolution: "imurmurhash@npm:0.1.4" - checksum: 10c0/8b51313850dd33605c6c9d3fd9638b714f4c4c40250cff658209f30d40da60f78992fb2df5dabee4acf589a6a82bbc79ad5486550754bd9ec4e3fc0d4a57d6a6 - languageName: node - linkType: hard - -"inherits@npm:2.0.4, inherits@npm:~2.0.3": - version: 2.0.4 - resolution: "inherits@npm:2.0.4" - checksum: 10c0/4e531f648b29039fb7426fb94075e6545faa1eb9fe83c29f0b6d9e7263aceb4289d2d4557db0d428188eeb449cc7c5e77b0a0b2c4e248ff2a65933a0dee49ef2 - languageName: node - linkType: hard - -"ip-address@npm:^9.0.5": - version: 9.0.5 - resolution: "ip-address@npm:9.0.5" - dependencies: - jsbn: "npm:1.1.0" - sprintf-js: "npm:^1.1.3" - checksum: 10c0/331cd07fafcb3b24100613e4b53e1a2b4feab11e671e655d46dc09ee233da5011284d09ca40c4ecbdfe1d0004f462958675c224a804259f2f78d2465a87824bc - languageName: node - linkType: hard - -"ipaddr.js@npm:1.9.1": - version: 1.9.1 - resolution: "ipaddr.js@npm:1.9.1" - checksum: 10c0/0486e775047971d3fdb5fb4f063829bac45af299ae0b82dcf3afa2145338e08290563a2a70f34b732d795ecc8311902e541a8530eeb30d75860a78ff4e94ce2a - languageName: node - linkType: hard - -"is-binary-path@npm:~2.1.0": - version: 2.1.0 - resolution: "is-binary-path@npm:2.1.0" - dependencies: - binary-extensions: "npm:^2.0.0" - checksum: 10c0/a16eaee59ae2b315ba36fad5c5dcaf8e49c3e27318f8ab8fa3cdb8772bf559c8d1ba750a589c2ccb096113bb64497084361a25960899cb6172a6925ab6123d38 - languageName: node - linkType: hard - -"is-extglob@npm:^2.1.1": - version: 2.1.1 - resolution: "is-extglob@npm:2.1.1" - checksum: 10c0/5487da35691fbc339700bbb2730430b07777a3c21b9ebaecb3072512dfd7b4ba78ac2381a87e8d78d20ea08affb3f1971b4af629173a6bf435ff8a4c47747912 - languageName: node - linkType: hard - -"is-fullwidth-code-point@npm:^3.0.0": - version: 3.0.0 - resolution: "is-fullwidth-code-point@npm:3.0.0" - checksum: 10c0/bb11d825e049f38e04c06373a8d72782eee0205bda9d908cc550ccb3c59b99d750ff9537982e01733c1c94a58e35400661f57042158ff5e8f3e90cf936daf0fc - languageName: node - linkType: hard - -"is-glob@npm:^4.0.1, is-glob@npm:~4.0.1": - version: 4.0.3 - resolution: "is-glob@npm:4.0.3" - dependencies: - is-extglob: "npm:^2.1.1" - checksum: 10c0/17fb4014e22be3bbecea9b2e3a76e9e34ff645466be702f1693e8f1ee1adac84710d0be0bd9f967d6354036fd51ab7c2741d954d6e91dae6bb69714de92c197a - languageName: node - linkType: hard - -"is-number@npm:^7.0.0": - version: 7.0.0 - resolution: "is-number@npm:7.0.0" - checksum: 10c0/b4686d0d3053146095ccd45346461bc8e53b80aeb7671cc52a4de02dbbf7dc0d1d2a986e2fe4ae206984b4d34ef37e8b795ebc4f4295c978373e6575e295d811 - languageName: node - linkType: hard - -"is-potential-custom-element-name@npm:^1.0.1": - version: 1.0.1 - resolution: "is-potential-custom-element-name@npm:1.0.1" - checksum: 10c0/b73e2f22bc863b0939941d369486d308b43d7aef1f9439705e3582bfccaa4516406865e32c968a35f97a99396dac84e2624e67b0a16b0a15086a785e16ce7db9 - languageName: node - linkType: hard - -"isarray@npm:~1.0.0": - version: 1.0.0 - resolution: "isarray@npm:1.0.0" - checksum: 10c0/18b5be6669be53425f0b84098732670ed4e727e3af33bc7f948aac01782110eb9a18b3b329c5323bcdd3acdaae547ee077d3951317e7f133bff7105264b3003d - languageName: node - linkType: hard - -"isexe@npm:^2.0.0": - version: 2.0.0 - resolution: "isexe@npm:2.0.0" - checksum: 10c0/228cfa503fadc2c31596ab06ed6aa82c9976eec2bfd83397e7eaf06d0ccf42cd1dfd6743bf9aeb01aebd4156d009994c5f76ea898d2832c1fe342da923ca457d - languageName: node - linkType: hard - -"isexe@npm:^3.1.1": - version: 3.1.1 - resolution: "isexe@npm:3.1.1" - checksum: 10c0/9ec257654093443eb0a528a9c8cbba9c0ca7616ccb40abd6dde7202734d96bb86e4ac0d764f0f8cd965856aacbff2f4ce23e730dc19dfb41e3b0d865ca6fdcc7 - languageName: node - linkType: hard - -"jackspeak@npm:^3.1.2": - version: 3.4.3 - resolution: "jackspeak@npm:3.4.3" - dependencies: - "@isaacs/cliui": "npm:^8.0.2" - "@pkgjs/parseargs": "npm:^0.11.0" - dependenciesMeta: - "@pkgjs/parseargs": - optional: true - checksum: 10c0/6acc10d139eaefdbe04d2f679e6191b3abf073f111edf10b1de5302c97ec93fffeb2fdd8681ed17f16268aa9dd4f8c588ed9d1d3bffbbfa6e8bf897cbb3149b9 - languageName: node - linkType: hard - -"jsbn@npm:1.1.0": - version: 1.1.0 - resolution: "jsbn@npm:1.1.0" - checksum: 10c0/4f907fb78d7b712e11dea8c165fe0921f81a657d3443dde75359ed52eb2b5d33ce6773d97985a089f09a65edd80b11cb75c767b57ba47391fee4c969f7215c96 - languageName: node - linkType: hard - -"jsdom@npm:^19.0.0": - version: 19.0.0 - resolution: "jsdom@npm:19.0.0" - dependencies: - abab: "npm:^2.0.5" - acorn: "npm:^8.5.0" - acorn-globals: "npm:^6.0.0" - cssom: "npm:^0.5.0" - cssstyle: "npm:^2.3.0" - data-urls: "npm:^3.0.1" - decimal.js: "npm:^10.3.1" - domexception: "npm:^4.0.0" - escodegen: "npm:^2.0.0" - form-data: "npm:^4.0.0" - html-encoding-sniffer: "npm:^3.0.0" - http-proxy-agent: "npm:^5.0.0" - https-proxy-agent: "npm:^5.0.0" - is-potential-custom-element-name: "npm:^1.0.1" - nwsapi: "npm:^2.2.0" - parse5: "npm:6.0.1" - saxes: "npm:^5.0.1" - symbol-tree: "npm:^3.2.4" - tough-cookie: "npm:^4.0.0" - w3c-hr-time: "npm:^1.0.2" - w3c-xmlserializer: "npm:^3.0.0" - webidl-conversions: "npm:^7.0.0" - whatwg-encoding: "npm:^2.0.0" - whatwg-mimetype: "npm:^3.0.0" - whatwg-url: "npm:^10.0.0" - ws: "npm:^8.2.3" - xml-name-validator: "npm:^4.0.0" - peerDependencies: - canvas: ^2.5.0 - peerDependenciesMeta: - canvas: - optional: true - checksum: 10c0/c39c71aa64df60f2b609adfc61fa4406c1a710da3278c730b0093181d1d09c1e6ba5551e32d78259a21800e10c2984c571777d6f7080249a5d21287be4f17bd9 - languageName: node - linkType: hard - -"jsonwebtoken@npm:^8.5.1": - version: 8.5.1 - resolution: "jsonwebtoken@npm:8.5.1" - dependencies: - jws: "npm:^3.2.2" - lodash.includes: "npm:^4.3.0" - lodash.isboolean: "npm:^3.0.3" - lodash.isinteger: "npm:^4.0.4" - lodash.isnumber: "npm:^3.0.3" - lodash.isplainobject: "npm:^4.0.6" - lodash.isstring: "npm:^4.0.1" - lodash.once: "npm:^4.0.0" - ms: "npm:^2.1.1" - semver: "npm:^5.6.0" - checksum: 10c0/c5ad937b6fa23a230efa8ed8ca3c0da8ebfdd377bafc3e8432a11b03ef90e733400a00b26c0dfee47db44a2e64b88b154b57e9926a92990f98dd25aaed15006e - languageName: node - linkType: hard - -"jwa@npm:^1.4.1": - version: 1.4.1 - resolution: "jwa@npm:1.4.1" - dependencies: - buffer-equal-constant-time: "npm:1.0.1" - ecdsa-sig-formatter: "npm:1.0.11" - safe-buffer: "npm:^5.0.1" - checksum: 10c0/5c533540bf38702e73cf14765805a94027c66a0aa8b16bc3e89d8d905e61a4ce2791e87e21be97d1293a5ee9d4f3e5e47737e671768265ca4f25706db551d5e9 - languageName: node - linkType: hard - -"jws@npm:^3.2.2": - version: 3.2.2 - resolution: "jws@npm:3.2.2" - dependencies: - jwa: "npm:^1.4.1" - safe-buffer: "npm:^5.0.1" - checksum: 10c0/e770704533d92df358adad7d1261fdecad4d7b66fa153ba80d047e03ca0f1f73007ce5ed3fbc04d2eba09ba6e7e6e645f351e08e5ab51614df1b0aa4f384dfff - languageName: node - linkType: hard - -"kareem@npm:2.3.2": - version: 2.3.2 - resolution: "kareem@npm:2.3.2" - checksum: 10c0/f3da6015d61a6da734a2795a165e756b2c2f814b2286e3ee45f4208115869c5d2bab1b237c40dbab967830c43884ea3fb965af9568858836621f6a60735a5dfd - languageName: node - linkType: hard - -"lodash.includes@npm:^4.3.0": - version: 4.3.0 - resolution: "lodash.includes@npm:4.3.0" - checksum: 10c0/7ca498b9b75bf602d04e48c0adb842dfc7d90f77bcb2a91a2b2be34a723ad24bc1c8b3683ec6b2552a90f216c723cdea530ddb11a3320e08fa38265703978f4b - languageName: node - linkType: hard - -"lodash.isboolean@npm:^3.0.3": - version: 3.0.3 - resolution: "lodash.isboolean@npm:3.0.3" - checksum: 10c0/0aac604c1ef7e72f9a6b798e5b676606042401dd58e49f051df3cc1e3adb497b3d7695635a5cbec4ae5f66456b951fdabe7d6b387055f13267cde521f10ec7f7 - languageName: node - linkType: hard - -"lodash.isinteger@npm:^4.0.4": - version: 4.0.4 - resolution: "lodash.isinteger@npm:4.0.4" - checksum: 10c0/4c3e023a2373bf65bf366d3b8605b97ec830bca702a926939bcaa53f8e02789b6a176e7f166b082f9365bfec4121bfeb52e86e9040cb8d450e64c858583f61b7 - languageName: node - linkType: hard - -"lodash.isnumber@npm:^3.0.3": - version: 3.0.3 - resolution: "lodash.isnumber@npm:3.0.3" - checksum: 10c0/2d01530513a1ee4f72dd79528444db4e6360588adcb0e2ff663db2b3f642d4bb3d687051ae1115751ca9082db4fdef675160071226ca6bbf5f0c123dbf0aa12d - languageName: node - linkType: hard - -"lodash.isplainobject@npm:^4.0.6": - version: 4.0.6 - resolution: "lodash.isplainobject@npm:4.0.6" - checksum: 10c0/afd70b5c450d1e09f32a737bed06ff85b873ecd3d3d3400458725283e3f2e0bb6bf48e67dbe7a309eb371a822b16a26cca4a63c8c52db3fc7dc9d5f9dd324cbb - languageName: node - linkType: hard - -"lodash.isstring@npm:^4.0.1": - version: 4.0.1 - resolution: "lodash.isstring@npm:4.0.1" - checksum: 10c0/09eaf980a283f9eef58ef95b30ec7fee61df4d6bf4aba3b5f096869cc58f24c9da17900febc8ffd67819b4e29de29793190e88dc96983db92d84c95fa85d1c92 - languageName: node - linkType: hard - -"lodash.once@npm:^4.0.0": - version: 4.1.1 - resolution: "lodash.once@npm:4.1.1" - checksum: 10c0/46a9a0a66c45dd812fcc016e46605d85ad599fe87d71a02f6736220554b52ffbe82e79a483ad40f52a8a95755b0d1077fba259da8bfb6694a7abbf4a48f1fc04 - languageName: node - linkType: hard - -"lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0": - version: 10.4.3 - resolution: "lru-cache@npm:10.4.3" - checksum: 10c0/ebd04fbca961e6c1d6c0af3799adcc966a1babe798f685bb84e6599266599cd95d94630b10262f5424539bc4640107e8a33aa28585374abf561d30d16f4b39fb - languageName: node - linkType: hard - -"make-fetch-happen@npm:^14.0.3": - version: 14.0.3 - resolution: "make-fetch-happen@npm:14.0.3" - dependencies: - "@npmcli/agent": "npm:^3.0.0" - cacache: "npm:^19.0.1" - http-cache-semantics: "npm:^4.1.1" - minipass: "npm:^7.0.2" - minipass-fetch: "npm:^4.0.0" - minipass-flush: "npm:^1.0.5" - minipass-pipeline: "npm:^1.2.4" - negotiator: "npm:^1.0.0" - proc-log: "npm:^5.0.0" - promise-retry: "npm:^2.0.1" - ssri: "npm:^12.0.0" - checksum: 10c0/c40efb5e5296e7feb8e37155bde8eb70bc57d731b1f7d90e35a092fde403d7697c56fb49334d92d330d6f1ca29a98142036d6480a12681133a0a1453164cb2f0 - languageName: node - linkType: hard - -"math-intrinsics@npm:^1.1.0": - version: 1.1.0 - resolution: "math-intrinsics@npm:1.1.0" - checksum: 10c0/7579ff94e899e2f76ab64491d76cf606274c874d8f2af4a442c016bd85688927fcfca157ba6bf74b08e9439dc010b248ce05b96cc7c126a354c3bae7fcb48b7f - languageName: node - linkType: hard - -"media-typer@npm:0.3.0": - version: 0.3.0 - resolution: "media-typer@npm:0.3.0" - checksum: 10c0/d160f31246907e79fed398470285f21bafb45a62869dc469b1c8877f3f064f5eabc4bcc122f9479b8b605bc5c76187d7871cf84c4ee3ecd3e487da1993279928 - languageName: node - linkType: hard - -"memory-pager@npm:^1.0.2": - version: 1.5.0 - resolution: "memory-pager@npm:1.5.0" - checksum: 10c0/2596e80c99fee24f05bd8a20cde2ee899012c996f4ec361ac76ed6f009f34149d733ac6f76880106ccd6a66d062ad439357578d383d429df66ba1278f68806e9 - languageName: node - linkType: hard - -"merge-descriptors@npm:1.0.3": - version: 1.0.3 - resolution: "merge-descriptors@npm:1.0.3" - checksum: 10c0/866b7094afd9293b5ea5dcd82d71f80e51514bed33b4c4e9f516795dc366612a4cbb4dc94356e943a8a6914889a914530badff27f397191b9b75cda20b6bae93 - languageName: node - linkType: hard - -"methods@npm:~1.1.2": - version: 1.1.2 - resolution: "methods@npm:1.1.2" - checksum: 10c0/bdf7cc72ff0a33e3eede03708c08983c4d7a173f91348b4b1e4f47d4cdbf734433ad971e7d1e8c77247d9e5cd8adb81ea4c67b0a2db526b758b2233d7814b8b2 - languageName: node - linkType: hard - -"mime-db@npm:1.52.0": - version: 1.52.0 - resolution: "mime-db@npm:1.52.0" - checksum: 10c0/0557a01deebf45ac5f5777fe7740b2a5c309c6d62d40ceab4e23da9f821899ce7a900b7ac8157d4548ddbb7beffe9abc621250e6d182b0397ec7f10c7b91a5aa - languageName: node - linkType: hard - -"mime-types@npm:^2.1.12, mime-types@npm:~2.1.24, mime-types@npm:~2.1.34": - version: 2.1.35 - resolution: "mime-types@npm:2.1.35" - dependencies: - mime-db: "npm:1.52.0" - checksum: 10c0/82fb07ec56d8ff1fc999a84f2f217aa46cb6ed1033fefaabd5785b9a974ed225c90dc72fff460259e66b95b73648596dbcc50d51ed69cdf464af2d237d3149b2 - languageName: node - linkType: hard - -"mime@npm:1.6.0": - version: 1.6.0 - resolution: "mime@npm:1.6.0" - bin: - mime: cli.js - checksum: 10c0/b92cd0adc44888c7135a185bfd0dddc42c32606401c72896a842ae15da71eb88858f17669af41e498b463cd7eb998f7b48939a25b08374c7924a9c8a6f8a81b0 - languageName: node - linkType: hard - -"minimatch@npm:^3.1.2": - version: 3.1.2 - resolution: "minimatch@npm:3.1.2" - dependencies: - brace-expansion: "npm:^1.1.7" - checksum: 10c0/0262810a8fc2e72cca45d6fd86bd349eee435eb95ac6aa45c9ea2180e7ee875ef44c32b55b5973ceabe95ea12682f6e3725cbb63d7a2d1da3ae1163c8b210311 - languageName: node - linkType: hard - -"minimatch@npm:^9.0.4": - version: 9.0.5 - resolution: "minimatch@npm:9.0.5" - dependencies: - brace-expansion: "npm:^2.0.1" - checksum: 10c0/de96cf5e35bdf0eab3e2c853522f98ffbe9a36c37797778d2665231ec1f20a9447a7e567cb640901f89e4daaa95ae5d70c65a9e8aa2bb0019b6facbc3c0575ed - languageName: node - linkType: hard - -"minipass-collect@npm:^2.0.1": - version: 2.0.1 - resolution: "minipass-collect@npm:2.0.1" - dependencies: - minipass: "npm:^7.0.3" - checksum: 10c0/5167e73f62bb74cc5019594709c77e6a742051a647fe9499abf03c71dca75515b7959d67a764bdc4f8b361cf897fbf25e2d9869ee039203ed45240f48b9aa06e - languageName: node - linkType: hard - -"minipass-fetch@npm:^4.0.0": - version: 4.0.1 - resolution: "minipass-fetch@npm:4.0.1" - dependencies: - encoding: "npm:^0.1.13" - minipass: "npm:^7.0.3" - minipass-sized: "npm:^1.0.3" - minizlib: "npm:^3.0.1" - dependenciesMeta: - encoding: - optional: true - checksum: 10c0/a3147b2efe8e078c9bf9d024a0059339c5a09c5b1dded6900a219c218cc8b1b78510b62dae556b507304af226b18c3f1aeb1d48660283602d5b6586c399eed5c - languageName: node - linkType: hard - -"minipass-flush@npm:^1.0.5": - version: 1.0.5 - resolution: "minipass-flush@npm:1.0.5" - dependencies: - minipass: "npm:^3.0.0" - checksum: 10c0/2a51b63feb799d2bb34669205eee7c0eaf9dce01883261a5b77410c9408aa447e478efd191b4de6fc1101e796ff5892f8443ef20d9544385819093dbb32d36bd - languageName: node - linkType: hard - -"minipass-pipeline@npm:^1.2.4": - version: 1.2.4 - resolution: "minipass-pipeline@npm:1.2.4" - dependencies: - minipass: "npm:^3.0.0" - checksum: 10c0/cbda57cea20b140b797505dc2cac71581a70b3247b84480c1fed5ca5ba46c25ecc25f68bfc9e6dcb1a6e9017dab5c7ada5eab73ad4f0a49d84e35093e0c643f2 - languageName: node - linkType: hard - -"minipass-sized@npm:^1.0.3": - version: 1.0.3 - resolution: "minipass-sized@npm:1.0.3" - dependencies: - minipass: "npm:^3.0.0" - checksum: 10c0/298f124753efdc745cfe0f2bdfdd81ba25b9f4e753ca4a2066eb17c821f25d48acea607dfc997633ee5bf7b6dfffb4eee4f2051eb168663f0b99fad2fa4829cb - languageName: node - linkType: hard - -"minipass@npm:^3.0.0": - version: 3.3.6 - resolution: "minipass@npm:3.3.6" - dependencies: - yallist: "npm:^4.0.0" - checksum: 10c0/a114746943afa1dbbca8249e706d1d38b85ed1298b530f5808ce51f8e9e941962e2a5ad2e00eae7dd21d8a4aae6586a66d4216d1a259385e9d0358f0c1eba16c - languageName: node - linkType: hard - -"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.0.4, minipass@npm:^7.1.2": - version: 7.1.2 - resolution: "minipass@npm:7.1.2" - checksum: 10c0/b0fd20bb9fb56e5fa9a8bfac539e8915ae07430a619e4b86ff71f5fc757ef3924b23b2c4230393af1eda647ed3d75739e4e0acb250a6b1eb277cf7f8fe449557 - languageName: node - linkType: hard - -"minizlib@npm:^3.0.1": - version: 3.0.2 - resolution: "minizlib@npm:3.0.2" - dependencies: - minipass: "npm:^7.1.2" - checksum: 10c0/9f3bd35e41d40d02469cb30470c55ccc21cae0db40e08d1d0b1dff01cc8cc89a6f78e9c5d2b7c844e485ec0a8abc2238111213fdc5b2038e6d1012eacf316f78 - languageName: node - linkType: hard - -"mkdirp@npm:^3.0.1": - version: 3.0.1 - resolution: "mkdirp@npm:3.0.1" - bin: - mkdirp: dist/cjs/src/bin.js - checksum: 10c0/9f2b975e9246351f5e3a40dcfac99fcd0baa31fbfab615fe059fb11e51f10e4803c63de1f384c54d656e4db31d000e4767e9ef076a22e12a641357602e31d57d - languageName: node - linkType: hard - -"mongodb@npm:3.7.4": - version: 3.7.4 - resolution: "mongodb@npm:3.7.4" - dependencies: - bl: "npm:^2.2.1" - bson: "npm:^1.1.4" - denque: "npm:^1.4.1" - optional-require: "npm:^1.1.8" - safe-buffer: "npm:^5.1.2" - saslprep: "npm:^1.0.0" - dependenciesMeta: - saslprep: - optional: true - peerDependenciesMeta: - aws4: - optional: true - bson-ext: - optional: true - kerberos: - optional: true - mongodb-client-encryption: - optional: true - mongodb-extjson: - optional: true - snappy: - optional: true - checksum: 10c0/747da737df701344f804f18f2fe833873af2b5bcdb9c07f85e2c53c465f6dd6a0727860dde4ee4fdff0635040c88c9c1fea2a48c2afd3e89a5cbda8d7307056e - languageName: node - linkType: hard - -"mongoose-legacy-pluralize@npm:1.0.2": - version: 1.0.2 - resolution: "mongoose-legacy-pluralize@npm:1.0.2" - peerDependencies: - mongoose: "*" - checksum: 10c0/d09f90f60ad83bb99c3d9974e6055433fd4f324de79688f811e4f23c878cdd266a44dd4387b644e5fef1ef7871c5a7038546ff3dc335ba5935e6060e7c60a6fb - languageName: node - linkType: hard - -"mongoose@npm:^5.9.18": - version: 5.13.23 - resolution: "mongoose@npm:5.13.23" - dependencies: - "@types/bson": "npm:1.x || 4.0.x" - "@types/mongodb": "npm:^3.5.27" - bson: "npm:^1.1.4" - kareem: "npm:2.3.2" - mongodb: "npm:3.7.4" - mongoose-legacy-pluralize: "npm:1.0.2" - mpath: "npm:0.8.4" - mquery: "npm:3.2.5" - ms: "npm:2.1.2" - optional-require: "npm:1.0.x" - regexp-clone: "npm:1.0.0" - safe-buffer: "npm:5.2.1" - sift: "npm:13.5.2" - sliced: "npm:1.0.1" - checksum: 10c0/d2babdffb27676a370e2dd3cfba487ec32e21fe760ec67490ee56e6cee283ce364d11f8c1d0725779720eef85cac81760a9146ddc311e6f61add17b7a705b9d5 - languageName: node - linkType: hard - -"mpath@npm:0.8.4": - version: 0.8.4 - resolution: "mpath@npm:0.8.4" - checksum: 10c0/ebec4657d01c3b51e63dac31a0d21c14067b000f5f8a9240619f67f0dea1d64da972209da11ceff13f7ecb0b76be61ea87313ba3c5bf5cd3f6c506b0f977793f - languageName: node - linkType: hard - -"mquery@npm:3.2.5": - version: 3.2.5 - resolution: "mquery@npm:3.2.5" - dependencies: - bluebird: "npm:3.5.1" - debug: "npm:3.1.0" - regexp-clone: "npm:^1.0.0" - safe-buffer: "npm:5.1.2" - sliced: "npm:1.0.1" - checksum: 10c0/a01d0aea9d64cde449790bbb7939547f97e54597486909a751845aab916faf518d10f701163ea95148225e744d3d0e5f6ca3798e5889a6f64e86664c4b2de4ef - languageName: node - linkType: hard - -"ms@npm:2.0.0": - version: 2.0.0 - resolution: "ms@npm:2.0.0" - checksum: 10c0/f8fda810b39fd7255bbdc451c46286e549794fcc700dc9cd1d25658bbc4dc2563a5de6fe7c60f798a16a60c6ceb53f033cb353f493f0cf63e5199b702943159d - languageName: node - linkType: hard - -"ms@npm:2.1.2": - version: 2.1.2 - resolution: "ms@npm:2.1.2" - checksum: 10c0/a437714e2f90dbf881b5191d35a6db792efbca5badf112f87b9e1c712aace4b4b9b742dd6537f3edf90fd6f684de897cec230abde57e87883766712ddda297cc - languageName: node - linkType: hard - -"ms@npm:2.1.3, ms@npm:^2.1.1, ms@npm:^2.1.3": - version: 2.1.3 - resolution: "ms@npm:2.1.3" - checksum: 10c0/d924b57e7312b3b63ad21fc5b3dc0af5e78d61a1fc7cfb5457edaf26326bf62be5307cc87ffb6862ef1c2b33b0233cdb5d4f01c4c958cc0d660948b65a287a48 - languageName: node - linkType: hard - -"negotiator@npm:0.6.3": - version: 0.6.3 - resolution: "negotiator@npm:0.6.3" - checksum: 10c0/3ec9fd413e7bf071c937ae60d572bc67155262068ed522cf4b3be5edbe6ddf67d095ec03a3a14ebf8fc8e95f8e1d61be4869db0dbb0de696f6b837358bd43fc2 - languageName: node - linkType: hard - -"negotiator@npm:^1.0.0": - version: 1.0.0 - resolution: "negotiator@npm:1.0.0" - checksum: 10c0/4c559dd52669ea48e1914f9d634227c561221dd54734070791f999c52ed0ff36e437b2e07d5c1f6e32909fc625fe46491c16e4a8f0572567d4dd15c3a4fda04b - languageName: node - linkType: hard - -"node-gyp@npm:latest": - version: 11.2.0 - resolution: "node-gyp@npm:11.2.0" - dependencies: - env-paths: "npm:^2.2.0" - exponential-backoff: "npm:^3.1.1" - graceful-fs: "npm:^4.2.6" - make-fetch-happen: "npm:^14.0.3" - nopt: "npm:^8.0.0" - proc-log: "npm:^5.0.0" - semver: "npm:^7.3.5" - tar: "npm:^7.4.3" - tinyglobby: "npm:^0.2.12" - which: "npm:^5.0.0" - bin: - node-gyp: bin/node-gyp.js - checksum: 10c0/bd8d8c76b06be761239b0c8680f655f6a6e90b48e44d43415b11c16f7e8c15be346fba0cbf71588c7cdfb52c419d928a7d3db353afc1d952d19756237d8f10b9 - languageName: node - linkType: hard - -"nodemon@npm:^2.0.4": - version: 2.0.22 - resolution: "nodemon@npm:2.0.22" - dependencies: - chokidar: "npm:^3.5.2" - debug: "npm:^3.2.7" - ignore-by-default: "npm:^1.0.1" - minimatch: "npm:^3.1.2" - pstree.remy: "npm:^1.1.8" - semver: "npm:^5.7.1" - simple-update-notifier: "npm:^1.0.7" - supports-color: "npm:^5.5.0" - touch: "npm:^3.1.0" - undefsafe: "npm:^2.0.5" - bin: - nodemon: bin/nodemon.js - checksum: 10c0/37e960b995b66e6d9e3b0e435ecc07a45200c4c566c4820a4deb6e7cc234b305e076a8ff0b4dc9c01ee690c663ae82a217d60c591dcbbcd4af1e3a7d0ad2b2c6 - languageName: node - linkType: hard - -"nopt@npm:^8.0.0": - version: 8.1.0 - resolution: "nopt@npm:8.1.0" - dependencies: - abbrev: "npm:^3.0.0" - bin: - nopt: bin/nopt.js - checksum: 10c0/62e9ea70c7a3eb91d162d2c706b6606c041e4e7b547cbbb48f8b3695af457dd6479904d7ace600856bf923dd8d1ed0696f06195c8c20f02ac87c1da0e1d315ef - languageName: node - linkType: hard - -"normalize-path@npm:^3.0.0, normalize-path@npm:~3.0.0": - version: 3.0.0 - resolution: "normalize-path@npm:3.0.0" - checksum: 10c0/e008c8142bcc335b5e38cf0d63cfd39d6cf2d97480af9abdbe9a439221fd4d749763bab492a8ee708ce7a194bb00c9da6d0a115018672310850489137b3da046 - languageName: node - linkType: hard - -"nwsapi@npm:^2.2.0": - version: 2.2.20 - resolution: "nwsapi@npm:2.2.20" - checksum: 10c0/07f4dafa3186aef7c007863e90acd4342a34ba9d44b22f14f644fdb311f6086887e21c2fc15efaa826c2bc39ab2bc841364a1a630e7c87e0cb723ba59d729297 - languageName: node - linkType: hard - -"object-inspect@npm:^1.13.3": - version: 1.13.4 - resolution: "object-inspect@npm:1.13.4" - checksum: 10c0/d7f8711e803b96ea3191c745d6f8056ce1f2496e530e6a19a0e92d89b0fa3c76d910c31f0aa270432db6bd3b2f85500a376a83aaba849a8d518c8845b3211692 - languageName: node - linkType: hard - -"on-finished@npm:2.4.1": - version: 2.4.1 - resolution: "on-finished@npm:2.4.1" - dependencies: - ee-first: "npm:1.1.1" - checksum: 10c0/46fb11b9063782f2d9968863d9cbba33d77aa13c17f895f56129c274318b86500b22af3a160fe9995aa41317efcd22941b6eba747f718ced08d9a73afdb087b4 - languageName: node - linkType: hard - -"optional-require@npm:1.0.x": - version: 1.0.3 - resolution: "optional-require@npm:1.0.3" - checksum: 10c0/4adff64b552303a7abb8cc48bfa19e1890f4c05f4ba46d10a0722ee2486a4ebc208484a019f76b7450c7d1fd834f5c09d33c22c823da8e7837347de36b2cf0b2 - languageName: node - linkType: hard - -"optional-require@npm:^1.1.8": - version: 1.1.8 - resolution: "optional-require@npm:1.1.8" - dependencies: - require-at: "npm:^1.0.6" - checksum: 10c0/cfb827331277d562b2a6f3c37c6f38da458b0750ec60eff3032385ae8121a7b6855feed272c5c95793661d17bd9418110b81239f284dd702891ec3d91273dc95 - languageName: node - linkType: hard - -"p-map@npm:^7.0.2": - version: 7.0.3 - resolution: "p-map@npm:7.0.3" - checksum: 10c0/46091610da2b38ce47bcd1d8b4835a6fa4e832848a6682cf1652bc93915770f4617afc844c10a77d1b3e56d2472bb2d5622353fa3ead01a7f42b04fc8e744a5c - languageName: node - linkType: hard - -"package-json-from-dist@npm:^1.0.0": - version: 1.0.1 - resolution: "package-json-from-dist@npm:1.0.1" - checksum: 10c0/62ba2785eb655fec084a257af34dbe24292ab74516d6aecef97ef72d4897310bc6898f6c85b5cd22770eaa1ce60d55a0230e150fb6a966e3ecd6c511e23d164b - languageName: node - linkType: hard - -"parse5@npm:6.0.1": - version: 6.0.1 - resolution: "parse5@npm:6.0.1" - checksum: 10c0/595821edc094ecbcfb9ddcb46a3e1fe3a718540f8320eff08b8cf6742a5114cce2d46d45f95c26191c11b184dcaf4e2960abcd9c5ed9eb9393ac9a37efcfdecb - languageName: node - linkType: hard - -"parseurl@npm:~1.3.3": - version: 1.3.3 - resolution: "parseurl@npm:1.3.3" - checksum: 10c0/90dd4760d6f6174adb9f20cf0965ae12e23879b5f5464f38e92fce8073354341e4b3b76fa3d878351efe7d01e617121955284cfd002ab087fba1a0726ec0b4f5 - languageName: node - linkType: hard - -"path-key@npm:^3.1.0": - version: 3.1.1 - resolution: "path-key@npm:3.1.1" - checksum: 10c0/748c43efd5a569c039d7a00a03b58eecd1d75f3999f5a28303d75f521288df4823bc057d8784eb72358b2895a05f29a070bc9f1f17d28226cc4e62494cc58c4c - languageName: node - linkType: hard - -"path-scurry@npm:^1.11.1": - version: 1.11.1 - resolution: "path-scurry@npm:1.11.1" - dependencies: - lru-cache: "npm:^10.2.0" - minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" - checksum: 10c0/32a13711a2a505616ae1cc1b5076801e453e7aae6ac40ab55b388bb91b9d0547a52f5aaceff710ea400205f18691120d4431e520afbe4266b836fadede15872d - languageName: node - linkType: hard - -"path-to-regexp@npm:0.1.12": - version: 0.1.12 - resolution: "path-to-regexp@npm:0.1.12" - checksum: 10c0/1c6ff10ca169b773f3bba943bbc6a07182e332464704572962d277b900aeee81ac6aa5d060ff9e01149636c30b1f63af6e69dd7786ba6e0ddb39d4dee1f0645b - languageName: node - linkType: hard - -"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1": - version: 2.3.1 - resolution: "picomatch@npm:2.3.1" - checksum: 10c0/26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be - languageName: node - linkType: hard - -"picomatch@npm:^4.0.2": - version: 4.0.2 - resolution: "picomatch@npm:4.0.2" - checksum: 10c0/7c51f3ad2bb42c776f49ebf964c644958158be30d0a510efd5a395e8d49cb5acfed5b82c0c5b365523ce18e6ab85013c9ebe574f60305892ec3fa8eee8304ccc - languageName: node - linkType: hard - -"proc-log@npm:^5.0.0": - version: 5.0.0 - resolution: "proc-log@npm:5.0.0" - checksum: 10c0/bbe5edb944b0ad63387a1d5b1911ae93e05ce8d0f60de1035b218cdcceedfe39dbd2c697853355b70f1a090f8f58fe90da487c85216bf9671f9499d1a897e9e3 - languageName: node - linkType: hard - -"process-nextick-args@npm:~2.0.0": - version: 2.0.1 - resolution: "process-nextick-args@npm:2.0.1" - checksum: 10c0/bec089239487833d46b59d80327a1605e1c5287eaad770a291add7f45fda1bb5e28b38e0e061add0a1d0ee0984788ce74fa394d345eed1c420cacf392c554367 - languageName: node - linkType: hard - -"promise-retry@npm:^2.0.1": - version: 2.0.1 - resolution: "promise-retry@npm:2.0.1" - dependencies: - err-code: "npm:^2.0.2" - retry: "npm:^0.12.0" - checksum: 10c0/9c7045a1a2928094b5b9b15336dcd2a7b1c052f674550df63cc3f36cd44028e5080448175b6f6ca32b642de81150f5e7b1a98b728f15cb069f2dd60ac2616b96 - languageName: node - linkType: hard - -"proxy-addr@npm:~2.0.7": - version: 2.0.7 - resolution: "proxy-addr@npm:2.0.7" - dependencies: - forwarded: "npm:0.2.0" - ipaddr.js: "npm:1.9.1" - checksum: 10c0/c3eed999781a35f7fd935f398b6d8920b6fb00bbc14287bc6de78128ccc1a02c89b95b56742bf7cf0362cc333c61d138532049c7dedc7a328ef13343eff81210 - languageName: node - linkType: hard - -"psl@npm:^1.1.33": - version: 1.15.0 - resolution: "psl@npm:1.15.0" - dependencies: - punycode: "npm:^2.3.1" - checksum: 10c0/d8d45a99e4ca62ca12ac3c373e63d80d2368d38892daa40cfddaa1eb908be98cd549ac059783ef3a56cfd96d57ae8e2fd9ae53d1378d90d42bc661ff924e102a - languageName: node - linkType: hard - -"pstree.remy@npm:^1.1.8": - version: 1.1.8 - resolution: "pstree.remy@npm:1.1.8" - checksum: 10c0/30f78c88ce6393cb3f7834216cb6e282eb83c92ccb227430d4590298ab2811bc4a4745f850a27c5178e79a8f3e316591de0fec87abc19da648c2b3c6eb766d14 - languageName: node - linkType: hard - -"punycode@npm:^2.1.1, punycode@npm:^2.3.1": - version: 2.3.1 - resolution: "punycode@npm:2.3.1" - checksum: 10c0/14f76a8206bc3464f794fb2e3d3cc665ae416c01893ad7a02b23766eb07159144ee612ad67af5e84fa4479ccfe67678c4feb126b0485651b302babf66f04f9e9 - languageName: node - linkType: hard - -"qs@npm:6.13.0": - version: 6.13.0 - resolution: "qs@npm:6.13.0" - dependencies: - side-channel: "npm:^1.0.6" - checksum: 10c0/62372cdeec24dc83a9fb240b7533c0fdcf0c5f7e0b83343edd7310f0ab4c8205a5e7c56406531f2e47e1b4878a3821d652be4192c841de5b032ca83619d8f860 - languageName: node - linkType: hard - -"querystringify@npm:^2.1.1": - version: 2.2.0 - resolution: "querystringify@npm:2.2.0" - checksum: 10c0/3258bc3dbdf322ff2663619afe5947c7926a6ef5fb78ad7d384602974c467fadfc8272af44f5eb8cddd0d011aae8fabf3a929a8eee4b86edcc0a21e6bd10f9aa - languageName: node - linkType: hard - -"range-parser@npm:~1.2.1": - version: 1.2.1 - resolution: "range-parser@npm:1.2.1" - checksum: 10c0/96c032ac2475c8027b7a4e9fe22dc0dfe0f6d90b85e496e0f016fbdb99d6d066de0112e680805075bd989905e2123b3b3d002765149294dce0c1f7f01fcc2ea0 - languageName: node - linkType: hard - -"raw-body@npm:2.5.2": - version: 2.5.2 - resolution: "raw-body@npm:2.5.2" - dependencies: - bytes: "npm:3.1.2" - http-errors: "npm:2.0.0" - iconv-lite: "npm:0.4.24" - unpipe: "npm:1.0.0" - checksum: 10c0/b201c4b66049369a60e766318caff5cb3cc5a900efd89bdac431463822d976ad0670912c931fdbdcf5543207daf6f6833bca57aa116e1661d2ea91e12ca692c4 - languageName: node - linkType: hard - -"readable-stream@npm:^2.3.5": - version: 2.3.8 - resolution: "readable-stream@npm:2.3.8" - dependencies: - core-util-is: "npm:~1.0.0" - inherits: "npm:~2.0.3" - isarray: "npm:~1.0.0" - process-nextick-args: "npm:~2.0.0" - safe-buffer: "npm:~5.1.1" - string_decoder: "npm:~1.1.1" - util-deprecate: "npm:~1.0.1" - checksum: 10c0/7efdb01f3853bc35ac62ea25493567bf588773213f5f4a79f9c365e1ad13bab845ac0dae7bc946270dc40c3929483228415e92a3fc600cc7e4548992f41ee3fa - languageName: node - linkType: hard - -"readdirp@npm:~3.6.0": - version: 3.6.0 - resolution: "readdirp@npm:3.6.0" - dependencies: - picomatch: "npm:^2.2.1" - checksum: 10c0/6fa848cf63d1b82ab4e985f4cf72bd55b7dcfd8e0a376905804e48c3634b7e749170940ba77b32804d5fe93b3cc521aa95a8d7e7d725f830da6d93f3669ce66b - languageName: node - linkType: hard - -"regexp-clone@npm:1.0.0, regexp-clone@npm:^1.0.0": - version: 1.0.0 - resolution: "regexp-clone@npm:1.0.0" - checksum: 10c0/5fc477a6d99d37d3360e146d6cc8b8502d1c3b4a9f7a3752f2a2815858d2057611348180778ccb98e8a53569e05d8720046d238a1e6cfc63e10cae3b0eb42ad2 - languageName: node - linkType: hard - -"require-at@npm:^1.0.6": - version: 1.0.6 - resolution: "require-at@npm:1.0.6" - checksum: 10c0/2497ef4e9630943337b3d3f37d9dc7509030a279dcf5614a06b07819c83ce7d811b9a4dba058a914cf8ee1ad9e8162c53af29e4004f3a450206a4e06b95e1acd - languageName: node - linkType: hard - -"requires-port@npm:^1.0.0": - version: 1.0.0 - resolution: "requires-port@npm:1.0.0" - checksum: 10c0/b2bfdd09db16c082c4326e573a82c0771daaf7b53b9ce8ad60ea46aa6e30aaf475fe9b164800b89f93b748d2c234d8abff945d2551ba47bf5698e04cd7713267 - languageName: node - linkType: hard - -"retry@npm:^0.12.0": - version: 0.12.0 - resolution: "retry@npm:0.12.0" - checksum: 10c0/59933e8501727ba13ad73ef4a04d5280b3717fd650408460c987392efe9d7be2040778ed8ebe933c5cbd63da3dcc37919c141ef8af0a54a6e4fca5a2af177bfe - languageName: node - linkType: hard - -"safe-buffer@npm:5.1.2, safe-buffer@npm:~5.1.0, safe-buffer@npm:~5.1.1": - version: 5.1.2 - resolution: "safe-buffer@npm:5.1.2" - checksum: 10c0/780ba6b5d99cc9a40f7b951d47152297d0e260f0df01472a1b99d4889679a4b94a13d644f7dbc4f022572f09ae9005fa2fbb93bbbd83643316f365a3e9a45b21 - languageName: node - linkType: hard - -"safe-buffer@npm:5.2.1, safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.1, safe-buffer@npm:^5.1.2": - version: 5.2.1 - resolution: "safe-buffer@npm:5.2.1" - checksum: 10c0/6501914237c0a86e9675d4e51d89ca3c21ffd6a31642efeba25ad65720bce6921c9e7e974e5be91a786b25aa058b5303285d3c15dbabf983a919f5f630d349f3 - languageName: node - linkType: hard - -"safer-buffer@npm:>= 2.1.2 < 3, safer-buffer@npm:>= 2.1.2 < 3.0.0": - version: 2.1.2 - resolution: "safer-buffer@npm:2.1.2" - checksum: 10c0/7e3c8b2e88a1841c9671094bbaeebd94448111dd90a81a1f606f3f67708a6ec57763b3b47f06da09fc6054193e0e6709e77325415dc8422b04497a8070fa02d4 - languageName: node - linkType: hard - -"saslprep@npm:^1.0.0": - version: 1.0.3 - resolution: "saslprep@npm:1.0.3" - dependencies: - sparse-bitfield: "npm:^3.0.3" - checksum: 10c0/7dea5b2c0cb507132d4a6e1a65082b1118b435f9bb5b13665e71e581875dc574d4fb26dd0246d72daa1d7a453b131043aa0f8c1a8813ca2d4b577335156f99ac - languageName: node - linkType: hard - -"saxes@npm:^5.0.1": - version: 5.0.1 - resolution: "saxes@npm:5.0.1" - dependencies: - xmlchars: "npm:^2.2.0" - checksum: 10c0/b7476c41dbe1c3a89907d2546fecfba234de5e66743ef914cde2603f47b19bed09732ab51b528ad0f98b958369d8be72b6f5af5c9cfad69972a73d061f0b3952 - languageName: node - linkType: hard - -"semver@npm:^5.6.0, semver@npm:^5.7.1": - version: 5.7.2 - resolution: "semver@npm:5.7.2" - bin: - semver: bin/semver - checksum: 10c0/e4cf10f86f168db772ae95d86ba65b3fd6c5967c94d97c708ccb463b778c2ee53b914cd7167620950fc07faf5a564e6efe903836639e512a1aa15fbc9667fa25 - languageName: node - linkType: hard - -"semver@npm:^7.3.5": - version: 7.7.1 - resolution: "semver@npm:7.7.1" - bin: - semver: bin/semver.js - checksum: 10c0/fd603a6fb9c399c6054015433051bdbe7b99a940a8fb44b85c2b524c4004b023d7928d47cb22154f8d054ea7ee8597f586605e05b52047f048278e4ac56ae958 - languageName: node - linkType: hard - -"semver@npm:~7.0.0": - version: 7.0.0 - resolution: "semver@npm:7.0.0" - bin: - semver: bin/semver.js - checksum: 10c0/7fd341680a967a0abfd66f3a7d36ba44e52ff5d3e799e9a6cdb01a68160b64ef09be82b4af05459effeecdd836f002c2462555d2821cd890dfdfe36a0d9f56a5 - languageName: node - linkType: hard - -"send@npm:0.19.0": - version: 0.19.0 - resolution: "send@npm:0.19.0" - dependencies: - debug: "npm:2.6.9" - depd: "npm:2.0.0" - destroy: "npm:1.2.0" - encodeurl: "npm:~1.0.2" - escape-html: "npm:~1.0.3" - etag: "npm:~1.8.1" - fresh: "npm:0.5.2" - http-errors: "npm:2.0.0" - mime: "npm:1.6.0" - ms: "npm:2.1.3" - on-finished: "npm:2.4.1" - range-parser: "npm:~1.2.1" - statuses: "npm:2.0.1" - checksum: 10c0/ea3f8a67a8f0be3d6bf9080f0baed6d2c51d11d4f7b4470de96a5029c598a7011c497511ccc28968b70ef05508675cebff27da9151dd2ceadd60be4e6cf845e3 - languageName: node - linkType: hard - -"serve-static@npm:1.16.2": - version: 1.16.2 - resolution: "serve-static@npm:1.16.2" - dependencies: - encodeurl: "npm:~2.0.0" - escape-html: "npm:~1.0.3" - parseurl: "npm:~1.3.3" - send: "npm:0.19.0" - checksum: 10c0/528fff6f5e12d0c5a391229ad893910709bc51b5705962b09404a1d813857578149b8815f35d3ee5752f44cd378d0f31669d4b1d7e2d11f41e08283d5134bd1f - languageName: node - linkType: hard - -"setprototypeof@npm:1.2.0": - version: 1.2.0 - resolution: "setprototypeof@npm:1.2.0" - checksum: 10c0/68733173026766fa0d9ecaeb07f0483f4c2dc70ca376b3b7c40b7cda909f94b0918f6c5ad5ce27a9160bdfb475efaa9d5e705a11d8eaae18f9835d20976028bc - languageName: node - linkType: hard - -"shebang-command@npm:^2.0.0": - version: 2.0.0 - resolution: "shebang-command@npm:2.0.0" - dependencies: - shebang-regex: "npm:^3.0.0" - checksum: 10c0/a41692e7d89a553ef21d324a5cceb5f686d1f3c040759c50aab69688634688c5c327f26f3ecf7001ebfd78c01f3c7c0a11a7c8bfd0a8bc9f6240d4f40b224e4e - languageName: node - linkType: hard - -"shebang-regex@npm:^3.0.0": - version: 3.0.0 - resolution: "shebang-regex@npm:3.0.0" - checksum: 10c0/1dbed0726dd0e1152a92696c76c7f06084eb32a90f0528d11acd764043aacf76994b2fb30aa1291a21bd019d6699164d048286309a278855ee7bec06cf6fb690 - languageName: node - linkType: hard - -"side-channel-list@npm:^1.0.0": - version: 1.0.0 - resolution: "side-channel-list@npm:1.0.0" - dependencies: - es-errors: "npm:^1.3.0" - object-inspect: "npm:^1.13.3" - checksum: 10c0/644f4ac893456c9490ff388bf78aea9d333d5e5bfc64cfb84be8f04bf31ddc111a8d4b83b85d7e7e8a7b845bc185a9ad02c052d20e086983cf59f0be517d9b3d - languageName: node - linkType: hard - -"side-channel-map@npm:^1.0.1": - version: 1.0.1 - resolution: "side-channel-map@npm:1.0.1" - dependencies: - call-bound: "npm:^1.0.2" - es-errors: "npm:^1.3.0" - get-intrinsic: "npm:^1.2.5" - object-inspect: "npm:^1.13.3" - checksum: 10c0/010584e6444dd8a20b85bc926d934424bd809e1a3af941cace229f7fdcb751aada0fb7164f60c2e22292b7fa3c0ff0bce237081fd4cdbc80de1dc68e95430672 - languageName: node - linkType: hard - -"side-channel-weakmap@npm:^1.0.2": - version: 1.0.2 - resolution: "side-channel-weakmap@npm:1.0.2" - dependencies: - call-bound: "npm:^1.0.2" - es-errors: "npm:^1.3.0" - get-intrinsic: "npm:^1.2.5" - object-inspect: "npm:^1.13.3" - side-channel-map: "npm:^1.0.1" - checksum: 10c0/71362709ac233e08807ccd980101c3e2d7efe849edc51455030327b059f6c4d292c237f94dc0685031dd11c07dd17a68afde235d6cf2102d949567f98ab58185 - languageName: node - linkType: hard - -"side-channel@npm:^1.0.6": - version: 1.1.0 - resolution: "side-channel@npm:1.1.0" - dependencies: - es-errors: "npm:^1.3.0" - object-inspect: "npm:^1.13.3" - side-channel-list: "npm:^1.0.0" - side-channel-map: "npm:^1.0.1" - side-channel-weakmap: "npm:^1.0.2" - checksum: 10c0/cb20dad41eb032e6c24c0982e1e5a24963a28aa6122b4f05b3f3d6bf8ae7fd5474ef382c8f54a6a3ab86e0cac4d41a23bd64ede3970e5bfb50326ba02a7996e6 - languageName: node - linkType: hard - -"sift@npm:13.5.2": - version: 13.5.2 - resolution: "sift@npm:13.5.2" - checksum: 10c0/1a34b2a5275212319614cfd4cf5b76a543d8b48f5564eaae7442b0efd3c4e3125b89d60e95ed7ccf947820ecfddeb3fc354f75b9413fce21620215c716499478 - languageName: node - linkType: hard - -"signal-exit@npm:^4.0.1": - version: 4.1.0 - resolution: "signal-exit@npm:4.1.0" - checksum: 10c0/41602dce540e46d599edba9d9860193398d135f7ff72cab629db5171516cfae628d21e7bfccde1bbfdf11c48726bc2a6d1a8fb8701125852fbfda7cf19c6aa83 - languageName: node - linkType: hard - -"simple-update-notifier@npm:^1.0.7": - version: 1.1.0 - resolution: "simple-update-notifier@npm:1.1.0" - dependencies: - semver: "npm:~7.0.0" - checksum: 10c0/3cbbbc71a5d9a2924f0e3f42fbf3cbe1854bfe142203456b00d5233bdbbdeb5091b8067cd34fb00f81dbfbc29fc30dbb6e026b3d58ea0551e3f26c0e64082092 - languageName: node - linkType: hard - -"sliced@npm:1.0.1": - version: 1.0.1 - resolution: "sliced@npm:1.0.1" - checksum: 10c0/42f93fdc87b79492704d6af45efaafe407384812467514f6763ec823fedb32f7cbe8addd85bfebc6eff094f79fab899225b82690ab57c62d1959c4f6bbc6f5b1 - languageName: node - linkType: hard - -"smart-buffer@npm:^4.2.0": - version: 4.2.0 - resolution: "smart-buffer@npm:4.2.0" - checksum: 10c0/a16775323e1404dd43fabafe7460be13a471e021637bc7889468eb45ce6a6b207261f454e4e530a19500cc962c4cc5348583520843b363f4193cee5c00e1e539 - languageName: node - linkType: hard - -"socks-proxy-agent@npm:^8.0.3": - version: 8.0.5 - resolution: "socks-proxy-agent@npm:8.0.5" - dependencies: - agent-base: "npm:^7.1.2" - debug: "npm:^4.3.4" - socks: "npm:^2.8.3" - checksum: 10c0/5d2c6cecba6821389aabf18728325730504bf9bb1d9e342e7987a5d13badd7a98838cc9a55b8ed3cb866ad37cc23e1086f09c4d72d93105ce9dfe76330e9d2a6 - languageName: node - linkType: hard - -"socks@npm:^2.8.3": - version: 2.8.4 - resolution: "socks@npm:2.8.4" - dependencies: - ip-address: "npm:^9.0.5" - smart-buffer: "npm:^4.2.0" - checksum: 10c0/00c3271e233ccf1fb83a3dd2060b94cc37817e0f797a93c560b9a7a86c4a0ec2961fb31263bdd24a3c28945e24868b5f063cd98744171d9e942c513454b50ae5 - languageName: node - linkType: hard - -"source-map@npm:~0.6.1": - version: 0.6.1 - resolution: "source-map@npm:0.6.1" - checksum: 10c0/ab55398007c5e5532957cb0beee2368529618ac0ab372d789806f5718123cc4367d57de3904b4e6a4170eb5a0b0f41373066d02ca0735a0c4d75c7d328d3e011 - languageName: node - linkType: hard - -"sparse-bitfield@npm:^3.0.3": - version: 3.0.3 - resolution: "sparse-bitfield@npm:3.0.3" - dependencies: - memory-pager: "npm:^1.0.2" - checksum: 10c0/248c6ff7b5e354735e1daac4059222a29c9d291dfcf265daf675d13515eeaac454cfcccd687c8d134f86698b39abd7ad4d7434f7272dd6f8e41a00f21aae4194 - languageName: node - linkType: hard - -"sprintf-js@npm:^1.1.3": - version: 1.1.3 - resolution: "sprintf-js@npm:1.1.3" - checksum: 10c0/09270dc4f30d479e666aee820eacd9e464215cdff53848b443964202bf4051490538e5dd1b42e1a65cf7296916ca17640aebf63dae9812749c7542ee5f288dec - languageName: node - linkType: hard - -"ssri@npm:^12.0.0": - version: 12.0.0 - resolution: "ssri@npm:12.0.0" - dependencies: - minipass: "npm:^7.0.3" - checksum: 10c0/caddd5f544b2006e88fa6b0124d8d7b28208b83c72d7672d5ade44d794525d23b540f3396108c4eb9280dcb7c01f0bef50682f5b4b2c34291f7c5e211fd1417d - languageName: node - linkType: hard - -"statuses@npm:2.0.1": - version: 2.0.1 - resolution: "statuses@npm:2.0.1" - checksum: 10c0/34378b207a1620a24804ce8b5d230fea0c279f00b18a7209646d5d47e419d1cc23e7cbf33a25a1e51ac38973dc2ac2e1e9c647a8e481ef365f77668d72becfd0 - languageName: node - linkType: hard - -"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^4.1.0": - version: 4.2.3 - resolution: "string-width@npm:4.2.3" - dependencies: - emoji-regex: "npm:^8.0.0" - is-fullwidth-code-point: "npm:^3.0.0" - strip-ansi: "npm:^6.0.1" - checksum: 10c0/1e525e92e5eae0afd7454086eed9c818ee84374bb80328fc41217ae72ff5f065ef1c9d7f72da41de40c75fa8bb3dee63d92373fd492c84260a552c636392a47b - languageName: node - linkType: hard - -"string-width@npm:^5.0.1, string-width@npm:^5.1.2": - version: 5.1.2 - resolution: "string-width@npm:5.1.2" - dependencies: - eastasianwidth: "npm:^0.2.0" - emoji-regex: "npm:^9.2.2" - strip-ansi: "npm:^7.0.1" - checksum: 10c0/ab9c4264443d35b8b923cbdd513a089a60de339216d3b0ed3be3ba57d6880e1a192b70ae17225f764d7adbf5994e9bb8df253a944736c15a0240eff553c678ca - languageName: node - linkType: hard - -"string_decoder@npm:~1.1.1": - version: 1.1.1 - resolution: "string_decoder@npm:1.1.1" - dependencies: - safe-buffer: "npm:~5.1.0" - checksum: 10c0/b4f89f3a92fd101b5653ca3c99550e07bdf9e13b35037e9e2a1c7b47cec4e55e06ff3fc468e314a0b5e80bfbaf65c1ca5a84978764884ae9413bec1fc6ca924e - languageName: node - linkType: hard - -"strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": - version: 6.0.1 - resolution: "strip-ansi@npm:6.0.1" - dependencies: - ansi-regex: "npm:^5.0.1" - checksum: 10c0/1ae5f212a126fe5b167707f716942490e3933085a5ff6c008ab97ab2f272c8025d3aa218b7bd6ab25729ca20cc81cddb252102f8751e13482a5199e873680952 - languageName: node - linkType: hard - -"strip-ansi@npm:^7.0.1": - version: 7.1.0 - resolution: "strip-ansi@npm:7.1.0" - dependencies: - ansi-regex: "npm:^6.0.1" - checksum: 10c0/a198c3762e8832505328cbf9e8c8381de14a4fa50a4f9b2160138158ea88c0f5549fb50cb13c651c3088f47e63a108b34622ec18c0499b6c8c3a5ddf6b305ac4 - languageName: node - linkType: hard - -"supports-color@npm:^5.5.0": - version: 5.5.0 - resolution: "supports-color@npm:5.5.0" - dependencies: - has-flag: "npm:^3.0.0" - checksum: 10c0/6ae5ff319bfbb021f8a86da8ea1f8db52fac8bd4d499492e30ec17095b58af11f0c55f8577390a749b1c4dde691b6a0315dab78f5f54c9b3d83f8fb5905c1c05 - languageName: node - linkType: hard - -"symbol-tree@npm:^3.2.4": - version: 3.2.4 - resolution: "symbol-tree@npm:3.2.4" - checksum: 10c0/dfbe201ae09ac6053d163578778c53aa860a784147ecf95705de0cd23f42c851e1be7889241495e95c37cabb058edb1052f141387bef68f705afc8f9dd358509 - languageName: node - linkType: hard - -"tar@npm:^7.4.3": - version: 7.4.3 - resolution: "tar@npm:7.4.3" - dependencies: - "@isaacs/fs-minipass": "npm:^4.0.0" - chownr: "npm:^3.0.0" - minipass: "npm:^7.1.2" - minizlib: "npm:^3.0.1" - mkdirp: "npm:^3.0.1" - yallist: "npm:^5.0.0" - checksum: 10c0/d4679609bb2a9b48eeaf84632b6d844128d2412b95b6de07d53d8ee8baf4ca0857c9331dfa510390a0727b550fd543d4d1a10995ad86cdf078423fbb8d99831d - languageName: node - linkType: hard - -"tinyglobby@npm:^0.2.12": - version: 0.2.13 - resolution: "tinyglobby@npm:0.2.13" - dependencies: - fdir: "npm:^6.4.4" - picomatch: "npm:^4.0.2" - checksum: 10c0/ef07dfaa7b26936601d3f6d999f7928a4d1c6234c5eb36896bb88681947c0d459b7ebe797022400e555fe4b894db06e922b95d0ce60cb05fd827a0a66326b18c - languageName: node - linkType: hard - -"to-regex-range@npm:^5.0.1": - version: 5.0.1 - resolution: "to-regex-range@npm:5.0.1" - dependencies: - is-number: "npm:^7.0.0" - checksum: 10c0/487988b0a19c654ff3e1961b87f471702e708fa8a8dd02a298ef16da7206692e8552a0250e8b3e8759270f62e9d8314616f6da274734d3b558b1fc7b7724e892 - languageName: node - linkType: hard - -"toidentifier@npm:1.0.1": - version: 1.0.1 - resolution: "toidentifier@npm:1.0.1" - checksum: 10c0/93937279934bd66cc3270016dd8d0afec14fb7c94a05c72dc57321f8bd1fa97e5bea6d1f7c89e728d077ca31ea125b78320a616a6c6cd0e6b9cb94cb864381c1 - languageName: node - linkType: hard - -"touch@npm:^3.1.0": - version: 3.1.1 - resolution: "touch@npm:3.1.1" - bin: - nodetouch: bin/nodetouch.js - checksum: 10c0/d2e4d269a42c846a22a29065b9af0b263de58effc85a1764bb7a2e8fc4b47700e9e2fcbd7eb1f5bffbb7c73d860f93600cef282b93ddac8f0b62321cb498b36e - languageName: node - linkType: hard - -"tough-cookie@npm:^4.0.0": - version: 4.1.4 - resolution: "tough-cookie@npm:4.1.4" - dependencies: - psl: "npm:^1.1.33" - punycode: "npm:^2.1.1" - universalify: "npm:^0.2.0" - url-parse: "npm:^1.5.3" - checksum: 10c0/aca7ff96054f367d53d1e813e62ceb7dd2eda25d7752058a74d64b7266fd07be75908f3753a32ccf866a2f997604b414cfb1916d6e7f69bc64d9d9939b0d6c45 - languageName: node - linkType: hard - -"tr46@npm:^3.0.0": - version: 3.0.0 - resolution: "tr46@npm:3.0.0" - dependencies: - punycode: "npm:^2.1.1" - checksum: 10c0/cdc47cad3a9d0b6cb293e39ccb1066695ae6fdd39b9e4f351b010835a1f8b4f3a6dc3a55e896b421371187f22b48d7dac1b693de4f6551bdef7b6ab6735dfe3b - languageName: node - linkType: hard - -"type-is@npm:~1.6.18": - version: 1.6.18 - resolution: "type-is@npm:1.6.18" - dependencies: - media-typer: "npm:0.3.0" - mime-types: "npm:~2.1.24" - checksum: 10c0/a23daeb538591b7efbd61ecf06b6feb2501b683ffdc9a19c74ef5baba362b4347e42f1b4ed81f5882a8c96a3bfff7f93ce3ffaf0cbbc879b532b04c97a55db9d - languageName: node - linkType: hard - -"undefsafe@npm:^2.0.5": - version: 2.0.5 - resolution: "undefsafe@npm:2.0.5" - checksum: 10c0/96c0466a5fbf395917974a921d5d4eee67bca4b30d3a31ce7e621e0228c479cf893e783a109af6e14329b52fe2f0cb4108665fad2b87b0018c0df6ac771261d5 - languageName: node - linkType: hard - -"undici-types@npm:~6.21.0": - version: 6.21.0 - resolution: "undici-types@npm:6.21.0" - checksum: 10c0/c01ed51829b10aa72fc3ce64b747f8e74ae9b60eafa19a7b46ef624403508a54c526ffab06a14a26b3120d055e1104d7abe7c9017e83ced038ea5cf52f8d5e04 - languageName: node - linkType: hard - -"unique-filename@npm:^4.0.0": - version: 4.0.0 - resolution: "unique-filename@npm:4.0.0" - dependencies: - unique-slug: "npm:^5.0.0" - checksum: 10c0/38ae681cceb1408ea0587b6b01e29b00eee3c84baee1e41fd5c16b9ed443b80fba90c40e0ba69627e30855570a34ba8b06702d4a35035d4b5e198bf5a64c9ddc - languageName: node - linkType: hard - -"unique-slug@npm:^5.0.0": - version: 5.0.0 - resolution: "unique-slug@npm:5.0.0" - dependencies: - imurmurhash: "npm:^0.1.4" - checksum: 10c0/d324c5a44887bd7e105ce800fcf7533d43f29c48757ac410afd42975de82cc38ea2035c0483f4de82d186691bf3208ef35c644f73aa2b1b20b8e651be5afd293 - languageName: node - linkType: hard - -"universalify@npm:^0.2.0": - version: 0.2.0 - resolution: "universalify@npm:0.2.0" - checksum: 10c0/cedbe4d4ca3967edf24c0800cfc161c5a15e240dac28e3ce575c689abc11f2c81ccc6532c8752af3b40f9120fb5e454abecd359e164f4f6aa44c29cd37e194fe - languageName: node - linkType: hard - -"unpipe@npm:1.0.0, unpipe@npm:~1.0.0": - version: 1.0.0 - resolution: "unpipe@npm:1.0.0" - checksum: 10c0/193400255bd48968e5c5383730344fbb4fa114cdedfab26e329e50dd2d81b134244bb8a72c6ac1b10ab0281a58b363d06405632c9d49ca9dfd5e90cbd7d0f32c - languageName: node - linkType: hard - -"url-parse@npm:^1.5.3": - version: 1.5.10 - resolution: "url-parse@npm:1.5.10" - dependencies: - querystringify: "npm:^2.1.1" - requires-port: "npm:^1.0.0" - checksum: 10c0/bd5aa9389f896974beb851c112f63b466505a04b4807cea2e5a3b7092f6fbb75316f0491ea84e44f66fed55f1b440df5195d7e3a8203f64fcefa19d182f5be87 - languageName: node - linkType: hard - -"util-deprecate@npm:~1.0.1": - version: 1.0.2 - resolution: "util-deprecate@npm:1.0.2" - checksum: 10c0/41a5bdd214df2f6c3ecf8622745e4a366c4adced864bc3c833739791aeeeb1838119af7daed4ba36428114b5c67dcda034a79c882e97e43c03e66a4dd7389942 - languageName: node - linkType: hard - -"utils-merge@npm:1.0.1": - version: 1.0.1 - resolution: "utils-merge@npm:1.0.1" - checksum: 10c0/02ba649de1b7ca8854bfe20a82f1dfbdda3fb57a22ab4a8972a63a34553cf7aa51bc9081cf7e001b035b88186d23689d69e71b510e610a09a4c66f68aa95b672 - languageName: node - linkType: hard - -"vary@npm:~1.1.2": - version: 1.1.2 - resolution: "vary@npm:1.1.2" - checksum: 10c0/f15d588d79f3675135ba783c91a4083dcd290a2a5be9fcb6514220a1634e23df116847b1cc51f66bfb0644cf9353b2abb7815ae499bab06e46dd33c1a6bf1f4f - languageName: node - linkType: hard - -"w3c-hr-time@npm:^1.0.2": - version: 1.0.2 - resolution: "w3c-hr-time@npm:1.0.2" - dependencies: - browser-process-hrtime: "npm:^1.0.0" - checksum: 10c0/7795b61fb51ce222414891eef8e6cb13240b62f64351b4474f99c84de2bc37d37dd0efa193f37391e9737097b881a111d1e003e3d7a9583693f8d5a858b02627 - languageName: node - linkType: hard - -"w3c-xmlserializer@npm:^3.0.0": - version: 3.0.0 - resolution: "w3c-xmlserializer@npm:3.0.0" - dependencies: - xml-name-validator: "npm:^4.0.0" - checksum: 10c0/8c455303ee2aec813f8688f4a1618b78d2fd90156a233c8ef60b853418a6b23f00fe86b680f7584f48d1c2348ee0677ad43be6fb6fcc032130cfda4de8c7188e - languageName: node - linkType: hard - -"webidl-conversions@npm:^7.0.0": - version: 7.0.0 - resolution: "webidl-conversions@npm:7.0.0" - checksum: 10c0/228d8cb6d270c23b0720cb2d95c579202db3aaf8f633b4e9dd94ec2000a04e7e6e43b76a94509cdb30479bd00ae253ab2371a2da9f81446cc313f89a4213a2c4 - languageName: node - linkType: hard - -"whatwg-encoding@npm:^2.0.0": - version: 2.0.0 - resolution: "whatwg-encoding@npm:2.0.0" - dependencies: - iconv-lite: "npm:0.6.3" - checksum: 10c0/91b90a49f312dc751496fd23a7e68981e62f33afe938b97281ad766235c4872fc4e66319f925c5e9001502b3040dd25a33b02a9c693b73a4cbbfdc4ad10c3e3e - languageName: node - linkType: hard - -"whatwg-mimetype@npm:^3.0.0": - version: 3.0.0 - resolution: "whatwg-mimetype@npm:3.0.0" - checksum: 10c0/323895a1cda29a5fb0b9ca82831d2c316309fede0365047c4c323073e3239067a304a09a1f4b123b9532641ab604203f33a1403b5ca6a62ef405bcd7a204080f - languageName: node - linkType: hard - -"whatwg-url@npm:^10.0.0": - version: 10.0.0 - resolution: "whatwg-url@npm:10.0.0" - dependencies: - tr46: "npm:^3.0.0" - webidl-conversions: "npm:^7.0.0" - checksum: 10c0/57f295913cbad3b8f7843168f30dde5ff0a875cbcf80f9cceb96276e296ba925f0455b2bfd55b6829eb3d770c6ebcac48abcc182826decb748c139dbe85d92e8 - languageName: node - linkType: hard - -"whatwg-url@npm:^11.0.0": - version: 11.0.0 - resolution: "whatwg-url@npm:11.0.0" - dependencies: - tr46: "npm:^3.0.0" - webidl-conversions: "npm:^7.0.0" - checksum: 10c0/f7ec264976d7c725e0696fcaf9ebe056e14422eacbf92fdbb4462034609cba7d0c85ffa1aab05e9309d42969bcf04632ba5ed3f3882c516d7b093053315bf4c1 - languageName: node - linkType: hard - -"which@npm:^2.0.1": - version: 2.0.2 - resolution: "which@npm:2.0.2" - dependencies: - isexe: "npm:^2.0.0" - bin: - node-which: ./bin/node-which - checksum: 10c0/66522872a768b60c2a65a57e8ad184e5372f5b6a9ca6d5f033d4b0dc98aff63995655a7503b9c0a2598936f532120e81dd8cc155e2e92ed662a2b9377cc4374f - languageName: node - linkType: hard - -"which@npm:^5.0.0": - version: 5.0.0 - resolution: "which@npm:5.0.0" - dependencies: - isexe: "npm:^3.1.1" - bin: - node-which: bin/which.js - checksum: 10c0/e556e4cd8b7dbf5df52408c9a9dd5ac6518c8c5267c8953f5b0564073c66ed5bf9503b14d876d0e9c7844d4db9725fb0dcf45d6e911e17e26ab363dc3965ae7b - languageName: node - linkType: hard - -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": - version: 7.0.0 - resolution: "wrap-ansi@npm:7.0.0" - dependencies: - ansi-styles: "npm:^4.0.0" - string-width: "npm:^4.1.0" - strip-ansi: "npm:^6.0.0" - checksum: 10c0/d15fc12c11e4cbc4044a552129ebc75ee3f57aa9c1958373a4db0292d72282f54373b536103987a4a7594db1ef6a4f10acf92978f79b98c49306a4b58c77d4da - languageName: node - linkType: hard - -"wrap-ansi@npm:^8.1.0": - version: 8.1.0 - resolution: "wrap-ansi@npm:8.1.0" - dependencies: - ansi-styles: "npm:^6.1.0" - string-width: "npm:^5.0.1" - strip-ansi: "npm:^7.0.1" - checksum: 10c0/138ff58a41d2f877eae87e3282c0630fc2789012fc1af4d6bd626eeb9a2f9a65ca92005e6e69a75c7b85a68479fe7443c7dbe1eb8fbaa681a4491364b7c55c60 - languageName: node - linkType: hard - -"ws@npm:^8.2.3": - version: 8.18.1 - resolution: "ws@npm:8.18.1" - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ">=5.0.2" - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - checksum: 10c0/e498965d6938c63058c4310ffb6967f07d4fa06789d3364829028af380d299fe05762961742971c764973dce3d1f6a2633fe8b2d9410c9b52e534b4b882a99fa - languageName: node - linkType: hard - -"xml-name-validator@npm:^4.0.0": - version: 4.0.0 - resolution: "xml-name-validator@npm:4.0.0" - checksum: 10c0/c1bfa219d64e56fee265b2bd31b2fcecefc063ee802da1e73bad1f21d7afd89b943c9e2c97af2942f60b1ad46f915a4c81e00039c7d398b53cf410e29d3c30bd - languageName: node - linkType: hard - -"xmlchars@npm:^2.2.0": - version: 2.2.0 - resolution: "xmlchars@npm:2.2.0" - checksum: 10c0/b64b535861a6f310c5d9bfa10834cf49127c71922c297da9d4d1b45eeaae40bf9b4363275876088fbe2667e5db028d2cd4f8ee72eed9bede840a67d57dab7593 - languageName: node - linkType: hard - -"yallist@npm:^4.0.0": - version: 4.0.0 - resolution: "yallist@npm:4.0.0" - checksum: 10c0/2286b5e8dbfe22204ab66e2ef5cc9bbb1e55dfc873bbe0d568aa943eb255d131890dfd5bf243637273d31119b870f49c18fcde2c6ffbb7a7a092b870dc90625a - languageName: node - linkType: hard - -"yallist@npm:^5.0.0": - version: 5.0.0 - resolution: "yallist@npm:5.0.0" - checksum: 10c0/a499c81ce6d4a1d260d4ea0f6d49ab4da09681e32c3f0472dee16667ed69d01dae63a3b81745a24bd78476ec4fcf856114cb4896ace738e01da34b2c42235416 - languageName: node - linkType: hard diff --git a/test/it/test_manifests/yarn-classic/package.json b/test/it/test_manifests/yarn-classic/package.json deleted file mode 100644 index 9d18fd62..00000000 --- a/test/it/test_manifests/yarn-classic/package.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "name": "backend", - "version": "1.0.0", - "description": "", - "main": "index.js", - "scripts": { - "start": "node app.js", - "server": "nodemon server.js", - "client-install": "npm install --prefix ../frontend", - "client": "npm start --prefix ../frontend", - "dev": "concurrently \"npm run server\" \"npm run client\"", - "heroku-postbuild": "NPM_CONFIG_PRODUCTION=false npm install --prefix ../frontend && npm run build --prefix ../frontend" - }, - "keywords": [], - "author": "", - "license": "ISC", - "dependencies": { - "@hapi/joi": "^17.1.1", - "backend": "^0.0.0", - "bcryptjs": "^2.4.3", - "dotenv": "^8.2.0", - "express": "^4.17.1", - "jsdom": "^19.0.0", - "jsonwebtoken": "^8.5.1", - "mongoose": "^5.9.18", - "nodemon": "^2.0.4", - "axios": "^0.19.0" - }, - "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e" -} diff --git a/test/it/test_manifests/yarn-classic/yarn.lock b/test/it/test_manifests/yarn-classic/yarn.lock deleted file mode 100644 index 55a68999..00000000 --- a/test/it/test_manifests/yarn-classic/yarn.lock +++ /dev/null @@ -1,1447 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@hapi/address@^4.0.1": - version "4.1.0" - resolved "https://registry.npmjs.org/@hapi/address/-/address-4.1.0.tgz" - integrity sha512-SkszZf13HVgGmChdHo/PxchnSaCJ6cetVqLzyciudzZRT0jcOouIF/Q93mgjw8cce+D+4F4C1Z/WrfFN+O3VHQ== - dependencies: - "@hapi/hoek" "^9.0.0" - -"@hapi/formula@^2.0.0": - version "2.0.0" - resolved "https://registry.npmjs.org/@hapi/formula/-/formula-2.0.0.tgz" - integrity sha512-V87P8fv7PI0LH7LiVi8Lkf3x+KCO7pQozXRssAHNXXL9L1K+uyu4XypLXwxqVDKgyQai6qj3/KteNlrqDx4W5A== - -"@hapi/hoek@^9.0.0": - version "9.3.0" - resolved "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz" - integrity sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ== - -"@hapi/joi@^17.1.1": - version "17.1.1" - resolved "https://registry.npmjs.org/@hapi/joi/-/joi-17.1.1.tgz" - integrity sha512-p4DKeZAoeZW4g3u7ZeRo+vCDuSDgSvtsB/NpfjXEHTUjSeINAi/RrVOWiVQ1isaoLzMvFEhe8n5065mQq1AdQg== - dependencies: - "@hapi/address" "^4.0.1" - "@hapi/formula" "^2.0.0" - "@hapi/hoek" "^9.0.0" - "@hapi/pinpoint" "^2.0.0" - "@hapi/topo" "^5.0.0" - -"@hapi/pinpoint@^2.0.0": - version "2.0.1" - resolved "https://registry.npmjs.org/@hapi/pinpoint/-/pinpoint-2.0.1.tgz" - integrity sha512-EKQmr16tM8s16vTT3cA5L0kZZcTMU5DUOZTuvpnY738m+jyP3JIUj+Mm1xc1rsLkGBQ/gVnfKYPwOmPg1tUR4Q== - -"@hapi/topo@^5.0.0": - version "5.1.0" - resolved "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz" - integrity sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg== - dependencies: - "@hapi/hoek" "^9.0.0" - -"@tootallnate/once@2": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" - integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== - -"@types/bson@*": - version "4.2.4" - resolved "https://registry.npmjs.org/@types/bson/-/bson-4.2.4.tgz" - integrity sha512-SG23E3JDH6y8qF20a4G9txLuUl+TCV16gxsKyntmGiJez2V9VBJr1Y8WxTBBD6OgBVcvspQ7sxgdNMkXFVcaEA== - dependencies: - bson "*" - -"@types/bson@1.x || 4.0.x": - version "4.0.5" - resolved "https://registry.npmjs.org/@types/bson/-/bson-4.0.5.tgz" - integrity sha512-vVLwMUqhYJSQ/WKcE60eFqcyuWse5fGH+NMAXHuKrUAPoryq3ATxk5o4bgYNtg5aOM4APVg7Hnb3ASqUYG0PKg== - dependencies: - "@types/node" "*" - -"@types/mongodb@^3.5.27": - version "3.6.20" - resolved "https://registry.npmjs.org/@types/mongodb/-/mongodb-3.6.20.tgz" - integrity sha512-WcdpPJCakFzcWWD9juKoZbRtQxKIMYF/JIAM4JrNHrMcnJL6/a2NWjXxW7fo9hxboxxkg+icff8d7+WIEvKgYQ== - dependencies: - "@types/bson" "*" - "@types/node" "*" - -"@types/node@*": - version "22.14.1" - resolved "https://registry.npmjs.org/@types/node/-/node-22.14.1.tgz" - integrity sha512-u0HuPQwe/dHrItgHHpmw3N2fYCR6x4ivMNbPHRkBVP4CvN+kiRrKHWk3i8tXiO/joPwXLMYvF9TTF0eqgHIuOw== - dependencies: - undici-types "~6.21.0" - -abab@^2.0.5, abab@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" - integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== - -accepts@~1.3.8: - version "1.3.8" - resolved "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz" - integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== - dependencies: - mime-types "~2.1.34" - negotiator "0.6.3" - -acorn-globals@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" - integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== - dependencies: - acorn "^7.1.1" - acorn-walk "^7.1.1" - -acorn-walk@^7.1.1: - version "7.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" - integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== - -acorn@^7.1.1: - version "7.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" - integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== - -acorn@^8.5.0: - version "8.14.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.14.1.tgz#721d5dc10f7d5b5609a891773d47731796935dfb" - integrity sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg== - -agent-base@6: - version "6.0.2" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" - integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== - dependencies: - debug "4" - -anymatch@~3.1.2: - version "3.1.3" - resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" - integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -array-flatten@1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz" - integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== - -axios@^0.19.0: - version "0.19.2" - resolved "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz" - integrity sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA== - dependencies: - follow-redirects "1.5.10" - -backend@^0.0.0: - version "0.0.0" - resolved "https://registry.npmjs.org/backend/-/backend-0.0.0.tgz" - integrity sha512-Fq2aG5+zmmsKv2Dhm3ijAU5spnKOb5ldJlnnC/Vhk6n8In6zaq9eCPBMRiz2j94P/r84QEaBmtwh9tjaDPiQqg== - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -bcryptjs@^2.4.3: - version "2.4.3" - resolved "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz" - integrity sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ== - -binary-extensions@^2.0.0: - version "2.3.0" - resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz" - integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== - -bl@^2.2.1: - version "2.2.1" - resolved "https://registry.npmjs.org/bl/-/bl-2.2.1.tgz" - integrity sha512-6Pesp1w0DEX1N550i/uGV/TqucVL4AM/pgThFSN/Qq9si1/DF9aIHs1BxD8V/QU0HoeHO6cQRTAuYnLPKq1e4g== - dependencies: - readable-stream "^2.3.5" - safe-buffer "^5.1.1" - -bluebird@3.5.1: - version "3.5.1" - resolved "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz" - integrity sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA== - -body-parser@1.20.3: - version "1.20.3" - resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz" - integrity sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g== - dependencies: - bytes "3.1.2" - content-type "~1.0.5" - debug "2.6.9" - depd "2.0.0" - destroy "1.2.0" - http-errors "2.0.0" - iconv-lite "0.4.24" - on-finished "2.4.1" - qs "6.13.0" - raw-body "2.5.2" - type-is "~1.6.18" - unpipe "1.0.0" - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -braces@~3.0.2: - version "3.0.3" - resolved "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz" - integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== - dependencies: - fill-range "^7.1.1" - -browser-process-hrtime@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" - integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== - -bson@*: - version "6.10.3" - resolved "https://registry.npmjs.org/bson/-/bson-6.10.3.tgz" - integrity sha512-MTxGsqgYTwfshYWTRdmZRC+M7FnG1b4y7RO7p2k3X24Wq0yv1m77Wsj0BzlPzd/IowgESfsruQCUToa7vbOpPQ== - -bson@^1.1.4: - version "1.1.6" - resolved "https://registry.npmjs.org/bson/-/bson-1.1.6.tgz" - integrity sha512-EvVNVeGo4tHxwi8L6bPj3y3itEvStdwvvlojVxxbyYfoaxJ6keLgrTuKdyfEAszFK+H3olzBuafE0yoh0D1gdg== - -buffer-equal-constant-time@1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz" - integrity sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA== - -bytes@3.1.2: - version "3.1.2" - resolved "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz" - integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== - -call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz" - integrity sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ== - dependencies: - es-errors "^1.3.0" - function-bind "^1.1.2" - -call-bound@^1.0.2: - version "1.0.4" - resolved "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz" - integrity sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg== - dependencies: - call-bind-apply-helpers "^1.0.2" - get-intrinsic "^1.3.0" - -chokidar@^3.5.2: - version "3.6.0" - resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz" - integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== - dependencies: - anymatch "~3.1.2" - braces "~3.0.2" - glob-parent "~5.1.2" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.6.0" - optionalDependencies: - fsevents "~2.3.2" - -combined-stream@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - -content-disposition@0.5.4: - version "0.5.4" - resolved "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz" - integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== - dependencies: - safe-buffer "5.2.1" - -content-type@~1.0.4, content-type@~1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz" - integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== - -cookie-signature@1.0.6: - version "1.0.6" - resolved "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz" - integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== - -cookie@0.7.1: - version "0.7.1" - resolved "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz" - integrity sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w== - -core-util-is@~1.0.0: - version "1.0.3" - resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz" - integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== - -cssom@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.5.0.tgz#d254fa92cd8b6fbd83811b9fbaed34663cc17c36" - integrity sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw== - -cssom@~0.3.6: - version "0.3.8" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" - integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== - -cssstyle@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" - integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== - dependencies: - cssom "~0.3.6" - -data-urls@^3.0.1: - version "3.0.2" - resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-3.0.2.tgz#9cf24a477ae22bcef5cd5f6f0bfbc1d2d3be9143" - integrity sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ== - dependencies: - abab "^2.0.6" - whatwg-mimetype "^3.0.0" - whatwg-url "^11.0.0" - -debug@2.6.9: - version "2.6.9" - resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@3.1.0, debug@=3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz" - integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== - dependencies: - ms "2.0.0" - -debug@4: - version "4.4.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.0.tgz#2b3f2aea2ffeb776477460267377dc8710faba8a" - integrity sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA== - dependencies: - ms "^2.1.3" - -debug@^3.2.7: - version "3.2.7" - resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" - integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== - dependencies: - ms "^2.1.1" - -decimal.js@^10.3.1: - version "10.5.0" - resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.5.0.tgz#0f371c7cf6c4898ce0afb09836db73cd82010f22" - integrity sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw== - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== - -denque@^1.4.1: - version "1.5.1" - resolved "https://registry.npmjs.org/denque/-/denque-1.5.1.tgz" - integrity sha512-XwE+iZ4D6ZUB7mfYRMb5wByE8L74HCn30FBN7sWnXksWc1LO1bPDl67pBR9o/kC4z/xSNAwkMYcGgqDV3BE3Hw== - -depd@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz" - integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== - -destroy@1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz" - integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== - -domexception@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/domexception/-/domexception-4.0.0.tgz#4ad1be56ccadc86fc76d033353999a8037d03673" - integrity sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw== - dependencies: - webidl-conversions "^7.0.0" - -dotenv@^8.2.0: - version "8.6.0" - resolved "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz" - integrity sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g== - -dunder-proto@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz" - integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A== - dependencies: - call-bind-apply-helpers "^1.0.1" - es-errors "^1.3.0" - gopd "^1.2.0" - -ecdsa-sig-formatter@1.0.11: - version "1.0.11" - resolved "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz" - integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ== - dependencies: - safe-buffer "^5.0.1" - -ee-first@1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" - integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== - -encodeurl@~1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz" - integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== - -encodeurl@~2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz" - integrity sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg== - -es-define-property@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz" - integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g== - -es-errors@^1.3.0: - version "1.3.0" - resolved "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz" - integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== - -es-object-atoms@^1.0.0, es-object-atoms@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz" - integrity sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA== - dependencies: - es-errors "^1.3.0" - -es-set-tostringtag@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz#f31dbbe0c183b00a6d26eb6325c810c0fd18bd4d" - integrity sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA== - dependencies: - es-errors "^1.3.0" - get-intrinsic "^1.2.6" - has-tostringtag "^1.0.2" - hasown "^2.0.2" - -escape-html@~1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz" - integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== - -escodegen@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.1.0.tgz#ba93bbb7a43986d29d6041f99f5262da773e2e17" - integrity sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w== - dependencies: - esprima "^4.0.1" - estraverse "^5.2.0" - esutils "^2.0.2" - optionalDependencies: - source-map "~0.6.1" - -esprima@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -estraverse@^5.2.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -etag@~1.8.1: - version "1.8.1" - resolved "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz" - integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== - -express@^4.17.1: - version "4.21.2" - resolved "https://registry.npmjs.org/express/-/express-4.21.2.tgz" - integrity sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA== - dependencies: - accepts "~1.3.8" - array-flatten "1.1.1" - body-parser "1.20.3" - content-disposition "0.5.4" - content-type "~1.0.4" - cookie "0.7.1" - cookie-signature "1.0.6" - debug "2.6.9" - depd "2.0.0" - encodeurl "~2.0.0" - escape-html "~1.0.3" - etag "~1.8.1" - finalhandler "1.3.1" - fresh "0.5.2" - http-errors "2.0.0" - merge-descriptors "1.0.3" - methods "~1.1.2" - on-finished "2.4.1" - parseurl "~1.3.3" - path-to-regexp "0.1.12" - proxy-addr "~2.0.7" - qs "6.13.0" - range-parser "~1.2.1" - safe-buffer "5.2.1" - send "0.19.0" - serve-static "1.16.2" - setprototypeof "1.2.0" - statuses "2.0.1" - type-is "~1.6.18" - utils-merge "1.0.1" - vary "~1.1.2" - -fill-range@^7.1.1: - version "7.1.1" - resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz" - integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== - dependencies: - to-regex-range "^5.0.1" - -finalhandler@1.3.1: - version "1.3.1" - resolved "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz" - integrity sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ== - dependencies: - debug "2.6.9" - encodeurl "~2.0.0" - escape-html "~1.0.3" - on-finished "2.4.1" - parseurl "~1.3.3" - statuses "2.0.1" - unpipe "~1.0.0" - -follow-redirects@1.5.10: - version "1.5.10" - resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz" - integrity sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ== - dependencies: - debug "=3.1.0" - -form-data@^4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.2.tgz#35cabbdd30c3ce73deb2c42d3c8d3ed9ca51794c" - integrity sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - es-set-tostringtag "^2.1.0" - mime-types "^2.1.12" - -forwarded@0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz" - integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== - -fresh@0.5.2: - version "0.5.2" - resolved "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz" - integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== - -fsevents@~2.3.2: - version "2.3.3" - resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz" - integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== - -function-bind@^1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz" - integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== - -get-intrinsic@^1.2.5, get-intrinsic@^1.2.6, get-intrinsic@^1.3.0: - version "1.3.0" - resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz" - integrity sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ== - dependencies: - call-bind-apply-helpers "^1.0.2" - es-define-property "^1.0.1" - es-errors "^1.3.0" - es-object-atoms "^1.1.1" - function-bind "^1.1.2" - get-proto "^1.0.1" - gopd "^1.2.0" - has-symbols "^1.1.0" - hasown "^2.0.2" - math-intrinsics "^1.1.0" - -get-proto@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz" - integrity sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g== - dependencies: - dunder-proto "^1.0.1" - es-object-atoms "^1.0.0" - -glob-parent@~5.1.2: - version "5.1.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -gopd@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz" - integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg== - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" - integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== - -has-symbols@^1.0.3, has-symbols@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz" - integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ== - -has-tostringtag@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" - integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== - dependencies: - has-symbols "^1.0.3" - -hasown@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz" - integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== - dependencies: - function-bind "^1.1.2" - -html-encoding-sniffer@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz#2cb1a8cf0db52414776e5b2a7a04d5dd98158de9" - integrity sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA== - dependencies: - whatwg-encoding "^2.0.0" - -http-errors@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz" - integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== - dependencies: - depd "2.0.0" - inherits "2.0.4" - setprototypeof "1.2.0" - statuses "2.0.1" - toidentifier "1.0.1" - -http-proxy-agent@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43" - integrity sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w== - dependencies: - "@tootallnate/once" "2" - agent-base "6" - debug "4" - -https-proxy-agent@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" - integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== - dependencies: - agent-base "6" - debug "4" - -iconv-lite@0.4.24: - version "0.4.24" - resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -iconv-lite@0.6.3: - version "0.6.3" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" - integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== - dependencies: - safer-buffer ">= 2.1.2 < 3.0.0" - -ignore-by-default@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz" - integrity sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA== - -inherits@2.0.4, inherits@~2.0.3: - version "2.0.4" - resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -ipaddr.js@1.9.1: - version "1.9.1" - resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz" - integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== - -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" - integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== - -is-glob@^4.0.1, is-glob@~4.0.1: - version "4.0.3" - resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-potential-custom-element-name@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" - integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== - -isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" - integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== - -jsdom@^19.0.0: - version "19.0.0" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-19.0.0.tgz#93e67c149fe26816d38a849ea30ac93677e16b6a" - integrity sha512-RYAyjCbxy/vri/CfnjUWJQQtZ3LKlLnDqj+9XLNnJPgEGeirZs3hllKR20re8LUZ6o1b1X4Jat+Qd26zmP41+A== - dependencies: - abab "^2.0.5" - acorn "^8.5.0" - acorn-globals "^6.0.0" - cssom "^0.5.0" - cssstyle "^2.3.0" - data-urls "^3.0.1" - decimal.js "^10.3.1" - domexception "^4.0.0" - escodegen "^2.0.0" - form-data "^4.0.0" - html-encoding-sniffer "^3.0.0" - http-proxy-agent "^5.0.0" - https-proxy-agent "^5.0.0" - is-potential-custom-element-name "^1.0.1" - nwsapi "^2.2.0" - parse5 "6.0.1" - saxes "^5.0.1" - symbol-tree "^3.2.4" - tough-cookie "^4.0.0" - w3c-hr-time "^1.0.2" - w3c-xmlserializer "^3.0.0" - webidl-conversions "^7.0.0" - whatwg-encoding "^2.0.0" - whatwg-mimetype "^3.0.0" - whatwg-url "^10.0.0" - ws "^8.2.3" - xml-name-validator "^4.0.0" - -jsonwebtoken@^8.5.1: - version "8.5.1" - resolved "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz" - integrity sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w== - dependencies: - jws "^3.2.2" - lodash.includes "^4.3.0" - lodash.isboolean "^3.0.3" - lodash.isinteger "^4.0.4" - lodash.isnumber "^3.0.3" - lodash.isplainobject "^4.0.6" - lodash.isstring "^4.0.1" - lodash.once "^4.0.0" - ms "^2.1.1" - semver "^5.6.0" - -jwa@^1.4.1: - version "1.4.1" - resolved "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz" - integrity sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA== - dependencies: - buffer-equal-constant-time "1.0.1" - ecdsa-sig-formatter "1.0.11" - safe-buffer "^5.0.1" - -jws@^3.2.2: - version "3.2.2" - resolved "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz" - integrity sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA== - dependencies: - jwa "^1.4.1" - safe-buffer "^5.0.1" - -kareem@2.3.2: - version "2.3.2" - resolved "https://registry.npmjs.org/kareem/-/kareem-2.3.2.tgz" - integrity sha512-STHz9P7X2L4Kwn72fA4rGyqyXdmrMSdxqHx9IXon/FXluXieaFA6KJ2upcHAHxQPQ0LeM/OjLrhFxifHewOALQ== - -lodash.includes@^4.3.0: - version "4.3.0" - resolved "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz" - integrity sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w== - -lodash.isboolean@^3.0.3: - version "3.0.3" - resolved "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz" - integrity sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg== - -lodash.isinteger@^4.0.4: - version "4.0.4" - resolved "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz" - integrity sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA== - -lodash.isnumber@^3.0.3: - version "3.0.3" - resolved "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz" - integrity sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw== - -lodash.isplainobject@^4.0.6: - version "4.0.6" - resolved "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz" - integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA== - -lodash.isstring@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz" - integrity sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw== - -lodash.once@^4.0.0: - version "4.1.1" - resolved "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz" - integrity sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg== - -math-intrinsics@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz" - integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g== - -media-typer@0.3.0: - version "0.3.0" - resolved "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz" - integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== - -memory-pager@^1.0.2: - version "1.5.0" - resolved "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz" - integrity sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg== - -merge-descriptors@1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz" - integrity sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ== - -methods@~1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz" - integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== - -mime-db@1.52.0: - version "1.52.0" - resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" - integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== - -mime-types@^2.1.12, mime-types@~2.1.24, mime-types@~2.1.34: - version "2.1.35" - resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" - integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== - dependencies: - mime-db "1.52.0" - -mime@1.6.0: - version "1.6.0" - resolved "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" - integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== - -minimatch@^3.1.2: - version "3.1.2" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -mongodb@3.7.4: - version "3.7.4" - resolved "https://registry.npmjs.org/mongodb/-/mongodb-3.7.4.tgz" - integrity sha512-K5q8aBqEXMwWdVNh94UQTwZ6BejVbFhh1uB6c5FKtPE9eUMZPUO3sRZdgIEcHSrAWmxzpG/FeODDKL388sqRmw== - dependencies: - bl "^2.2.1" - bson "^1.1.4" - denque "^1.4.1" - optional-require "^1.1.8" - safe-buffer "^5.1.2" - optionalDependencies: - saslprep "^1.0.0" - -mongoose-legacy-pluralize@1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/mongoose-legacy-pluralize/-/mongoose-legacy-pluralize-1.0.2.tgz" - integrity sha512-Yo/7qQU4/EyIS8YDFSeenIvXxZN+ld7YdV9LqFVQJzTLye8unujAWPZ4NWKfFA+RNjh+wvTWKY9Z3E5XM6ZZiQ== - -mongoose@^5.9.18: - version "5.13.23" - resolved "https://registry.npmjs.org/mongoose/-/mongoose-5.13.23.tgz" - integrity sha512-Q5bo1yYOcH2wbBPP4tGmcY5VKsFkQcjUDh66YjrbneAFB3vNKQwLvteRFLuLiU17rA5SDl3UMcMJLD9VS8ng2Q== - dependencies: - "@types/bson" "1.x || 4.0.x" - "@types/mongodb" "^3.5.27" - bson "^1.1.4" - kareem "2.3.2" - mongodb "3.7.4" - mongoose-legacy-pluralize "1.0.2" - mpath "0.8.4" - mquery "3.2.5" - ms "2.1.2" - optional-require "1.0.x" - regexp-clone "1.0.0" - safe-buffer "5.2.1" - sift "13.5.2" - sliced "1.0.1" - -mpath@0.8.4: - version "0.8.4" - resolved "https://registry.npmjs.org/mpath/-/mpath-0.8.4.tgz" - integrity sha512-DTxNZomBcTWlrMW76jy1wvV37X/cNNxPW1y2Jzd4DZkAaC5ZGsm8bfGfNOthcDuRJujXLqiuS6o3Tpy0JEoh7g== - -mquery@3.2.5: - version "3.2.5" - resolved "https://registry.npmjs.org/mquery/-/mquery-3.2.5.tgz" - integrity sha512-VjOKHHgU84wij7IUoZzFRU07IAxd5kWJaDmyUzQlbjHjyoeK5TNeeo8ZsFDtTYnSgpW6n/nMNIHvE3u8Lbrf4A== - dependencies: - bluebird "3.5.1" - debug "3.1.0" - regexp-clone "^1.0.0" - safe-buffer "5.1.2" - sliced "1.0.1" - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" - integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -ms@2.1.3, ms@^2.1.1, ms@^2.1.3: - version "2.1.3" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -negotiator@0.6.3: - version "0.6.3" - resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz" - integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== - -nodemon@^2.0.4: - version "2.0.22" - resolved "https://registry.npmjs.org/nodemon/-/nodemon-2.0.22.tgz" - integrity sha512-B8YqaKMmyuCO7BowF1Z1/mkPqLk6cs/l63Ojtd6otKjMx47Dq1utxfRxcavH1I7VSaL8n5BUaoutadnsX3AAVQ== - dependencies: - chokidar "^3.5.2" - debug "^3.2.7" - ignore-by-default "^1.0.1" - minimatch "^3.1.2" - pstree.remy "^1.1.8" - semver "^5.7.1" - simple-update-notifier "^1.0.7" - supports-color "^5.5.0" - touch "^3.1.0" - undefsafe "^2.0.5" - -normalize-path@^3.0.0, normalize-path@~3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -nwsapi@^2.2.0: - version "2.2.20" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.20.tgz#22e53253c61e7b0e7e93cef42c891154bcca11ef" - integrity sha512-/ieB+mDe4MrrKMT8z+mQL8klXydZWGR5Dowt4RAGKbJ3kIGEx3X4ljUo+6V73IXtUPWgfOlU5B9MlGxFO5T+cA== - -object-inspect@^1.13.3: - version "1.13.4" - resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz" - integrity sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew== - -on-finished@2.4.1: - version "2.4.1" - resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz" - integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== - dependencies: - ee-first "1.1.1" - -optional-require@1.0.x: - version "1.0.3" - resolved "https://registry.npmjs.org/optional-require/-/optional-require-1.0.3.tgz" - integrity sha512-RV2Zp2MY2aeYK5G+B/Sps8lW5NHAzE5QClbFP15j+PWmP+T9PxlJXBOOLoSAdgwFvS4t0aMR4vpedMkbHfh0nA== - -optional-require@^1.1.8: - version "1.1.8" - resolved "https://registry.npmjs.org/optional-require/-/optional-require-1.1.8.tgz" - integrity sha512-jq83qaUb0wNg9Krv1c5OQ+58EK+vHde6aBPzLvPPqJm89UQWsvSuFy9X/OSNJnFeSOKo7btE0n8Nl2+nE+z5nA== - dependencies: - require-at "^1.0.6" - -parse5@6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" - integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== - -parseurl@~1.3.3: - version "1.3.3" - resolved "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz" - integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== - -path-to-regexp@0.1.12: - version "0.1.12" - resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz" - integrity sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ== - -picomatch@^2.0.4, picomatch@^2.2.1: - version "2.3.1" - resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -process-nextick-args@~2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" - integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== - -proxy-addr@~2.0.7: - version "2.0.7" - resolved "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz" - integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== - dependencies: - forwarded "0.2.0" - ipaddr.js "1.9.1" - -psl@^1.1.33: - version "1.15.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.15.0.tgz#bdace31896f1d97cec6a79e8224898ce93d974c6" - integrity sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w== - dependencies: - punycode "^2.3.1" - -pstree.remy@^1.1.8: - version "1.1.8" - resolved "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz" - integrity sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w== - -punycode@^2.1.1, punycode@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" - integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== - -qs@6.13.0: - version "6.13.0" - resolved "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz" - integrity sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg== - dependencies: - side-channel "^1.0.6" - -querystringify@^2.1.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" - integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== - -range-parser@~1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz" - integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== - -raw-body@2.5.2: - version "2.5.2" - resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz" - integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA== - dependencies: - bytes "3.1.2" - http-errors "2.0.0" - iconv-lite "0.4.24" - unpipe "1.0.0" - -readable-stream@^2.3.5: - version "2.3.8" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" - integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -readdirp@~3.6.0: - version "3.6.0" - resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" - integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== - dependencies: - picomatch "^2.2.1" - -regexp-clone@1.0.0, regexp-clone@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/regexp-clone/-/regexp-clone-1.0.0.tgz" - integrity sha512-TuAasHQNamyyJ2hb97IuBEif4qBHGjPHBS64sZwytpLEqtBQ1gPJTnOaQ6qmpET16cK14kkjbazl6+p0RRv0yw== - -require-at@^1.0.6: - version "1.0.6" - resolved "https://registry.npmjs.org/require-at/-/require-at-1.0.6.tgz" - integrity sha512-7i1auJbMUrXEAZCOQ0VNJgmcT2VOKPRl2YGJwgpHpC9CE91Mv4/4UYIUm4chGJaI381ZDq1JUicFii64Hapd8g== - -requires-port@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" - integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== - -safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@^5.1.1, safe-buffer@^5.1.2: - version "5.2.1" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0": - version "2.1.2" - resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -saslprep@^1.0.0: - version "1.0.3" - resolved "https://registry.npmjs.org/saslprep/-/saslprep-1.0.3.tgz" - integrity sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag== - dependencies: - sparse-bitfield "^3.0.3" - -saxes@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" - integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== - dependencies: - xmlchars "^2.2.0" - -semver@^5.6.0, semver@^5.7.1: - version "5.7.2" - resolved "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz" - integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== - -semver@~7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz" - integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== - -send@0.19.0: - version "0.19.0" - resolved "https://registry.npmjs.org/send/-/send-0.19.0.tgz" - integrity sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw== - dependencies: - debug "2.6.9" - depd "2.0.0" - destroy "1.2.0" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - fresh "0.5.2" - http-errors "2.0.0" - mime "1.6.0" - ms "2.1.3" - on-finished "2.4.1" - range-parser "~1.2.1" - statuses "2.0.1" - -serve-static@1.16.2: - version "1.16.2" - resolved "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz" - integrity sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw== - dependencies: - encodeurl "~2.0.0" - escape-html "~1.0.3" - parseurl "~1.3.3" - send "0.19.0" - -setprototypeof@1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz" - integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== - -side-channel-list@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz" - integrity sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA== - dependencies: - es-errors "^1.3.0" - object-inspect "^1.13.3" - -side-channel-map@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz" - integrity sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA== - dependencies: - call-bound "^1.0.2" - es-errors "^1.3.0" - get-intrinsic "^1.2.5" - object-inspect "^1.13.3" - -side-channel-weakmap@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz" - integrity sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A== - dependencies: - call-bound "^1.0.2" - es-errors "^1.3.0" - get-intrinsic "^1.2.5" - object-inspect "^1.13.3" - side-channel-map "^1.0.1" - -side-channel@^1.0.6: - version "1.1.0" - resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz" - integrity sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw== - dependencies: - es-errors "^1.3.0" - object-inspect "^1.13.3" - side-channel-list "^1.0.0" - side-channel-map "^1.0.1" - side-channel-weakmap "^1.0.2" - -sift@13.5.2: - version "13.5.2" - resolved "https://registry.npmjs.org/sift/-/sift-13.5.2.tgz" - integrity sha512-+gxdEOMA2J+AI+fVsCqeNn7Tgx3M9ZN9jdi95939l1IJ8cZsqS8sqpJyOkic2SJk+1+98Uwryt/gL6XDaV+UZA== - -simple-update-notifier@^1.0.7: - version "1.1.0" - resolved "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-1.1.0.tgz" - integrity sha512-VpsrsJSUcJEseSbMHkrsrAVSdvVS5I96Qo1QAQ4FxQ9wXFcB+pjj7FB7/us9+GcgfW4ziHtYMc1J0PLczb55mg== - dependencies: - semver "~7.0.0" - -sliced@1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/sliced/-/sliced-1.0.1.tgz" - integrity sha512-VZBmZP8WU3sMOZm1bdgTadsQbcscK0UM8oKxKVBs4XAhUo2Xxzm/OFMGBkPusxw9xL3Uy8LrzEqGqJhclsr0yA== - -source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -sparse-bitfield@^3.0.3: - version "3.0.3" - resolved "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz" - integrity sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ== - dependencies: - memory-pager "^1.0.2" - -statuses@2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz" - integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - -supports-color@^5.5.0: - version "5.5.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -symbol-tree@^3.2.4: - version "3.2.4" - resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" - integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -toidentifier@1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz" - integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== - -touch@^3.1.0: - version "3.1.1" - resolved "https://registry.npmjs.org/touch/-/touch-3.1.1.tgz" - integrity sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA== - -tough-cookie@^4.0.0: - version "4.1.4" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.4.tgz#945f1461b45b5a8c76821c33ea49c3ac192c1b36" - integrity sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag== - dependencies: - psl "^1.1.33" - punycode "^2.1.1" - universalify "^0.2.0" - url-parse "^1.5.3" - -tr46@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-3.0.0.tgz#555c4e297a950617e8eeddef633c87d4d9d6cbf9" - integrity sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA== - dependencies: - punycode "^2.1.1" - -type-is@~1.6.18: - version "1.6.18" - resolved "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz" - integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== - dependencies: - media-typer "0.3.0" - mime-types "~2.1.24" - -undefsafe@^2.0.5: - version "2.0.5" - resolved "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz" - integrity sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA== - -undici-types@~6.21.0: - version "6.21.0" - resolved "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz" - integrity sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ== - -universalify@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0" - integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg== - -unpipe@1.0.0, unpipe@~1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" - integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== - -url-parse@^1.5.3: - version "1.5.10" - resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1" - integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ== - dependencies: - querystringify "^2.1.1" - requires-port "^1.0.0" - -util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" - integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== - -utils-merge@1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz" - integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== - -vary@~1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz" - integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== - -w3c-hr-time@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" - integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== - dependencies: - browser-process-hrtime "^1.0.0" - -w3c-xmlserializer@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-3.0.0.tgz#06cdc3eefb7e4d0b20a560a5a3aeb0d2d9a65923" - integrity sha512-3WFqGEgSXIyGhOmAFtlicJNMjEps8b1MG31NCA0/vOF9+nKMUW1ckhi9cnNHmf88Rzw5V+dwIwsm2C7X8k9aQg== - dependencies: - xml-name-validator "^4.0.0" - -webidl-conversions@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-7.0.0.tgz#256b4e1882be7debbf01d05f0aa2039778ea080a" - integrity sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g== - -whatwg-encoding@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz#e7635f597fd87020858626805a2729fa7698ac53" - integrity sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg== - dependencies: - iconv-lite "0.6.3" - -whatwg-mimetype@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz#5fa1a7623867ff1af6ca3dc72ad6b8a4208beba7" - integrity sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q== - -whatwg-url@^10.0.0: - version "10.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-10.0.0.tgz#37264f720b575b4a311bd4094ed8c760caaa05da" - integrity sha512-CLxxCmdUby142H5FZzn4D8ikO1cmypvXVQktsgosNy4a4BHrDHeciBBGZhb0bNoR5/MltoCatso+vFjjGx8t0w== - dependencies: - tr46 "^3.0.0" - webidl-conversions "^7.0.0" - -whatwg-url@^11.0.0: - version "11.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-11.0.0.tgz#0a849eebb5faf2119b901bb76fd795c2848d4018" - integrity sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ== - dependencies: - tr46 "^3.0.0" - webidl-conversions "^7.0.0" - -ws@^8.2.3: - version "8.18.1" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.1.tgz#ea131d3784e1dfdff91adb0a4a116b127515e3cb" - integrity sha512-RKW2aJZMXeMxVpnZ6bck+RswznaxmzdULiBr6KY7XkTnW8uvt0iT9H5DkHUChXrc+uurzwa0rVI16n/Xzjdz1w== - -xml-name-validator@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-4.0.0.tgz#79a006e2e63149a8600f15430f0a4725d1524835" - integrity sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw== - -xmlchars@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" - integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== diff --git a/test/it/tsconfig.json b/test/it/tsconfig.json deleted file mode 100644 index 99aad9db..00000000 --- a/test/it/tsconfig.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "compilerOptions": { - "allowJs": true, - "allowSyntheticDefaultImports": true, - "baseUrl": "src", - "declaration": true, - "esModuleInterop": true, - "lib": ["esnext"], - "moduleResolution": "Node", - "noUnusedLocals": false, - "noUnusedParameters": false, - "skipLibCheck": true, - "types": ["node"], - "module": "esnext", - "target": "esnext" - } -} diff --git a/test/provider.test.js b/test/provider.test.js index 2347aa54..034eaa63 100644 --- a/test/provider.test.js +++ b/test/provider.test.js @@ -1,6 +1,6 @@ import { expect } from 'chai' -import { match } from "../src/provider.js" +import { match, matchForLicense, availableProviders } from "../src/provider.js" suite('testing the provider utility function', () => { // create a dummy provider for 'dummy_file.typ' @@ -21,3 +21,137 @@ suite('testing the provider utility function', () => { .to.throw('unknown.manifest is not supported') }) }); + +suite('testing the matchForLicense utility function', () => { + // create dummy providers with different manifest types + const pomProvider = { + isSupported: nameType => 'pom.xml' === nameType, + validateLockFile: () => true, + readLicenseFromManifest: () => 'Apache-2.0', + provideComponent: () => {}, + provideStack: () => {} + }; + + const packageJsonProvider = { + isSupported: nameType => 'package.json' === nameType, + validateLockFile: () => false, // No lock file - should still match for license + readLicenseFromManifest: () => 'MIT', + provideComponent: () => {}, + provideStack: () => {} + }; + + const goModProvider = { + isSupported: nameType => 'go.mod' === nameType, + validateLockFile: () => true, + readLicenseFromManifest: () => null, + provideComponent: () => {}, + provideStack: () => {} + }; + + const testProviders = [pomProvider, packageJsonProvider, goModProvider]; + + test('should match pom.xml provider by manifest name', () => { + const provider = matchForLicense('/path/to/pom.xml', testProviders); + expect(provider).to.equal(pomProvider); + }); + + test('should match package.json provider by manifest name', () => { + const provider = matchForLicense('/path/to/package.json', testProviders); + expect(provider).to.equal(packageJsonProvider); + }); + + test('should match go.mod provider by manifest name', () => { + const provider = matchForLicense('/path/to/go.mod', testProviders); + expect(provider).to.equal(goModProvider); + }); + + test('should match provider even when lock file does not exist', () => { + // packageJsonProvider has validateLockFile returning false + // but matchForLicense should not check lock file + const provider = matchForLicense('/no/lock/here/package.json', testProviders); + expect(provider).to.equal(packageJsonProvider); + }); + + test('should match provider with just filename (no full path)', () => { + const provider = matchForLicense('pom.xml', testProviders); + expect(provider).to.equal(pomProvider); + }); + + test('should throw error when no provider matches manifest type', () => { + expect(() => matchForLicense('/path/to/unknown.txt', testProviders)) + .to.throw('unknown.txt is not supported'); + }); + + test('should throw error for empty manifest name', () => { + expect(() => matchForLicense('', testProviders)) + .to.throw('is not supported'); + }); + + suite('real provider matching', () => { + test('should match Java Maven provider for pom.xml', () => { + const provider = matchForLicense('/some/path/pom.xml', availableProviders); + expect(provider).to.exist; + expect(provider.isSupported('pom.xml')).to.be.true; + }); + + test('should match Java Gradle Groovy provider for build.gradle', () => { + const provider = matchForLicense('/some/path/build.gradle', availableProviders); + expect(provider).to.exist; + expect(provider.isSupported('build.gradle')).to.be.true; + }); + + test('should match Java Gradle Kotlin provider for build.gradle.kts', () => { + const provider = matchForLicense('/some/path/build.gradle.kts', availableProviders); + expect(provider).to.exist; + expect(provider.isSupported('build.gradle.kts')).to.be.true; + }); + + test('should match JavaScript provider for package.json', () => { + const provider = matchForLicense('/some/path/package.json', availableProviders); + expect(provider).to.exist; + expect(provider.isSupported('package.json')).to.be.true; + }); + + test('should match Golang provider for go.mod', () => { + const provider = matchForLicense('/some/path/go.mod', availableProviders); + expect(provider).to.exist; + expect(provider.isSupported('go.mod')).to.be.true; + }); + + test('should match Python provider for requirements.txt', () => { + const provider = matchForLicense('/some/path/requirements.txt', availableProviders); + expect(provider).to.exist; + expect(provider.isSupported('requirements.txt')).to.be.true; + }); + + test('should match Python pyproject provider for pyproject.toml', () => { + const provider = matchForLicense('/some/path/pyproject.toml', availableProviders); + expect(provider).to.exist; + expect(provider.isSupported('pyproject.toml')).to.be.true; + }); + + test('should match Rust Cargo provider for Cargo.toml', () => { + const provider = matchForLicense('/some/path/Cargo.toml', availableProviders); + expect(provider).to.exist; + expect(provider.isSupported('Cargo.toml')).to.be.true; + }); + + test('all matched providers should have readLicenseFromManifest method', () => { + const manifests = [ + 'pom.xml', + 'build.gradle', + 'build.gradle.kts', + 'package.json', + 'go.mod', + 'requirements.txt', + 'pyproject.toml', + 'Cargo.toml' + ]; + + manifests.forEach(manifest => { + const provider = matchForLicense(`/test/${manifest}`, availableProviders); + expect(provider.readLicenseFromManifest).to.be.a('function'); + }); + }); + }); +}); diff --git a/test/providers/golang_gomodules.test.js b/test/providers/golang_gomodules.test.js index f1b5894e..fc07ce0a 100644 --- a/test/providers/golang_gomodules.test.js +++ b/test/providers/golang_gomodules.test.js @@ -23,15 +23,16 @@ suite('testing the golang-go-modules data provider', () => { "go_mod_no_ignore", "go_mod_with_ignore", "go_mod_test_ignore", - "go_mod_with_all_ignore" + "go_mod_with_all_ignore", + "go_mod_empty" ].forEach(testCase => { let scenario = testCase.replace('go_mod_', '').replaceAll('_', ' ') - test(`verify go.mod sbom provided for stack analysis with scenario ${scenario}`, () => { + test(`verify go.mod sbom provided for stack analysis with scenario ${scenario}`, async () => { // load the expected graph for the scenario let expectedSbom = fs.readFileSync(`test/providers/tst_manifests/golang/${testCase}/expected_sbom_stack_analysis.json`).toString() expectedSbom = JSON.stringify(JSON.parse(expectedSbom),null, 4) // invoke sut stack analysis for scenario manifest - let providedDataForStack = golangGoModules.provideStack(`test/providers/tst_manifests/golang/${testCase}/go.mod`) + let providedDataForStack = await golangGoModules.provideStack(`test/providers/tst_manifests/golang/${testCase}/go.mod`) // new(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date // providedDataForStack.content = providedDataForStack.content.replaceAll("\"timestamp\":\"[a-zA-Z0-9\\-\\:]+\"","") @@ -42,12 +43,12 @@ suite('testing the golang-go-modules data provider', () => { // these test cases takes ~2500-2700 ms each pr >10000 in CI (for the first test-case) }).timeout(process.env.GITHUB_ACTIONS ? 30000 : 10000) - test(`verify go.mod sbom provided for component analysis with scenario ${scenario}`, () => { + test(`verify go.mod sbom provided for component analysis with scenario ${scenario}`, async () => { // load the expected list for the scenario let expectedSbom = fs.readFileSync(`test/providers/tst_manifests/golang/${testCase}/expected_sbom_component_analysis.json`).toString().trimEnd() expectedSbom = JSON.stringify(JSON.parse(expectedSbom),null, 4) // invoke sut stack analysis for scenario manifest - let providedDataForComponent = golangGoModules.provideComponent(`test/providers/tst_manifests/golang/${testCase}/go.mod`) + let providedDataForComponent = await golangGoModules.provideComponent(`test/providers/tst_manifests/golang/${testCase}/go.mod`) // verify returned data matches expectation expect(providedDataForComponent.ecosystem).equal('golang') expect(providedDataForComponent.contentType).equal('application/vnd.cyclonedx+json') @@ -62,12 +63,12 @@ suite('testing the golang-go-modules data provider', () => { ].forEach(testCase => { let scenario = testCase.replace('go_mod_', '').replaceAll('_', ' ') - test(`verify go.mod sbom provided for stack analysis with scenario ${scenario}`, () => { + test(`verify go.mod sbom provided for stack analysis with scenario ${scenario}`, async () => { // load the expected graph for the scenario let expectedSbom = fs.readFileSync(`test/providers/tst_manifests/golang/${testCase}/expected_sbom_stack_analysis.json`,).toString() // expectedSbom = JSON.stringify(JSON.parse(expectedSbom)) // invoke sut stack analysis for scenario manifest - let providedDataForStack = golangGoModules.provideStack(`test/providers/tst_manifests/golang/${testCase}/go.mod`,{"EXHORT_GO_MVS_LOGIC_ENABLED" : "true"}) + let providedDataForStack = await golangGoModules.provideStack(`test/providers/tst_manifests/golang/${testCase}/go.mod`,{"TRUSTIFY_DA_GO_MVS_LOGIC_ENABLED" : "true"}) // new(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date // providedDataForStack.content = providedDataForStack.content.replaceAll("\"timestamp\":\"[a-zA-Z0-9\\-\\:]+\"","") diff --git a/test/providers/java_gradle_groovy.test.js b/test/providers/java_gradle_groovy.test.js index 80da835d..f3d56d9f 100644 --- a/test/providers/java_gradle_groovy.test.js +++ b/test/providers/java_gradle_groovy.test.js @@ -1,3 +1,4 @@ +import { throws } from 'assert'; import fs from 'fs' import { expect } from 'chai' @@ -28,8 +29,8 @@ function getStubbedResponse(args, dependencyTreeTextContent, gradleProperties) { suite('testing the java-gradle-groovy data provider', () => { [ - {name: 'build.gradle', expected: true}, - {name: 'some_other.file', expected: false} + { name: 'build.gradle', expected: true }, + { name: 'some_other.file', expected: false } ].forEach(testCase => { test(`verify isSupported returns ${testCase.expected} for ${testCase.name}`, () => { let javaGradleProvider = new Java_gradle_groovy() @@ -41,7 +42,7 @@ suite('testing the java-gradle-groovy data provider', () => { "deps_with_no_ignore_common_paths", "deps_with_ignore_full_specification", "deps_with_ignore_named_params", - "deps_with_ignore_notations" + "deps_with_ignore_notations", ].forEach(testCase => { let scenario = testCase.replaceAll('_', ' ') @@ -50,7 +51,7 @@ suite('testing the java-gradle-groovy data provider', () => { let expectedSbom = fs.readFileSync(`test/providers/tst_manifests/gradle/${testCase}/expected_stack_sbom.json`,).toString().trim() let dependencyTreeTextContent = fs.readFileSync(`test/providers/tst_manifests/gradle/${testCase}/depTree.txt`,).toString() let gradleProperties = fs.readFileSync(`test/providers/tst_manifests/gradle/${testCase}/gradle.properties`,).toString() - let mockedExecFunction = function(bin, args){ + let mockedExecFunction = function (bin, args) { return getStubbedResponse(args, dependencyTreeTextContent, gradleProperties); } let provider = new Java_gradle_groovy() @@ -60,7 +61,7 @@ suite('testing the java-gradle-groovy data provider', () => { // verify returned data matches expectation compareSboms(providedDataForStack.content, expectedSbom); - // these test cases takes ~2500-2700 ms each pr >10000 in CI (for the first test-case) + // these test cases takes ~2500-2700 ms each pr >10000 in CI (for the first test-case) }).timeout(process.env.GITHUB_ACTIONS ? 40000 : 10000) test(`verify gradle data provided for component analysis with scenario ${scenario}`, async () => { @@ -68,17 +69,36 @@ suite('testing the java-gradle-groovy data provider', () => { let expectedSbom = fs.readFileSync(`test/providers/tst_manifests/gradle/${testCase}/expected_component_sbom.json`,).toString().trim() let dependencyTreeTextContent = fs.readFileSync(`test/providers/tst_manifests/gradle/${testCase}/depTree.txt`,).toString() let gradleProperties = fs.readFileSync(`test/providers/tst_manifests/gradle/${testCase}/gradle.properties`,).toString() - let mockedExecFunction = function(bin, args){ + let mockedExecFunction = function (bin, args) { return getStubbedResponse(args, dependencyTreeTextContent, gradleProperties); } let provider = new Java_gradle_groovy() Object.getPrototypeOf(Object.getPrototypeOf(provider))._invokeCommand = mockedExecFunction - // invoke sut component analysis for scenario manifest + // invoke component analysis for scenario manifest let providedForComponent = provider.provideComponent(`test/providers/tst_manifests/gradle/${testCase}/build.gradle`, {}) // verify returned data matches expectation compareSboms(providedForComponent.content, expectedSbom); // these test cases takes ~1400-2000 ms each pr >10000 in CI (for the first test-case) }).timeout(process.env.GITHUB_ACTIONS ? 15000 : 5000) + }); + + [ + "deps_with_empty_project_group" + ].forEach(testCase => { + let scenario = testCase.replaceAll('_', ' ') + + test(`verify gradle provider throws with scenario ${scenario}`, async () => { + // load the expected list for the scenario + let dependencyTreeTextContent = fs.readFileSync(`test/providers/tst_manifests/gradle/${testCase}/depTree.txt`,).toString() + let gradleProperties = fs.readFileSync(`test/providers/tst_manifests/gradle/${testCase}/gradle.properties`,).toString() + let mockedExecFunction = function (bin, args) { + return getStubbedResponse(args, dependencyTreeTextContent, gradleProperties); + } + let provider = new Java_gradle_groovy() + Object.getPrototypeOf(Object.getPrototypeOf(provider))._invokeCommand = mockedExecFunction + // invoke component analysis for scenario manifest + throws(() => provider.provideComponent(`test/providers/tst_manifests/gradle/${testCase}/build.gradle`, {})) + }) }) -}).beforeAll(() => clock = useFakeTimers(new Date('2023-08-07T00:00:00.000Z'))).afterAll(()=> {clock.restore()}); +}).beforeAll(() => clock = useFakeTimers(new Date('2023-08-07T00:00:00.000Z'))).afterAll(() => { clock.restore() }); diff --git a/test/providers/java_gradle_kotlin.test.js b/test/providers/java_gradle_kotlin.test.js index 52116044..0fd58692 100644 --- a/test/providers/java_gradle_kotlin.test.js +++ b/test/providers/java_gradle_kotlin.test.js @@ -1,3 +1,4 @@ +import { throws } from 'assert'; import fs from 'fs' import { expect } from 'chai' @@ -28,8 +29,8 @@ function getStubbedResponse(args, dependencyTreeTextContent, gradleProperties) { suite('testing the java-gradle-kotlin data provider', () => { [ - {name: 'build.gradle.kts', expected: true}, - {name: 'some_other.file', expected: false} + { name: 'build.gradle.kts', expected: true }, + { name: 'some_other.file', expected: false } ].forEach(testCase => { test(`verify isSupported returns ${testCase.expected} for ${testCase.name}`, () => { let javaGradleProvider = new Java_gradle_kotlin() @@ -50,7 +51,7 @@ suite('testing the java-gradle-kotlin data provider', () => { let expectedSbom = fs.readFileSync(`test/providers/tst_manifests/gradle/${testCase}/expected_stack_sbom.json`,).toString().trim() let dependencyTreeTextContent = fs.readFileSync(`test/providers/tst_manifests/gradle/${testCase}/depTree.txt`,).toString() let gradleProperties = fs.readFileSync(`test/providers/tst_manifests/gradle/${testCase}/gradle.properties`,).toString() - let mockedExecFunction = function(bin, args){ + let mockedExecFunction = function (bin, args) { return getStubbedResponse(args, dependencyTreeTextContent, gradleProperties); } let javGradleProvider = new Java_gradle_kotlin() @@ -60,7 +61,7 @@ suite('testing the java-gradle-kotlin data provider', () => { // verify returned data matches expectation compareSboms(providedDataForStack.content, expectedSbom); - // these test cases takes ~2500-2700 ms each pr >10000 in CI (for the first test-case) + // these test cases takes ~2500-2700 ms each pr >10000 in CI (for the first test-case) }).timeout(process.env.GITHUB_ACTIONS ? 40000 : 10000) test(`verify gradle data provided for component analysis with scenario ${scenario}`, async () => { @@ -68,17 +69,36 @@ suite('testing the java-gradle-kotlin data provider', () => { let expectedSbom = fs.readFileSync(`test/providers/tst_manifests/gradle/${testCase}/expected_component_sbom.json`,).toString().trim() let dependencyTreeTextContent = fs.readFileSync(`test/providers/tst_manifests/gradle/${testCase}/depTree.txt`,).toString() let gradleProperties = fs.readFileSync(`test/providers/tst_manifests/gradle/${testCase}/gradle.properties`,).toString() - let mockedExecFunction = function(bin, args){ + let mockedExecFunction = function (bin, args) { return getStubbedResponse(args, dependencyTreeTextContent, gradleProperties); } let javaGradleProvider = new Java_gradle_kotlin() Object.getPrototypeOf(Object.getPrototypeOf(javaGradleProvider))._invokeCommand = mockedExecFunction - // invoke sut component analysis for scenario manifest + // invoke component analysis for scenario manifest let providedForComponent = javaGradleProvider.provideComponent(`test/providers/tst_manifests/gradle/${testCase}/build.gradle.kts`, {}) // verify returned data matches expectation compareSboms(providedForComponent.content, expectedSbom); // these test cases takes ~1400-2000 ms each pr >10000 in CI (for the first test-case) }).timeout(process.env.GITHUB_ACTIONS ? 15000 : 5000) + }); + + [ + "deps_with_empty_project_group" + ].forEach(testCase => { + let scenario = testCase.replaceAll('_', ' ') + + test(`verify gradle provider throws with scenario ${scenario}`, async () => { + // load the expected list for the scenario + let dependencyTreeTextContent = fs.readFileSync(`test/providers/tst_manifests/gradle/${testCase}/depTree.txt`,).toString() + let gradleProperties = fs.readFileSync(`test/providers/tst_manifests/gradle/${testCase}/gradle.properties`,).toString() + let mockedExecFunction = function (bin, args) { + return getStubbedResponse(args, dependencyTreeTextContent, gradleProperties); + } + let provider = new Java_gradle_kotlin() + Object.getPrototypeOf(Object.getPrototypeOf(provider))._invokeCommand = mockedExecFunction + // invoke component analysis for scenario manifest + throws(() => provider.provideComponent(`test/providers/tst_manifests/gradle/${testCase}/build.gradle`, {})) + }) }) -}).beforeAll(() => clock = useFakeTimers(new Date('2023-08-07T00:00:00.000Z'))).afterAll(()=> {clock.restore()}); +}).beforeAll(() => clock = useFakeTimers(new Date('2023-08-07T00:00:00.000Z'))).afterAll(() => { clock.restore() }); diff --git a/test/providers/java_maven.test.js b/test/providers/java_maven.test.js index 4e4ea337..1f8b9b7b 100644 --- a/test/providers/java_maven.test.js +++ b/test/providers/java_maven.test.js @@ -68,12 +68,12 @@ suite('testing the java-maven data provider', async () => { test(`verify tool selection with "${testCase.mvnPath}" and${testCase.preferWrapper ? ' ' : ' not '}preferring wrapper`, () => { let javaMvnProvider = new Java_maven() expect(javaMvnProvider.selectToolBinary(`test/providers/tst_manifests/maven/pom_with_mvn_wrapper/pom.xml`, { - 'EXHORT_PREFER_MVNW': testCase.preferWrapper.toString(), - 'EXHORT_MVN_PATH': testCase.mvnPath, + 'TRUSTIFY_DA_PREFER_MVNW': testCase.preferWrapper.toString(), + 'TRUSTIFY_DA_MVN_PATH': testCase.mvnPath, })).to.eq(testCase.preferWrapper ? path.resolve(`test/providers/tst_manifests/maven/pom_with_mvn_wrapper/mvnw`) + (platform === 'win32' ? '.cmd' : '') : testCase.mvnPath) - }) + }).timeout(10000) }); [ diff --git a/test/providers/javascript.test.js b/test/providers/javascript.test.js index 861166d4..5101d80f 100644 --- a/test/providers/javascript.test.js +++ b/test/providers/javascript.test.js @@ -53,6 +53,8 @@ suite('testing the javascript-npm data provider', async () => { [ { name: 'npm/with_lock_file', validation: true }, { name: 'npm/without_lock_file', validation: false }, + { name: 'npm/workspace_member_with_lock/packages/module-a', validation: true }, + { name: 'npm/workspace_member_without_lock/packages/module-a', validation: false }, { name: 'pnpm/with_lock_file', validation: true }, { name: 'pnpm/without_lock_file', validation: false }, { name: 'yarn-classic/with_lock_file', validation: true }, @@ -73,7 +75,8 @@ suite('testing the javascript-npm data provider', async () => { }); ['npm', 'pnpm', 'yarn-classic', 'yarn-berry'].flatMap(providerName => [ "package_json_deps_without_exhortignore_object", - "package_json_deps_with_exhortignore_object" + "package_json_deps_with_exhortignore_object", + "package_json_deps_with_mixed_dep_types" ].map(testCase => ({ providerName, testCase }))).forEach(({ providerName, testCase }) => { let scenario = testCase.replace('package_json_deps_', '').replaceAll('_', ' ') test(`verify package.json data provided for ${providerName} - stack analysis - ${scenario}`, async () => { @@ -146,11 +149,75 @@ suite('testing the javascript-npm data provider', async () => { expect(m.ignored).to.be.empty; }); + test('loads a manifest with mixed dependency types (peer, optional, bundled)', () => { + const testCase = 'package_json_deps_with_mixed_dep_types'; + const manifestPath = `test/providers/tst_manifests/npm/${testCase}/package.json`; + const m = new Manifest(manifestPath); + expect(m.name).to.be.equals('mixed-deps-test'); + expect(m.version).to.be.equals('1.0.0'); + expect(m.dependencies).to.have.all.members([ + 'express', 'axios', 'minimist', 'lodash']); + expect(m.dependencies).to.not.include('jest'); + expect(m.dependencies).to.not.include('eslint'); + expect(m.peerDependencies).to.deep.equal({ minimist: '1.2.0' }); + expect(m.optionalDependencies).to.deep.equal({ lodash: '4.17.19' }); + expect(m.ignored).to.be.empty; + }); + test('fails when the manifest does not exist', () => { const testCase = 'wrong_folder'; const manifestPath = `test/providers/tst_manifests/npm/${testCase}/package.json`; expect(() => new Manifest(manifestPath)).to.throw(Error); }); + test('verify match with opts.TRUSTIFY_DA_WORKSPACE_DIR finds npm provider when lock is at workspace root', () => { + const manifest = 'test/providers/provider_manifests/npm/with_lock_file/package.json' + const opts = { TRUSTIFY_DA_WORKSPACE_DIR: 'test/providers/provider_manifests/npm/with_lock_file' } + const provider = match(manifest, availableProviders, opts) + expect(provider).to.not.be.null + expect(provider.isSupported('package.json')).to.be.true + }) + + test('verify match with opts.TRUSTIFY_DA_WORKSPACE_DIR finds pnpm provider when lock is at workspace root', () => { + const manifest = 'test/providers/provider_manifests/pnpm/with_lock_file/package.json' + const opts = { TRUSTIFY_DA_WORKSPACE_DIR: 'test/providers/provider_manifests/pnpm/with_lock_file' } + const provider = match(manifest, availableProviders, opts) + expect(provider).to.not.be.null + expect(provider.isSupported('package.json')).to.be.true + }) + + test('verify workspace member walks up and finds lock file at workspace root', () => { + const manifest = 'test/providers/provider_manifests/npm/workspace_member_with_lock/packages/module-a/package.json' + const provider = match(manifest, availableProviders) + expect(provider).to.not.be.null + expect(provider.isSupported('package.json')).to.be.true + }) + + test('verify workspace member throws when workspace root has no lock file', () => { + const manifest = 'test/providers/provider_manifests/npm/workspace_member_without_lock/packages/module-a/package.json' + expect(() => match(manifest, availableProviders)) + .to.throw('package.json requires a lock file') + }) + + test('verify match with opts.TRUSTIFY_DA_WORKSPACE_DIR overrides walk-up for workspace member', () => { + const manifest = 'test/providers/provider_manifests/npm/workspace_member_with_lock/packages/module-a/package.json' + const opts = { TRUSTIFY_DA_WORKSPACE_DIR: 'test/providers/provider_manifests/npm/workspace_member_with_lock' } + const provider = match(manifest, availableProviders, opts) + expect(provider).to.not.be.null + expect(provider.isSupported('package.json')).to.be.true + }) + + test('verify pnpm workspace member stops at pnpm-workspace.yaml boundary', () => { + const manifest = 'test/providers/provider_manifests/pnpm/workspace_member_without_lock/packages/module-a/package.json' + expect(() => match(manifest, availableProviders)) + .to.throw('package.json requires a lock file') + }) + + test('verify match with wrong TRUSTIFY_DA_WORKSPACE_DIR fails even when walk-up would succeed', () => { + const manifest = 'test/providers/provider_manifests/npm/workspace_member_with_lock/packages/module-a/package.json' + const opts = { TRUSTIFY_DA_WORKSPACE_DIR: 'test/providers/provider_manifests/npm/workspace_member_without_lock' } + expect(() => match(manifest, availableProviders, opts)) + .to.throw('package.json requires a lock file') + }) }).beforeAll(() => clock = useFakeTimers(new Date('2023-08-07T00:00:00.000Z'))).afterAll(() => clock.restore()); diff --git a/test/providers/license.test.js b/test/providers/license.test.js new file mode 100644 index 00000000..9a075c69 --- /dev/null +++ b/test/providers/license.test.js @@ -0,0 +1,213 @@ +import path from 'path' + +import { expect } from 'chai' + +import golangGomodulesProvider from '../../src/providers/golang_gomodules.js' +import Java_gradle_groovy from '../../src/providers/java_gradle_groovy.js' +import Java_gradle_kotlin from '../../src/providers/java_gradle_kotlin.js' +import Java_maven from '../../src/providers/java_maven.js' +import Javascript_npm from '../../src/providers/javascript_npm.js' +import Javascript_pnpm from '../../src/providers/javascript_pnpm.js' +import Javascript_yarn from '../../src/providers/javascript_yarn.js' +import pythonPipProvider from '../../src/providers/python_pip.js' +import rustCargoProvider from '../../src/providers/rust_cargo.js' +import { normalizeLicensesResponse } from '../../src/license/licenses_api.js' + +suite('normalizeLicensesResponse', () => { + const lgpl = { id: 'LGPL-2.1', name: 'GNU Lesser General Public License v2.1 only', category: 'WEAK_COPYLEFT' } + const apache = { id: 'Apache-2.0', name: 'Apache License 2.0', category: 'PERMISSIVE' } + + const backendResponse = [ + { + status: { ok: true, name: 'deps.dev' }, + packages: { + // backend returns purls with ?scope=compile qualifier + 'pkg:maven/org.mariadb.jdbc/mariadb-java-client@3.1.4?scope=compile': { + concluded: { identifiers: [lgpl], expression: 'LGPL-2.1', category: 'WEAK_COPYLEFT' } + }, + 'pkg:maven/javassist/javassist@3.12.1.GA?scope=compile': { + concluded: { identifiers: [lgpl], expression: 'LGPL-2.1', category: 'WEAK_COPYLEFT' } + }, + 'pkg:maven/commons-collections/commons-collections@3.2.1': { + concluded: { identifiers: [apache], expression: 'Apache-2.0', category: 'PERMISSIVE' } + } + } + } + ] + + // SBOM purls have no qualifier + const sbomPurls = [ + 'pkg:maven/org.mariadb.jdbc/mariadb-java-client@3.1.4', + 'pkg:maven/javassist/javassist@3.12.1.GA', + 'pkg:maven/commons-collections/commons-collections@3.2.1' + ] + + test('matches backend purls with ?scope=compile qualifier against plain SBOM purls', () => { + const map = normalizeLicensesResponse(backendResponse, sbomPurls) + expect(map.size).to.equal(3) + }) + + test('stores purl without qualifier as map key', () => { + const map = normalizeLicensesResponse(backendResponse, sbomPurls) + expect(map.has('pkg:maven/org.mariadb.jdbc/mariadb-java-client@3.1.4')).to.be.true + expect(map.has('pkg:maven/javassist/javassist@3.12.1.GA')).to.be.true + expect(map.has('pkg:maven/org.mariadb.jdbc/mariadb-java-client@3.1.4?scope=compile')).to.be.false + }) + + test('preserves correct license category for qualifier-stripped purls', () => { + const map = normalizeLicensesResponse(backendResponse, sbomPurls) + expect(map.get('pkg:maven/org.mariadb.jdbc/mariadb-java-client@3.1.4').category).to.equal('WEAK_COPYLEFT') + expect(map.get('pkg:maven/javassist/javassist@3.12.1.GA').category).to.equal('WEAK_COPYLEFT') + expect(map.get('pkg:maven/commons-collections/commons-collections@3.2.1').category).to.equal('PERMISSIVE') + }) +}) + +suite('testing readLicenseFromManifest with existing test manifests', () => { + + suite('Java Maven provider', () => { + const provider = new Java_maven(); + + test('should read Apache-2.0 license when found', () => { + const pomPath = path.resolve('test/providers/tst_manifests/maven/pom_deps_with_ignore_version_from_property/pom.xml'); + const license = provider.readLicenseFromManifest(pomPath); + expect(license).to.equal('Apache-2.0'); + }); + + test('should return null when license not present', () => { + const pomPath = path.resolve('test/providers/tst_manifests/maven/pom_deps_with_no_ignore/pom.xml'); + const license = provider.readLicenseFromManifest(pomPath); + expect(license).to.be.null; + }); + }); + + suite('Java Gradle Groovy provider', () => { + const provider = new Java_gradle_groovy(); + + test('should always return null (no standard license field)', () => { + const gradlePath = path.resolve('test/providers/tst_manifests/gradle/deps_with_no_ignore_common_paths/build.gradle'); + const license = provider.readLicenseFromManifest(gradlePath); + expect(license).to.be.null; + }); + }); + + suite('Java Gradle Kotlin provider', () => { + const provider = new Java_gradle_kotlin(); + + test('should always return null (no standard license field)', () => { + const gradlePath = path.resolve('test/providers/tst_manifests/gradle/deps_with_no_ignore_common_paths/build.gradle.kts'); + const license = provider.readLicenseFromManifest(gradlePath); + expect(license).to.be.null; + }); + }); + + suite('JavaScript npm provider', () => { + const provider = new Javascript_npm(); + + test('should read ISC license when found', () => { + const packagePath = path.resolve('test/providers/tst_manifests/npm/package_json_deps_with_exhortignore_object/package.json'); + const license = provider.readLicenseFromManifest(packagePath); + expect(license).to.equal('ISC'); + }); + + test('should return null for non-existent file', () => { + const license = provider.readLicenseFromManifest('/fake/path/package.json'); + expect(license).to.be.null; + }); + }); + + suite('JavaScript pnpm provider', () => { + const provider = new Javascript_pnpm(); + + test('should read ISC license when found', () => { + const packagePath = path.resolve('test/providers/tst_manifests/pnpm/package_json_deps_with_exhortignore_object/package.json'); + const license = provider.readLicenseFromManifest(packagePath); + expect(license).to.equal('ISC'); + }); + + test('should return null for non-existent file', () => { + const license = provider.readLicenseFromManifest('/fake/path/package.json'); + expect(license).to.be.null; + }); + }); + + suite('JavaScript yarn provider', () => { + const provider = new Javascript_yarn(); + + test('should read ISC license when found', () => { + const packagePath = path.resolve('test/providers/tst_manifests/yarn-classic/package_json_deps_with_exhortignore_object/package.json'); + const license = provider.readLicenseFromManifest(packagePath); + expect(license).to.equal('ISC'); + }); + + test('should return null for non-existent file', () => { + const license = provider.readLicenseFromManifest('/fake/path/package.json'); + expect(license).to.be.null; + }); + }); + + suite('Golang go.mod provider', () => { + test('should always return null (no standard license field)', () => { + const goModPath = path.resolve('test/providers/tst_manifests/golang/go_mod_no_ignore/go.mod'); + const license = golangGomodulesProvider.readLicenseFromManifest(goModPath); + expect(license).to.be.null; + }); + }); + + suite('Python requirements.txt provider', () => { + test('should always return null (no standard license field)', () => { + const reqPath = path.resolve('test/providers/tst_manifests/pip/pip_requirements_txt_no_ignore/requirements.txt'); + const license = pythonPipProvider.readLicenseFromManifest(reqPath); + expect(license).to.be.null; + }); + }); + + suite('Rust Cargo provider', () => { + test('should read ISC license from [package] section', () => { + const cargoPath = path.resolve('test/providers/tst_manifests/cargo/cargo_single_crate_with_license/Cargo.toml'); + const license = rustCargoProvider.readLicenseFromManifest(cargoPath); + expect(license).to.equal('ISC'); + }); + + test('should read ISC license from [workspace.package] section', () => { + const cargoPath = path.resolve('test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_license/Cargo.toml'); + const license = rustCargoProvider.readLicenseFromManifest(cargoPath); + expect(license).to.equal('ISC'); + }); + + test('should return null when license not present', () => { + const cargoPath = path.resolve('test/providers/tst_manifests/cargo/cargo_single_crate_no_ignore/Cargo.toml'); + const license = rustCargoProvider.readLicenseFromManifest(cargoPath); + expect(license).to.be.null; + }); + + test('should return null for non-existent file', () => { + const license = rustCargoProvider.readLicenseFromManifest('/fake/path/Cargo.toml'); + expect(license).to.be.null; + }); + }); + + suite('All providers have readLicenseFromManifest method', () => { + const allProviders = [ + { name: 'Java Maven', instance: new Java_maven() }, + { name: 'Java Gradle Groovy', instance: new Java_gradle_groovy() }, + { name: 'Java Gradle Kotlin', instance: new Java_gradle_kotlin() }, + { name: 'JavaScript npm', instance: new Javascript_npm() }, + { name: 'JavaScript pnpm', instance: new Javascript_pnpm() }, + { name: 'JavaScript yarn', instance: new Javascript_yarn() }, + { name: 'Golang', instance: golangGomodulesProvider }, + { name: 'Python', instance: pythonPipProvider }, + { name: 'Rust Cargo', instance: rustCargoProvider } + ]; + + allProviders.forEach(({ name, instance }) => { + test(`${name} provider exports readLicenseFromManifest`, () => { + expect(instance.readLicenseFromManifest).to.be.a('function'); + }); + + test(`${name} provider readLicenseFromManifest accepts manifestPath parameter`, () => { + // Should not throw when called with a path argument + expect(() => instance.readLicenseFromManifest('/test/path')).to.not.throw(); + }); + }); + }); +}); diff --git a/test/providers/license_fallback.test.js b/test/providers/license_fallback.test.js new file mode 100644 index 00000000..9d4060a0 --- /dev/null +++ b/test/providers/license_fallback.test.js @@ -0,0 +1,70 @@ +import fs from 'fs'; +import os from 'os'; +import path from 'path'; + +import { expect } from 'chai'; + +import golangGomodulesProvider from '../../src/providers/golang_gomodules.js'; +import Java_gradle_groovy from '../../src/providers/java_gradle_groovy.js'; +import pythonPipProvider from '../../src/providers/python_pip.js'; + +// Test LICENSE file fallback feature +suite('LICENSE file fallback for providers without manifest license support', () => { + let tempDir; + + setup(() => { + tempDir = fs.mkdtempSync(path.join(os.tmpdir(), 'license-test-')); + }); + + teardown(() => { + if (tempDir && fs.existsSync(tempDir)) { + fs.rmSync(tempDir, { recursive: true, force: true }); + } + }); + + test('Gradle provider should read LICENSE file when present', () => { + const buildGradle = path.join(tempDir, 'build.gradle'); + const licenseFile = path.join(tempDir, 'LICENSE'); + + fs.writeFileSync(buildGradle, 'plugins { id "java" }'); + fs.writeFileSync(licenseFile, 'Apache License, Version 2.0'); + + const provider = new Java_gradle_groovy(); + const license = provider.readLicenseFromManifest(buildGradle); + + expect(license).to.equal('Apache-2.0'); + }); + + test('Golang provider should read LICENSE file when present', () => { + const goMod = path.join(tempDir, 'go.mod'); + const licenseFile = path.join(tempDir, 'LICENSE'); + + fs.writeFileSync(goMod, 'module example.com/test'); + fs.writeFileSync(licenseFile, 'MIT License\n\nPermission is hereby granted'); + + const license = golangGomodulesProvider.readLicenseFromManifest(goMod); + + expect(license).to.equal('MIT'); + }); + + test('Python provider should read LICENSE file when present', () => { + const requirements = path.join(tempDir, 'requirements.txt'); + const licenseFile = path.join(tempDir, 'LICENSE'); + + fs.writeFileSync(requirements, 'requests==2.28.0'); + fs.writeFileSync(licenseFile, 'BSD 3-Clause License'); + + const license = pythonPipProvider.readLicenseFromManifest(requirements); + + expect(license).to.equal('BSD-3-Clause'); + }); + + test('Providers should return null when no LICENSE file exists', () => { + const goMod = path.join(tempDir, 'go.mod'); + fs.writeFileSync(goMod, 'module example.com/test'); + + const license = golangGomodulesProvider.readLicenseFromManifest(goMod); + + expect(license).to.be.null; + }); +}); diff --git a/test/providers/oci_images.test.js b/test/providers/oci_images.test.js index 9001aa1f..83d28913 100644 --- a/test/providers/oci_images.test.js +++ b/test/providers/oci_images.test.js @@ -14,13 +14,13 @@ suite('testing the OCI image data provider', () => { ].forEach(imageRef => { test(`verify OCI image sbom provided with scenario ${imageRef}`, () => { let expectedSbom = fs.readFileSync(`test/providers/tst_manifests/image/${imageRef}.json`).toString().trim() - expectedSbom = JSON.stringify(JSON.parse(expectedSbom), null, 4) + expectedSbom = JSON.parse(expectedSbom) let providedSbom = generateImageSBOM(parseImageRef(imageRef)) providedSbom['metadata'] = null providedSbom['serialNumber'] = null - expect(JSON.stringify(providedSbom, null, 4).trimEnd()).to.deep.equal(expectedSbom) - }).timeout(10000) + expect(providedSbom, null, 4).to.deep.equal(expectedSbom) + }).timeout(40000) }); [ @@ -36,4 +36,4 @@ suite('testing the OCI image data provider', () => { }).timeout(10000) }) -}).beforeAll(() => clock = useFakeTimers(new Date('2023-08-07T00:00:00.000Z'))).afterAll(()=> clock.restore()); +}).beforeAll(() => clock = useFakeTimers(new Date('2023-08-07T00:00:00.000Z'))).afterAll(() => clock.restore()); diff --git a/test/providers/provider_manifests/cargo/with_lock_file/Cargo.lock b/test/providers/provider_manifests/cargo/with_lock_file/Cargo.lock new file mode 100644 index 00000000..fdffa2a0 --- /dev/null +++ b/test/providers/provider_manifests/cargo/with_lock_file/Cargo.lock @@ -0,0 +1 @@ +# placeholder diff --git a/test/providers/provider_manifests/cargo/with_lock_file/Cargo.toml b/test/providers/provider_manifests/cargo/with_lock_file/Cargo.toml new file mode 100644 index 00000000..d8aaeee2 --- /dev/null +++ b/test/providers/provider_manifests/cargo/with_lock_file/Cargo.toml @@ -0,0 +1,7 @@ +[package] +name = "test-crate" +version = "0.1.0" +edition = "2021" + +[dependencies] +serde = "1.0" diff --git a/test/providers/provider_manifests/cargo/without_lock_file/Cargo.toml b/test/providers/provider_manifests/cargo/without_lock_file/Cargo.toml new file mode 100644 index 00000000..d8aaeee2 --- /dev/null +++ b/test/providers/provider_manifests/cargo/without_lock_file/Cargo.toml @@ -0,0 +1,7 @@ +[package] +name = "test-crate" +version = "0.1.0" +edition = "2021" + +[dependencies] +serde = "1.0" diff --git a/test/providers/provider_manifests/cargo/workspace_member_with_lock/Cargo.lock b/test/providers/provider_manifests/cargo/workspace_member_with_lock/Cargo.lock new file mode 100644 index 00000000..51b227f7 --- /dev/null +++ b/test/providers/provider_manifests/cargo/workspace_member_with_lock/Cargo.lock @@ -0,0 +1,7 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "member1" +version = "1.0.0" diff --git a/test/providers/provider_manifests/cargo/workspace_member_with_lock/Cargo.toml b/test/providers/provider_manifests/cargo/workspace_member_with_lock/Cargo.toml new file mode 100644 index 00000000..598f5c61 --- /dev/null +++ b/test/providers/provider_manifests/cargo/workspace_member_with_lock/Cargo.toml @@ -0,0 +1,6 @@ +[workspace] +members = ["member1"] + +[workspace.package] +version = "1.0.0" +edition = "2021" diff --git a/test/providers/provider_manifests/cargo/workspace_member_with_lock/member1/Cargo.toml b/test/providers/provider_manifests/cargo/workspace_member_with_lock/member1/Cargo.toml new file mode 100644 index 00000000..9fd83a80 --- /dev/null +++ b/test/providers/provider_manifests/cargo/workspace_member_with_lock/member1/Cargo.toml @@ -0,0 +1,7 @@ +[package] +name = "member1" +version = "1.0.0" +edition = "2021" + +[dependencies] +serde = "1.0" diff --git a/test/providers/provider_manifests/cargo/workspace_member_without_lock/Cargo.toml b/test/providers/provider_manifests/cargo/workspace_member_without_lock/Cargo.toml new file mode 100644 index 00000000..4478f8d4 --- /dev/null +++ b/test/providers/provider_manifests/cargo/workspace_member_without_lock/Cargo.toml @@ -0,0 +1,2 @@ +[workspace] +members = ["member1"] diff --git a/test/providers/provider_manifests/cargo/workspace_member_without_lock/member1/Cargo.toml b/test/providers/provider_manifests/cargo/workspace_member_without_lock/member1/Cargo.toml new file mode 100644 index 00000000..9fd83a80 --- /dev/null +++ b/test/providers/provider_manifests/cargo/workspace_member_without_lock/member1/Cargo.toml @@ -0,0 +1,7 @@ +[package] +name = "member1" +version = "1.0.0" +edition = "2021" + +[dependencies] +serde = "1.0" diff --git a/test/providers/provider_manifests/npm/workspace_member_with_lock/package-lock.json b/test/providers/provider_manifests/npm/workspace_member_with_lock/package-lock.json new file mode 100644 index 00000000..268208f5 --- /dev/null +++ b/test/providers/provider_manifests/npm/workspace_member_with_lock/package-lock.json @@ -0,0 +1,4 @@ +{ + "name": "test-workspace-root", + "lockfileVersion": 3 +} diff --git a/test/providers/provider_manifests/npm/workspace_member_with_lock/package.json b/test/providers/provider_manifests/npm/workspace_member_with_lock/package.json new file mode 100644 index 00000000..98101a90 --- /dev/null +++ b/test/providers/provider_manifests/npm/workspace_member_with_lock/package.json @@ -0,0 +1,5 @@ +{ + "name": "test-workspace-root", + "private": true, + "workspaces": ["packages/*"] +} diff --git a/test/providers/provider_manifests/npm/workspace_member_with_lock/packages/module-a/package.json b/test/providers/provider_manifests/npm/workspace_member_with_lock/packages/module-a/package.json new file mode 100644 index 00000000..05c16625 --- /dev/null +++ b/test/providers/provider_manifests/npm/workspace_member_with_lock/packages/module-a/package.json @@ -0,0 +1,4 @@ +{ + "name": "module-a", + "version": "1.0.0" +} diff --git a/test/providers/provider_manifests/npm/workspace_member_without_lock/package.json b/test/providers/provider_manifests/npm/workspace_member_without_lock/package.json new file mode 100644 index 00000000..98101a90 --- /dev/null +++ b/test/providers/provider_manifests/npm/workspace_member_without_lock/package.json @@ -0,0 +1,5 @@ +{ + "name": "test-workspace-root", + "private": true, + "workspaces": ["packages/*"] +} diff --git a/test/providers/provider_manifests/npm/workspace_member_without_lock/packages/module-a/package.json b/test/providers/provider_manifests/npm/workspace_member_without_lock/packages/module-a/package.json new file mode 100644 index 00000000..05c16625 --- /dev/null +++ b/test/providers/provider_manifests/npm/workspace_member_without_lock/packages/module-a/package.json @@ -0,0 +1,4 @@ +{ + "name": "module-a", + "version": "1.0.0" +} diff --git a/test/providers/provider_manifests/pnpm/workspace_member_without_lock/package.json b/test/providers/provider_manifests/pnpm/workspace_member_without_lock/package.json new file mode 100644 index 00000000..2266cc9d --- /dev/null +++ b/test/providers/provider_manifests/pnpm/workspace_member_without_lock/package.json @@ -0,0 +1,4 @@ +{ + "name": "test-pnpm-workspace-root", + "private": true +} diff --git a/test/providers/provider_manifests/pnpm/workspace_member_without_lock/packages/module-a/package.json b/test/providers/provider_manifests/pnpm/workspace_member_without_lock/packages/module-a/package.json new file mode 100644 index 00000000..05c16625 --- /dev/null +++ b/test/providers/provider_manifests/pnpm/workspace_member_without_lock/packages/module-a/package.json @@ -0,0 +1,4 @@ +{ + "name": "module-a", + "version": "1.0.0" +} diff --git a/test/providers/provider_manifests/pnpm/workspace_member_without_lock/pnpm-workspace.yaml b/test/providers/provider_manifests/pnpm/workspace_member_without_lock/pnpm-workspace.yaml new file mode 100644 index 00000000..18ec407e --- /dev/null +++ b/test/providers/provider_manifests/pnpm/workspace_member_without_lock/pnpm-workspace.yaml @@ -0,0 +1,2 @@ +packages: + - 'packages/*' diff --git a/test/providers/python_pip.test.js b/test/providers/python_pip.test.js index 0c455349..0d1666d6 100644 --- a/test/providers/python_pip.test.js +++ b/test/providers/python_pip.test.js @@ -8,13 +8,13 @@ import {getCustomPath, invokeCommand } from "../../src/tools.js" let clock -function sharedComponentAnalysisTestFlow(testCase, usePipDepTreeUtility) { +async function sharedComponentAnalysisTestFlow(testCase, usePipDepTreeUtility) { // load the expected list for tsharedComponentAnalysisTestFlowhe scenario let expectedSbom = fs.readFileSync(`test/providers/tst_manifests/pip/${testCase}/expected_component_sbom.json`).toString().trim() expectedSbom = JSON.stringify(JSON.parse(expectedSbom)) // invoke sut stack analysis for scenario manifest - let opts = { "EXHORT_PIP_USE_DEP_TREE" : usePipDepTreeUtility } - let providedDatForComponent = pythonPip.provideComponent(`test/providers/tst_manifests/pip/${testCase}/requirements.txt`, opts) + let opts = { TRUSTIFY_DA_PIP_USE_DEP_TREE: usePipDepTreeUtility.toString() } + let providedDatForComponent = await pythonPip.provideComponent(`test/providers/tst_manifests/pip/${testCase}/requirements.txt`, opts) // verify returned data matches expectation expect(providedDatForComponent).to.deep.equal({ ecosystem: 'pip', @@ -23,7 +23,7 @@ function sharedComponentAnalysisTestFlow(testCase, usePipDepTreeUtility) { }) } -function sharedStackAnalysisTestFlow(testCase, usePipDepTreeUtility) { +async function sharedStackAnalysisTestFlow(testCase, usePipDepTreeUtility) { // load the expected graph for the scenario let expectedSbom = fs.readFileSync(`test/providers/tst_manifests/pip/${testCase}/expected_stack_sbom.json`).toString() expectedSbom = JSON.stringify(JSON.parse(expectedSbom)) @@ -34,8 +34,8 @@ function sharedStackAnalysisTestFlow(testCase, usePipDepTreeUtility) { } catch (error) { throw new Error('fail installing requirements.txt manifest in created virtual python environment', {cause: error}) } - let opts = { "EXHORT_PIP_USE_DEP_TREE" : usePipDepTreeUtility } - let providedDataForStack = pythonPip.provideStack(`test/providers/tst_manifests/pip/${testCase}/requirements.txt`, opts) + let opts = { TRUSTIFY_DA_PIP_USE_DEP_TREE: usePipDepTreeUtility.toString() } + let providedDataForStack = await pythonPip.provideStack(`test/providers/tst_manifests/pip/${testCase}/requirements.txt`, opts) // new(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date // providedDataForStack.content = providedDataForStack.content.replaceAll("\"timestamp\":\"[a-zA-Z0-9\\-\\:]+\"","") @@ -58,27 +58,27 @@ suite('testing the python-pip data provider', () => { }); [ - "pip_requirements_txt_no_ignore", - // "pip_requirements_txt_ignore" + // "pip_requirements_txt_no_ignore", + "pip_requirements_txt_ignore" ].forEach(testCase => { let scenario = testCase.replace('pip_requirements_', '').replaceAll('_', ' ') - test(`verify requirements.txt sbom provided for stack analysis with scenario ${scenario}`, () => { - sharedStackAnalysisTestFlow(testCase,false); + test(`verify requirements.txt sbom provided for stack analysis with scenario ${scenario}`, async () => { + await sharedStackAnalysisTestFlow(testCase, false); // these test cases takes ~2500-2700 ms each pr >10000 in CI (for the first test-case) }).timeout(process.env.GITHUB_ACTIONS ? 30000 : 10000) - test(`verify requirements.txt sbom provided for component analysis with scenario ${scenario}`, () => { - sharedComponentAnalysisTestFlow(testCase,false); + test(`verify requirements.txt sbom provided for component analysis with scenario ${scenario}`, async () => { + await sharedComponentAnalysisTestFlow(testCase, false); // these test cases takes ~1400-2000 ms each pr >10000 in CI (for the first test-case) }).timeout(process.env.GITHUB_ACTIONS ? 15000 : 10000) - test(`verify requirements.txt sbom provided for stack analysis using pipdeptree utility with scenario ${scenario}`, () => { - sharedStackAnalysisTestFlow(testCase,true); + test(`verify requirements.txt sbom provided for stack analysis using pipdeptree utility with scenario ${scenario}`, async () => { + await sharedStackAnalysisTestFlow(testCase, true); // these test cases takes ~2500-2700 ms each pr >10000 in CI (for the first test-case) }).timeout(process.env.GITHUB_ACTIONS ? 30000 : 10000) - test(`verify requirements.txt sbom provided for component analysis using pipdeptree utility with scenario ${scenario}`, () => { - sharedComponentAnalysisTestFlow(testCase,true); + test(`verify requirements.txt sbom provided for component analysis using pipdeptree utility with scenario ${scenario}`, async () => { + await sharedComponentAnalysisTestFlow(testCase, true); // these test cases takes ~1400-2000 ms each pr >10000 in CI (for the first test-case) }).timeout(process.env.GITHUB_ACTIONS ? 15000 : 10000) }); @@ -91,14 +91,14 @@ suite('testing the python-pip data provider with virtual environment', () => { "pip_requirements_virtual_env_with_ignore" ].forEach(testCase => { let scenario = testCase.replace('pip_requirements_', '').replaceAll('_', ' ') - test(`verify requirements.txt sbom provided for stack analysis using virutal python environment, with scenario ${scenario}`, () => { + test(`verify requirements.txt sbom provided for stack analysis using virutal python environment, with scenario ${scenario}`, async () => { // load the expected sbom stack analysis let expectedSbom = fs.readFileSync(`test/providers/tst_manifests/pip/${testCase}/expected_stack_sbom.json`,).toString() - process.env["EXHORT_PYTHON_VIRTUAL_ENV"] = "true" - // process.env["EXHORT_DEBUG"] = "true" expectedSbom = JSON.stringify(JSON.parse(expectedSbom), null, 4) // invoke sut stack analysis for scenario manifest - let providedDataForStack = pythonPip.provideStack(`test/providers/tst_manifests/pip/${testCase}/requirements.txt`) + let providedDataForStack = await pythonPip.provideStack(`test/providers/tst_manifests/pip/${testCase}/requirements.txt`, { + TRUSTIFY_DA_PYTHON_VIRTUAL_ENV: "true" + }) // new(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date // providedDataForStack.content = providedDataForStack.content.replaceAll("\"timestamp\":\"[a-zA-Z0-9\\-\\:]+\"","") diff --git a/test/providers/python_pyproject.test.js b/test/providers/python_pyproject.test.js new file mode 100644 index 00000000..28fc7d2b --- /dev/null +++ b/test/providers/python_pyproject.test.js @@ -0,0 +1,383 @@ +import fs from 'fs' +import path from 'path' + +import { expect } from 'chai' +import { useFakeTimers } from 'sinon' + +import Python_poetry from '../../src/providers/python_poetry.js' +import Python_uv from '../../src/providers/python_uv.js' + +let clock + +const TIMEOUT = process.env.GITHUB_ACTIONS ? 30000 : 10000 + +const uvProvider = new Python_uv() +const poetryProvider = new Python_poetry() + +suite('testing the python-pyproject data provider', () => { + [ + {name: 'pyproject.toml', expected: true}, + {name: 'requirements.txt', expected: false}, + {name: 'Cargo.toml', expected: false}, + ].forEach(testCase => { + test(`verify isSupported returns ${testCase.expected} for ${testCase.name}`, () => + expect(uvProvider.isSupported(testCase.name)).to.equal(testCase.expected) + ) + }) + + test('verify uv validateLockFile returns true when uv.lock exists', () => { + expect(uvProvider.validateLockFile('test/providers/tst_manifests/pyproject/uv_lock')).to.equal(true) + }) + + test('verify uv validateLockFile returns false when uv.lock is missing', () => { + expect(uvProvider.validateLockFile('test/providers/tst_manifests/pyproject/poetry_lock')).to.equal(false) + }) + + test('verify poetry validateLockFile returns true when poetry.lock exists', () => { + expect(poetryProvider.validateLockFile('test/providers/tst_manifests/pyproject/poetry_lock')).to.equal(true) + }) + + test('verify poetry validateLockFile returns false when poetry.lock is missing', () => { + expect(poetryProvider.validateLockFile('test/providers/tst_manifests/pyproject/uv_lock')).to.equal(false) + }) + + suite('uv projects (via uv export)', () => { + test('verify pyproject.toml sbom provided for stack analysis with uv', async () => { + let expectedSbom = fs.readFileSync('test/providers/tst_manifests/pyproject/pep621_ignore_and_extras/expected_stack_sbom.json').toString() + expectedSbom = JSON.stringify(JSON.parse(expectedSbom)) + let result = await uvProvider.provideStack('test/providers/tst_manifests/pyproject/pep621_ignore_and_extras/pyproject.toml') + expect(result).to.deep.equal({ + ecosystem: 'pip', + contentType: 'application/vnd.cyclonedx+json', + content: expectedSbom + }) + }).timeout(TIMEOUT) + + test('verify pyproject.toml sbom provided for component analysis with uv', async () => { + let expectedSbom = fs.readFileSync('test/providers/tst_manifests/pyproject/pep621_ignore_and_extras/expected_component_sbom.json').toString().trim() + expectedSbom = JSON.stringify(JSON.parse(expectedSbom)) + let result = await uvProvider.provideComponent('test/providers/tst_manifests/pyproject/pep621_ignore_and_extras/pyproject.toml') + expect(result).to.deep.equal({ + ecosystem: 'pip', + contentType: 'application/vnd.cyclonedx+json', + content: expectedSbom + }) + }).timeout(TIMEOUT) + + test('exhortignore and trustify-da-ignore exclude deps from component analysis', async () => { + let result = await uvProvider.provideComponent('test/providers/tst_manifests/pyproject/pep621_ignore_and_extras/pyproject.toml') + let sbom = JSON.parse(result.content) + let names = sbom.components.map(c => c.name) + expect(names).to.not.include('uvicorn') + expect(names).to.not.include('markupsafe') + expect(names).to.include('flask') + expect(names).to.include('requests') + }).timeout(TIMEOUT) + + test('ignored transitive dep excluded from stack analysis tree', async () => { + let result = await uvProvider.provideStack('test/providers/tst_manifests/pyproject/pep621_ignore_and_extras/pyproject.toml') + let sbom = JSON.parse(result.content) + let names = sbom.components.map(c => c.name) + expect(names).to.not.include('uvicorn') + expect(names).to.not.include('markupsafe') + let jinja2Dep = sbom.dependencies.find(d => d.ref.includes('/jinja2@')) + expect(jinja2Dep).to.exist + expect(jinja2Dep.dependsOn).to.deep.equal([]) + }).timeout(TIMEOUT) + + test('name canonicalization: typing_extensions matches typing-extensions', async () => { + let result = await uvProvider.provideComponent('test/providers/tst_manifests/pyproject/pep621_ignore_and_extras/pyproject.toml') + let sbom = JSON.parse(result.content) + let typingExt = sbom.components.find(c => c.name === 'typing-extensions') + expect(typingExt).to.exist + expect(typingExt.version).to.equal('4.1.1') + }).timeout(TIMEOUT) + }) + + suite('uv projects - uv_lock manifest', () => { + test('verify pyproject.toml sbom provided for stack analysis with uv_lock', async () => { + let expectedSbom = fs.readFileSync('test/providers/tst_manifests/pyproject/uv_lock/expected_stack_sbom.json').toString() + expectedSbom = JSON.stringify(JSON.parse(expectedSbom)) + let result = await uvProvider.provideStack('test/providers/tst_manifests/pyproject/uv_lock/pyproject.toml') + expect(result).to.deep.equal({ + ecosystem: 'pip', + contentType: 'application/vnd.cyclonedx+json', + content: expectedSbom + }) + }).timeout(TIMEOUT) + + test('verify pyproject.toml sbom provided for component analysis with uv_lock', async () => { + let expectedSbom = fs.readFileSync('test/providers/tst_manifests/pyproject/uv_lock/expected_component_sbom.json').toString().trim() + expectedSbom = JSON.stringify(JSON.parse(expectedSbom)) + let result = await uvProvider.provideComponent('test/providers/tst_manifests/pyproject/uv_lock/pyproject.toml') + expect(result).to.deep.equal({ + ecosystem: 'pip', + contentType: 'application/vnd.cyclonedx+json', + content: expectedSbom + }) + }).timeout(TIMEOUT) + }) + + suite('poetry projects (via poetry show)', () => { + test('verify pyproject.toml sbom provided for stack analysis with poetry', async () => { + let expectedSbom = fs.readFileSync('test/providers/tst_manifests/pyproject/poetry_lock/expected_stack_sbom.json').toString() + expectedSbom = JSON.stringify(JSON.parse(expectedSbom)) + let result = await poetryProvider.provideStack('test/providers/tst_manifests/pyproject/poetry_lock/pyproject.toml') + expect(result).to.deep.equal({ + ecosystem: 'pip', + contentType: 'application/vnd.cyclonedx+json', + content: expectedSbom + }) + }).timeout(TIMEOUT) + + test('verify pyproject.toml sbom provided for component analysis with poetry', async () => { + let expectedSbom = fs.readFileSync('test/providers/tst_manifests/pyproject/poetry_lock/expected_component_sbom.json').toString().trim() + expectedSbom = JSON.stringify(JSON.parse(expectedSbom)) + let result = await poetryProvider.provideComponent('test/providers/tst_manifests/pyproject/poetry_lock/pyproject.toml') + expect(result).to.deep.equal({ + ecosystem: 'pip', + contentType: 'application/vnd.cyclonedx+json', + content: expectedSbom + }) + }).timeout(TIMEOUT) + + test('resolved versions come from poetry show --all, not constraints', async () => { + let result = await poetryProvider.provideStack('test/providers/tst_manifests/pyproject/poetry_lock/pyproject.toml') + let sbom = JSON.parse(result.content) + let markupsafe = sbom.components.find(c => c.name === 'markupsafe') + expect(markupsafe.version).to.equal('3.0.3') + let urllib3 = sbom.components.find(c => c.name === 'urllib3') + expect(urllib3.version).to.equal('2.6.3') + }).timeout(TIMEOUT) + + test('exhortignore filtering excludes click and its exclusive transitive deps', async () => { + let result = await poetryProvider.provideStack('test/providers/tst_manifests/pyproject/poetry_lock/pyproject.toml') + let sbom = JSON.parse(result.content) + let names = sbom.components.map(c => c.name) + expect(names).to.not.include('click') + expect(names).to.include('flask') + expect(names).to.include('requests') + }).timeout(TIMEOUT) + }) + + suite('poetry projects - poetry_only_deps manifest', () => { + test('verify pyproject.toml sbom provided for stack analysis with poetry_only_deps', async () => { + let expectedSbom = fs.readFileSync('test/providers/tst_manifests/pyproject/poetry_only_deps/expected_stack_sbom.json').toString() + expectedSbom = JSON.stringify(JSON.parse(expectedSbom)) + let result = await poetryProvider.provideStack('test/providers/tst_manifests/pyproject/poetry_only_deps/pyproject.toml') + expect(result).to.deep.equal({ + ecosystem: 'pip', + contentType: 'application/vnd.cyclonedx+json', + content: expectedSbom + }) + }).timeout(TIMEOUT) + + test('verify pyproject.toml sbom provided for component analysis with poetry_only_deps', async () => { + let expectedSbom = fs.readFileSync('test/providers/tst_manifests/pyproject/poetry_only_deps/expected_component_sbom.json').toString().trim() + expectedSbom = JSON.stringify(JSON.parse(expectedSbom)) + let result = await poetryProvider.provideComponent('test/providers/tst_manifests/pyproject/poetry_only_deps/pyproject.toml') + expect(result).to.deep.equal({ + ecosystem: 'pip', + contentType: 'application/vnd.cyclonedx+json', + content: expectedSbom + }) + }).timeout(TIMEOUT) + }) + + test('validateLockFile returns false when no lock file is present', () => { + let tmpDir = 'test/providers/tst_manifests/pyproject/no_lock_file_dummy' + fs.mkdirSync(tmpDir, { recursive: true }) + fs.writeFileSync(`${tmpDir}/pyproject.toml`, + '[project]\nname = "test"\nversion = "1.0.0"\ndependencies = ["requests>=2.0"]') + try { + expect(uvProvider.validateLockFile(tmpDir)).to.equal(false) + expect(poetryProvider.validateLockFile(tmpDir)).to.equal(false) + } finally { + fs.rmSync(tmpDir, { recursive: true, force: true }) + } + }) + + suite('workspace/monorepo support', () => { + const uvWorkspace = 'test/providers/tst_manifests/pyproject/uv_workspace' + const poetryWorkspace = 'test/providers/tst_manifests/pyproject/poetry_workspace' + + test('uv validateLockFile finds uv.lock in parent directory', () => { + expect(uvProvider.validateLockFile( + path.join(uvWorkspace, 'packages/sub-pkg') + )).to.equal(true) + }) + + test('poetry validateLockFile finds poetry.lock in parent directory', () => { + expect(poetryProvider.validateLockFile( + path.join(poetryWorkspace, 'packages/sub-pkg') + )).to.equal(true) + }) + + test('validateLockFile stops at workspace root boundary when lock file is absent', () => { + let tmpDir = 'test/providers/tst_manifests/pyproject/boundary_test' + let subDir = path.join(tmpDir, 'packages', 'child') + fs.mkdirSync(subDir, { recursive: true }) + // root has workspace marker but no lock file + fs.writeFileSync(path.join(tmpDir, 'pyproject.toml'), + '[tool.uv.workspace]\nmembers = ["packages/*"]\n') + fs.writeFileSync(path.join(subDir, 'pyproject.toml'), + '[project]\nname = "child"\nversion = "0.1.0"\n') + try { + expect(uvProvider.validateLockFile(subDir)).to.equal(false) + } finally { + fs.rmSync(tmpDir, { recursive: true, force: true }) + } + }) + + test('poetry validateLockFile stops at workspace root boundary when lock file is absent', () => { + let tmpDir = 'test/providers/tst_manifests/pyproject/boundary_test_poetry' + let subDir = path.join(tmpDir, 'packages', 'child') + fs.mkdirSync(subDir, { recursive: true }) + // root has [tool.poetry] + poetry.lock = workspace boundary + // but we're testing a DIFFERENT poetry provider that looks for poetry.lock + // The root IS the workspace root, and it HAS poetry.lock, so validateLockFile should return true + // To test boundary stop: create a nested workspace inside another + fs.writeFileSync(path.join(tmpDir, 'pyproject.toml'), + '[tool.poetry]\nname = "root"\nversion = "0.1.0"\n') + fs.writeFileSync(path.join(tmpDir, 'poetry.lock'), '') + fs.writeFileSync(path.join(subDir, 'pyproject.toml'), + '[tool.poetry]\nname = "child"\nversion = "0.1.0"\n') + try { + // poetry.lock exists at root, so walk-up should find it + expect(poetryProvider.validateLockFile(subDir)).to.equal(true) + + // Now remove poetry.lock โ€” root still has [tool.poetry] but no lock file + // _isWorkspaceRoot checks for [tool.poetry] + poetry.lock, + // so without poetry.lock it won't be a boundary + fs.unlinkSync(path.join(tmpDir, 'poetry.lock')) + expect(poetryProvider.validateLockFile(subDir)).to.equal(false) + } finally { + fs.rmSync(tmpDir, { recursive: true, force: true }) + } + }) + + test('TRUSTIFY_DA_WORKSPACE_DIR override directs lock file search', () => { + let overrideDir = path.resolve(uvWorkspace) + expect(uvProvider.validateLockFile( + 'test/providers/tst_manifests/pyproject/poetry_lock', + { TRUSTIFY_DA_WORKSPACE_DIR: overrideDir } + )).to.equal(true) + + expect(uvProvider.validateLockFile( + 'test/providers/tst_manifests/pyproject/poetry_lock', + { TRUSTIFY_DA_WORKSPACE_DIR: '/nonexistent/dir' } + )).to.equal(false) + }) + + test('verify uv workspace root stack analysis', async () => { + let expectedSbom = fs.readFileSync(path.join(uvWorkspace, 'expected_stack_sbom.json')).toString() + expectedSbom = JSON.stringify(JSON.parse(expectedSbom)) + let result = await uvProvider.provideStack(path.join(uvWorkspace, 'pyproject.toml')) + expect(result).to.deep.equal({ + ecosystem: 'pip', + contentType: 'application/vnd.cyclonedx+json', + content: expectedSbom + }) + }).timeout(TIMEOUT) + + test('verify uv workspace root component analysis', async () => { + let expectedSbom = fs.readFileSync(path.join(uvWorkspace, 'expected_component_sbom.json')).toString().trim() + expectedSbom = JSON.stringify(JSON.parse(expectedSbom)) + let result = await uvProvider.provideComponent(path.join(uvWorkspace, 'pyproject.toml')) + expect(result).to.deep.equal({ + ecosystem: 'pip', + contentType: 'application/vnd.cyclonedx+json', + content: expectedSbom + }) + }).timeout(TIMEOUT) + + test('verify uv workspace mid-package stack analysis', async () => { + let expectedSbom = fs.readFileSync(path.join(uvWorkspace, 'packages/mid-pkg/expected_stack_sbom.json')).toString() + expectedSbom = JSON.stringify(JSON.parse(expectedSbom)) + let result = await uvProvider.provideStack(path.join(uvWorkspace, 'packages/mid-pkg/pyproject.toml')) + expect(result).to.deep.equal({ + ecosystem: 'pip', + contentType: 'application/vnd.cyclonedx+json', + content: expectedSbom + }) + }).timeout(TIMEOUT) + + test('verify uv workspace mid-package component analysis', async () => { + let expectedSbom = fs.readFileSync(path.join(uvWorkspace, 'packages/mid-pkg/expected_component_sbom.json')).toString().trim() + expectedSbom = JSON.stringify(JSON.parse(expectedSbom)) + let result = await uvProvider.provideComponent(path.join(uvWorkspace, 'packages/mid-pkg/pyproject.toml')) + expect(result).to.deep.equal({ + ecosystem: 'pip', + contentType: 'application/vnd.cyclonedx+json', + content: expectedSbom + }) + }).timeout(TIMEOUT) + + test('verify uv workspace sub-package stack analysis', async () => { + let expectedSbom = fs.readFileSync(path.join(uvWorkspace, 'packages/sub-pkg/expected_stack_sbom.json')).toString() + expectedSbom = JSON.stringify(JSON.parse(expectedSbom)) + let result = await uvProvider.provideStack(path.join(uvWorkspace, 'packages/sub-pkg/pyproject.toml')) + expect(result).to.deep.equal({ + ecosystem: 'pip', + contentType: 'application/vnd.cyclonedx+json', + content: expectedSbom + }) + }).timeout(TIMEOUT) + + test('verify uv workspace sub-package component analysis', async () => { + let expectedSbom = fs.readFileSync(path.join(uvWorkspace, 'packages/sub-pkg/expected_component_sbom.json')).toString().trim() + expectedSbom = JSON.stringify(JSON.parse(expectedSbom)) + let result = await uvProvider.provideComponent(path.join(uvWorkspace, 'packages/sub-pkg/pyproject.toml')) + expect(result).to.deep.equal({ + ecosystem: 'pip', + contentType: 'application/vnd.cyclonedx+json', + content: expectedSbom + }) + }).timeout(TIMEOUT) + + test('verify poetry workspace root stack analysis', async () => { + let expectedSbom = fs.readFileSync(path.join(poetryWorkspace, 'expected_stack_sbom.json')).toString() + expectedSbom = JSON.stringify(JSON.parse(expectedSbom)) + let result = await poetryProvider.provideStack(path.join(poetryWorkspace, 'pyproject.toml')) + expect(result).to.deep.equal({ + ecosystem: 'pip', + contentType: 'application/vnd.cyclonedx+json', + content: expectedSbom + }) + }).timeout(TIMEOUT) + + test('verify poetry workspace root component analysis', async () => { + let expectedSbom = fs.readFileSync(path.join(poetryWorkspace, 'expected_component_sbom.json')).toString().trim() + expectedSbom = JSON.stringify(JSON.parse(expectedSbom)) + let result = await poetryProvider.provideComponent(path.join(poetryWorkspace, 'pyproject.toml')) + expect(result).to.deep.equal({ + ecosystem: 'pip', + contentType: 'application/vnd.cyclonedx+json', + content: expectedSbom + }) + }).timeout(TIMEOUT) + + test('verify poetry workspace sub-package stack analysis', async () => { + let expectedSbom = fs.readFileSync(path.join(poetryWorkspace, 'packages/sub-pkg/expected_stack_sbom.json')).toString() + expectedSbom = JSON.stringify(JSON.parse(expectedSbom)) + let result = await poetryProvider.provideStack(path.join(poetryWorkspace, 'packages/sub-pkg/pyproject.toml')) + expect(result).to.deep.equal({ + ecosystem: 'pip', + contentType: 'application/vnd.cyclonedx+json', + content: expectedSbom + }) + }).timeout(TIMEOUT) + + test('verify poetry workspace sub-package component analysis', async () => { + let expectedSbom = fs.readFileSync(path.join(poetryWorkspace, 'packages/sub-pkg/expected_component_sbom.json')).toString().trim() + expectedSbom = JSON.stringify(JSON.parse(expectedSbom)) + let result = await poetryProvider.provideComponent(path.join(poetryWorkspace, 'packages/sub-pkg/pyproject.toml')) + expect(result).to.deep.equal({ + ecosystem: 'pip', + contentType: 'application/vnd.cyclonedx+json', + content: expectedSbom + }) + }).timeout(TIMEOUT) + }) + +}).beforeAll(() => clock = useFakeTimers(new Date('2023-10-01T00:00:00.000Z'))).afterAll(() => clock.restore()) diff --git a/test/providers/rust_cargo.test.js b/test/providers/rust_cargo.test.js new file mode 100644 index 00000000..edcd01b7 --- /dev/null +++ b/test/providers/rust_cargo.test.js @@ -0,0 +1,540 @@ +import fs from 'fs' +import path from 'path' + +import { expect } from 'chai' +import esmock from 'esmock' +import { useFakeTimers } from 'sinon' + +import { availableProviders, match } from '../../src/provider.js' +import rustCargo from '../../src/providers/rust_cargo.js' + +let clock + +/** + * Creates a mocked rust_cargo provider that uses a pre-built cargo_metadata.json + * instead of actually invoking the `cargo` binary. + * @param {string} testDir - the test directory containing cargo_metadata.json and Cargo.toml + * @returns {Promise} the mocked provider module + */ +async function createMockProvider(testDir) { + const metadataPath = path.join(testDir, 'cargo_metadata.json') + const metadataJson = fs.readFileSync(metadataPath, 'utf-8') + + return esmock('../../src/providers/rust_cargo.js', { + '../../src/tools.js': { + getCustomPath: () => 'cargo', + invokeCommand: (bin, args) => { + if (args.includes('--version')) { + return 'cargo 1.75.0 (1d8b05cdd 2023-11-20)' + } + if (args.includes('metadata')) { + return metadataJson + } + return '' + } + } + }) +} + +/** + * Asserts that the provider output for a given analysis type matches the expected SBOM file. + * @param {string} testDir - the test fixture directory + * @param {'stack'|'component'} analysisType - 'stack' or 'component' + */ +async function assertSbomMatchesExpected(testDir, analysisType) { + let expectedSbom = fs.readFileSync(`${testDir}/expected_sbom_${analysisType}_analysis.json`).toString() + expectedSbom = JSON.stringify(JSON.parse(expectedSbom), null, 4) + + let provider = await createMockProvider(testDir) + let manifest = `${testDir}/Cargo.toml` + let providedData = analysisType === 'stack' + ? provider.provideStack(manifest) + : provider.provideComponent(manifest) + + expect(providedData.ecosystem).equal('cargo') + expect(providedData.contentType).equal('application/vnd.cyclonedx+json') + expect(JSON.stringify(JSON.parse(providedData.content), null, 4).trim()).to.deep.equal(expectedSbom.trim()) +} + +/** + * Creates a mock provider and returns the parsed SBOM for a given analysis type. + * @param {string} testDir - the test fixture directory + * @param {'stack'|'component'} analysisType - 'stack' or 'component' + * @returns {Promise} the parsed SBOM object + */ +async function getParsedSbom(testDir, analysisType) { + let provider = await createMockProvider(testDir) + let manifest = `${testDir}/Cargo.toml` + let providedData = analysisType === 'stack' + ? provider.provideStack(manifest) + : provider.provideComponent(manifest) + return JSON.parse(providedData.content) +} + +suite('testing the rust-cargo data provider', () => { + [ + { name: 'Cargo.toml', expected: true }, + { name: 'package.json', expected: false }, + { name: 'pom.xml', expected: false }, + { name: 'go.mod', expected: false }, + { name: 'cargo.toml', expected: false }, + ].forEach(testCase => { + test(`verify isSupported returns ${testCase.expected} for ${testCase.name}`, () => + expect(rustCargo.isSupported(testCase.name)).to.equal(testCase.expected) + ) + }); + + test('verify validateLockFile returns true when Cargo.lock exists', () => { + expect(rustCargo.validateLockFile('test/providers/tst_manifests/cargo/cargo_single_crate_no_ignore')).to.equal(true) + }) + + test('verify validateLockFile returns true for member crate when Cargo.lock is at workspace root', () => { + expect(rustCargo.validateLockFile('test/providers/tst_manifests/cargo/cargo_virtual_workspace/crate-a')).to.equal(true) + }) + + test('verify validateLockFile returns false when Cargo.lock does not exist anywhere', () => { + expect(rustCargo.validateLockFile('test/providers/provider_manifests/cargo/without_lock_file')).to.equal(false) + }) + + test('verify match function finds Cargo provider with lock file', () => { + let provider = match('test/providers/provider_manifests/cargo/with_lock_file/Cargo.toml', availableProviders) + expect(provider).to.not.be.null + expect(provider.isSupported('Cargo.toml')).to.be.true + }) + + test('verify match function throws when Cargo.lock is missing', () => { + expect(() => match('test/providers/provider_manifests/cargo/without_lock_file/Cargo.toml', availableProviders)) + .to.throw('Cargo.toml requires a lock file') + }) + + test('verify workspace member crate finds Cargo.lock at workspace root', () => { + let provider = match('test/providers/provider_manifests/cargo/workspace_member_with_lock/member1/Cargo.toml', availableProviders) + expect(provider).to.not.be.null + expect(provider.isSupported('Cargo.toml')).to.be.true + }) + + test('verify workspace member crate throws when workspace root has no Cargo.lock', () => { + expect(() => match('test/providers/provider_manifests/cargo/workspace_member_without_lock/member1/Cargo.toml', availableProviders)) + .to.throw('Cargo.toml requires a lock file') + }) + + test('verify validateLockFile returns true for workspace member when Cargo.lock is at workspace root', () => { + expect(rustCargo.validateLockFile('test/providers/provider_manifests/cargo/workspace_member_with_lock/member1')).to.equal(true) + }) + + test('verify validateLockFile returns false for workspace member when workspace root has no Cargo.lock', () => { + expect(rustCargo.validateLockFile('test/providers/provider_manifests/cargo/workspace_member_without_lock/member1')).to.equal(false) + }) + + test('verify validateLockFile with opts.TRUSTIFY_DA_WORKSPACE_DIR returns true when Cargo.lock exists at workspace root', () => { + const workspaceRoot = 'test/providers/provider_manifests/cargo/workspace_member_with_lock' + expect(rustCargo.validateLockFile('test/providers/provider_manifests/cargo/workspace_member_with_lock/member1', { TRUSTIFY_DA_WORKSPACE_DIR: workspaceRoot })).to.equal(true) + }) + + test('verify validateLockFile with opts.TRUSTIFY_DA_WORKSPACE_DIR returns false when Cargo.lock is not at workspace root', () => { + const wrongDir = 'test/providers/provider_manifests/cargo/workspace_member_without_lock' + expect(rustCargo.validateLockFile('test/providers/provider_manifests/cargo/workspace_member_with_lock/member1', { TRUSTIFY_DA_WORKSPACE_DIR: wrongDir })).to.equal(false) + }) + + test('verify match with opts.TRUSTIFY_DA_WORKSPACE_DIR finds Cargo provider when lock is at workspace root', () => { + const opts = { TRUSTIFY_DA_WORKSPACE_DIR: 'test/providers/provider_manifests/cargo/workspace_member_with_lock' } + const provider = match('test/providers/provider_manifests/cargo/workspace_member_with_lock/member1/Cargo.toml', availableProviders, opts) + expect(provider).to.not.be.null + expect(provider.isSupported('Cargo.toml')).to.be.true + }) +}).beforeAll(() => clock = useFakeTimers(new Date('2023-08-07T00:00:00.000Z'))).afterAll(() => clock.restore()); + +suite('testing the rust-cargo single crate without ignore', () => { + const testDir = 'test/providers/tst_manifests/cargo/cargo_single_crate_no_ignore' + + test('verify Cargo.toml sbom provided for stack analysis', async () => { + await assertSbomMatchesExpected(testDir, 'stack') + }).timeout(10000) + + test('verify Cargo.toml sbom provided for component analysis', async () => { + await assertSbomMatchesExpected(testDir, 'component') + }).timeout(10000) +}).beforeAll(() => clock = useFakeTimers(new Date('2023-08-07T00:00:00.000Z'))).afterAll(() => clock.restore()); + +suite('testing the rust-cargo single crate with ignore', () => { + const testDir = 'test/providers/tst_manifests/cargo/cargo_single_crate_with_ignore' + + test('verify Cargo.toml sbom provided for stack analysis with ignored deps', async () => { + await assertSbomMatchesExpected(testDir, 'stack') + }).timeout(10000) + + test('verify Cargo.toml sbom provided for component analysis with ignored deps', async () => { + await assertSbomMatchesExpected(testDir, 'component') + }).timeout(10000) +}).beforeAll(() => clock = useFakeTimers(new Date('2023-08-07T00:00:00.000Z'))).afterAll(() => clock.restore()); + +suite('testing the rust-cargo virtual workspace', () => { + const testDir = 'test/providers/tst_manifests/cargo/cargo_virtual_workspace' + + test('verify Cargo.toml sbom provided for stack analysis with virtual workspace', async () => { + await assertSbomMatchesExpected(testDir, 'stack') + }).timeout(10000) + + test('verify Cargo.toml sbom provided for component analysis with virtual workspace', async () => { + await assertSbomMatchesExpected(testDir, 'component') + }).timeout(10000) +}).beforeAll(() => clock = useFakeTimers(new Date('2023-08-07T00:00:00.000Z'))).afterAll(() => clock.restore()); + +suite('testing the rust-cargo workspace with root package', () => { + const testDir = 'test/providers/tst_manifests/cargo/cargo_workspace_with_root' + + test('verify Cargo.toml sbom provided for stack analysis with workspace root package', async () => { + await assertSbomMatchesExpected(testDir, 'stack') + }).timeout(10000) + + test('verify Cargo.toml sbom provided for component analysis with workspace root package', async () => { + await assertSbomMatchesExpected(testDir, 'component') + }).timeout(10000) +}).beforeAll(() => clock = useFakeTimers(new Date('2023-08-07T00:00:00.000Z'))).afterAll(() => clock.restore()); + +suite('testing rust-cargo dependency filtering', () => { + const testDir = 'test/providers/tst_manifests/cargo/cargo_single_crate_no_ignore' + + test('verify dev dependencies are excluded from stack analysis', async () => { + let sbom = await getParsedSbom(testDir, 'stack') + + // tempfile is a dev dependency and should not appear in the SBOM + expect(sbom.components.find(c => c.name === 'tempfile')).to.be.undefined + + // serde and tokio (normal deps) should be present + expect(sbom.components.find(c => c.name === 'serde')).to.not.be.undefined + expect(sbom.components.find(c => c.name === 'tokio')).to.not.be.undefined + }).timeout(10000) + + test('verify dev dependencies are excluded from component analysis', async () => { + let sbom = await getParsedSbom(testDir, 'component') + + expect(sbom.components.find(c => c.name === 'tempfile')).to.be.undefined + }).timeout(10000) +}).beforeAll(() => clock = useFakeTimers(new Date('2023-08-07T00:00:00.000Z'))).afterAll(() => clock.restore()); + +suite('testing rust-cargo error handling', () => { + test('verify error when cargo binary is not accessible', async () => { + let provider = await esmock('../../src/providers/rust_cargo.js', { + '../../src/tools.js': { + getCustomPath: () => '/nonexistent/cargo', + invokeCommand: () => { + let err = new Error('spawn /nonexistent/cargo ENOENT') + err.code = 'ENOENT' + throw err + } + } + }) + + expect(() => provider.provideStack('test/providers/tst_manifests/cargo/cargo_single_crate_no_ignore/Cargo.toml')) + .to.throw('cargo binary is not accessible at "/nonexistent/cargo"') + }).timeout(10000) + + test('verify error when cargo metadata fails (e.g. invalid Cargo.toml)', async () => { + let provider = await esmock('../../src/providers/rust_cargo.js', { + '../../src/tools.js': { + getCustomPath: () => 'cargo', + invokeCommand: (bin, args) => { + if (args.includes('--version')) { + return 'cargo 1.75.0 (1d8b05cdd 2023-11-20)' + } + if (args.includes('metadata')) { + throw new Error('error: failed to parse manifest at `/fake/Cargo.toml`\n\nCaused by:\n missing field `name`') + } + return '' + } + } + }) + + expect(() => provider.provideStack('test/providers/tst_manifests/cargo/cargo_single_crate_no_ignore/Cargo.toml')) + .to.throw('failed to execute cargo metadata') + }).timeout(10000) +}).beforeAll(() => clock = useFakeTimers(new Date('2023-08-07T00:00:00.000Z'))).afterAll(() => clock.restore()); + +suite('testing rust-cargo ignore with underscore/hyphen normalization', () => { + const testDir = 'test/providers/tst_manifests/cargo/cargo_single_crate_with_hyphen_ignore' + + test('verify hyphenated ignore name matches underscored crate in stack analysis', async () => { + let sbom = await getParsedSbom(testDir, 'stack') + + // Cargo.toml uses "serde-derive" (hyphen) but metadata reports "serde_derive" (underscore) + expect(sbom.components.find(c => c.name === 'serde_derive')).to.be.undefined + + // serde and tokio should still be present + expect(sbom.components.find(c => c.name === 'serde')).to.not.be.undefined + expect(sbom.components.find(c => c.name === 'tokio')).to.not.be.undefined + }).timeout(10000) + + test('verify hyphenated ignore name matches underscored crate in component analysis', async () => { + let sbom = await getParsedSbom(testDir, 'component') + + expect(sbom.components.find(c => c.name === 'serde_derive')).to.be.undefined + expect(sbom.components.find(c => c.name === 'serde')).to.not.be.undefined + expect(sbom.components.find(c => c.name === 'tokio')).to.not.be.undefined + }).timeout(10000) +}).beforeAll(() => clock = useFakeTimers(new Date('2023-08-07T00:00:00.000Z'))).afterAll(() => clock.restore()); + +suite('testing rust-cargo ignore annotations with trustify-da-ignore', () => { + const testDir = 'test/providers/tst_manifests/cargo/cargo_single_crate_with_ignore' + + test('verify trustify-da-ignore dependency is excluded from stack analysis', async () => { + let sbom = await getParsedSbom(testDir, 'stack') + + // serde is annotated with trustify-da-ignore and should not appear + expect(sbom.components.find(c => c.name === 'serde')).to.be.undefined + expect(sbom.components.find(c => c.name === 'serde_derive')).to.be.undefined + + // tokio should still be present + expect(sbom.components.find(c => c.name === 'tokio')).to.not.be.undefined + }).timeout(10000) + + test('verify trustify-da-ignore dependency is excluded from component analysis', async () => { + let sbom = await getParsedSbom(testDir, 'component') + + expect(sbom.components.find(c => c.name === 'serde')).to.be.undefined + }).timeout(10000) +}).beforeAll(() => clock = useFakeTimers(new Date('2023-08-07T00:00:00.000Z'))).afterAll(() => clock.restore()); + +suite('testing rust-cargo ignore annotations with exhortignore', () => { + const testDir = 'test/providers/tst_manifests/cargo/cargo_single_crate_with_exhortignore' + + test('verify exhortignore dependency is excluded from stack analysis', async () => { + let sbom = await getParsedSbom(testDir, 'stack') + + // serde is annotated with exhortignore and should not appear + expect(sbom.components.find(c => c.name === 'serde')).to.be.undefined + expect(sbom.components.find(c => c.name === 'serde_derive')).to.be.undefined + + // tokio should still be present + expect(sbom.components.find(c => c.name === 'tokio')).to.not.be.undefined + }).timeout(10000) + + test('verify exhortignore dependency is excluded from component analysis', async () => { + let sbom = await getParsedSbom(testDir, 'component') + + expect(sbom.components.find(c => c.name === 'serde')).to.be.undefined + }).timeout(10000) +}).beforeAll(() => clock = useFakeTimers(new Date('2023-08-07T00:00:00.000Z'))).afterAll(() => clock.restore()); + +suite('testing rust-cargo virtual workspace ignore with trustify-da-ignore', () => { + const testDir = 'test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_ignore' + + test('verify sbom matches expected for stack analysis', async () => { + await assertSbomMatchesExpected(testDir, 'stack') + }).timeout(10000) + + test('verify sbom matches expected for component analysis', async () => { + await assertSbomMatchesExpected(testDir, 'component') + }).timeout(10000) + + test('verify serde is excluded and tokio is present in stack analysis', async () => { + let sbom = await getParsedSbom(testDir, 'stack') + + expect(sbom.components.find(c => c.name === 'serde')).to.be.undefined + expect(sbom.components.find(c => c.name === 'tokio')).to.not.be.undefined + expect(sbom.components.find(c => c.name === 'crate-a')).to.not.be.undefined + expect(sbom.components.find(c => c.name === 'crate-b')).to.not.be.undefined + }).timeout(10000) + + test('verify component analysis has no member deps (no [workspace.dependencies])', async () => { + let sbom = await getParsedSbom(testDir, 'component') + + // No [workspace.dependencies] โ†’ CA returns only the synthetic root + expect(sbom.components.find(c => c.name === 'serde')).to.be.undefined + expect(sbom.components.find(c => c.name === 'crate-a')).to.be.undefined + expect(sbom.components.find(c => c.name === 'crate-b')).to.be.undefined + }).timeout(10000) +}).beforeAll(() => clock = useFakeTimers(new Date('2023-08-07T00:00:00.000Z'))).afterAll(() => clock.restore()); + +suite('testing rust-cargo virtual workspace ignore with exhortignore', () => { + const testDir = 'test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_exhortignore' + + test('verify sbom matches expected for stack analysis', async () => { + await assertSbomMatchesExpected(testDir, 'stack') + }).timeout(10000) + + test('verify sbom matches expected for component analysis', async () => { + await assertSbomMatchesExpected(testDir, 'component') + }).timeout(10000) + + test('verify serde is excluded and tokio is present in stack analysis', async () => { + let sbom = await getParsedSbom(testDir, 'stack') + + expect(sbom.components.find(c => c.name === 'serde')).to.be.undefined + expect(sbom.components.find(c => c.name === 'tokio')).to.not.be.undefined + expect(sbom.components.find(c => c.name === 'crate-a')).to.not.be.undefined + expect(sbom.components.find(c => c.name === 'crate-b')).to.not.be.undefined + }).timeout(10000) + + test('verify component analysis has no member deps (no [workspace.dependencies])', async () => { + let sbom = await getParsedSbom(testDir, 'component') + + // No [workspace.dependencies] โ†’ CA returns only the synthetic root + expect(sbom.components.find(c => c.name === 'serde')).to.be.undefined + expect(sbom.components.find(c => c.name === 'crate-a')).to.be.undefined + expect(sbom.components.find(c => c.name === 'crate-b')).to.be.undefined + }).timeout(10000) +}).beforeAll(() => clock = useFakeTimers(new Date('2023-08-07T00:00:00.000Z'))).afterAll(() => clock.restore()); + +suite('testing rust-cargo workspace with root ignore with trustify-da-ignore', () => { + const testDir = 'test/providers/tst_manifests/cargo/cargo_workspace_with_root_ignore' + + test('verify sbom matches expected for stack analysis', async () => { + await assertSbomMatchesExpected(testDir, 'stack') + }).timeout(10000) + + test('verify sbom matches expected for component analysis', async () => { + await assertSbomMatchesExpected(testDir, 'component') + }).timeout(10000) + + test('verify serde is excluded and sub-crate not in graph in stack analysis', async () => { + let sbom = await getParsedSbom(testDir, 'stack') + + expect(sbom.components.find(c => c.name === 'serde')).to.be.undefined + // sub-crate is a workspace member but NOT in the root's dependency graph + expect(sbom.components.find(c => c.name === 'sub-crate')).to.be.undefined + expect(sbom.components.find(c => c.name === 'tokio')).to.be.undefined + }).timeout(10000) + + test('verify serde is excluded and sub-crate not in graph in component analysis', async () => { + let sbom = await getParsedSbom(testDir, 'component') + + expect(sbom.components.find(c => c.name === 'serde')).to.be.undefined + expect(sbom.components.find(c => c.name === 'sub-crate')).to.be.undefined + expect(sbom.components.find(c => c.name === 'tokio')).to.be.undefined + }).timeout(10000) +}).beforeAll(() => clock = useFakeTimers(new Date('2023-08-07T00:00:00.000Z'))).afterAll(() => clock.restore()); + +suite('testing rust-cargo virtual workspace with glob member patterns', () => { + const testDir = 'test/providers/tst_manifests/cargo/cargo_virtual_workspace_glob_members' + + test('verify sbom matches expected for stack analysis', async () => { + await assertSbomMatchesExpected(testDir, 'stack') + }).timeout(10000) + + test('verify sbom matches expected for component analysis', async () => { + await assertSbomMatchesExpected(testDir, 'component') + }).timeout(10000) + + test('verify serde is excluded via glob-resolved member ignore', async () => { + let sbom = await getParsedSbom(testDir, 'stack') + + expect(sbom.components.find(c => c.name === 'serde')).to.be.undefined + expect(sbom.components.find(c => c.name === 'tokio')).to.not.be.undefined + expect(sbom.components.find(c => c.name === 'crate-a')).to.not.be.undefined + expect(sbom.components.find(c => c.name === 'crate-b')).to.not.be.undefined + }).timeout(10000) + + test('verify component analysis has no member deps (no [workspace.dependencies])', async () => { + let sbom = await getParsedSbom(testDir, 'component') + + // No [workspace.dependencies] โ†’ CA returns only the synthetic root + expect(sbom.components.find(c => c.name === 'serde')).to.be.undefined + expect(sbom.components.find(c => c.name === 'crate-a')).to.be.undefined + expect(sbom.components.find(c => c.name === 'crate-b')).to.be.undefined + }).timeout(10000) +}).beforeAll(() => clock = useFakeTimers(new Date('2023-08-07T00:00:00.000Z'))).afterAll(() => clock.restore()); + +suite('testing rust-cargo virtual workspace with [workspace.dependencies]', () => { + const testDir = 'test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_workspace_deps' + + test('verify sbom matches expected for stack analysis', async () => { + await assertSbomMatchesExpected(testDir, 'stack') + }).timeout(10000) + + test('verify sbom matches expected for component analysis', async () => { + await assertSbomMatchesExpected(testDir, 'component') + }).timeout(10000) + + test('verify CA includes only [workspace.dependencies] entries', async () => { + let sbom = await getParsedSbom(testDir, 'component') + + // serde and tokio are in [workspace.dependencies] โ†’ should be present + expect(sbom.components.find(c => c.name === 'serde')).to.not.be.undefined + expect(sbom.components.find(c => c.name === 'tokio')).to.not.be.undefined + + // crate-a and crate-b are workspace members, not in [workspace.dependencies] + expect(sbom.components.find(c => c.name === 'crate-a')).to.be.undefined + expect(sbom.components.find(c => c.name === 'crate-b')).to.be.undefined + + // pin-project-lite is transitive, should not appear in CA + expect(sbom.components.find(c => c.name === 'pin-project-lite')).to.be.undefined + }).timeout(10000) + + test('verify SA includes full member trees', async () => { + let sbom = await getParsedSbom(testDir, 'stack') + + expect(sbom.components.find(c => c.name === 'crate-a')).to.not.be.undefined + expect(sbom.components.find(c => c.name === 'crate-b')).to.not.be.undefined + expect(sbom.components.find(c => c.name === 'serde')).to.not.be.undefined + expect(sbom.components.find(c => c.name === 'tokio')).to.not.be.undefined + expect(sbom.components.find(c => c.name === 'pin-project-lite')).to.not.be.undefined + }).timeout(10000) +}).beforeAll(() => clock = useFakeTimers(new Date('2023-08-07T00:00:00.000Z'))).afterAll(() => clock.restore()); + +suite('testing rust-cargo workspace with root ignore with exhortignore', () => { + const testDir = 'test/providers/tst_manifests/cargo/cargo_workspace_with_root_exhortignore' + + test('verify sbom matches expected for stack analysis', async () => { + await assertSbomMatchesExpected(testDir, 'stack') + }).timeout(10000) + + test('verify sbom matches expected for component analysis', async () => { + await assertSbomMatchesExpected(testDir, 'component') + }).timeout(10000) + + test('verify serde is excluded and sub-crate not in graph in stack analysis', async () => { + let sbom = await getParsedSbom(testDir, 'stack') + + expect(sbom.components.find(c => c.name === 'serde')).to.be.undefined + // sub-crate is a workspace member but NOT in the root's dependency graph + expect(sbom.components.find(c => c.name === 'sub-crate')).to.be.undefined + expect(sbom.components.find(c => c.name === 'tokio')).to.be.undefined + }).timeout(10000) + + test('verify serde is excluded and sub-crate not in graph in component analysis', async () => { + let sbom = await getParsedSbom(testDir, 'component') + + expect(sbom.components.find(c => c.name === 'serde')).to.be.undefined + expect(sbom.components.find(c => c.name === 'sub-crate')).to.be.undefined + expect(sbom.components.find(c => c.name === 'tokio')).to.be.undefined + }).timeout(10000) +}).beforeAll(() => clock = useFakeTimers(new Date('2023-08-07T00:00:00.000Z'))).afterAll(() => clock.restore()); + +suite('testing rust-cargo license detection', () => { + const singleCrateLicenseDir = 'test/providers/tst_manifests/cargo/cargo_single_crate_with_license' + const virtualWorkspaceLicenseDir = 'test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_license' + + // readLicenseFromManifest unit tests are in license.test.js (shared across all providers) + + test('verify license is included in SBOM for single crate (stack analysis)', async () => { + await assertSbomMatchesExpected(singleCrateLicenseDir, 'stack') + }).timeout(10000) + + test('verify license is included in SBOM for single crate (component analysis)', async () => { + await assertSbomMatchesExpected(singleCrateLicenseDir, 'component') + }).timeout(10000) + + test('verify license is included in SBOM for virtual workspace (stack analysis)', async () => { + await assertSbomMatchesExpected(virtualWorkspaceLicenseDir, 'stack') + }).timeout(10000) + + test('verify license is included in SBOM for virtual workspace (component analysis)', async () => { + await assertSbomMatchesExpected(virtualWorkspaceLicenseDir, 'component') + }).timeout(10000) + + test('verify license field present in single crate SBOM metadata component', async () => { + let sbom = await getParsedSbom(singleCrateLicenseDir, 'stack') + expect(sbom.metadata.component.licenses).to.deep.equal([{ license: { id: 'ISC' } }]) + }).timeout(10000) + + test('verify license field present in virtual workspace SBOM metadata component', async () => { + let sbom = await getParsedSbom(virtualWorkspaceLicenseDir, 'stack') + expect(sbom.metadata.component.licenses).to.deep.equal([{ license: { id: 'ISC' } }]) + }).timeout(10000) + + test('verify no license field in SBOM when manifest has no license', async () => { + let sbom = await getParsedSbom('test/providers/tst_manifests/cargo/cargo_single_crate_no_ignore', 'stack') + expect(sbom.metadata.component.licenses).to.be.undefined + }).timeout(10000) +}).beforeAll(() => clock = useFakeTimers(new Date('2023-08-07T00:00:00.000Z'))).afterAll(() => clock.restore()); diff --git a/test/providers/tst_manifests/cargo/cargo_single_crate_no_ignore/Cargo.lock b/test/providers/tst_manifests/cargo/cargo_single_crate_no_ignore/Cargo.lock new file mode 100644 index 00000000..1fcedc5a --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_single_crate_no_ignore/Cargo.lock @@ -0,0 +1,2 @@ +# This file is a placeholder for lock file validation. +# The actual dependency resolution is done by `cargo metadata`. diff --git a/test/providers/tst_manifests/cargo/cargo_single_crate_no_ignore/Cargo.toml b/test/providers/tst_manifests/cargo/cargo_single_crate_no_ignore/Cargo.toml new file mode 100644 index 00000000..c3206cfc --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_single_crate_no_ignore/Cargo.toml @@ -0,0 +1,11 @@ +[package] +name = "my-test-crate" +version = "0.1.0" +edition = "2021" + +[dependencies] +serde = "1.0.193" +tokio = { version = "1.35.0", features = ["full"] } + +[dev-dependencies] +tempfile = "3.8.0" diff --git a/test/providers/tst_manifests/cargo/cargo_single_crate_no_ignore/cargo_metadata.json b/test/providers/tst_manifests/cargo/cargo_single_crate_no_ignore/cargo_metadata.json new file mode 100644 index 00000000..1239801d --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_single_crate_no_ignore/cargo_metadata.json @@ -0,0 +1,110 @@ +{ + "packages": [ + { + "name": "my-test-crate", + "version": "0.1.0", + "id": "path+file:///fake/path/my-test-crate#0.1.0", + "source": null, + "dependencies": [ + { "name": "serde", "kind": null }, + { "name": "tokio", "kind": null }, + { "name": "tempfile", "kind": "dev" } + ] + }, + { + "name": "serde", + "version": "1.0.193", + "id": "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.193", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { "name": "serde_derive", "kind": null } + ] + }, + { + "name": "serde_derive", + "version": "1.0.193", + "id": "registry+https://github.com/rust-lang/crates.io-index#serde_derive@1.0.193", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [] + }, + { + "name": "tokio", + "version": "1.35.0", + "id": "registry+https://github.com/rust-lang/crates.io-index#tokio@1.35.0", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { "name": "pin-project-lite", "kind": null } + ] + }, + { + "name": "pin-project-lite", + "version": "0.2.13", + "id": "registry+https://github.com/rust-lang/crates.io-index#pin-project-lite@0.2.13", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [] + }, + { + "name": "tempfile", + "version": "3.8.0", + "id": "registry+https://github.com/rust-lang/crates.io-index#tempfile@3.8.0", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [] + } + ], + "workspace_members": [ + "path+file:///fake/path/my-test-crate#0.1.0" + ], + "workspace_root": "/fake/path/my-test-crate", + "resolve": { + "root": "path+file:///fake/path/my-test-crate#0.1.0", + "nodes": [ + { + "id": "path+file:///fake/path/my-test-crate#0.1.0", + "deps": [ + { + "pkg": "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.193", + "dep_kinds": [{ "kind": null, "target": null }] + }, + { + "pkg": "registry+https://github.com/rust-lang/crates.io-index#tokio@1.35.0", + "dep_kinds": [{ "kind": null, "target": null }] + }, + { + "pkg": "registry+https://github.com/rust-lang/crates.io-index#tempfile@3.8.0", + "dep_kinds": [{ "kind": "dev", "target": null }] + } + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.193", + "deps": [ + { + "pkg": "registry+https://github.com/rust-lang/crates.io-index#serde_derive@1.0.193", + "dep_kinds": [{ "kind": null, "target": null }] + } + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#serde_derive@1.0.193", + "deps": [] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#tokio@1.35.0", + "deps": [ + { + "pkg": "registry+https://github.com/rust-lang/crates.io-index#pin-project-lite@0.2.13", + "dep_kinds": [{ "kind": null, "target": null }] + } + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#pin-project-lite@0.2.13", + "deps": [] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#tempfile@3.8.0", + "deps": [] + } + ] + } +} diff --git a/test/providers/tst_manifests/cargo/cargo_single_crate_no_ignore/expected_sbom_component_analysis.json b/test/providers/tst_manifests/cargo/cargo_single_crate_no_ignore/expected_sbom_component_analysis.json new file mode 100644 index 00000000..862aa946 --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_single_crate_no_ignore/expected_sbom_component_analysis.json @@ -0,0 +1,48 @@ +{ + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-08-07T00:00:00.000Z", + "component": { + "name": "my-test-crate", + "version": "0.1.0", + "purl": "pkg:cargo/my-test-crate@0.1.0", + "type": "application", + "bom-ref": "pkg:cargo/my-test-crate@0.1.0" + } + }, + "components": [ + { + "name": "serde", + "version": "1.0.193", + "purl": "pkg:cargo/serde@1.0.193", + "type": "library", + "bom-ref": "pkg:cargo/serde@1.0.193" + }, + { + "name": "tokio", + "version": "1.35.0", + "purl": "pkg:cargo/tokio@1.35.0", + "type": "library", + "bom-ref": "pkg:cargo/tokio@1.35.0" + } + ], + "dependencies": [ + { + "ref": "pkg:cargo/my-test-crate@0.1.0", + "dependsOn": [ + "pkg:cargo/serde@1.0.193", + "pkg:cargo/tokio@1.35.0" + ] + }, + { + "ref": "pkg:cargo/serde@1.0.193", + "dependsOn": [] + }, + { + "ref": "pkg:cargo/tokio@1.35.0", + "dependsOn": [] + } + ] +} diff --git a/test/providers/tst_manifests/cargo/cargo_single_crate_no_ignore/expected_sbom_stack_analysis.json b/test/providers/tst_manifests/cargo/cargo_single_crate_no_ignore/expected_sbom_stack_analysis.json new file mode 100644 index 00000000..383ddd95 --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_single_crate_no_ignore/expected_sbom_stack_analysis.json @@ -0,0 +1,74 @@ +{ + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-08-07T00:00:00.000Z", + "component": { + "name": "my-test-crate", + "version": "0.1.0", + "purl": "pkg:cargo/my-test-crate@0.1.0", + "type": "application", + "bom-ref": "pkg:cargo/my-test-crate@0.1.0" + } + }, + "components": [ + { + "name": "serde", + "version": "1.0.193", + "purl": "pkg:cargo/serde@1.0.193", + "type": "library", + "bom-ref": "pkg:cargo/serde@1.0.193" + }, + { + "name": "serde_derive", + "version": "1.0.193", + "purl": "pkg:cargo/serde_derive@1.0.193", + "type": "library", + "bom-ref": "pkg:cargo/serde_derive@1.0.193" + }, + { + "name": "tokio", + "version": "1.35.0", + "purl": "pkg:cargo/tokio@1.35.0", + "type": "library", + "bom-ref": "pkg:cargo/tokio@1.35.0" + }, + { + "name": "pin-project-lite", + "version": "0.2.13", + "purl": "pkg:cargo/pin-project-lite@0.2.13", + "type": "library", + "bom-ref": "pkg:cargo/pin-project-lite@0.2.13" + } + ], + "dependencies": [ + { + "ref": "pkg:cargo/my-test-crate@0.1.0", + "dependsOn": [ + "pkg:cargo/serde@1.0.193", + "pkg:cargo/tokio@1.35.0" + ] + }, + { + "ref": "pkg:cargo/serde@1.0.193", + "dependsOn": [ + "pkg:cargo/serde_derive@1.0.193" + ] + }, + { + "ref": "pkg:cargo/serde_derive@1.0.193", + "dependsOn": [] + }, + { + "ref": "pkg:cargo/tokio@1.35.0", + "dependsOn": [ + "pkg:cargo/pin-project-lite@0.2.13" + ] + }, + { + "ref": "pkg:cargo/pin-project-lite@0.2.13", + "dependsOn": [] + } + ] +} diff --git a/test/providers/tst_manifests/cargo/cargo_single_crate_with_exhortignore/Cargo.lock b/test/providers/tst_manifests/cargo/cargo_single_crate_with_exhortignore/Cargo.lock new file mode 100644 index 00000000..1fcedc5a --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_single_crate_with_exhortignore/Cargo.lock @@ -0,0 +1,2 @@ +# This file is a placeholder for lock file validation. +# The actual dependency resolution is done by `cargo metadata`. diff --git a/test/providers/tst_manifests/cargo/cargo_single_crate_with_exhortignore/Cargo.toml b/test/providers/tst_manifests/cargo/cargo_single_crate_with_exhortignore/Cargo.toml new file mode 100644 index 00000000..4799e2c4 --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_single_crate_with_exhortignore/Cargo.toml @@ -0,0 +1,11 @@ +[package] +name = "my-test-crate" +version = "0.1.0" +edition = "2021" + +[dependencies] +serde = "1.0.193" # exhortignore +tokio = { version = "1.35.0", features = ["full"] } + +[dev-dependencies] +tempfile = "3.8.0" diff --git a/test/providers/tst_manifests/cargo/cargo_single_crate_with_exhortignore/cargo_metadata.json b/test/providers/tst_manifests/cargo/cargo_single_crate_with_exhortignore/cargo_metadata.json new file mode 100644 index 00000000..1239801d --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_single_crate_with_exhortignore/cargo_metadata.json @@ -0,0 +1,110 @@ +{ + "packages": [ + { + "name": "my-test-crate", + "version": "0.1.0", + "id": "path+file:///fake/path/my-test-crate#0.1.0", + "source": null, + "dependencies": [ + { "name": "serde", "kind": null }, + { "name": "tokio", "kind": null }, + { "name": "tempfile", "kind": "dev" } + ] + }, + { + "name": "serde", + "version": "1.0.193", + "id": "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.193", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { "name": "serde_derive", "kind": null } + ] + }, + { + "name": "serde_derive", + "version": "1.0.193", + "id": "registry+https://github.com/rust-lang/crates.io-index#serde_derive@1.0.193", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [] + }, + { + "name": "tokio", + "version": "1.35.0", + "id": "registry+https://github.com/rust-lang/crates.io-index#tokio@1.35.0", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { "name": "pin-project-lite", "kind": null } + ] + }, + { + "name": "pin-project-lite", + "version": "0.2.13", + "id": "registry+https://github.com/rust-lang/crates.io-index#pin-project-lite@0.2.13", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [] + }, + { + "name": "tempfile", + "version": "3.8.0", + "id": "registry+https://github.com/rust-lang/crates.io-index#tempfile@3.8.0", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [] + } + ], + "workspace_members": [ + "path+file:///fake/path/my-test-crate#0.1.0" + ], + "workspace_root": "/fake/path/my-test-crate", + "resolve": { + "root": "path+file:///fake/path/my-test-crate#0.1.0", + "nodes": [ + { + "id": "path+file:///fake/path/my-test-crate#0.1.0", + "deps": [ + { + "pkg": "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.193", + "dep_kinds": [{ "kind": null, "target": null }] + }, + { + "pkg": "registry+https://github.com/rust-lang/crates.io-index#tokio@1.35.0", + "dep_kinds": [{ "kind": null, "target": null }] + }, + { + "pkg": "registry+https://github.com/rust-lang/crates.io-index#tempfile@3.8.0", + "dep_kinds": [{ "kind": "dev", "target": null }] + } + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.193", + "deps": [ + { + "pkg": "registry+https://github.com/rust-lang/crates.io-index#serde_derive@1.0.193", + "dep_kinds": [{ "kind": null, "target": null }] + } + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#serde_derive@1.0.193", + "deps": [] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#tokio@1.35.0", + "deps": [ + { + "pkg": "registry+https://github.com/rust-lang/crates.io-index#pin-project-lite@0.2.13", + "dep_kinds": [{ "kind": null, "target": null }] + } + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#pin-project-lite@0.2.13", + "deps": [] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#tempfile@3.8.0", + "deps": [] + } + ] + } +} diff --git a/test/providers/tst_manifests/cargo/cargo_single_crate_with_exhortignore/expected_sbom_component_analysis.json b/test/providers/tst_manifests/cargo/cargo_single_crate_with_exhortignore/expected_sbom_component_analysis.json new file mode 100644 index 00000000..70d4ed39 --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_single_crate_with_exhortignore/expected_sbom_component_analysis.json @@ -0,0 +1,36 @@ +{ + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-08-07T00:00:00.000Z", + "component": { + "name": "my-test-crate", + "version": "0.1.0", + "purl": "pkg:cargo/my-test-crate@0.1.0", + "type": "application", + "bom-ref": "pkg:cargo/my-test-crate@0.1.0" + } + }, + "components": [ + { + "name": "tokio", + "version": "1.35.0", + "purl": "pkg:cargo/tokio@1.35.0", + "type": "library", + "bom-ref": "pkg:cargo/tokio@1.35.0" + } + ], + "dependencies": [ + { + "ref": "pkg:cargo/my-test-crate@0.1.0", + "dependsOn": [ + "pkg:cargo/tokio@1.35.0" + ] + }, + { + "ref": "pkg:cargo/tokio@1.35.0", + "dependsOn": [] + } + ] +} diff --git a/test/providers/tst_manifests/cargo/cargo_single_crate_with_exhortignore/expected_sbom_stack_analysis.json b/test/providers/tst_manifests/cargo/cargo_single_crate_with_exhortignore/expected_sbom_stack_analysis.json new file mode 100644 index 00000000..5f1149aa --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_single_crate_with_exhortignore/expected_sbom_stack_analysis.json @@ -0,0 +1,49 @@ +{ + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-08-07T00:00:00.000Z", + "component": { + "name": "my-test-crate", + "version": "0.1.0", + "purl": "pkg:cargo/my-test-crate@0.1.0", + "type": "application", + "bom-ref": "pkg:cargo/my-test-crate@0.1.0" + } + }, + "components": [ + { + "name": "tokio", + "version": "1.35.0", + "purl": "pkg:cargo/tokio@1.35.0", + "type": "library", + "bom-ref": "pkg:cargo/tokio@1.35.0" + }, + { + "name": "pin-project-lite", + "version": "0.2.13", + "purl": "pkg:cargo/pin-project-lite@0.2.13", + "type": "library", + "bom-ref": "pkg:cargo/pin-project-lite@0.2.13" + } + ], + "dependencies": [ + { + "ref": "pkg:cargo/my-test-crate@0.1.0", + "dependsOn": [ + "pkg:cargo/tokio@1.35.0" + ] + }, + { + "ref": "pkg:cargo/tokio@1.35.0", + "dependsOn": [ + "pkg:cargo/pin-project-lite@0.2.13" + ] + }, + { + "ref": "pkg:cargo/pin-project-lite@0.2.13", + "dependsOn": [] + } + ] +} diff --git a/test/providers/tst_manifests/cargo/cargo_single_crate_with_hyphen_ignore/Cargo.lock b/test/providers/tst_manifests/cargo/cargo_single_crate_with_hyphen_ignore/Cargo.lock new file mode 100644 index 00000000..fdffa2a0 --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_single_crate_with_hyphen_ignore/Cargo.lock @@ -0,0 +1 @@ +# placeholder diff --git a/test/providers/tst_manifests/cargo/cargo_single_crate_with_hyphen_ignore/Cargo.toml b/test/providers/tst_manifests/cargo/cargo_single_crate_with_hyphen_ignore/Cargo.toml new file mode 100644 index 00000000..a9c8050e --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_single_crate_with_hyphen_ignore/Cargo.toml @@ -0,0 +1,14 @@ +[package] +name = "my-test-crate" +version = "0.1.0" +edition = "2021" + +[dependencies] +serde = "1.0.193" +tokio = { version = "1.35.0", features = ["full"] } + +[dependencies.serde-derive] # trustify-da-ignore +version = "1.0.193" + +[dev-dependencies] +tempfile = "3.8.0" diff --git a/test/providers/tst_manifests/cargo/cargo_single_crate_with_hyphen_ignore/cargo_metadata.json b/test/providers/tst_manifests/cargo/cargo_single_crate_with_hyphen_ignore/cargo_metadata.json new file mode 100644 index 00000000..476e04d5 --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_single_crate_with_hyphen_ignore/cargo_metadata.json @@ -0,0 +1,108 @@ +{ + "packages": [ + { + "name": "my-test-crate", + "version": "0.1.0", + "id": "path+file:///fake/path/my-test-crate#0.1.0", + "source": null, + "dependencies": [ + { "name": "serde", "kind": null }, + { "name": "serde_derive", "kind": null }, + { "name": "tokio", "kind": null }, + { "name": "tempfile", "kind": "dev" } + ] + }, + { + "name": "serde", + "version": "1.0.193", + "id": "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.193", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [] + }, + { + "name": "serde_derive", + "version": "1.0.193", + "id": "registry+https://github.com/rust-lang/crates.io-index#serde_derive@1.0.193", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [] + }, + { + "name": "tokio", + "version": "1.35.0", + "id": "registry+https://github.com/rust-lang/crates.io-index#tokio@1.35.0", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { "name": "pin-project-lite", "kind": null } + ] + }, + { + "name": "pin-project-lite", + "version": "0.2.13", + "id": "registry+https://github.com/rust-lang/crates.io-index#pin-project-lite@0.2.13", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [] + }, + { + "name": "tempfile", + "version": "3.8.0", + "id": "registry+https://github.com/rust-lang/crates.io-index#tempfile@3.8.0", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [] + } + ], + "workspace_members": [ + "path+file:///fake/path/my-test-crate#0.1.0" + ], + "workspace_root": "/fake/path/my-test-crate", + "resolve": { + "root": "path+file:///fake/path/my-test-crate#0.1.0", + "nodes": [ + { + "id": "path+file:///fake/path/my-test-crate#0.1.0", + "deps": [ + { + "pkg": "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.193", + "dep_kinds": [{ "kind": null, "target": null }] + }, + { + "pkg": "registry+https://github.com/rust-lang/crates.io-index#serde_derive@1.0.193", + "dep_kinds": [{ "kind": null, "target": null }] + }, + { + "pkg": "registry+https://github.com/rust-lang/crates.io-index#tokio@1.35.0", + "dep_kinds": [{ "kind": null, "target": null }] + }, + { + "pkg": "registry+https://github.com/rust-lang/crates.io-index#tempfile@3.8.0", + "dep_kinds": [{ "kind": "dev", "target": null }] + } + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.193", + "deps": [] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#serde_derive@1.0.193", + "deps": [] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#tokio@1.35.0", + "deps": [ + { + "pkg": "registry+https://github.com/rust-lang/crates.io-index#pin-project-lite@0.2.13", + "dep_kinds": [{ "kind": null, "target": null }] + } + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#pin-project-lite@0.2.13", + "deps": [] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#tempfile@3.8.0", + "deps": [] + } + ] + } +} diff --git a/test/providers/tst_manifests/cargo/cargo_single_crate_with_ignore/Cargo.lock b/test/providers/tst_manifests/cargo/cargo_single_crate_with_ignore/Cargo.lock new file mode 100644 index 00000000..1fcedc5a --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_single_crate_with_ignore/Cargo.lock @@ -0,0 +1,2 @@ +# This file is a placeholder for lock file validation. +# The actual dependency resolution is done by `cargo metadata`. diff --git a/test/providers/tst_manifests/cargo/cargo_single_crate_with_ignore/Cargo.toml b/test/providers/tst_manifests/cargo/cargo_single_crate_with_ignore/Cargo.toml new file mode 100644 index 00000000..54b20ca8 --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_single_crate_with_ignore/Cargo.toml @@ -0,0 +1,11 @@ +[package] +name = "my-test-crate" +version = "0.1.0" +edition = "2021" + +[dependencies] +serde = "1.0.193" # trustify-da-ignore +tokio = { version = "1.35.0", features = ["full"] } + +[dev-dependencies] +tempfile = "3.8.0" diff --git a/test/providers/tst_manifests/cargo/cargo_single_crate_with_ignore/cargo_metadata.json b/test/providers/tst_manifests/cargo/cargo_single_crate_with_ignore/cargo_metadata.json new file mode 100644 index 00000000..1239801d --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_single_crate_with_ignore/cargo_metadata.json @@ -0,0 +1,110 @@ +{ + "packages": [ + { + "name": "my-test-crate", + "version": "0.1.0", + "id": "path+file:///fake/path/my-test-crate#0.1.0", + "source": null, + "dependencies": [ + { "name": "serde", "kind": null }, + { "name": "tokio", "kind": null }, + { "name": "tempfile", "kind": "dev" } + ] + }, + { + "name": "serde", + "version": "1.0.193", + "id": "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.193", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { "name": "serde_derive", "kind": null } + ] + }, + { + "name": "serde_derive", + "version": "1.0.193", + "id": "registry+https://github.com/rust-lang/crates.io-index#serde_derive@1.0.193", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [] + }, + { + "name": "tokio", + "version": "1.35.0", + "id": "registry+https://github.com/rust-lang/crates.io-index#tokio@1.35.0", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { "name": "pin-project-lite", "kind": null } + ] + }, + { + "name": "pin-project-lite", + "version": "0.2.13", + "id": "registry+https://github.com/rust-lang/crates.io-index#pin-project-lite@0.2.13", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [] + }, + { + "name": "tempfile", + "version": "3.8.0", + "id": "registry+https://github.com/rust-lang/crates.io-index#tempfile@3.8.0", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [] + } + ], + "workspace_members": [ + "path+file:///fake/path/my-test-crate#0.1.0" + ], + "workspace_root": "/fake/path/my-test-crate", + "resolve": { + "root": "path+file:///fake/path/my-test-crate#0.1.0", + "nodes": [ + { + "id": "path+file:///fake/path/my-test-crate#0.1.0", + "deps": [ + { + "pkg": "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.193", + "dep_kinds": [{ "kind": null, "target": null }] + }, + { + "pkg": "registry+https://github.com/rust-lang/crates.io-index#tokio@1.35.0", + "dep_kinds": [{ "kind": null, "target": null }] + }, + { + "pkg": "registry+https://github.com/rust-lang/crates.io-index#tempfile@3.8.0", + "dep_kinds": [{ "kind": "dev", "target": null }] + } + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.193", + "deps": [ + { + "pkg": "registry+https://github.com/rust-lang/crates.io-index#serde_derive@1.0.193", + "dep_kinds": [{ "kind": null, "target": null }] + } + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#serde_derive@1.0.193", + "deps": [] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#tokio@1.35.0", + "deps": [ + { + "pkg": "registry+https://github.com/rust-lang/crates.io-index#pin-project-lite@0.2.13", + "dep_kinds": [{ "kind": null, "target": null }] + } + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#pin-project-lite@0.2.13", + "deps": [] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#tempfile@3.8.0", + "deps": [] + } + ] + } +} diff --git a/test/providers/tst_manifests/cargo/cargo_single_crate_with_ignore/expected_sbom_component_analysis.json b/test/providers/tst_manifests/cargo/cargo_single_crate_with_ignore/expected_sbom_component_analysis.json new file mode 100644 index 00000000..70d4ed39 --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_single_crate_with_ignore/expected_sbom_component_analysis.json @@ -0,0 +1,36 @@ +{ + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-08-07T00:00:00.000Z", + "component": { + "name": "my-test-crate", + "version": "0.1.0", + "purl": "pkg:cargo/my-test-crate@0.1.0", + "type": "application", + "bom-ref": "pkg:cargo/my-test-crate@0.1.0" + } + }, + "components": [ + { + "name": "tokio", + "version": "1.35.0", + "purl": "pkg:cargo/tokio@1.35.0", + "type": "library", + "bom-ref": "pkg:cargo/tokio@1.35.0" + } + ], + "dependencies": [ + { + "ref": "pkg:cargo/my-test-crate@0.1.0", + "dependsOn": [ + "pkg:cargo/tokio@1.35.0" + ] + }, + { + "ref": "pkg:cargo/tokio@1.35.0", + "dependsOn": [] + } + ] +} diff --git a/test/providers/tst_manifests/cargo/cargo_single_crate_with_ignore/expected_sbom_stack_analysis.json b/test/providers/tst_manifests/cargo/cargo_single_crate_with_ignore/expected_sbom_stack_analysis.json new file mode 100644 index 00000000..5f1149aa --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_single_crate_with_ignore/expected_sbom_stack_analysis.json @@ -0,0 +1,49 @@ +{ + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-08-07T00:00:00.000Z", + "component": { + "name": "my-test-crate", + "version": "0.1.0", + "purl": "pkg:cargo/my-test-crate@0.1.0", + "type": "application", + "bom-ref": "pkg:cargo/my-test-crate@0.1.0" + } + }, + "components": [ + { + "name": "tokio", + "version": "1.35.0", + "purl": "pkg:cargo/tokio@1.35.0", + "type": "library", + "bom-ref": "pkg:cargo/tokio@1.35.0" + }, + { + "name": "pin-project-lite", + "version": "0.2.13", + "purl": "pkg:cargo/pin-project-lite@0.2.13", + "type": "library", + "bom-ref": "pkg:cargo/pin-project-lite@0.2.13" + } + ], + "dependencies": [ + { + "ref": "pkg:cargo/my-test-crate@0.1.0", + "dependsOn": [ + "pkg:cargo/tokio@1.35.0" + ] + }, + { + "ref": "pkg:cargo/tokio@1.35.0", + "dependsOn": [ + "pkg:cargo/pin-project-lite@0.2.13" + ] + }, + { + "ref": "pkg:cargo/pin-project-lite@0.2.13", + "dependsOn": [] + } + ] +} diff --git a/test/providers/tst_manifests/cargo/cargo_single_crate_with_license/Cargo.lock b/test/providers/tst_manifests/cargo/cargo_single_crate_with_license/Cargo.lock new file mode 100644 index 00000000..1fcedc5a --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_single_crate_with_license/Cargo.lock @@ -0,0 +1,2 @@ +# This file is a placeholder for lock file validation. +# The actual dependency resolution is done by `cargo metadata`. diff --git a/test/providers/tst_manifests/cargo/cargo_single_crate_with_license/Cargo.toml b/test/providers/tst_manifests/cargo/cargo_single_crate_with_license/Cargo.toml new file mode 100644 index 00000000..a82de102 --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_single_crate_with_license/Cargo.toml @@ -0,0 +1,12 @@ +[package] +name = "my-test-crate" +version = "0.1.0" +edition = "2021" +license = "ISC" + +[dependencies] +serde = "1.0.193" +tokio = { version = "1.35.0", features = ["full"] } + +[dev-dependencies] +tempfile = "3.8.0" diff --git a/test/providers/tst_manifests/cargo/cargo_single_crate_with_license/cargo_metadata.json b/test/providers/tst_manifests/cargo/cargo_single_crate_with_license/cargo_metadata.json new file mode 100644 index 00000000..1239801d --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_single_crate_with_license/cargo_metadata.json @@ -0,0 +1,110 @@ +{ + "packages": [ + { + "name": "my-test-crate", + "version": "0.1.0", + "id": "path+file:///fake/path/my-test-crate#0.1.0", + "source": null, + "dependencies": [ + { "name": "serde", "kind": null }, + { "name": "tokio", "kind": null }, + { "name": "tempfile", "kind": "dev" } + ] + }, + { + "name": "serde", + "version": "1.0.193", + "id": "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.193", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { "name": "serde_derive", "kind": null } + ] + }, + { + "name": "serde_derive", + "version": "1.0.193", + "id": "registry+https://github.com/rust-lang/crates.io-index#serde_derive@1.0.193", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [] + }, + { + "name": "tokio", + "version": "1.35.0", + "id": "registry+https://github.com/rust-lang/crates.io-index#tokio@1.35.0", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { "name": "pin-project-lite", "kind": null } + ] + }, + { + "name": "pin-project-lite", + "version": "0.2.13", + "id": "registry+https://github.com/rust-lang/crates.io-index#pin-project-lite@0.2.13", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [] + }, + { + "name": "tempfile", + "version": "3.8.0", + "id": "registry+https://github.com/rust-lang/crates.io-index#tempfile@3.8.0", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [] + } + ], + "workspace_members": [ + "path+file:///fake/path/my-test-crate#0.1.0" + ], + "workspace_root": "/fake/path/my-test-crate", + "resolve": { + "root": "path+file:///fake/path/my-test-crate#0.1.0", + "nodes": [ + { + "id": "path+file:///fake/path/my-test-crate#0.1.0", + "deps": [ + { + "pkg": "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.193", + "dep_kinds": [{ "kind": null, "target": null }] + }, + { + "pkg": "registry+https://github.com/rust-lang/crates.io-index#tokio@1.35.0", + "dep_kinds": [{ "kind": null, "target": null }] + }, + { + "pkg": "registry+https://github.com/rust-lang/crates.io-index#tempfile@3.8.0", + "dep_kinds": [{ "kind": "dev", "target": null }] + } + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.193", + "deps": [ + { + "pkg": "registry+https://github.com/rust-lang/crates.io-index#serde_derive@1.0.193", + "dep_kinds": [{ "kind": null, "target": null }] + } + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#serde_derive@1.0.193", + "deps": [] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#tokio@1.35.0", + "deps": [ + { + "pkg": "registry+https://github.com/rust-lang/crates.io-index#pin-project-lite@0.2.13", + "dep_kinds": [{ "kind": null, "target": null }] + } + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#pin-project-lite@0.2.13", + "deps": [] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#tempfile@3.8.0", + "deps": [] + } + ] + } +} diff --git a/test/providers/tst_manifests/cargo/cargo_single_crate_with_license/expected_sbom_component_analysis.json b/test/providers/tst_manifests/cargo/cargo_single_crate_with_license/expected_sbom_component_analysis.json new file mode 100644 index 00000000..75d4b7a5 --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_single_crate_with_license/expected_sbom_component_analysis.json @@ -0,0 +1,55 @@ +{ + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-08-07T00:00:00.000Z", + "component": { + "name": "my-test-crate", + "version": "0.1.0", + "purl": "pkg:cargo/my-test-crate@0.1.0", + "type": "application", + "bom-ref": "pkg:cargo/my-test-crate@0.1.0", + "licenses": [ + { + "license": { + "id": "ISC" + } + } + ] + } + }, + "components": [ + { + "name": "serde", + "version": "1.0.193", + "purl": "pkg:cargo/serde@1.0.193", + "type": "library", + "bom-ref": "pkg:cargo/serde@1.0.193" + }, + { + "name": "tokio", + "version": "1.35.0", + "purl": "pkg:cargo/tokio@1.35.0", + "type": "library", + "bom-ref": "pkg:cargo/tokio@1.35.0" + } + ], + "dependencies": [ + { + "ref": "pkg:cargo/my-test-crate@0.1.0", + "dependsOn": [ + "pkg:cargo/serde@1.0.193", + "pkg:cargo/tokio@1.35.0" + ] + }, + { + "ref": "pkg:cargo/serde@1.0.193", + "dependsOn": [] + }, + { + "ref": "pkg:cargo/tokio@1.35.0", + "dependsOn": [] + } + ] +} diff --git a/test/providers/tst_manifests/cargo/cargo_single_crate_with_license/expected_sbom_stack_analysis.json b/test/providers/tst_manifests/cargo/cargo_single_crate_with_license/expected_sbom_stack_analysis.json new file mode 100644 index 00000000..f6e540f1 --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_single_crate_with_license/expected_sbom_stack_analysis.json @@ -0,0 +1,81 @@ +{ + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-08-07T00:00:00.000Z", + "component": { + "name": "my-test-crate", + "version": "0.1.0", + "purl": "pkg:cargo/my-test-crate@0.1.0", + "type": "application", + "bom-ref": "pkg:cargo/my-test-crate@0.1.0", + "licenses": [ + { + "license": { + "id": "ISC" + } + } + ] + } + }, + "components": [ + { + "name": "serde", + "version": "1.0.193", + "purl": "pkg:cargo/serde@1.0.193", + "type": "library", + "bom-ref": "pkg:cargo/serde@1.0.193" + }, + { + "name": "serde_derive", + "version": "1.0.193", + "purl": "pkg:cargo/serde_derive@1.0.193", + "type": "library", + "bom-ref": "pkg:cargo/serde_derive@1.0.193" + }, + { + "name": "tokio", + "version": "1.35.0", + "purl": "pkg:cargo/tokio@1.35.0", + "type": "library", + "bom-ref": "pkg:cargo/tokio@1.35.0" + }, + { + "name": "pin-project-lite", + "version": "0.2.13", + "purl": "pkg:cargo/pin-project-lite@0.2.13", + "type": "library", + "bom-ref": "pkg:cargo/pin-project-lite@0.2.13" + } + ], + "dependencies": [ + { + "ref": "pkg:cargo/my-test-crate@0.1.0", + "dependsOn": [ + "pkg:cargo/serde@1.0.193", + "pkg:cargo/tokio@1.35.0" + ] + }, + { + "ref": "pkg:cargo/serde@1.0.193", + "dependsOn": [ + "pkg:cargo/serde_derive@1.0.193" + ] + }, + { + "ref": "pkg:cargo/serde_derive@1.0.193", + "dependsOn": [] + }, + { + "ref": "pkg:cargo/tokio@1.35.0", + "dependsOn": [ + "pkg:cargo/pin-project-lite@0.2.13" + ] + }, + { + "ref": "pkg:cargo/pin-project-lite@0.2.13", + "dependsOn": [] + } + ] +} diff --git a/test/providers/tst_manifests/cargo/cargo_virtual_workspace/Cargo.lock b/test/providers/tst_manifests/cargo/cargo_virtual_workspace/Cargo.lock new file mode 100644 index 00000000..1fcedc5a --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_virtual_workspace/Cargo.lock @@ -0,0 +1,2 @@ +# This file is a placeholder for lock file validation. +# The actual dependency resolution is done by `cargo metadata`. diff --git a/test/providers/tst_manifests/cargo/cargo_virtual_workspace/Cargo.toml b/test/providers/tst_manifests/cargo/cargo_virtual_workspace/Cargo.toml new file mode 100644 index 00000000..76c52381 --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_virtual_workspace/Cargo.toml @@ -0,0 +1,6 @@ +[workspace] +members = [ + "crate-a", + "crate-b", +] +resolver = "2" diff --git a/test/providers/tst_manifests/cargo/cargo_virtual_workspace/cargo_metadata.json b/test/providers/tst_manifests/cargo/cargo_virtual_workspace/cargo_metadata.json new file mode 100644 index 00000000..7e520d60 --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_virtual_workspace/cargo_metadata.json @@ -0,0 +1,90 @@ +{ + "packages": [ + { + "name": "crate-a", + "version": "0.1.0", + "id": "path+file:///fake/path/cargo_virtual_workspace/crate-a#0.1.0", + "source": null, + "dependencies": [ + { "name": "serde", "kind": null } + ] + }, + { + "name": "crate-b", + "version": "0.2.0", + "id": "path+file:///fake/path/cargo_virtual_workspace/crate-b#0.2.0", + "source": null, + "dependencies": [ + { "name": "tokio", "kind": null } + ] + }, + { + "name": "serde", + "version": "1.0.193", + "id": "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.193", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [] + }, + { + "name": "tokio", + "version": "1.35.0", + "id": "registry+https://github.com/rust-lang/crates.io-index#tokio@1.35.0", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { "name": "pin-project-lite", "kind": null } + ] + }, + { + "name": "pin-project-lite", + "version": "0.2.13", + "id": "registry+https://github.com/rust-lang/crates.io-index#pin-project-lite@0.2.13", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [] + } + ], + "workspace_members": [ + "path+file:///fake/path/cargo_virtual_workspace/crate-a#0.1.0", + "path+file:///fake/path/cargo_virtual_workspace/crate-b#0.2.0" + ], + "workspace_root": "/fake/path/cargo_virtual_workspace", + "resolve": { + "root": null, + "nodes": [ + { + "id": "path+file:///fake/path/cargo_virtual_workspace/crate-a#0.1.0", + "deps": [ + { + "pkg": "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.193", + "dep_kinds": [{ "kind": null, "target": null }] + } + ] + }, + { + "id": "path+file:///fake/path/cargo_virtual_workspace/crate-b#0.2.0", + "deps": [ + { + "pkg": "registry+https://github.com/rust-lang/crates.io-index#tokio@1.35.0", + "dep_kinds": [{ "kind": null, "target": null }] + } + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.193", + "deps": [] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#tokio@1.35.0", + "deps": [ + { + "pkg": "registry+https://github.com/rust-lang/crates.io-index#pin-project-lite@0.2.13", + "dep_kinds": [{ "kind": null, "target": null }] + } + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#pin-project-lite@0.2.13", + "deps": [] + } + ] + } +} diff --git a/test/providers/tst_manifests/cargo/cargo_virtual_workspace/crate-a/Cargo.toml b/test/providers/tst_manifests/cargo/cargo_virtual_workspace/crate-a/Cargo.toml new file mode 100644 index 00000000..4c79e6eb --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_virtual_workspace/crate-a/Cargo.toml @@ -0,0 +1,7 @@ +[package] +name = "crate-a" +version = "0.1.0" +edition = "2021" + +[dependencies] +serde = "1.0.193" diff --git a/test/providers/tst_manifests/cargo/cargo_virtual_workspace/crate-b/Cargo.toml b/test/providers/tst_manifests/cargo/cargo_virtual_workspace/crate-b/Cargo.toml new file mode 100644 index 00000000..8974ad47 --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_virtual_workspace/crate-b/Cargo.toml @@ -0,0 +1,7 @@ +[package] +name = "crate-b" +version = "0.2.0" +edition = "2021" + +[dependencies] +tokio = { version = "1.35.0", features = ["full"] } diff --git a/test/providers/tst_manifests/cargo/cargo_virtual_workspace/expected_sbom_component_analysis.json b/test/providers/tst_manifests/cargo/cargo_virtual_workspace/expected_sbom_component_analysis.json new file mode 100644 index 00000000..f4505a7c --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_virtual_workspace/expected_sbom_component_analysis.json @@ -0,0 +1,17 @@ +{ + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-08-07T00:00:00.000Z", + "component": { + "name": "cargo_virtual_workspace", + "version": "0.0.0", + "purl": "pkg:cargo/cargo_virtual_workspace@0.0.0", + "type": "application", + "bom-ref": "pkg:cargo/cargo_virtual_workspace@0.0.0" + } + }, + "components": [], + "dependencies": [] +} diff --git a/test/providers/tst_manifests/cargo/cargo_virtual_workspace/expected_sbom_stack_analysis.json b/test/providers/tst_manifests/cargo/cargo_virtual_workspace/expected_sbom_stack_analysis.json new file mode 100644 index 00000000..e2d61419 --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_virtual_workspace/expected_sbom_stack_analysis.json @@ -0,0 +1,87 @@ +{ + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-08-07T00:00:00.000Z", + "component": { + "name": "cargo_virtual_workspace", + "version": "0.0.0", + "purl": "pkg:cargo/cargo_virtual_workspace@0.0.0", + "type": "application", + "bom-ref": "pkg:cargo/cargo_virtual_workspace@0.0.0" + } + }, + "components": [ + { + "name": "crate-a", + "version": "0.1.0", + "purl": "pkg:cargo/crate-a@0.1.0?repository_url=local", + "type": "library", + "bom-ref": "pkg:cargo/crate-a@0.1.0?repository_url=local" + }, + { + "name": "serde", + "version": "1.0.193", + "purl": "pkg:cargo/serde@1.0.193", + "type": "library", + "bom-ref": "pkg:cargo/serde@1.0.193" + }, + { + "name": "crate-b", + "version": "0.2.0", + "purl": "pkg:cargo/crate-b@0.2.0?repository_url=local", + "type": "library", + "bom-ref": "pkg:cargo/crate-b@0.2.0?repository_url=local" + }, + { + "name": "tokio", + "version": "1.35.0", + "purl": "pkg:cargo/tokio@1.35.0", + "type": "library", + "bom-ref": "pkg:cargo/tokio@1.35.0" + }, + { + "name": "pin-project-lite", + "version": "0.2.13", + "purl": "pkg:cargo/pin-project-lite@0.2.13", + "type": "library", + "bom-ref": "pkg:cargo/pin-project-lite@0.2.13" + } + ], + "dependencies": [ + { + "ref": "pkg:cargo/cargo_virtual_workspace@0.0.0", + "dependsOn": [ + "pkg:cargo/crate-a@0.1.0?repository_url=local", + "pkg:cargo/crate-b@0.2.0?repository_url=local" + ] + }, + { + "ref": "pkg:cargo/crate-a@0.1.0?repository_url=local", + "dependsOn": [ + "pkg:cargo/serde@1.0.193" + ] + }, + { + "ref": "pkg:cargo/serde@1.0.193", + "dependsOn": [] + }, + { + "ref": "pkg:cargo/crate-b@0.2.0?repository_url=local", + "dependsOn": [ + "pkg:cargo/tokio@1.35.0" + ] + }, + { + "ref": "pkg:cargo/tokio@1.35.0", + "dependsOn": [ + "pkg:cargo/pin-project-lite@0.2.13" + ] + }, + { + "ref": "pkg:cargo/pin-project-lite@0.2.13", + "dependsOn": [] + } + ] +} diff --git a/test/providers/tst_manifests/cargo/cargo_virtual_workspace_glob_members/Cargo.lock b/test/providers/tst_manifests/cargo/cargo_virtual_workspace_glob_members/Cargo.lock new file mode 100644 index 00000000..fdffa2a0 --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_virtual_workspace_glob_members/Cargo.lock @@ -0,0 +1 @@ +# placeholder diff --git a/test/providers/tst_manifests/cargo/cargo_virtual_workspace_glob_members/Cargo.toml b/test/providers/tst_manifests/cargo/cargo_virtual_workspace_glob_members/Cargo.toml new file mode 100644 index 00000000..a7cff588 --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_virtual_workspace_glob_members/Cargo.toml @@ -0,0 +1,5 @@ +[workspace] +members = [ + "crates/*", +] +resolver = "2" diff --git a/test/providers/tst_manifests/cargo/cargo_virtual_workspace_glob_members/cargo_metadata.json b/test/providers/tst_manifests/cargo/cargo_virtual_workspace_glob_members/cargo_metadata.json new file mode 100644 index 00000000..4a07cedb --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_virtual_workspace_glob_members/cargo_metadata.json @@ -0,0 +1,90 @@ +{ + "packages": [ + { + "name": "crate-a", + "version": "0.1.0", + "id": "path+file:///fake/path/cargo_virtual_workspace_glob_members/crates/crate-a#0.1.0", + "source": null, + "dependencies": [ + { "name": "serde", "kind": null } + ] + }, + { + "name": "crate-b", + "version": "0.2.0", + "id": "path+file:///fake/path/cargo_virtual_workspace_glob_members/crates/crate-b#0.2.0", + "source": null, + "dependencies": [ + { "name": "tokio", "kind": null } + ] + }, + { + "name": "serde", + "version": "1.0.193", + "id": "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.193", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [] + }, + { + "name": "tokio", + "version": "1.35.0", + "id": "registry+https://github.com/rust-lang/crates.io-index#tokio@1.35.0", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { "name": "pin-project-lite", "kind": null } + ] + }, + { + "name": "pin-project-lite", + "version": "0.2.13", + "id": "registry+https://github.com/rust-lang/crates.io-index#pin-project-lite@0.2.13", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [] + } + ], + "workspace_members": [ + "path+file:///fake/path/cargo_virtual_workspace_glob_members/crates/crate-a#0.1.0", + "path+file:///fake/path/cargo_virtual_workspace_glob_members/crates/crate-b#0.2.0" + ], + "workspace_root": "/fake/path/cargo_virtual_workspace_glob_members", + "resolve": { + "root": null, + "nodes": [ + { + "id": "path+file:///fake/path/cargo_virtual_workspace_glob_members/crates/crate-a#0.1.0", + "deps": [ + { + "pkg": "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.193", + "dep_kinds": [{ "kind": null, "target": null }] + } + ] + }, + { + "id": "path+file:///fake/path/cargo_virtual_workspace_glob_members/crates/crate-b#0.2.0", + "deps": [ + { + "pkg": "registry+https://github.com/rust-lang/crates.io-index#tokio@1.35.0", + "dep_kinds": [{ "kind": null, "target": null }] + } + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.193", + "deps": [] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#tokio@1.35.0", + "deps": [ + { + "pkg": "registry+https://github.com/rust-lang/crates.io-index#pin-project-lite@0.2.13", + "dep_kinds": [{ "kind": null, "target": null }] + } + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#pin-project-lite@0.2.13", + "deps": [] + } + ] + } +} diff --git a/test/providers/tst_manifests/cargo/cargo_virtual_workspace_glob_members/crates/crate-a/Cargo.toml b/test/providers/tst_manifests/cargo/cargo_virtual_workspace_glob_members/crates/crate-a/Cargo.toml new file mode 100644 index 00000000..226e8c62 --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_virtual_workspace_glob_members/crates/crate-a/Cargo.toml @@ -0,0 +1,7 @@ +[package] +name = "crate-a" +version = "0.1.0" +edition = "2021" + +[dependencies] +serde = "1.0.193" # trustify-da-ignore diff --git a/test/providers/tst_manifests/cargo/cargo_virtual_workspace_glob_members/crates/crate-b/Cargo.toml b/test/providers/tst_manifests/cargo/cargo_virtual_workspace_glob_members/crates/crate-b/Cargo.toml new file mode 100644 index 00000000..8974ad47 --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_virtual_workspace_glob_members/crates/crate-b/Cargo.toml @@ -0,0 +1,7 @@ +[package] +name = "crate-b" +version = "0.2.0" +edition = "2021" + +[dependencies] +tokio = { version = "1.35.0", features = ["full"] } diff --git a/test/providers/tst_manifests/cargo/cargo_virtual_workspace_glob_members/expected_sbom_component_analysis.json b/test/providers/tst_manifests/cargo/cargo_virtual_workspace_glob_members/expected_sbom_component_analysis.json new file mode 100644 index 00000000..1ba48f65 --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_virtual_workspace_glob_members/expected_sbom_component_analysis.json @@ -0,0 +1,17 @@ +{ + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-08-07T00:00:00.000Z", + "component": { + "name": "cargo_virtual_workspace_glob_members", + "version": "0.0.0", + "purl": "pkg:cargo/cargo_virtual_workspace_glob_members@0.0.0", + "type": "application", + "bom-ref": "pkg:cargo/cargo_virtual_workspace_glob_members@0.0.0" + } + }, + "components": [], + "dependencies": [] +} diff --git a/test/providers/tst_manifests/cargo/cargo_virtual_workspace_glob_members/expected_sbom_stack_analysis.json b/test/providers/tst_manifests/cargo/cargo_virtual_workspace_glob_members/expected_sbom_stack_analysis.json new file mode 100644 index 00000000..8499ee9e --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_virtual_workspace_glob_members/expected_sbom_stack_analysis.json @@ -0,0 +1,74 @@ +{ + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-08-07T00:00:00.000Z", + "component": { + "name": "cargo_virtual_workspace_glob_members", + "version": "0.0.0", + "purl": "pkg:cargo/cargo_virtual_workspace_glob_members@0.0.0", + "type": "application", + "bom-ref": "pkg:cargo/cargo_virtual_workspace_glob_members@0.0.0" + } + }, + "components": [ + { + "name": "crate-a", + "version": "0.1.0", + "purl": "pkg:cargo/crate-a@0.1.0?repository_url=local", + "type": "library", + "bom-ref": "pkg:cargo/crate-a@0.1.0?repository_url=local" + }, + { + "name": "crate-b", + "version": "0.2.0", + "purl": "pkg:cargo/crate-b@0.2.0?repository_url=local", + "type": "library", + "bom-ref": "pkg:cargo/crate-b@0.2.0?repository_url=local" + }, + { + "name": "tokio", + "version": "1.35.0", + "purl": "pkg:cargo/tokio@1.35.0", + "type": "library", + "bom-ref": "pkg:cargo/tokio@1.35.0" + }, + { + "name": "pin-project-lite", + "version": "0.2.13", + "purl": "pkg:cargo/pin-project-lite@0.2.13", + "type": "library", + "bom-ref": "pkg:cargo/pin-project-lite@0.2.13" + } + ], + "dependencies": [ + { + "ref": "pkg:cargo/cargo_virtual_workspace_glob_members@0.0.0", + "dependsOn": [ + "pkg:cargo/crate-a@0.1.0?repository_url=local", + "pkg:cargo/crate-b@0.2.0?repository_url=local" + ] + }, + { + "ref": "pkg:cargo/crate-a@0.1.0?repository_url=local", + "dependsOn": [] + }, + { + "ref": "pkg:cargo/crate-b@0.2.0?repository_url=local", + "dependsOn": [ + "pkg:cargo/tokio@1.35.0" + ] + }, + { + "ref": "pkg:cargo/tokio@1.35.0", + "dependsOn": [ + "pkg:cargo/pin-project-lite@0.2.13" + ] + }, + { + "ref": "pkg:cargo/pin-project-lite@0.2.13", + "dependsOn": [] + } + ] +} diff --git a/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_exhortignore/Cargo.lock b/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_exhortignore/Cargo.lock new file mode 100644 index 00000000..1fcedc5a --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_exhortignore/Cargo.lock @@ -0,0 +1,2 @@ +# This file is a placeholder for lock file validation. +# The actual dependency resolution is done by `cargo metadata`. diff --git a/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_exhortignore/Cargo.toml b/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_exhortignore/Cargo.toml new file mode 100644 index 00000000..76c52381 --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_exhortignore/Cargo.toml @@ -0,0 +1,6 @@ +[workspace] +members = [ + "crate-a", + "crate-b", +] +resolver = "2" diff --git a/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_exhortignore/cargo_metadata.json b/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_exhortignore/cargo_metadata.json new file mode 100644 index 00000000..71d02678 --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_exhortignore/cargo_metadata.json @@ -0,0 +1,90 @@ +{ + "packages": [ + { + "name": "crate-a", + "version": "0.1.0", + "id": "path+file:///fake/path/cargo_virtual_workspace_with_exhortignore/crate-a#0.1.0", + "source": null, + "dependencies": [ + { "name": "serde", "kind": null } + ] + }, + { + "name": "crate-b", + "version": "0.2.0", + "id": "path+file:///fake/path/cargo_virtual_workspace_with_exhortignore/crate-b#0.2.0", + "source": null, + "dependencies": [ + { "name": "tokio", "kind": null } + ] + }, + { + "name": "serde", + "version": "1.0.193", + "id": "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.193", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [] + }, + { + "name": "tokio", + "version": "1.35.0", + "id": "registry+https://github.com/rust-lang/crates.io-index#tokio@1.35.0", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { "name": "pin-project-lite", "kind": null } + ] + }, + { + "name": "pin-project-lite", + "version": "0.2.13", + "id": "registry+https://github.com/rust-lang/crates.io-index#pin-project-lite@0.2.13", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [] + } + ], + "workspace_members": [ + "path+file:///fake/path/cargo_virtual_workspace_with_exhortignore/crate-a#0.1.0", + "path+file:///fake/path/cargo_virtual_workspace_with_exhortignore/crate-b#0.2.0" + ], + "workspace_root": "/fake/path/cargo_virtual_workspace_with_exhortignore", + "resolve": { + "root": null, + "nodes": [ + { + "id": "path+file:///fake/path/cargo_virtual_workspace_with_exhortignore/crate-a#0.1.0", + "deps": [ + { + "pkg": "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.193", + "dep_kinds": [{ "kind": null, "target": null }] + } + ] + }, + { + "id": "path+file:///fake/path/cargo_virtual_workspace_with_exhortignore/crate-b#0.2.0", + "deps": [ + { + "pkg": "registry+https://github.com/rust-lang/crates.io-index#tokio@1.35.0", + "dep_kinds": [{ "kind": null, "target": null }] + } + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.193", + "deps": [] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#tokio@1.35.0", + "deps": [ + { + "pkg": "registry+https://github.com/rust-lang/crates.io-index#pin-project-lite@0.2.13", + "dep_kinds": [{ "kind": null, "target": null }] + } + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#pin-project-lite@0.2.13", + "deps": [] + } + ] + } +} diff --git a/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_exhortignore/crate-a/Cargo.toml b/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_exhortignore/crate-a/Cargo.toml new file mode 100644 index 00000000..aad0c0e0 --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_exhortignore/crate-a/Cargo.toml @@ -0,0 +1,7 @@ +[package] +name = "crate-a" +version = "0.1.0" +edition = "2021" + +[dependencies] +serde = "1.0.193" # exhortignore diff --git a/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_exhortignore/crate-b/Cargo.toml b/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_exhortignore/crate-b/Cargo.toml new file mode 100644 index 00000000..8974ad47 --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_exhortignore/crate-b/Cargo.toml @@ -0,0 +1,7 @@ +[package] +name = "crate-b" +version = "0.2.0" +edition = "2021" + +[dependencies] +tokio = { version = "1.35.0", features = ["full"] } diff --git a/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_exhortignore/expected_sbom_component_analysis.json b/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_exhortignore/expected_sbom_component_analysis.json new file mode 100644 index 00000000..393fd914 --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_exhortignore/expected_sbom_component_analysis.json @@ -0,0 +1,17 @@ +{ + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-08-07T00:00:00.000Z", + "component": { + "name": "cargo_virtual_workspace_with_exhortignore", + "version": "0.0.0", + "purl": "pkg:cargo/cargo_virtual_workspace_with_exhortignore@0.0.0", + "type": "application", + "bom-ref": "pkg:cargo/cargo_virtual_workspace_with_exhortignore@0.0.0" + } + }, + "components": [], + "dependencies": [] +} diff --git a/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_exhortignore/expected_sbom_stack_analysis.json b/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_exhortignore/expected_sbom_stack_analysis.json new file mode 100644 index 00000000..ab6404bc --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_exhortignore/expected_sbom_stack_analysis.json @@ -0,0 +1,74 @@ +{ + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-08-07T00:00:00.000Z", + "component": { + "name": "cargo_virtual_workspace_with_exhortignore", + "version": "0.0.0", + "purl": "pkg:cargo/cargo_virtual_workspace_with_exhortignore@0.0.0", + "type": "application", + "bom-ref": "pkg:cargo/cargo_virtual_workspace_with_exhortignore@0.0.0" + } + }, + "components": [ + { + "name": "crate-a", + "version": "0.1.0", + "purl": "pkg:cargo/crate-a@0.1.0?repository_url=local", + "type": "library", + "bom-ref": "pkg:cargo/crate-a@0.1.0?repository_url=local" + }, + { + "name": "crate-b", + "version": "0.2.0", + "purl": "pkg:cargo/crate-b@0.2.0?repository_url=local", + "type": "library", + "bom-ref": "pkg:cargo/crate-b@0.2.0?repository_url=local" + }, + { + "name": "tokio", + "version": "1.35.0", + "purl": "pkg:cargo/tokio@1.35.0", + "type": "library", + "bom-ref": "pkg:cargo/tokio@1.35.0" + }, + { + "name": "pin-project-lite", + "version": "0.2.13", + "purl": "pkg:cargo/pin-project-lite@0.2.13", + "type": "library", + "bom-ref": "pkg:cargo/pin-project-lite@0.2.13" + } + ], + "dependencies": [ + { + "ref": "pkg:cargo/cargo_virtual_workspace_with_exhortignore@0.0.0", + "dependsOn": [ + "pkg:cargo/crate-a@0.1.0?repository_url=local", + "pkg:cargo/crate-b@0.2.0?repository_url=local" + ] + }, + { + "ref": "pkg:cargo/crate-a@0.1.0?repository_url=local", + "dependsOn": [] + }, + { + "ref": "pkg:cargo/crate-b@0.2.0?repository_url=local", + "dependsOn": [ + "pkg:cargo/tokio@1.35.0" + ] + }, + { + "ref": "pkg:cargo/tokio@1.35.0", + "dependsOn": [ + "pkg:cargo/pin-project-lite@0.2.13" + ] + }, + { + "ref": "pkg:cargo/pin-project-lite@0.2.13", + "dependsOn": [] + } + ] +} diff --git a/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_ignore/Cargo.lock b/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_ignore/Cargo.lock new file mode 100644 index 00000000..1fcedc5a --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_ignore/Cargo.lock @@ -0,0 +1,2 @@ +# This file is a placeholder for lock file validation. +# The actual dependency resolution is done by `cargo metadata`. diff --git a/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_ignore/Cargo.toml b/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_ignore/Cargo.toml new file mode 100644 index 00000000..76c52381 --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_ignore/Cargo.toml @@ -0,0 +1,6 @@ +[workspace] +members = [ + "crate-a", + "crate-b", +] +resolver = "2" diff --git a/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_ignore/cargo_metadata.json b/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_ignore/cargo_metadata.json new file mode 100644 index 00000000..25957c60 --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_ignore/cargo_metadata.json @@ -0,0 +1,90 @@ +{ + "packages": [ + { + "name": "crate-a", + "version": "0.1.0", + "id": "path+file:///fake/path/cargo_virtual_workspace_with_ignore/crate-a#0.1.0", + "source": null, + "dependencies": [ + { "name": "serde", "kind": null } + ] + }, + { + "name": "crate-b", + "version": "0.2.0", + "id": "path+file:///fake/path/cargo_virtual_workspace_with_ignore/crate-b#0.2.0", + "source": null, + "dependencies": [ + { "name": "tokio", "kind": null } + ] + }, + { + "name": "serde", + "version": "1.0.193", + "id": "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.193", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [] + }, + { + "name": "tokio", + "version": "1.35.0", + "id": "registry+https://github.com/rust-lang/crates.io-index#tokio@1.35.0", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { "name": "pin-project-lite", "kind": null } + ] + }, + { + "name": "pin-project-lite", + "version": "0.2.13", + "id": "registry+https://github.com/rust-lang/crates.io-index#pin-project-lite@0.2.13", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [] + } + ], + "workspace_members": [ + "path+file:///fake/path/cargo_virtual_workspace_with_ignore/crate-a#0.1.0", + "path+file:///fake/path/cargo_virtual_workspace_with_ignore/crate-b#0.2.0" + ], + "workspace_root": "/fake/path/cargo_virtual_workspace_with_ignore", + "resolve": { + "root": null, + "nodes": [ + { + "id": "path+file:///fake/path/cargo_virtual_workspace_with_ignore/crate-a#0.1.0", + "deps": [ + { + "pkg": "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.193", + "dep_kinds": [{ "kind": null, "target": null }] + } + ] + }, + { + "id": "path+file:///fake/path/cargo_virtual_workspace_with_ignore/crate-b#0.2.0", + "deps": [ + { + "pkg": "registry+https://github.com/rust-lang/crates.io-index#tokio@1.35.0", + "dep_kinds": [{ "kind": null, "target": null }] + } + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.193", + "deps": [] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#tokio@1.35.0", + "deps": [ + { + "pkg": "registry+https://github.com/rust-lang/crates.io-index#pin-project-lite@0.2.13", + "dep_kinds": [{ "kind": null, "target": null }] + } + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#pin-project-lite@0.2.13", + "deps": [] + } + ] + } +} diff --git a/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_ignore/crate-a/Cargo.toml b/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_ignore/crate-a/Cargo.toml new file mode 100644 index 00000000..226e8c62 --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_ignore/crate-a/Cargo.toml @@ -0,0 +1,7 @@ +[package] +name = "crate-a" +version = "0.1.0" +edition = "2021" + +[dependencies] +serde = "1.0.193" # trustify-da-ignore diff --git a/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_ignore/crate-b/Cargo.toml b/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_ignore/crate-b/Cargo.toml new file mode 100644 index 00000000..8974ad47 --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_ignore/crate-b/Cargo.toml @@ -0,0 +1,7 @@ +[package] +name = "crate-b" +version = "0.2.0" +edition = "2021" + +[dependencies] +tokio = { version = "1.35.0", features = ["full"] } diff --git a/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_ignore/expected_sbom_component_analysis.json b/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_ignore/expected_sbom_component_analysis.json new file mode 100644 index 00000000..c4dc2404 --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_ignore/expected_sbom_component_analysis.json @@ -0,0 +1,17 @@ +{ + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-08-07T00:00:00.000Z", + "component": { + "name": "cargo_virtual_workspace_with_ignore", + "version": "0.0.0", + "purl": "pkg:cargo/cargo_virtual_workspace_with_ignore@0.0.0", + "type": "application", + "bom-ref": "pkg:cargo/cargo_virtual_workspace_with_ignore@0.0.0" + } + }, + "components": [], + "dependencies": [] +} diff --git a/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_ignore/expected_sbom_stack_analysis.json b/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_ignore/expected_sbom_stack_analysis.json new file mode 100644 index 00000000..4d21014f --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_ignore/expected_sbom_stack_analysis.json @@ -0,0 +1,74 @@ +{ + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-08-07T00:00:00.000Z", + "component": { + "name": "cargo_virtual_workspace_with_ignore", + "version": "0.0.0", + "purl": "pkg:cargo/cargo_virtual_workspace_with_ignore@0.0.0", + "type": "application", + "bom-ref": "pkg:cargo/cargo_virtual_workspace_with_ignore@0.0.0" + } + }, + "components": [ + { + "name": "crate-a", + "version": "0.1.0", + "purl": "pkg:cargo/crate-a@0.1.0?repository_url=local", + "type": "library", + "bom-ref": "pkg:cargo/crate-a@0.1.0?repository_url=local" + }, + { + "name": "crate-b", + "version": "0.2.0", + "purl": "pkg:cargo/crate-b@0.2.0?repository_url=local", + "type": "library", + "bom-ref": "pkg:cargo/crate-b@0.2.0?repository_url=local" + }, + { + "name": "tokio", + "version": "1.35.0", + "purl": "pkg:cargo/tokio@1.35.0", + "type": "library", + "bom-ref": "pkg:cargo/tokio@1.35.0" + }, + { + "name": "pin-project-lite", + "version": "0.2.13", + "purl": "pkg:cargo/pin-project-lite@0.2.13", + "type": "library", + "bom-ref": "pkg:cargo/pin-project-lite@0.2.13" + } + ], + "dependencies": [ + { + "ref": "pkg:cargo/cargo_virtual_workspace_with_ignore@0.0.0", + "dependsOn": [ + "pkg:cargo/crate-a@0.1.0?repository_url=local", + "pkg:cargo/crate-b@0.2.0?repository_url=local" + ] + }, + { + "ref": "pkg:cargo/crate-a@0.1.0?repository_url=local", + "dependsOn": [] + }, + { + "ref": "pkg:cargo/crate-b@0.2.0?repository_url=local", + "dependsOn": [ + "pkg:cargo/tokio@1.35.0" + ] + }, + { + "ref": "pkg:cargo/tokio@1.35.0", + "dependsOn": [ + "pkg:cargo/pin-project-lite@0.2.13" + ] + }, + { + "ref": "pkg:cargo/pin-project-lite@0.2.13", + "dependsOn": [] + } + ] +} diff --git a/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_license/Cargo.lock b/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_license/Cargo.lock new file mode 100644 index 00000000..fdffa2a0 --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_license/Cargo.lock @@ -0,0 +1 @@ +# placeholder diff --git a/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_license/Cargo.toml b/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_license/Cargo.toml new file mode 100644 index 00000000..d1e1beca --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_license/Cargo.toml @@ -0,0 +1,13 @@ +[workspace] +members = [ + "crate-a", + "crate-b", +] +resolver = "2" + +[workspace.package] +license = "ISC" + +[workspace.dependencies] +serde = "1.0.193" +tokio = "1.35.0" diff --git a/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_license/cargo_metadata.json b/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_license/cargo_metadata.json new file mode 100644 index 00000000..9a4b6ea8 --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_license/cargo_metadata.json @@ -0,0 +1,90 @@ +{ + "packages": [ + { + "name": "crate-a", + "version": "0.1.0", + "id": "path+file:///fake/path/cargo_virtual_workspace_with_license/crate-a#0.1.0", + "source": null, + "dependencies": [ + { "name": "serde", "kind": null } + ] + }, + { + "name": "crate-b", + "version": "0.2.0", + "id": "path+file:///fake/path/cargo_virtual_workspace_with_license/crate-b#0.2.0", + "source": null, + "dependencies": [ + { "name": "tokio", "kind": null } + ] + }, + { + "name": "serde", + "version": "1.0.193", + "id": "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.193", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [] + }, + { + "name": "tokio", + "version": "1.35.0", + "id": "registry+https://github.com/rust-lang/crates.io-index#tokio@1.35.0", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { "name": "pin-project-lite", "kind": null } + ] + }, + { + "name": "pin-project-lite", + "version": "0.2.13", + "id": "registry+https://github.com/rust-lang/crates.io-index#pin-project-lite@0.2.13", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [] + } + ], + "workspace_members": [ + "path+file:///fake/path/cargo_virtual_workspace_with_license/crate-a#0.1.0", + "path+file:///fake/path/cargo_virtual_workspace_with_license/crate-b#0.2.0" + ], + "workspace_root": "/fake/path/cargo_virtual_workspace_with_license", + "resolve": { + "root": null, + "nodes": [ + { + "id": "path+file:///fake/path/cargo_virtual_workspace_with_license/crate-a#0.1.0", + "deps": [ + { + "pkg": "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.193", + "dep_kinds": [{ "kind": null, "target": null }] + } + ] + }, + { + "id": "path+file:///fake/path/cargo_virtual_workspace_with_license/crate-b#0.2.0", + "deps": [ + { + "pkg": "registry+https://github.com/rust-lang/crates.io-index#tokio@1.35.0", + "dep_kinds": [{ "kind": null, "target": null }] + } + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.193", + "deps": [] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#tokio@1.35.0", + "deps": [ + { + "pkg": "registry+https://github.com/rust-lang/crates.io-index#pin-project-lite@0.2.13", + "dep_kinds": [{ "kind": null, "target": null }] + } + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#pin-project-lite@0.2.13", + "deps": [] + } + ] + } +} diff --git a/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_license/expected_sbom_component_analysis.json b/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_license/expected_sbom_component_analysis.json new file mode 100644 index 00000000..e62fb38c --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_license/expected_sbom_component_analysis.json @@ -0,0 +1,55 @@ +{ + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-08-07T00:00:00.000Z", + "component": { + "name": "cargo_virtual_workspace_with_license", + "version": "0.0.0", + "purl": "pkg:cargo/cargo_virtual_workspace_with_license@0.0.0", + "type": "application", + "bom-ref": "pkg:cargo/cargo_virtual_workspace_with_license@0.0.0", + "licenses": [ + { + "license": { + "id": "ISC" + } + } + ] + } + }, + "components": [ + { + "name": "serde", + "version": "1.0.193", + "purl": "pkg:cargo/serde@1.0.193", + "type": "library", + "bom-ref": "pkg:cargo/serde@1.0.193" + }, + { + "name": "tokio", + "version": "1.35.0", + "purl": "pkg:cargo/tokio@1.35.0", + "type": "library", + "bom-ref": "pkg:cargo/tokio@1.35.0" + } + ], + "dependencies": [ + { + "ref": "pkg:cargo/cargo_virtual_workspace_with_license@0.0.0", + "dependsOn": [ + "pkg:cargo/serde@1.0.193", + "pkg:cargo/tokio@1.35.0" + ] + }, + { + "ref": "pkg:cargo/serde@1.0.193", + "dependsOn": [] + }, + { + "ref": "pkg:cargo/tokio@1.35.0", + "dependsOn": [] + } + ] +} diff --git a/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_license/expected_sbom_stack_analysis.json b/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_license/expected_sbom_stack_analysis.json new file mode 100644 index 00000000..dbf7119e --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_license/expected_sbom_stack_analysis.json @@ -0,0 +1,94 @@ +{ + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-08-07T00:00:00.000Z", + "component": { + "name": "cargo_virtual_workspace_with_license", + "version": "0.0.0", + "purl": "pkg:cargo/cargo_virtual_workspace_with_license@0.0.0", + "type": "application", + "bom-ref": "pkg:cargo/cargo_virtual_workspace_with_license@0.0.0", + "licenses": [ + { + "license": { + "id": "ISC" + } + } + ] + } + }, + "components": [ + { + "name": "crate-a", + "version": "0.1.0", + "purl": "pkg:cargo/crate-a@0.1.0?repository_url=local", + "type": "library", + "bom-ref": "pkg:cargo/crate-a@0.1.0?repository_url=local" + }, + { + "name": "serde", + "version": "1.0.193", + "purl": "pkg:cargo/serde@1.0.193", + "type": "library", + "bom-ref": "pkg:cargo/serde@1.0.193" + }, + { + "name": "crate-b", + "version": "0.2.0", + "purl": "pkg:cargo/crate-b@0.2.0?repository_url=local", + "type": "library", + "bom-ref": "pkg:cargo/crate-b@0.2.0?repository_url=local" + }, + { + "name": "tokio", + "version": "1.35.0", + "purl": "pkg:cargo/tokio@1.35.0", + "type": "library", + "bom-ref": "pkg:cargo/tokio@1.35.0" + }, + { + "name": "pin-project-lite", + "version": "0.2.13", + "purl": "pkg:cargo/pin-project-lite@0.2.13", + "type": "library", + "bom-ref": "pkg:cargo/pin-project-lite@0.2.13" + } + ], + "dependencies": [ + { + "ref": "pkg:cargo/cargo_virtual_workspace_with_license@0.0.0", + "dependsOn": [ + "pkg:cargo/crate-a@0.1.0?repository_url=local", + "pkg:cargo/crate-b@0.2.0?repository_url=local" + ] + }, + { + "ref": "pkg:cargo/crate-a@0.1.0?repository_url=local", + "dependsOn": [ + "pkg:cargo/serde@1.0.193" + ] + }, + { + "ref": "pkg:cargo/serde@1.0.193", + "dependsOn": [] + }, + { + "ref": "pkg:cargo/crate-b@0.2.0?repository_url=local", + "dependsOn": [ + "pkg:cargo/tokio@1.35.0" + ] + }, + { + "ref": "pkg:cargo/tokio@1.35.0", + "dependsOn": [ + "pkg:cargo/pin-project-lite@0.2.13" + ] + }, + { + "ref": "pkg:cargo/pin-project-lite@0.2.13", + "dependsOn": [] + } + ] +} diff --git a/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_workspace_deps/Cargo.lock b/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_workspace_deps/Cargo.lock new file mode 100644 index 00000000..fdffa2a0 --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_workspace_deps/Cargo.lock @@ -0,0 +1 @@ +# placeholder diff --git a/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_workspace_deps/Cargo.toml b/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_workspace_deps/Cargo.toml new file mode 100644 index 00000000..144ece21 --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_workspace_deps/Cargo.toml @@ -0,0 +1,10 @@ +[workspace] +members = [ + "crate-a", + "crate-b", +] +resolver = "2" + +[workspace.dependencies] +serde = "1.0.193" +tokio = { version = "1.35.0", features = ["full"] } diff --git a/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_workspace_deps/cargo_metadata.json b/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_workspace_deps/cargo_metadata.json new file mode 100644 index 00000000..5adcdd56 --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_workspace_deps/cargo_metadata.json @@ -0,0 +1,90 @@ +{ + "packages": [ + { + "name": "crate-a", + "version": "0.1.0", + "id": "path+file:///fake/path/cargo_virtual_workspace_with_workspace_deps/crate-a#0.1.0", + "source": null, + "dependencies": [ + { "name": "serde", "kind": null } + ] + }, + { + "name": "crate-b", + "version": "0.2.0", + "id": "path+file:///fake/path/cargo_virtual_workspace_with_workspace_deps/crate-b#0.2.0", + "source": null, + "dependencies": [ + { "name": "tokio", "kind": null } + ] + }, + { + "name": "serde", + "version": "1.0.193", + "id": "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.193", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [] + }, + { + "name": "tokio", + "version": "1.35.0", + "id": "registry+https://github.com/rust-lang/crates.io-index#tokio@1.35.0", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { "name": "pin-project-lite", "kind": null } + ] + }, + { + "name": "pin-project-lite", + "version": "0.2.13", + "id": "registry+https://github.com/rust-lang/crates.io-index#pin-project-lite@0.2.13", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [] + } + ], + "workspace_members": [ + "path+file:///fake/path/cargo_virtual_workspace_with_workspace_deps/crate-a#0.1.0", + "path+file:///fake/path/cargo_virtual_workspace_with_workspace_deps/crate-b#0.2.0" + ], + "workspace_root": "/fake/path/cargo_virtual_workspace_with_workspace_deps", + "resolve": { + "root": null, + "nodes": [ + { + "id": "path+file:///fake/path/cargo_virtual_workspace_with_workspace_deps/crate-a#0.1.0", + "deps": [ + { + "pkg": "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.193", + "dep_kinds": [{ "kind": null, "target": null }] + } + ] + }, + { + "id": "path+file:///fake/path/cargo_virtual_workspace_with_workspace_deps/crate-b#0.2.0", + "deps": [ + { + "pkg": "registry+https://github.com/rust-lang/crates.io-index#tokio@1.35.0", + "dep_kinds": [{ "kind": null, "target": null }] + } + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.193", + "deps": [] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#tokio@1.35.0", + "deps": [ + { + "pkg": "registry+https://github.com/rust-lang/crates.io-index#pin-project-lite@0.2.13", + "dep_kinds": [{ "kind": null, "target": null }] + } + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#pin-project-lite@0.2.13", + "deps": [] + } + ] + } +} diff --git a/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_workspace_deps/expected_sbom_component_analysis.json b/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_workspace_deps/expected_sbom_component_analysis.json new file mode 100644 index 00000000..931a51ab --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_workspace_deps/expected_sbom_component_analysis.json @@ -0,0 +1,48 @@ +{ + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-08-07T00:00:00.000Z", + "component": { + "name": "cargo_virtual_workspace_with_workspace_deps", + "version": "0.0.0", + "purl": "pkg:cargo/cargo_virtual_workspace_with_workspace_deps@0.0.0", + "type": "application", + "bom-ref": "pkg:cargo/cargo_virtual_workspace_with_workspace_deps@0.0.0" + } + }, + "components": [ + { + "name": "serde", + "version": "1.0.193", + "purl": "pkg:cargo/serde@1.0.193", + "type": "library", + "bom-ref": "pkg:cargo/serde@1.0.193" + }, + { + "name": "tokio", + "version": "1.35.0", + "purl": "pkg:cargo/tokio@1.35.0", + "type": "library", + "bom-ref": "pkg:cargo/tokio@1.35.0" + } + ], + "dependencies": [ + { + "ref": "pkg:cargo/cargo_virtual_workspace_with_workspace_deps@0.0.0", + "dependsOn": [ + "pkg:cargo/serde@1.0.193", + "pkg:cargo/tokio@1.35.0" + ] + }, + { + "ref": "pkg:cargo/serde@1.0.193", + "dependsOn": [] + }, + { + "ref": "pkg:cargo/tokio@1.35.0", + "dependsOn": [] + } + ] +} diff --git a/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_workspace_deps/expected_sbom_stack_analysis.json b/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_workspace_deps/expected_sbom_stack_analysis.json new file mode 100644 index 00000000..7bb82919 --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_virtual_workspace_with_workspace_deps/expected_sbom_stack_analysis.json @@ -0,0 +1,87 @@ +{ + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-08-07T00:00:00.000Z", + "component": { + "name": "cargo_virtual_workspace_with_workspace_deps", + "version": "0.0.0", + "purl": "pkg:cargo/cargo_virtual_workspace_with_workspace_deps@0.0.0", + "type": "application", + "bom-ref": "pkg:cargo/cargo_virtual_workspace_with_workspace_deps@0.0.0" + } + }, + "components": [ + { + "name": "crate-a", + "version": "0.1.0", + "purl": "pkg:cargo/crate-a@0.1.0?repository_url=local", + "type": "library", + "bom-ref": "pkg:cargo/crate-a@0.1.0?repository_url=local" + }, + { + "name": "serde", + "version": "1.0.193", + "purl": "pkg:cargo/serde@1.0.193", + "type": "library", + "bom-ref": "pkg:cargo/serde@1.0.193" + }, + { + "name": "crate-b", + "version": "0.2.0", + "purl": "pkg:cargo/crate-b@0.2.0?repository_url=local", + "type": "library", + "bom-ref": "pkg:cargo/crate-b@0.2.0?repository_url=local" + }, + { + "name": "tokio", + "version": "1.35.0", + "purl": "pkg:cargo/tokio@1.35.0", + "type": "library", + "bom-ref": "pkg:cargo/tokio@1.35.0" + }, + { + "name": "pin-project-lite", + "version": "0.2.13", + "purl": "pkg:cargo/pin-project-lite@0.2.13", + "type": "library", + "bom-ref": "pkg:cargo/pin-project-lite@0.2.13" + } + ], + "dependencies": [ + { + "ref": "pkg:cargo/cargo_virtual_workspace_with_workspace_deps@0.0.0", + "dependsOn": [ + "pkg:cargo/crate-a@0.1.0?repository_url=local", + "pkg:cargo/crate-b@0.2.0?repository_url=local" + ] + }, + { + "ref": "pkg:cargo/crate-a@0.1.0?repository_url=local", + "dependsOn": [ + "pkg:cargo/serde@1.0.193" + ] + }, + { + "ref": "pkg:cargo/serde@1.0.193", + "dependsOn": [] + }, + { + "ref": "pkg:cargo/crate-b@0.2.0?repository_url=local", + "dependsOn": [ + "pkg:cargo/tokio@1.35.0" + ] + }, + { + "ref": "pkg:cargo/tokio@1.35.0", + "dependsOn": [ + "pkg:cargo/pin-project-lite@0.2.13" + ] + }, + { + "ref": "pkg:cargo/pin-project-lite@0.2.13", + "dependsOn": [] + } + ] +} diff --git a/test/providers/tst_manifests/cargo/cargo_workspace_with_root/Cargo.lock b/test/providers/tst_manifests/cargo/cargo_workspace_with_root/Cargo.lock new file mode 100644 index 00000000..1fcedc5a --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_workspace_with_root/Cargo.lock @@ -0,0 +1,2 @@ +# This file is a placeholder for lock file validation. +# The actual dependency resolution is done by `cargo metadata`. diff --git a/test/providers/tst_manifests/cargo/cargo_workspace_with_root/Cargo.toml b/test/providers/tst_manifests/cargo/cargo_workspace_with_root/Cargo.toml new file mode 100644 index 00000000..b740cbb4 --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_workspace_with_root/Cargo.toml @@ -0,0 +1,16 @@ +[package] +name = "my-workspace-root" +version = "0.1.0" +edition = "2021" + +[workspace] +members = [ + "sub-crate", +] +resolver = "2" + +[dependencies] +serde = "1.0.193" + +[dev-dependencies] +tempfile = "3.8.0" diff --git a/test/providers/tst_manifests/cargo/cargo_workspace_with_root/cargo_metadata.json b/test/providers/tst_manifests/cargo/cargo_workspace_with_root/cargo_metadata.json new file mode 100644 index 00000000..ccd5d651 --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_workspace_with_root/cargo_metadata.json @@ -0,0 +1,106 @@ +{ + "packages": [ + { + "name": "my-workspace-root", + "version": "0.1.0", + "id": "path+file:///fake/path/cargo_workspace_with_root#my-workspace-root@0.1.0", + "source": null, + "dependencies": [ + { "name": "serde", "kind": null }, + { "name": "tempfile", "kind": "dev" } + ] + }, + { + "name": "sub-crate", + "version": "0.1.0", + "id": "path+file:///fake/path/cargo_workspace_with_root/sub-crate#0.1.0", + "source": null, + "dependencies": [ + { "name": "tokio", "kind": null } + ] + }, + { + "name": "serde", + "version": "1.0.193", + "id": "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.193", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [] + }, + { + "name": "tokio", + "version": "1.35.0", + "id": "registry+https://github.com/rust-lang/crates.io-index#tokio@1.35.0", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { "name": "pin-project-lite", "kind": null } + ] + }, + { + "name": "pin-project-lite", + "version": "0.2.13", + "id": "registry+https://github.com/rust-lang/crates.io-index#pin-project-lite@0.2.13", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [] + }, + { + "name": "tempfile", + "version": "3.8.0", + "id": "registry+https://github.com/rust-lang/crates.io-index#tempfile@3.8.0", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [] + } + ], + "workspace_members": [ + "path+file:///fake/path/cargo_workspace_with_root#my-workspace-root@0.1.0", + "path+file:///fake/path/cargo_workspace_with_root/sub-crate#0.1.0" + ], + "workspace_root": "/fake/path/cargo_workspace_with_root", + "resolve": { + "root": "path+file:///fake/path/cargo_workspace_with_root#my-workspace-root@0.1.0", + "nodes": [ + { + "id": "path+file:///fake/path/cargo_workspace_with_root#my-workspace-root@0.1.0", + "deps": [ + { + "pkg": "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.193", + "dep_kinds": [{ "kind": null, "target": null }] + }, + { + "pkg": "registry+https://github.com/rust-lang/crates.io-index#tempfile@3.8.0", + "dep_kinds": [{ "kind": "dev", "target": null }] + } + ] + }, + { + "id": "path+file:///fake/path/cargo_workspace_with_root/sub-crate#0.1.0", + "deps": [ + { + "pkg": "registry+https://github.com/rust-lang/crates.io-index#tokio@1.35.0", + "dep_kinds": [{ "kind": null, "target": null }] + } + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.193", + "deps": [] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#tokio@1.35.0", + "deps": [ + { + "pkg": "registry+https://github.com/rust-lang/crates.io-index#pin-project-lite@0.2.13", + "dep_kinds": [{ "kind": null, "target": null }] + } + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#pin-project-lite@0.2.13", + "deps": [] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#tempfile@3.8.0", + "deps": [] + } + ] + } +} diff --git a/test/providers/tst_manifests/cargo/cargo_workspace_with_root/expected_sbom_component_analysis.json b/test/providers/tst_manifests/cargo/cargo_workspace_with_root/expected_sbom_component_analysis.json new file mode 100644 index 00000000..404f244c --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_workspace_with_root/expected_sbom_component_analysis.json @@ -0,0 +1,36 @@ +{ + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-08-07T00:00:00.000Z", + "component": { + "name": "my-workspace-root", + "version": "0.1.0", + "purl": "pkg:cargo/my-workspace-root@0.1.0", + "type": "application", + "bom-ref": "pkg:cargo/my-workspace-root@0.1.0" + } + }, + "components": [ + { + "name": "serde", + "version": "1.0.193", + "purl": "pkg:cargo/serde@1.0.193", + "type": "library", + "bom-ref": "pkg:cargo/serde@1.0.193" + } + ], + "dependencies": [ + { + "ref": "pkg:cargo/my-workspace-root@0.1.0", + "dependsOn": [ + "pkg:cargo/serde@1.0.193" + ] + }, + { + "ref": "pkg:cargo/serde@1.0.193", + "dependsOn": [] + } + ] +} diff --git a/test/providers/tst_manifests/cargo/cargo_workspace_with_root/expected_sbom_stack_analysis.json b/test/providers/tst_manifests/cargo/cargo_workspace_with_root/expected_sbom_stack_analysis.json new file mode 100644 index 00000000..404f244c --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_workspace_with_root/expected_sbom_stack_analysis.json @@ -0,0 +1,36 @@ +{ + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-08-07T00:00:00.000Z", + "component": { + "name": "my-workspace-root", + "version": "0.1.0", + "purl": "pkg:cargo/my-workspace-root@0.1.0", + "type": "application", + "bom-ref": "pkg:cargo/my-workspace-root@0.1.0" + } + }, + "components": [ + { + "name": "serde", + "version": "1.0.193", + "purl": "pkg:cargo/serde@1.0.193", + "type": "library", + "bom-ref": "pkg:cargo/serde@1.0.193" + } + ], + "dependencies": [ + { + "ref": "pkg:cargo/my-workspace-root@0.1.0", + "dependsOn": [ + "pkg:cargo/serde@1.0.193" + ] + }, + { + "ref": "pkg:cargo/serde@1.0.193", + "dependsOn": [] + } + ] +} diff --git a/test/providers/tst_manifests/cargo/cargo_workspace_with_root/sub-crate/Cargo.toml b/test/providers/tst_manifests/cargo/cargo_workspace_with_root/sub-crate/Cargo.toml new file mode 100644 index 00000000..2ffba0bf --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_workspace_with_root/sub-crate/Cargo.toml @@ -0,0 +1,7 @@ +[package] +name = "sub-crate" +version = "0.1.0" +edition = "2021" + +[dependencies] +tokio = { version = "1.35.0", features = ["full"] } diff --git a/test/providers/tst_manifests/cargo/cargo_workspace_with_root_exhortignore/Cargo.lock b/test/providers/tst_manifests/cargo/cargo_workspace_with_root_exhortignore/Cargo.lock new file mode 100644 index 00000000..1fcedc5a --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_workspace_with_root_exhortignore/Cargo.lock @@ -0,0 +1,2 @@ +# This file is a placeholder for lock file validation. +# The actual dependency resolution is done by `cargo metadata`. diff --git a/test/providers/tst_manifests/cargo/cargo_workspace_with_root_exhortignore/Cargo.toml b/test/providers/tst_manifests/cargo/cargo_workspace_with_root_exhortignore/Cargo.toml new file mode 100644 index 00000000..d206dacc --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_workspace_with_root_exhortignore/Cargo.toml @@ -0,0 +1,16 @@ +[package] +name = "my-workspace-root" +version = "0.1.0" +edition = "2021" + +[workspace] +members = [ + "sub-crate", +] +resolver = "2" + +[dependencies] +serde = "1.0.193" # exhortignore + +[dev-dependencies] +tempfile = "3.8.0" diff --git a/test/providers/tst_manifests/cargo/cargo_workspace_with_root_exhortignore/cargo_metadata.json b/test/providers/tst_manifests/cargo/cargo_workspace_with_root_exhortignore/cargo_metadata.json new file mode 100644 index 00000000..ccd5d651 --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_workspace_with_root_exhortignore/cargo_metadata.json @@ -0,0 +1,106 @@ +{ + "packages": [ + { + "name": "my-workspace-root", + "version": "0.1.0", + "id": "path+file:///fake/path/cargo_workspace_with_root#my-workspace-root@0.1.0", + "source": null, + "dependencies": [ + { "name": "serde", "kind": null }, + { "name": "tempfile", "kind": "dev" } + ] + }, + { + "name": "sub-crate", + "version": "0.1.0", + "id": "path+file:///fake/path/cargo_workspace_with_root/sub-crate#0.1.0", + "source": null, + "dependencies": [ + { "name": "tokio", "kind": null } + ] + }, + { + "name": "serde", + "version": "1.0.193", + "id": "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.193", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [] + }, + { + "name": "tokio", + "version": "1.35.0", + "id": "registry+https://github.com/rust-lang/crates.io-index#tokio@1.35.0", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { "name": "pin-project-lite", "kind": null } + ] + }, + { + "name": "pin-project-lite", + "version": "0.2.13", + "id": "registry+https://github.com/rust-lang/crates.io-index#pin-project-lite@0.2.13", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [] + }, + { + "name": "tempfile", + "version": "3.8.0", + "id": "registry+https://github.com/rust-lang/crates.io-index#tempfile@3.8.0", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [] + } + ], + "workspace_members": [ + "path+file:///fake/path/cargo_workspace_with_root#my-workspace-root@0.1.0", + "path+file:///fake/path/cargo_workspace_with_root/sub-crate#0.1.0" + ], + "workspace_root": "/fake/path/cargo_workspace_with_root", + "resolve": { + "root": "path+file:///fake/path/cargo_workspace_with_root#my-workspace-root@0.1.0", + "nodes": [ + { + "id": "path+file:///fake/path/cargo_workspace_with_root#my-workspace-root@0.1.0", + "deps": [ + { + "pkg": "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.193", + "dep_kinds": [{ "kind": null, "target": null }] + }, + { + "pkg": "registry+https://github.com/rust-lang/crates.io-index#tempfile@3.8.0", + "dep_kinds": [{ "kind": "dev", "target": null }] + } + ] + }, + { + "id": "path+file:///fake/path/cargo_workspace_with_root/sub-crate#0.1.0", + "deps": [ + { + "pkg": "registry+https://github.com/rust-lang/crates.io-index#tokio@1.35.0", + "dep_kinds": [{ "kind": null, "target": null }] + } + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.193", + "deps": [] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#tokio@1.35.0", + "deps": [ + { + "pkg": "registry+https://github.com/rust-lang/crates.io-index#pin-project-lite@0.2.13", + "dep_kinds": [{ "kind": null, "target": null }] + } + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#pin-project-lite@0.2.13", + "deps": [] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#tempfile@3.8.0", + "deps": [] + } + ] + } +} diff --git a/test/providers/tst_manifests/cargo/cargo_workspace_with_root_exhortignore/expected_sbom_component_analysis.json b/test/providers/tst_manifests/cargo/cargo_workspace_with_root_exhortignore/expected_sbom_component_analysis.json new file mode 100644 index 00000000..bed146db --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_workspace_with_root_exhortignore/expected_sbom_component_analysis.json @@ -0,0 +1,17 @@ +{ + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-08-07T00:00:00.000Z", + "component": { + "name": "my-workspace-root", + "version": "0.1.0", + "purl": "pkg:cargo/my-workspace-root@0.1.0", + "type": "application", + "bom-ref": "pkg:cargo/my-workspace-root@0.1.0" + } + }, + "components": [], + "dependencies": [] +} diff --git a/test/providers/tst_manifests/cargo/cargo_workspace_with_root_exhortignore/expected_sbom_stack_analysis.json b/test/providers/tst_manifests/cargo/cargo_workspace_with_root_exhortignore/expected_sbom_stack_analysis.json new file mode 100644 index 00000000..bed146db --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_workspace_with_root_exhortignore/expected_sbom_stack_analysis.json @@ -0,0 +1,17 @@ +{ + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-08-07T00:00:00.000Z", + "component": { + "name": "my-workspace-root", + "version": "0.1.0", + "purl": "pkg:cargo/my-workspace-root@0.1.0", + "type": "application", + "bom-ref": "pkg:cargo/my-workspace-root@0.1.0" + } + }, + "components": [], + "dependencies": [] +} diff --git a/test/providers/tst_manifests/cargo/cargo_workspace_with_root_exhortignore/sub-crate/Cargo.toml b/test/providers/tst_manifests/cargo/cargo_workspace_with_root_exhortignore/sub-crate/Cargo.toml new file mode 100644 index 00000000..2ffba0bf --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_workspace_with_root_exhortignore/sub-crate/Cargo.toml @@ -0,0 +1,7 @@ +[package] +name = "sub-crate" +version = "0.1.0" +edition = "2021" + +[dependencies] +tokio = { version = "1.35.0", features = ["full"] } diff --git a/test/providers/tst_manifests/cargo/cargo_workspace_with_root_ignore/Cargo.lock b/test/providers/tst_manifests/cargo/cargo_workspace_with_root_ignore/Cargo.lock new file mode 100644 index 00000000..1fcedc5a --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_workspace_with_root_ignore/Cargo.lock @@ -0,0 +1,2 @@ +# This file is a placeholder for lock file validation. +# The actual dependency resolution is done by `cargo metadata`. diff --git a/test/providers/tst_manifests/cargo/cargo_workspace_with_root_ignore/Cargo.toml b/test/providers/tst_manifests/cargo/cargo_workspace_with_root_ignore/Cargo.toml new file mode 100644 index 00000000..b744b480 --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_workspace_with_root_ignore/Cargo.toml @@ -0,0 +1,16 @@ +[package] +name = "my-workspace-root" +version = "0.1.0" +edition = "2021" + +[workspace] +members = [ + "sub-crate", +] +resolver = "2" + +[dependencies] +serde = "1.0.193" # trustify-da-ignore + +[dev-dependencies] +tempfile = "3.8.0" diff --git a/test/providers/tst_manifests/cargo/cargo_workspace_with_root_ignore/cargo_metadata.json b/test/providers/tst_manifests/cargo/cargo_workspace_with_root_ignore/cargo_metadata.json new file mode 100644 index 00000000..ccd5d651 --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_workspace_with_root_ignore/cargo_metadata.json @@ -0,0 +1,106 @@ +{ + "packages": [ + { + "name": "my-workspace-root", + "version": "0.1.0", + "id": "path+file:///fake/path/cargo_workspace_with_root#my-workspace-root@0.1.0", + "source": null, + "dependencies": [ + { "name": "serde", "kind": null }, + { "name": "tempfile", "kind": "dev" } + ] + }, + { + "name": "sub-crate", + "version": "0.1.0", + "id": "path+file:///fake/path/cargo_workspace_with_root/sub-crate#0.1.0", + "source": null, + "dependencies": [ + { "name": "tokio", "kind": null } + ] + }, + { + "name": "serde", + "version": "1.0.193", + "id": "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.193", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [] + }, + { + "name": "tokio", + "version": "1.35.0", + "id": "registry+https://github.com/rust-lang/crates.io-index#tokio@1.35.0", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [ + { "name": "pin-project-lite", "kind": null } + ] + }, + { + "name": "pin-project-lite", + "version": "0.2.13", + "id": "registry+https://github.com/rust-lang/crates.io-index#pin-project-lite@0.2.13", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [] + }, + { + "name": "tempfile", + "version": "3.8.0", + "id": "registry+https://github.com/rust-lang/crates.io-index#tempfile@3.8.0", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "dependencies": [] + } + ], + "workspace_members": [ + "path+file:///fake/path/cargo_workspace_with_root#my-workspace-root@0.1.0", + "path+file:///fake/path/cargo_workspace_with_root/sub-crate#0.1.0" + ], + "workspace_root": "/fake/path/cargo_workspace_with_root", + "resolve": { + "root": "path+file:///fake/path/cargo_workspace_with_root#my-workspace-root@0.1.0", + "nodes": [ + { + "id": "path+file:///fake/path/cargo_workspace_with_root#my-workspace-root@0.1.0", + "deps": [ + { + "pkg": "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.193", + "dep_kinds": [{ "kind": null, "target": null }] + }, + { + "pkg": "registry+https://github.com/rust-lang/crates.io-index#tempfile@3.8.0", + "dep_kinds": [{ "kind": "dev", "target": null }] + } + ] + }, + { + "id": "path+file:///fake/path/cargo_workspace_with_root/sub-crate#0.1.0", + "deps": [ + { + "pkg": "registry+https://github.com/rust-lang/crates.io-index#tokio@1.35.0", + "dep_kinds": [{ "kind": null, "target": null }] + } + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#serde@1.0.193", + "deps": [] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#tokio@1.35.0", + "deps": [ + { + "pkg": "registry+https://github.com/rust-lang/crates.io-index#pin-project-lite@0.2.13", + "dep_kinds": [{ "kind": null, "target": null }] + } + ] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#pin-project-lite@0.2.13", + "deps": [] + }, + { + "id": "registry+https://github.com/rust-lang/crates.io-index#tempfile@3.8.0", + "deps": [] + } + ] + } +} diff --git a/test/providers/tst_manifests/cargo/cargo_workspace_with_root_ignore/expected_sbom_component_analysis.json b/test/providers/tst_manifests/cargo/cargo_workspace_with_root_ignore/expected_sbom_component_analysis.json new file mode 100644 index 00000000..bed146db --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_workspace_with_root_ignore/expected_sbom_component_analysis.json @@ -0,0 +1,17 @@ +{ + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-08-07T00:00:00.000Z", + "component": { + "name": "my-workspace-root", + "version": "0.1.0", + "purl": "pkg:cargo/my-workspace-root@0.1.0", + "type": "application", + "bom-ref": "pkg:cargo/my-workspace-root@0.1.0" + } + }, + "components": [], + "dependencies": [] +} diff --git a/test/providers/tst_manifests/cargo/cargo_workspace_with_root_ignore/expected_sbom_stack_analysis.json b/test/providers/tst_manifests/cargo/cargo_workspace_with_root_ignore/expected_sbom_stack_analysis.json new file mode 100644 index 00000000..bed146db --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_workspace_with_root_ignore/expected_sbom_stack_analysis.json @@ -0,0 +1,17 @@ +{ + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-08-07T00:00:00.000Z", + "component": { + "name": "my-workspace-root", + "version": "0.1.0", + "purl": "pkg:cargo/my-workspace-root@0.1.0", + "type": "application", + "bom-ref": "pkg:cargo/my-workspace-root@0.1.0" + } + }, + "components": [], + "dependencies": [] +} diff --git a/test/providers/tst_manifests/cargo/cargo_workspace_with_root_ignore/sub-crate/Cargo.toml b/test/providers/tst_manifests/cargo/cargo_workspace_with_root_ignore/sub-crate/Cargo.toml new file mode 100644 index 00000000..2ffba0bf --- /dev/null +++ b/test/providers/tst_manifests/cargo/cargo_workspace_with_root_ignore/sub-crate/Cargo.toml @@ -0,0 +1,7 @@ +[package] +name = "sub-crate" +version = "0.1.0" +edition = "2021" + +[dependencies] +tokio = { version = "1.35.0", features = ["full"] } diff --git a/test/providers/tst_manifests/golang/go_mod_empty/expected_sbom_component_analysis.json b/test/providers/tst_manifests/golang/go_mod_empty/expected_sbom_component_analysis.json new file mode 100644 index 00000000..ad6260a1 --- /dev/null +++ b/test/providers/tst_manifests/golang/go_mod_empty/expected_sbom_component_analysis.json @@ -0,0 +1,18 @@ +{ + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-08-07T00:00:00.000Z", + "component": { + "group": "github.com/sample", + "name": "empty-module", + "version": "v0.0.0", + "purl": "pkg:golang/github.com/sample/empty-module@v0.0.0", + "type": "application", + "bom-ref": "pkg:golang/github.com/sample/empty-module@v0.0.0" + } + }, + "components": [], + "dependencies": [] +} diff --git a/test/providers/tst_manifests/golang/go_mod_empty/expected_sbom_stack_analysis.json b/test/providers/tst_manifests/golang/go_mod_empty/expected_sbom_stack_analysis.json new file mode 100644 index 00000000..ad6260a1 --- /dev/null +++ b/test/providers/tst_manifests/golang/go_mod_empty/expected_sbom_stack_analysis.json @@ -0,0 +1,18 @@ +{ + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-08-07T00:00:00.000Z", + "component": { + "group": "github.com/sample", + "name": "empty-module", + "version": "v0.0.0", + "purl": "pkg:golang/github.com/sample/empty-module@v0.0.0", + "type": "application", + "bom-ref": "pkg:golang/github.com/sample/empty-module@v0.0.0" + } + }, + "components": [], + "dependencies": [] +} diff --git a/test/providers/tst_manifests/golang/go_mod_empty/go.mod b/test/providers/tst_manifests/golang/go_mod_empty/go.mod new file mode 100644 index 00000000..0220501d --- /dev/null +++ b/test/providers/tst_manifests/golang/go_mod_empty/go.mod @@ -0,0 +1,3 @@ +module github.com/sample/empty-module + +go 1.20 diff --git a/test/providers/tst_manifests/golang/go_mod_light_no_ignore/expected_sbom_component_analysis.json b/test/providers/tst_manifests/golang/go_mod_light_no_ignore/expected_sbom_component_analysis.json index 24b72404..e47ebce4 100644 --- a/test/providers/tst_manifests/golang/go_mod_light_no_ignore/expected_sbom_component_analysis.json +++ b/test/providers/tst_manifests/golang/go_mod_light_no_ignore/expected_sbom_component_analysis.json @@ -1,72 +1,51 @@ { - "bomFormat" : "CycloneDX", - "specVersion" : "1.4", - "version" : 1, - "metadata" : { - "timestamp" : "2023-08-07T00:00:00.000Z", - "component" : { - "group" : "golang.org/x", - "name" : "example", - "version" : "v0.0.0", - "purl" : "pkg:golang/golang.org/x/example@v0.0.0", - "type" : "application", - "bom-ref" : "pkg:golang/golang.org/x/example@v0.0.0" - } - }, - "components" : [ - { - "group" : "golang.org/x", - "name" : "example", - "version" : "v0.0.0", - "purl" : "pkg:golang/golang.org/x/example@v0.0.0", - "type" : "application", - "bom-ref" : "pkg:golang/golang.org/x/example@v0.0.0" + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-08-07T00:00:00.000Z", + "component": { + "group": "golang.org/x", + "name": "example", + "version": "v0.0.0", + "purl": "pkg:golang/golang.org/x/example@v0.0.0", + "type": "application", + "bom-ref": "pkg:golang/golang.org/x/example@v0.0.0" + } }, - { - "group" : "github.com/spf13", - "name" : "cobra", - "version" : "v0.0.5", - "purl" : "pkg:golang/github.com/spf13/cobra@v0.0.5", - "type" : "library", - "bom-ref" : "pkg:golang/github.com/spf13/cobra@v0.0.5" - }, - { - "group" : "golang.org/x", - "name" : "tools", - "version" : "v0.0.0-20210112183307-1e6ecd4bf1b0", - "purl" : "pkg:golang/golang.org/x/tools@v0.0.0-20210112183307-1e6ecd4bf1b0", - "type" : "library", - "bom-ref" : "pkg:golang/golang.org/x/tools@v0.0.0-20210112183307-1e6ecd4bf1b0" - }, - { - "group" : "gopkg.in", - "name" : "yaml.v3", - "version" : "v3.0.1", - "purl" : "pkg:golang/gopkg.in/yaml.v3@v3.0.1", - "type" : "library", - "bom-ref" : "pkg:golang/gopkg.in/yaml.v3@v3.0.1" - } - ], - "dependencies" : [ - { - "ref" : "pkg:golang/golang.org/x/example@v0.0.0", - "dependsOn" : [ - "pkg:golang/github.com/spf13/cobra@v0.0.5", - "pkg:golang/golang.org/x/tools@v0.0.0-20210112183307-1e6ecd4bf1b0", - "pkg:golang/gopkg.in/yaml.v3@v3.0.1" - ] - }, - { - "ref" : "pkg:golang/github.com/spf13/cobra@v0.0.5", - "dependsOn" : [ ] - }, - { - "ref" : "pkg:golang/golang.org/x/tools@v0.0.0-20210112183307-1e6ecd4bf1b0", - "dependsOn" : [ ] - }, - { - "ref" : "pkg:golang/gopkg.in/yaml.v3@v3.0.1", - "dependsOn" : [ ] - } - ] + "components": [ + { + "group": "github.com/spf13", + "name": "cobra", + "version": "v0.0.5", + "purl": "pkg:golang/github.com/spf13/cobra@v0.0.5", + "type": "library", + "bom-ref": "pkg:golang/github.com/spf13/cobra@v0.0.5" + }, + { + "group": "golang.org/x", + "name": "tools", + "version": "v0.0.0-20210112183307-1e6ecd4bf1b0", + "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20210112183307-1e6ecd4bf1b0", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20210112183307-1e6ecd4bf1b0" + } + ], + "dependencies": [ + { + "ref": "pkg:golang/golang.org/x/example@v0.0.0", + "dependsOn": [ + "pkg:golang/github.com/spf13/cobra@v0.0.5", + "pkg:golang/golang.org/x/tools@v0.0.0-20210112183307-1e6ecd4bf1b0" + ] + }, + { + "ref": "pkg:golang/github.com/spf13/cobra@v0.0.5", + "dependsOn": [] + }, + { + "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20210112183307-1e6ecd4bf1b0", + "dependsOn": [] + } + ] } diff --git a/test/providers/tst_manifests/golang/go_mod_light_no_ignore/expected_sbom_stack_analysis.json b/test/providers/tst_manifests/golang/go_mod_light_no_ignore/expected_sbom_stack_analysis.json index 842251a8..71d593e9 100644 --- a/test/providers/tst_manifests/golang/go_mod_light_no_ignore/expected_sbom_stack_analysis.json +++ b/test/providers/tst_manifests/golang/go_mod_light_no_ignore/expected_sbom_stack_analysis.json @@ -1,724 +1,531 @@ { - "bomFormat": "CycloneDX", - "specVersion": "1.4", - "version": 1, - "metadata": { - "timestamp": "2023-08-07T00:00:00.000Z", - "component": { - "group": "golang.org/x", - "name": "example", - "version": "v0.0.0", - "purl": "pkg:golang/golang.org/x/example@v0.0.0", - "type": "application", - "bom-ref": "pkg:golang/golang.org/x/example@v0.0.0" - } - }, - "components": [ - { - "group": "golang.org/x", - "name": "example", - "version": "v0.0.0", - "purl": "pkg:golang/golang.org/x/example@v0.0.0", - "type": "application", - "bom-ref": "pkg:golang/golang.org/x/example@v0.0.0" - }, - { - "group": "github.com/spf13", - "name": "cobra", - "version": "v0.0.5", - "purl": "pkg:golang/github.com/spf13/cobra@v0.0.5", - "type": "library", - "bom-ref": "pkg:golang/github.com/spf13/cobra@v0.0.5" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20210112183307-1e6ecd4bf1b0", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20210112183307-1e6ecd4bf1b0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20210112183307-1e6ecd4bf1b0" - }, - { - "group": "gopkg.in", - "name": "yaml.v3", - "version": "v3.0.1", - "purl": "pkg:golang/gopkg.in/yaml.v3@v3.0.1", - "type": "library", - "bom-ref": "pkg:golang/gopkg.in/yaml.v3@v3.0.1" - }, - { - "group": "github.com/BurntSushi", - "name": "toml", - "version": "v0.3.1", - "purl": "pkg:golang/github.com/BurntSushi/toml@v0.3.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/BurntSushi/toml@v0.3.1" - }, - { - "group": "github.com/cpuguy83", - "name": "go-md2man", - "version": "v1.0.10", - "purl": "pkg:golang/github.com/cpuguy83/go-md2man@v1.0.10", - "type": "library", - "bom-ref": "pkg:golang/github.com/cpuguy83/go-md2man@v1.0.10" - }, - { - "group": "github.com/inconshreveable", - "name": "mousetrap", - "version": "v1.0.0", - "purl": "pkg:golang/github.com/inconshreveable/mousetrap@v1.0.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/inconshreveable/mousetrap@v1.0.0" - }, - { - "group": "github.com/mitchellh", - "name": "go-homedir", - "version": "v1.1.0", - "purl": "pkg:golang/github.com/mitchellh/go-homedir@v1.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/mitchellh/go-homedir@v1.1.0" - }, - { - "group": "github.com/spf13", - "name": "pflag", - "version": "v1.0.3", - "purl": "pkg:golang/github.com/spf13/pflag@v1.0.3", - "type": "library", - "bom-ref": "pkg:golang/github.com/spf13/pflag@v1.0.3" - }, - { - "group": "github.com/spf13", - "name": "viper", - "version": "v1.3.2", - "purl": "pkg:golang/github.com/spf13/viper@v1.3.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/spf13/viper@v1.3.2" - }, - { - "group": "gopkg.in", - "name": "yaml.v2", - "version": "v2.2.2", - "purl": "pkg:golang/gopkg.in/yaml.v2@v2.2.2", - "type": "library", - "bom-ref": "pkg:golang/gopkg.in/yaml.v2@v2.2.2" - }, - { - "group": "github.com/yuin", - "name": "goldmark", - "version": "v1.2.1", - "purl": "pkg:golang/github.com/yuin/goldmark@v1.2.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/yuin/goldmark@v1.2.1" - }, - { - "group": "golang.org/x", - "name": "mod", - "version": "v0.3.0", - "purl": "pkg:golang/golang.org/x/mod@v0.3.0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/mod@v0.3.0" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20201021035429-f5854403a974", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20201021035429-f5854403a974", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20201021035429-f5854403a974" - }, - { - "group": "golang.org/x", - "name": "sync", - "version": "v0.0.0-20201020160332-67f06af15bc9", - "purl": "pkg:golang/golang.org/x/sync@v0.0.0-20201020160332-67f06af15bc9", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sync@v0.0.0-20201020160332-67f06af15bc9" - }, - { - "group": "golang.org/x", - "name": "xerrors", - "version": "v0.0.0-20200804184101-5ec99f83aff1", - "purl": "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1" - }, - { - "group": "gopkg.in", - "name": "check.v1", - "version": "v0.0.0-20161208181325-20d25e280405", - "purl": "pkg:golang/gopkg.in/check.v1@v0.0.0-20161208181325-20d25e280405", - "type": "library", - "bom-ref": "pkg:golang/gopkg.in/check.v1@v0.0.0-20161208181325-20d25e280405" - }, - { - "group": "github.com/russross", - "name": "blackfriday", - "version": "v1.5.2", - "purl": "pkg:golang/github.com/russross/blackfriday@v1.5.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/russross/blackfriday@v1.5.2" - }, - { - "group": "github.com/armon", - "name": "consul-api", - "version": "v0.0.0-20180202201655-eb2c6b5be1b6", - "purl": "pkg:golang/github.com/armon/consul-api@v0.0.0-20180202201655-eb2c6b5be1b6", - "type": "library", - "bom-ref": "pkg:golang/github.com/armon/consul-api@v0.0.0-20180202201655-eb2c6b5be1b6" - }, - { - "group": "github.com/coreos", - "name": "etcd", - "version": "v3.3.10+incompatible", - "purl": "pkg:golang/github.com/coreos/etcd@v3.3.10%2Bincompatible", - "type": "library", - "bom-ref": "pkg:golang/github.com/coreos/etcd@v3.3.10%2Bincompatible" - }, - { - "group": "github.com/coreos", - "name": "go-etcd", - "version": "v2.0.0+incompatible", - "purl": "pkg:golang/github.com/coreos/go-etcd@v2.0.0%2Bincompatible", - "type": "library", - "bom-ref": "pkg:golang/github.com/coreos/go-etcd@v2.0.0%2Bincompatible" - }, - { - "group": "github.com/coreos", - "name": "go-semver", - "version": "v0.2.0", - "purl": "pkg:golang/github.com/coreos/go-semver@v0.2.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/coreos/go-semver@v0.2.0" - }, - { - "group": "github.com/fsnotify", - "name": "fsnotify", - "version": "v1.4.7", - "purl": "pkg:golang/github.com/fsnotify/fsnotify@v1.4.7", - "type": "library", - "bom-ref": "pkg:golang/github.com/fsnotify/fsnotify@v1.4.7" - }, - { - "group": "github.com/hashicorp", - "name": "hcl", - "version": "v1.0.0", - "purl": "pkg:golang/github.com/hashicorp/hcl@v1.0.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/hashicorp/hcl@v1.0.0" - }, - { - "group": "github.com/magiconair", - "name": "properties", - "version": "v1.8.0", - "purl": "pkg:golang/github.com/magiconair/properties@v1.8.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/magiconair/properties@v1.8.0" - }, - { - "group": "github.com/mitchellh", - "name": "mapstructure", - "version": "v1.1.2", - "purl": "pkg:golang/github.com/mitchellh/mapstructure@v1.1.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/mitchellh/mapstructure@v1.1.2" - }, - { - "group": "github.com/pelletier", - "name": "go-toml", - "version": "v1.2.0", - "purl": "pkg:golang/github.com/pelletier/go-toml@v1.2.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/pelletier/go-toml@v1.2.0" - }, - { - "group": "github.com/spf13", - "name": "afero", - "version": "v1.1.2", - "purl": "pkg:golang/github.com/spf13/afero@v1.1.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/spf13/afero@v1.1.2" - }, - { - "group": "github.com/spf13", - "name": "cast", - "version": "v1.3.0", - "purl": "pkg:golang/github.com/spf13/cast@v1.3.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/spf13/cast@v1.3.0" - }, - { - "group": "github.com/spf13", - "name": "jwalterweatherman", - "version": "v1.0.0", - "purl": "pkg:golang/github.com/spf13/jwalterweatherman@v1.0.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/spf13/jwalterweatherman@v1.0.0" - }, - { - "group": "github.com/stretchr", - "name": "testify", - "version": "v1.2.2", - "purl": "pkg:golang/github.com/stretchr/testify@v1.2.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/stretchr/testify@v1.2.2" - }, - { - "group": "github.com/ugorji/go", - "name": "codec", - "version": "v0.0.0-20181204163529-d75b2dcb6bc8", - "purl": "pkg:golang/github.com/ugorji/go/codec@v0.0.0-20181204163529-d75b2dcb6bc8", - "type": "library", - "bom-ref": "pkg:golang/github.com/ugorji/go/codec@v0.0.0-20181204163529-d75b2dcb6bc8" - }, - { - "group": "github.com/xordataexchange", - "name": "crypt", - "version": "v0.0.3-0.20170626215501-b2862e3d0a77", - "purl": "pkg:golang/github.com/xordataexchange/crypt@v0.0.3-0.20170626215501-b2862e3d0a77", - "type": "library", - "bom-ref": "pkg:golang/github.com/xordataexchange/crypt@v0.0.3-0.20170626215501-b2862e3d0a77" - }, - { - "group": "golang.org/x", - "name": "crypto", - "version": "v0.0.0-20181203042331-505ab145d0a9", - "purl": "pkg:golang/golang.org/x/crypto@v0.0.0-20181203042331-505ab145d0a9", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20181203042331-505ab145d0a9" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20181205085412-a5c9d58dba9a", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20181205085412-a5c9d58dba9a", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20181205085412-a5c9d58dba9a" - }, - { - "group": "golang.org/x", - "name": "text", - "version": "v0.3.0", - "purl": "pkg:golang/golang.org/x/text@v0.3.0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/text@v0.3.0" - }, - { - "group": "golang.org/x", - "name": "crypto", - "version": "v0.0.0-20191011191535-87dc89f01550", - "purl": "pkg:golang/golang.org/x/crypto@v0.0.0-20191011191535-87dc89f01550", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20191011191535-87dc89f01550" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20191119224855-298f0cb1881e", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20191119224855-298f0cb1881e", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20191119224855-298f0cb1881e" - }, - { - "group": "golang.org/x", - "name": "xerrors", - "version": "v0.0.0-20191011141410-1b5146add898", - "purl": "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898" - }, - { - "group": "golang.org/x", - "name": "crypto", - "version": "v0.0.0-20200622213623-75b288015ac9", - "purl": "pkg:golang/golang.org/x/crypto@v0.0.0-20200622213623-75b288015ac9", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20200622213623-75b288015ac9" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20200930185726-fdedc70b468f", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20200930185726-fdedc70b468f", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200930185726-fdedc70b468f" - }, - { - "group": "golang.org/x", - "name": "text", - "version": "v0.3.3", - "purl": "pkg:golang/golang.org/x/text@v0.3.3", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/text@v0.3.3" - }, - { - "group": "github.com/davecgh", - "name": "go-spew", - "version": "v1.1.1", - "purl": "pkg:golang/github.com/davecgh/go-spew@v1.1.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/davecgh/go-spew@v1.1.1" - }, - { - "group": "github.com/pmezard", - "name": "go-difflib", - "version": "v1.0.0", - "purl": "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/pmezard/go-difflib@v1.0.0" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20190404232315-eb5bcb51f2a3", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20190404232315-eb5bcb51f2a3", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20190404232315-eb5bcb51f2a3" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20190412213103-97732733099d", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20190412213103-97732733099d", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190412213103-97732733099d" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20190620200207-3b0461eec859", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859" - }, - { - "group": "golang.org/x", - "name": "sync", - "version": "v0.0.0-20190423024810-112230192c58", - "purl": "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58" - }, - { - "group": "golang.org/x", - "name": "xerrors", - "version": "v0.0.0-20190717185122-a985d3407aa7", - "purl": "pkg:golang/golang.org/x/xerrors@v0.0.0-20190717185122-a985d3407aa7", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/xerrors@v0.0.0-20190717185122-a985d3407aa7" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20180917221912-90fa682c2a6e", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20180917221912-90fa682c2a6e", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20180917221912-90fa682c2a6e" - }, - { - "group": "golang.org/x", - "name": "crypto", - "version": "v0.0.0-20190308221718-c2843e01d9a2", - "purl": "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20190215142949-d0b11bdaac8a", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a" - } - ], - "dependencies": [ - { - "ref": "pkg:golang/golang.org/x/example@v0.0.0", - "dependsOn": [ - "pkg:golang/github.com/spf13/cobra@v0.0.5", - "pkg:golang/golang.org/x/tools@v0.0.0-20210112183307-1e6ecd4bf1b0", - "pkg:golang/gopkg.in/yaml.v3@v3.0.1" - ] - }, - { - "ref": "pkg:golang/github.com/spf13/cobra@v0.0.5", - "dependsOn": [ - "pkg:golang/github.com/BurntSushi/toml@v0.3.1", - "pkg:golang/github.com/cpuguy83/go-md2man@v1.0.10", - "pkg:golang/github.com/inconshreveable/mousetrap@v1.0.0", - "pkg:golang/github.com/mitchellh/go-homedir@v1.1.0", - "pkg:golang/github.com/spf13/pflag@v1.0.3", - "pkg:golang/github.com/spf13/viper@v1.3.2", - "pkg:golang/gopkg.in/yaml.v2@v2.2.2" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20210112183307-1e6ecd4bf1b0", - "dependsOn": [ - "pkg:golang/github.com/yuin/goldmark@v1.2.1", - "pkg:golang/golang.org/x/mod@v0.3.0", - "pkg:golang/golang.org/x/net@v0.0.0-20201021035429-f5854403a974", - "pkg:golang/golang.org/x/sync@v0.0.0-20201020160332-67f06af15bc9", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1" - ] - }, - { - "ref": "pkg:golang/gopkg.in/yaml.v3@v3.0.1", - "dependsOn": [ - "pkg:golang/gopkg.in/check.v1@v0.0.0-20161208181325-20d25e280405" - ] - }, - { - "ref": "pkg:golang/github.com/BurntSushi/toml@v0.3.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/cpuguy83/go-md2man@v1.0.10", - "dependsOn": [ - "pkg:golang/github.com/russross/blackfriday@v1.5.2" - ] - }, - { - "ref": "pkg:golang/github.com/inconshreveable/mousetrap@v1.0.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/mitchellh/go-homedir@v1.1.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/spf13/pflag@v1.0.3", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/spf13/viper@v1.3.2", - "dependsOn": [ - "pkg:golang/github.com/armon/consul-api@v0.0.0-20180202201655-eb2c6b5be1b6", - "pkg:golang/github.com/coreos/etcd@v3.3.10%2Bincompatible", - "pkg:golang/github.com/coreos/go-etcd@v2.0.0%2Bincompatible", - "pkg:golang/github.com/coreos/go-semver@v0.2.0", - "pkg:golang/github.com/fsnotify/fsnotify@v1.4.7", - "pkg:golang/github.com/hashicorp/hcl@v1.0.0", - "pkg:golang/github.com/magiconair/properties@v1.8.0", - "pkg:golang/github.com/mitchellh/mapstructure@v1.1.2", - "pkg:golang/github.com/pelletier/go-toml@v1.2.0", - "pkg:golang/github.com/spf13/afero@v1.1.2", - "pkg:golang/github.com/spf13/cast@v1.3.0", - "pkg:golang/github.com/spf13/jwalterweatherman@v1.0.0", - "pkg:golang/github.com/spf13/pflag@v1.0.3", - "pkg:golang/github.com/stretchr/testify@v1.2.2", - "pkg:golang/github.com/ugorji/go/codec@v0.0.0-20181204163529-d75b2dcb6bc8", - "pkg:golang/github.com/xordataexchange/crypt@v0.0.3-0.20170626215501-b2862e3d0a77", - "pkg:golang/golang.org/x/crypto@v0.0.0-20181203042331-505ab145d0a9", - "pkg:golang/golang.org/x/sys@v0.0.0-20181205085412-a5c9d58dba9a", - "pkg:golang/golang.org/x/text@v0.3.0", - "pkg:golang/gopkg.in/yaml.v2@v2.2.2" - ] - }, - { - "ref": "pkg:golang/gopkg.in/yaml.v2@v2.2.2", - "dependsOn": [ - "pkg:golang/gopkg.in/check.v1@v0.0.0-20161208181325-20d25e280405" - ] - }, - { - "ref": "pkg:golang/github.com/yuin/goldmark@v1.2.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/mod@v0.3.0", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20191011191535-87dc89f01550", - "pkg:golang/golang.org/x/tools@v0.0.0-20191119224855-298f0cb1881e", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20201021035429-f5854403a974", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20200622213623-75b288015ac9", - "pkg:golang/golang.org/x/sys@v0.0.0-20200930185726-fdedc70b468f", - "pkg:golang/golang.org/x/text@v0.3.3" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sync@v0.0.0-20201020160332-67f06af15bc9", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/gopkg.in/check.v1@v0.0.0-20161208181325-20d25e280405", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/russross/blackfriday@v1.5.2", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/armon/consul-api@v0.0.0-20180202201655-eb2c6b5be1b6", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/coreos/etcd@v3.3.10%2Bincompatible", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/coreos/go-etcd@v2.0.0%2Bincompatible", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/coreos/go-semver@v0.2.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/fsnotify/fsnotify@v1.4.7", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/hashicorp/hcl@v1.0.0", - "dependsOn": [ - "pkg:golang/github.com/davecgh/go-spew@v1.1.1" - ] - }, - { - "ref": "pkg:golang/github.com/magiconair/properties@v1.8.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/mitchellh/mapstructure@v1.1.2", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/pelletier/go-toml@v1.2.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/spf13/afero@v1.1.2", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/spf13/cast@v1.3.0", - "dependsOn": [ - "pkg:golang/github.com/davecgh/go-spew@v1.1.1", - "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", - "pkg:golang/github.com/stretchr/testify@v1.2.2" - ] - }, - { - "ref": "pkg:golang/github.com/spf13/jwalterweatherman@v1.0.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/stretchr/testify@v1.2.2", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/ugorji/go/codec@v0.0.0-20181204163529-d75b2dcb6bc8", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/xordataexchange/crypt@v0.0.3-0.20170626215501-b2862e3d0a77", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20181203042331-505ab145d0a9", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20181205085412-a5c9d58dba9a", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/text@v0.3.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20191011191535-87dc89f01550", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190404232315-eb5bcb51f2a3", - "pkg:golang/golang.org/x/sys@v0.0.0-20190412213103-97732733099d" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20191119224855-298f0cb1881e", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20190717185122-a985d3407aa7" - ] - }, - { - "ref": "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20200622213623-75b288015ac9", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190404232315-eb5bcb51f2a3", - "pkg:golang/golang.org/x/sys@v0.0.0-20190412213103-97732733099d" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200930185726-fdedc70b468f", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/text@v0.3.3", - "dependsOn": [ - "pkg:golang/golang.org/x/tools@v0.0.0-20180917221912-90fa682c2a6e" - ] - }, - { - "ref": "pkg:golang/github.com/davecgh/go-spew@v1.1.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20190404232315-eb5bcb51f2a3", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190412213103-97732733099d", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/xerrors@v0.0.0-20190717185122-a985d3407aa7", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20180917221912-90fa682c2a6e", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "dependsOn": [ - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "dependsOn": [] - } - ] + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-08-07T00:00:00.000Z", + "component": { + "group": "golang.org/x", + "name": "example", + "version": "v0.0.0", + "purl": "pkg:golang/golang.org/x/example@v0.0.0", + "type": "application", + "bom-ref": "pkg:golang/golang.org/x/example@v0.0.0" + } + }, + "components": [ + { + "group": "github.com/spf13", + "name": "cobra", + "version": "v0.0.5", + "purl": "pkg:golang/github.com/spf13/cobra@v0.0.5", + "type": "library", + "bom-ref": "pkg:golang/github.com/spf13/cobra@v0.0.5" + }, + { + "group": "golang.org/x", + "name": "tools", + "version": "v0.0.0-20210112183307-1e6ecd4bf1b0", + "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20210112183307-1e6ecd4bf1b0", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20210112183307-1e6ecd4bf1b0" + }, + { + "group": "github.com/BurntSushi", + "name": "toml", + "version": "v0.3.1", + "purl": "pkg:golang/github.com/BurntSushi/toml@v0.3.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/BurntSushi/toml@v0.3.1" + }, + { + "group": "github.com/cpuguy83", + "name": "go-md2man", + "version": "v1.0.10", + "purl": "pkg:golang/github.com/cpuguy83/go-md2man@v1.0.10", + "type": "library", + "bom-ref": "pkg:golang/github.com/cpuguy83/go-md2man@v1.0.10" + }, + { + "group": "github.com/inconshreveable", + "name": "mousetrap", + "version": "v1.0.0", + "purl": "pkg:golang/github.com/inconshreveable/mousetrap@v1.0.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/inconshreveable/mousetrap@v1.0.0" + }, + { + "group": "github.com/mitchellh", + "name": "go-homedir", + "version": "v1.1.0", + "purl": "pkg:golang/github.com/mitchellh/go-homedir@v1.1.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/mitchellh/go-homedir@v1.1.0" + }, + { + "group": "github.com/spf13", + "name": "pflag", + "version": "v1.0.3", + "purl": "pkg:golang/github.com/spf13/pflag@v1.0.3", + "type": "library", + "bom-ref": "pkg:golang/github.com/spf13/pflag@v1.0.3" + }, + { + "group": "github.com/spf13", + "name": "viper", + "version": "v1.3.2", + "purl": "pkg:golang/github.com/spf13/viper@v1.3.2", + "type": "library", + "bom-ref": "pkg:golang/github.com/spf13/viper@v1.3.2" + }, + { + "group": "gopkg.in", + "name": "yaml.v2", + "version": "v2.2.2", + "purl": "pkg:golang/gopkg.in/yaml.v2@v2.2.2", + "type": "library", + "bom-ref": "pkg:golang/gopkg.in/yaml.v2@v2.2.2" + }, + { + "group": "github.com/yuin", + "name": "goldmark", + "version": "v1.2.1", + "purl": "pkg:golang/github.com/yuin/goldmark@v1.2.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/yuin/goldmark@v1.2.1" + }, + { + "group": "golang.org/x", + "name": "mod", + "version": "v0.3.0", + "purl": "pkg:golang/golang.org/x/mod@v0.3.0", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/mod@v0.3.0" + }, + { + "group": "golang.org/x", + "name": "net", + "version": "v0.0.0-20201021035429-f5854403a974", + "purl": "pkg:golang/golang.org/x/net@v0.0.0-20201021035429-f5854403a974", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20201021035429-f5854403a974" + }, + { + "group": "golang.org/x", + "name": "sync", + "version": "v0.0.0-20201020160332-67f06af15bc9", + "purl": "pkg:golang/golang.org/x/sync@v0.0.0-20201020160332-67f06af15bc9", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/sync@v0.0.0-20201020160332-67f06af15bc9" + }, + { + "group": "golang.org/x", + "name": "xerrors", + "version": "v0.0.0-20200804184101-5ec99f83aff1", + "purl": "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1" + }, + { + "group": "gopkg.in", + "name": "yaml.v3", + "version": "v3.0.1", + "purl": "pkg:golang/gopkg.in/yaml.v3@v3.0.1", + "type": "library", + "bom-ref": "pkg:golang/gopkg.in/yaml.v3@v3.0.1" + }, + { + "group": "gopkg.in", + "name": "check.v1", + "version": "v0.0.0-20161208181325-20d25e280405", + "purl": "pkg:golang/gopkg.in/check.v1@v0.0.0-20161208181325-20d25e280405", + "type": "library", + "bom-ref": "pkg:golang/gopkg.in/check.v1@v0.0.0-20161208181325-20d25e280405" + }, + { + "group": "github.com/russross", + "name": "blackfriday", + "version": "v1.5.2", + "purl": "pkg:golang/github.com/russross/blackfriday@v1.5.2", + "type": "library", + "bom-ref": "pkg:golang/github.com/russross/blackfriday@v1.5.2" + }, + { + "group": "github.com/armon", + "name": "consul-api", + "version": "v0.0.0-20180202201655-eb2c6b5be1b6", + "purl": "pkg:golang/github.com/armon/consul-api@v0.0.0-20180202201655-eb2c6b5be1b6", + "type": "library", + "bom-ref": "pkg:golang/github.com/armon/consul-api@v0.0.0-20180202201655-eb2c6b5be1b6" + }, + { + "group": "github.com/coreos", + "name": "etcd", + "version": "v3.3.10+incompatible", + "purl": "pkg:golang/github.com/coreos/etcd@v3.3.10%2Bincompatible", + "type": "library", + "bom-ref": "pkg:golang/github.com/coreos/etcd@v3.3.10%2Bincompatible" + }, + { + "group": "github.com/coreos", + "name": "go-etcd", + "version": "v2.0.0+incompatible", + "purl": "pkg:golang/github.com/coreos/go-etcd@v2.0.0%2Bincompatible", + "type": "library", + "bom-ref": "pkg:golang/github.com/coreos/go-etcd@v2.0.0%2Bincompatible" + }, + { + "group": "github.com/coreos", + "name": "go-semver", + "version": "v0.2.0", + "purl": "pkg:golang/github.com/coreos/go-semver@v0.2.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/coreos/go-semver@v0.2.0" + }, + { + "group": "github.com/fsnotify", + "name": "fsnotify", + "version": "v1.4.7", + "purl": "pkg:golang/github.com/fsnotify/fsnotify@v1.4.7", + "type": "library", + "bom-ref": "pkg:golang/github.com/fsnotify/fsnotify@v1.4.7" + }, + { + "group": "github.com/hashicorp", + "name": "hcl", + "version": "v1.0.0", + "purl": "pkg:golang/github.com/hashicorp/hcl@v1.0.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/hashicorp/hcl@v1.0.0" + }, + { + "group": "github.com/magiconair", + "name": "properties", + "version": "v1.8.0", + "purl": "pkg:golang/github.com/magiconair/properties@v1.8.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/magiconair/properties@v1.8.0" + }, + { + "group": "github.com/mitchellh", + "name": "mapstructure", + "version": "v1.1.2", + "purl": "pkg:golang/github.com/mitchellh/mapstructure@v1.1.2", + "type": "library", + "bom-ref": "pkg:golang/github.com/mitchellh/mapstructure@v1.1.2" + }, + { + "group": "github.com/pelletier", + "name": "go-toml", + "version": "v1.2.0", + "purl": "pkg:golang/github.com/pelletier/go-toml@v1.2.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/pelletier/go-toml@v1.2.0" + }, + { + "group": "github.com/spf13", + "name": "afero", + "version": "v1.1.2", + "purl": "pkg:golang/github.com/spf13/afero@v1.1.2", + "type": "library", + "bom-ref": "pkg:golang/github.com/spf13/afero@v1.1.2" + }, + { + "group": "github.com/spf13", + "name": "cast", + "version": "v1.3.0", + "purl": "pkg:golang/github.com/spf13/cast@v1.3.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/spf13/cast@v1.3.0" + }, + { + "group": "github.com/spf13", + "name": "jwalterweatherman", + "version": "v1.0.0", + "purl": "pkg:golang/github.com/spf13/jwalterweatherman@v1.0.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/spf13/jwalterweatherman@v1.0.0" + }, + { + "group": "github.com/stretchr", + "name": "testify", + "version": "v1.2.2", + "purl": "pkg:golang/github.com/stretchr/testify@v1.2.2", + "type": "library", + "bom-ref": "pkg:golang/github.com/stretchr/testify@v1.2.2" + }, + { + "group": "github.com/ugorji/go", + "name": "codec", + "version": "v0.0.0-20181204163529-d75b2dcb6bc8", + "purl": "pkg:golang/github.com/ugorji/go/codec@v0.0.0-20181204163529-d75b2dcb6bc8", + "type": "library", + "bom-ref": "pkg:golang/github.com/ugorji/go/codec@v0.0.0-20181204163529-d75b2dcb6bc8" + }, + { + "group": "github.com/xordataexchange", + "name": "crypt", + "version": "v0.0.3-0.20170626215501-b2862e3d0a77", + "purl": "pkg:golang/github.com/xordataexchange/crypt@v0.0.3-0.20170626215501-b2862e3d0a77", + "type": "library", + "bom-ref": "pkg:golang/github.com/xordataexchange/crypt@v0.0.3-0.20170626215501-b2862e3d0a77" + }, + { + "group": "golang.org/x", + "name": "crypto", + "version": "v0.0.0-20200622213623-75b288015ac9", + "purl": "pkg:golang/golang.org/x/crypto@v0.0.0-20200622213623-75b288015ac9", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20200622213623-75b288015ac9" + }, + { + "group": "golang.org/x", + "name": "sys", + "version": "v0.0.0-20200930185726-fdedc70b468f", + "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20200930185726-fdedc70b468f", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200930185726-fdedc70b468f" + }, + { + "group": "golang.org/x", + "name": "text", + "version": "v0.3.3", + "purl": "pkg:golang/golang.org/x/text@v0.3.3", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/text@v0.3.3" + }, + { + "group": "github.com/davecgh", + "name": "go-spew", + "version": "v1.1.1", + "purl": "pkg:golang/github.com/davecgh/go-spew@v1.1.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/davecgh/go-spew@v1.1.1" + }, + { + "group": "github.com/pmezard", + "name": "go-difflib", + "version": "v1.0.0", + "purl": "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/pmezard/go-difflib@v1.0.0" + } + ], + "dependencies": [ + { + "ref": "pkg:golang/golang.org/x/example@v0.0.0", + "dependsOn": [ + "pkg:golang/github.com/spf13/cobra@v0.0.5", + "pkg:golang/golang.org/x/tools@v0.0.0-20210112183307-1e6ecd4bf1b0" + ] + }, + { + "ref": "pkg:golang/github.com/spf13/cobra@v0.0.5", + "dependsOn": [ + "pkg:golang/github.com/BurntSushi/toml@v0.3.1", + "pkg:golang/github.com/cpuguy83/go-md2man@v1.0.10", + "pkg:golang/github.com/inconshreveable/mousetrap@v1.0.0", + "pkg:golang/github.com/mitchellh/go-homedir@v1.1.0", + "pkg:golang/github.com/spf13/pflag@v1.0.3", + "pkg:golang/github.com/spf13/viper@v1.3.2", + "pkg:golang/gopkg.in/yaml.v2@v2.2.2" + ] + }, + { + "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20210112183307-1e6ecd4bf1b0", + "dependsOn": [ + "pkg:golang/github.com/yuin/goldmark@v1.2.1", + "pkg:golang/golang.org/x/mod@v0.3.0", + "pkg:golang/golang.org/x/net@v0.0.0-20201021035429-f5854403a974", + "pkg:golang/golang.org/x/sync@v0.0.0-20201020160332-67f06af15bc9", + "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1" + ] + }, + { + "ref": "pkg:golang/github.com/BurntSushi/toml@v0.3.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/cpuguy83/go-md2man@v1.0.10", + "dependsOn": [ + "pkg:golang/github.com/russross/blackfriday@v1.5.2" + ] + }, + { + "ref": "pkg:golang/github.com/inconshreveable/mousetrap@v1.0.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/mitchellh/go-homedir@v1.1.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/spf13/pflag@v1.0.3", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/spf13/viper@v1.3.2", + "dependsOn": [ + "pkg:golang/github.com/armon/consul-api@v0.0.0-20180202201655-eb2c6b5be1b6", + "pkg:golang/github.com/coreos/etcd@v3.3.10%2Bincompatible", + "pkg:golang/github.com/coreos/go-etcd@v2.0.0%2Bincompatible", + "pkg:golang/github.com/coreos/go-semver@v0.2.0", + "pkg:golang/github.com/fsnotify/fsnotify@v1.4.7", + "pkg:golang/github.com/hashicorp/hcl@v1.0.0", + "pkg:golang/github.com/magiconair/properties@v1.8.0", + "pkg:golang/github.com/mitchellh/mapstructure@v1.1.2", + "pkg:golang/github.com/pelletier/go-toml@v1.2.0", + "pkg:golang/github.com/spf13/afero@v1.1.2", + "pkg:golang/github.com/spf13/cast@v1.3.0", + "pkg:golang/github.com/spf13/jwalterweatherman@v1.0.0", + "pkg:golang/github.com/spf13/pflag@v1.0.3", + "pkg:golang/github.com/stretchr/testify@v1.2.2", + "pkg:golang/github.com/ugorji/go/codec@v0.0.0-20181204163529-d75b2dcb6bc8", + "pkg:golang/github.com/xordataexchange/crypt@v0.0.3-0.20170626215501-b2862e3d0a77", + "pkg:golang/golang.org/x/crypto@v0.0.0-20200622213623-75b288015ac9", + "pkg:golang/golang.org/x/sys@v0.0.0-20200930185726-fdedc70b468f", + "pkg:golang/golang.org/x/text@v0.3.3", + "pkg:golang/gopkg.in/yaml.v2@v2.2.2" + ] + }, + { + "ref": "pkg:golang/gopkg.in/yaml.v2@v2.2.2", + "dependsOn": [ + "pkg:golang/gopkg.in/check.v1@v0.0.0-20161208181325-20d25e280405" + ] + }, + { + "ref": "pkg:golang/github.com/yuin/goldmark@v1.2.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/golang.org/x/mod@v0.3.0", + "dependsOn": [ + "pkg:golang/golang.org/x/crypto@v0.0.0-20200622213623-75b288015ac9", + "pkg:golang/golang.org/x/tools@v0.0.0-20210112183307-1e6ecd4bf1b0", + "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1" + ] + }, + { + "ref": "pkg:golang/golang.org/x/net@v0.0.0-20201021035429-f5854403a974", + "dependsOn": [ + "pkg:golang/golang.org/x/crypto@v0.0.0-20200622213623-75b288015ac9", + "pkg:golang/golang.org/x/sys@v0.0.0-20200930185726-fdedc70b468f", + "pkg:golang/golang.org/x/text@v0.3.3" + ] + }, + { + "ref": "pkg:golang/golang.org/x/sync@v0.0.0-20201020160332-67f06af15bc9", + "dependsOn": [] + }, + { + "ref": "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/gopkg.in/yaml.v3@v3.0.1", + "dependsOn": [ + "pkg:golang/gopkg.in/check.v1@v0.0.0-20161208181325-20d25e280405" + ] + }, + { + "ref": "pkg:golang/gopkg.in/check.v1@v0.0.0-20161208181325-20d25e280405", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/russross/blackfriday@v1.5.2", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/armon/consul-api@v0.0.0-20180202201655-eb2c6b5be1b6", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/coreos/etcd@v3.3.10%2Bincompatible", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/coreos/go-etcd@v2.0.0%2Bincompatible", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/coreos/go-semver@v0.2.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/fsnotify/fsnotify@v1.4.7", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/hashicorp/hcl@v1.0.0", + "dependsOn": [ + "pkg:golang/github.com/davecgh/go-spew@v1.1.1" + ] + }, + { + "ref": "pkg:golang/github.com/magiconair/properties@v1.8.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/mitchellh/mapstructure@v1.1.2", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/pelletier/go-toml@v1.2.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/spf13/afero@v1.1.2", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/spf13/cast@v1.3.0", + "dependsOn": [ + "pkg:golang/github.com/davecgh/go-spew@v1.1.1", + "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", + "pkg:golang/github.com/stretchr/testify@v1.2.2" + ] + }, + { + "ref": "pkg:golang/github.com/spf13/jwalterweatherman@v1.0.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/stretchr/testify@v1.2.2", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/ugorji/go/codec@v0.0.0-20181204163529-d75b2dcb6bc8", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/xordataexchange/crypt@v0.0.3-0.20170626215501-b2862e3d0a77", + "dependsOn": [] + }, + { + "ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20200622213623-75b288015ac9", + "dependsOn": [ + "pkg:golang/golang.org/x/net@v0.0.0-20201021035429-f5854403a974", + "pkg:golang/golang.org/x/sys@v0.0.0-20200930185726-fdedc70b468f" + ] + }, + { + "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200930185726-fdedc70b468f", + "dependsOn": [] + }, + { + "ref": "pkg:golang/golang.org/x/text@v0.3.3", + "dependsOn": [ + "pkg:golang/golang.org/x/tools@v0.0.0-20210112183307-1e6ecd4bf1b0" + ] + }, + { + "ref": "pkg:golang/github.com/davecgh/go-spew@v1.1.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", + "dependsOn": [] + } + ] } diff --git a/test/providers/tst_manifests/golang/go_mod_mvs_versions/expected_sbom_stack_analysis.json b/test/providers/tst_manifests/golang/go_mod_mvs_versions/expected_sbom_stack_analysis.json index ad814e05..56234681 100644 --- a/test/providers/tst_manifests/golang/go_mod_mvs_versions/expected_sbom_stack_analysis.json +++ b/test/providers/tst_manifests/golang/go_mod_mvs_versions/expected_sbom_stack_analysis.json @@ -14,30 +14,6 @@ } }, "components": [ - { - "group": "github.com/RHEcosystemAppEng/SaaSi", - "name": "deployer", - "version": "v0.0.0", - "purl": "pkg:golang/github.com/RHEcosystemAppEng/SaaSi/deployer@v0.0.0", - "type": "application", - "bom-ref": "pkg:golang/github.com/RHEcosystemAppEng/SaaSi/deployer@v0.0.0" - }, - { - "group": "github.com/davecgh", - "name": "go-spew", - "version": "v1.1.1", - "purl": "pkg:golang/github.com/davecgh/go-spew@v1.1.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/davecgh/go-spew@v1.1.1" - }, - { - "group": "github.com/emicklei/go-restful", - "name": "v3", - "version": "v3.9.0", - "purl": "pkg:golang/github.com/emicklei/go-restful/v3@v3.9.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/emicklei/go-restful/v3@v3.9.0" - }, { "group": "github.com/gin-gonic", "name": "gin", @@ -46,78 +22,6 @@ "type": "library", "bom-ref": "pkg:golang/github.com/gin-gonic/gin@v1.9.1" }, - { - "group": "github.com/go-logr", - "name": "logr", - "version": "v1.2.3", - "purl": "pkg:golang/github.com/go-logr/logr@v1.2.3", - "type": "library", - "bom-ref": "pkg:golang/github.com/go-logr/logr@v1.2.3" - }, - { - "group": "github.com/go-openapi", - "name": "jsonpointer", - "version": "v0.19.5", - "purl": "pkg:golang/github.com/go-openapi/jsonpointer@v0.19.5", - "type": "library", - "bom-ref": "pkg:golang/github.com/go-openapi/jsonpointer@v0.19.5" - }, - { - "group": "github.com/go-openapi", - "name": "jsonreference", - "version": "v0.20.0", - "purl": "pkg:golang/github.com/go-openapi/jsonreference@v0.20.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/go-openapi/jsonreference@v0.20.0" - }, - { - "group": "github.com/go-openapi", - "name": "swag", - "version": "v0.19.14", - "purl": "pkg:golang/github.com/go-openapi/swag@v0.19.14", - "type": "library", - "bom-ref": "pkg:golang/github.com/go-openapi/swag@v0.19.14" - }, - { - "group": "github.com/gogo", - "name": "protobuf", - "version": "v1.3.2", - "purl": "pkg:golang/github.com/gogo/protobuf@v1.3.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/gogo/protobuf@v1.3.2" - }, - { - "group": "github.com/golang", - "name": "protobuf", - "version": "v1.5.2", - "purl": "pkg:golang/github.com/golang/protobuf@v1.5.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/protobuf@v1.5.2" - }, - { - "group": "github.com/google", - "name": "gnostic", - "version": "v0.5.7-v3refs", - "purl": "pkg:golang/github.com/google/gnostic@v0.5.7-v3refs", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/gnostic@v0.5.7-v3refs" - }, - { - "group": "github.com/google", - "name": "go-cmp", - "version": "v0.5.9", - "purl": "pkg:golang/github.com/google/go-cmp@v0.5.9", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/go-cmp@v0.5.9" - }, - { - "group": "github.com/google", - "name": "gofuzz", - "version": "v1.1.0", - "purl": "pkg:golang/github.com/google/gofuzz@v1.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/gofuzz@v1.1.0" - }, { "group": "github.com/google", "name": "uuid", @@ -126,14 +30,6 @@ "type": "library", "bom-ref": "pkg:golang/github.com/google/uuid@v1.1.2" }, - { - "group": "github.com/imdario", - "name": "mergo", - "version": "v0.3.6", - "purl": "pkg:golang/github.com/imdario/mergo@v0.3.6", - "type": "library", - "bom-ref": "pkg:golang/github.com/imdario/mergo@v0.3.6" - }, { "group": "github.com/jessevdk", "name": "go-flags", @@ -142,22 +38,6 @@ "type": "library", "bom-ref": "pkg:golang/github.com/jessevdk/go-flags@v1.5.0" }, - { - "group": "github.com/josharian", - "name": "intern", - "version": "v1.0.0", - "purl": "pkg:golang/github.com/josharian/intern@v1.0.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/josharian/intern@v1.0.0" - }, - { - "group": "github.com/json-iterator", - "name": "go", - "version": "v1.1.12", - "purl": "pkg:golang/github.com/json-iterator/go@v1.1.12", - "type": "library", - "bom-ref": "pkg:golang/github.com/json-iterator/go@v1.1.12" - }, { "group": "github.com/kr", "name": "pretty", @@ -167,116 +47,108 @@ "bom-ref": "pkg:golang/github.com/kr/pretty@v0.3.1" }, { - "group": "github.com/kr", - "name": "text", - "version": "v0.2.0", - "purl": "pkg:golang/github.com/kr/text@v0.2.0", + "group": "gopkg.in", + "name": "yaml.v2", + "version": "v2.4.0", + "purl": "pkg:golang/gopkg.in/yaml.v2@v2.4.0", "type": "library", - "bom-ref": "pkg:golang/github.com/kr/text@v0.2.0" + "bom-ref": "pkg:golang/gopkg.in/yaml.v2@v2.4.0" }, { - "group": "github.com/mailru", - "name": "easyjson", - "version": "v0.7.6", - "purl": "pkg:golang/github.com/mailru/easyjson@v0.7.6", + "group": "k8s.io", + "name": "apimachinery", + "version": "v0.26.1", + "purl": "pkg:golang/k8s.io/apimachinery@v0.26.1", "type": "library", - "bom-ref": "pkg:golang/github.com/mailru/easyjson@v0.7.6" + "bom-ref": "pkg:golang/k8s.io/apimachinery@v0.26.1" }, { - "group": "github.com/modern-go", - "name": "concurrent", - "version": "v0.0.0-20180306012644-bacd9c7ef1dd", - "purl": "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd", + "group": "k8s.io", + "name": "client-go", + "version": "v0.26.1", + "purl": "pkg:golang/k8s.io/client-go@v0.26.1", "type": "library", - "bom-ref": "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd" + "bom-ref": "pkg:golang/k8s.io/client-go@v0.26.1" }, { - "group": "github.com/modern-go", - "name": "reflect2", - "version": "v1.0.2", - "purl": "pkg:golang/github.com/modern-go/reflect2@v1.0.2", + "group": "github.com/bytedance", + "name": "sonic", + "version": "v1.9.1", + "purl": "pkg:golang/github.com/bytedance/sonic@v1.9.1", "type": "library", - "bom-ref": "pkg:golang/github.com/modern-go/reflect2@v1.0.2" + "bom-ref": "pkg:golang/github.com/bytedance/sonic@v1.9.1" }, { - "group": "github.com/munnerz", - "name": "goautoneg", - "version": "v0.0.0-20191010083416-a7dc8b61c822", - "purl": "pkg:golang/github.com/munnerz/goautoneg@v0.0.0-20191010083416-a7dc8b61c822", + "group": "github.com/gin-contrib", + "name": "sse", + "version": "v0.1.0", + "purl": "pkg:golang/github.com/gin-contrib/sse@v0.1.0", "type": "library", - "bom-ref": "pkg:golang/github.com/munnerz/goautoneg@v0.0.0-20191010083416-a7dc8b61c822" + "bom-ref": "pkg:golang/github.com/gin-contrib/sse@v0.1.0" }, { - "group": "github.com/rogpeppe", - "name": "go-internal", - "version": "v1.9.0", - "purl": "pkg:golang/github.com/rogpeppe/go-internal@v1.9.0", + "group": "github.com/go-playground/validator", + "name": "v10", + "version": "v10.14.0", + "purl": "pkg:golang/github.com/go-playground/validator/v10@v10.14.0", "type": "library", - "bom-ref": "pkg:golang/github.com/rogpeppe/go-internal@v1.9.0" + "bom-ref": "pkg:golang/github.com/go-playground/validator/v10@v10.14.0" }, { - "group": "github.com/spf13", - "name": "pflag", - "version": "v1.0.5", - "purl": "pkg:golang/github.com/spf13/pflag@v1.0.5", + "group": "github.com/goccy", + "name": "go-json", + "version": "v0.10.2", + "purl": "pkg:golang/github.com/goccy/go-json@v0.10.2", "type": "library", - "bom-ref": "pkg:golang/github.com/spf13/pflag@v1.0.5" + "bom-ref": "pkg:golang/github.com/goccy/go-json@v0.10.2" }, { - "group": "golang.org/x", - "name": "net", - "version": "v0.10.0", - "purl": "pkg:golang/golang.org/x/net@v0.10.0", + "group": "github.com/json-iterator", + "name": "go", + "version": "v1.1.12", + "purl": "pkg:golang/github.com/json-iterator/go@v1.1.12", "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.10.0" + "bom-ref": "pkg:golang/github.com/json-iterator/go@v1.1.12" }, { - "group": "golang.org/x", - "name": "oauth2", - "version": "v0.0.0-20220223155221-ee480838109b", - "purl": "pkg:golang/golang.org/x/oauth2@v0.0.0-20220223155221-ee480838109b", + "group": "github.com/mattn", + "name": "go-isatty", + "version": "v0.0.19", + "purl": "pkg:golang/github.com/mattn/go-isatty@v0.0.19", "type": "library", - "bom-ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20220223155221-ee480838109b" + "bom-ref": "pkg:golang/github.com/mattn/go-isatty@v0.0.19" }, { - "group": "golang.org/x", - "name": "sys", - "version": "v0.8.0", - "purl": "pkg:golang/golang.org/x/sys@v0.8.0", + "group": "github.com/pelletier/go-toml", + "name": "v2", + "version": "v2.0.8", + "purl": "pkg:golang/github.com/pelletier/go-toml/v2@v2.0.8", "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.8.0" + "bom-ref": "pkg:golang/github.com/pelletier/go-toml/v2@v2.0.8" }, { - "group": "golang.org/x", - "name": "term", - "version": "v0.8.0", - "purl": "pkg:golang/golang.org/x/term@v0.8.0", + "group": "github.com/stretchr", + "name": "testify", + "version": "v1.8.3", + "purl": "pkg:golang/github.com/stretchr/testify@v1.8.3", "type": "library", - "bom-ref": "pkg:golang/golang.org/x/term@v0.8.0" + "bom-ref": "pkg:golang/github.com/stretchr/testify@v1.8.3" }, { - "group": "golang.org/x", - "name": "text", - "version": "v0.9.0", - "purl": "pkg:golang/golang.org/x/text@v0.9.0", + "group": "github.com/ugorji/go", + "name": "codec", + "version": "v1.2.11", + "purl": "pkg:golang/github.com/ugorji/go/codec@v1.2.11", "type": "library", - "bom-ref": "pkg:golang/golang.org/x/text@v0.9.0" + "bom-ref": "pkg:golang/github.com/ugorji/go/codec@v1.2.11" }, { "group": "golang.org/x", - "name": "time", - "version": "v0.0.0-20220210224613-90d013bbcef8", - "purl": "pkg:golang/golang.org/x/time@v0.0.0-20220210224613-90d013bbcef8", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/time@v0.0.0-20220210224613-90d013bbcef8" - }, - { - "group": "google.golang.org", - "name": "appengine", - "version": "v1.6.7", - "purl": "pkg:golang/google.golang.org/appengine@v1.6.7", + "name": "net", + "version": "v0.10.0", + "purl": "pkg:golang/golang.org/x/net@v0.10.0", "type": "library", - "bom-ref": "pkg:golang/google.golang.org/appengine@v1.6.7" + "bom-ref": "pkg:golang/golang.org/x/net@v0.10.0" }, { "group": "google.golang.org", @@ -286,22 +158,6 @@ "type": "library", "bom-ref": "pkg:golang/google.golang.org/protobuf@v1.30.0" }, - { - "group": "gopkg.in", - "name": "inf.v0", - "version": "v0.9.1", - "purl": "pkg:golang/gopkg.in/inf.v0@v0.9.1", - "type": "library", - "bom-ref": "pkg:golang/gopkg.in/inf.v0@v0.9.1" - }, - { - "group": "gopkg.in", - "name": "yaml.v2", - "version": "v2.4.0", - "purl": "pkg:golang/gopkg.in/yaml.v2@v2.4.0", - "type": "library", - "bom-ref": "pkg:golang/gopkg.in/yaml.v2@v2.4.0" - }, { "group": "gopkg.in", "name": "yaml.v3", @@ -310,142 +166,6 @@ "type": "library", "bom-ref": "pkg:golang/gopkg.in/yaml.v3@v3.0.1" }, - { - "group": "k8s.io", - "name": "api", - "version": "v0.26.1", - "purl": "pkg:golang/k8s.io/api@v0.26.1", - "type": "library", - "bom-ref": "pkg:golang/k8s.io/api@v0.26.1" - }, - { - "group": "k8s.io", - "name": "apimachinery", - "version": "v0.26.1", - "purl": "pkg:golang/k8s.io/apimachinery@v0.26.1", - "type": "library", - "bom-ref": "pkg:golang/k8s.io/apimachinery@v0.26.1" - }, - { - "group": "k8s.io", - "name": "client-go", - "version": "v0.26.1", - "purl": "pkg:golang/k8s.io/client-go@v0.26.1", - "type": "library", - "bom-ref": "pkg:golang/k8s.io/client-go@v0.26.1" - }, - { - "group": "k8s.io/klog", - "name": "v2", - "version": "v2.80.1", - "purl": "pkg:golang/k8s.io/klog/v2@v2.80.1", - "type": "library", - "bom-ref": "pkg:golang/k8s.io/klog/v2@v2.80.1" - }, - { - "group": "k8s.io", - "name": "kube-openapi", - "version": "v0.0.0-20221012153701-172d655c2280", - "purl": "pkg:golang/k8s.io/kube-openapi@v0.0.0-20221012153701-172d655c2280", - "type": "library", - "bom-ref": "pkg:golang/k8s.io/kube-openapi@v0.0.0-20221012153701-172d655c2280" - }, - { - "group": "k8s.io", - "name": "utils", - "version": "v0.0.0-20221107191617-1a15be271d1d", - "purl": "pkg:golang/k8s.io/utils@v0.0.0-20221107191617-1a15be271d1d", - "type": "library", - "bom-ref": "pkg:golang/k8s.io/utils@v0.0.0-20221107191617-1a15be271d1d" - }, - { - "group": "sigs.k8s.io", - "name": "json", - "version": "v0.0.0-20220713155537-f223a00ba0e2", - "purl": "pkg:golang/sigs.k8s.io/json@v0.0.0-20220713155537-f223a00ba0e2", - "type": "library", - "bom-ref": "pkg:golang/sigs.k8s.io/json@v0.0.0-20220713155537-f223a00ba0e2" - }, - { - "group": "sigs.k8s.io/structured-merge-diff", - "name": "v4", - "version": "v4.2.3", - "purl": "pkg:golang/sigs.k8s.io/structured-merge-diff/v4@v4.2.3", - "type": "library", - "bom-ref": "pkg:golang/sigs.k8s.io/structured-merge-diff/v4@v4.2.3" - }, - { - "group": "sigs.k8s.io", - "name": "yaml", - "version": "v1.3.0", - "purl": "pkg:golang/sigs.k8s.io/yaml@v1.3.0", - "type": "library", - "bom-ref": "pkg:golang/sigs.k8s.io/yaml@v1.3.0" - }, - { - "group": "github.com/bytedance", - "name": "sonic", - "version": "v1.9.1", - "purl": "pkg:golang/github.com/bytedance/sonic@v1.9.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/bytedance/sonic@v1.9.1" - }, - { - "group": "github.com/gin-contrib", - "name": "sse", - "version": "v0.1.0", - "purl": "pkg:golang/github.com/gin-contrib/sse@v0.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/gin-contrib/sse@v0.1.0" - }, - { - "group": "github.com/go-playground/validator", - "name": "v10", - "version": "v10.14.0", - "purl": "pkg:golang/github.com/go-playground/validator/v10@v10.14.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/go-playground/validator/v10@v10.14.0" - }, - { - "group": "github.com/goccy", - "name": "go-json", - "version": "v0.10.2", - "purl": "pkg:golang/github.com/goccy/go-json@v0.10.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/goccy/go-json@v0.10.2" - }, - { - "group": "github.com/mattn", - "name": "go-isatty", - "version": "v0.0.19", - "purl": "pkg:golang/github.com/mattn/go-isatty@v0.0.19", - "type": "library", - "bom-ref": "pkg:golang/github.com/mattn/go-isatty@v0.0.19" - }, - { - "group": "github.com/pelletier/go-toml", - "name": "v2", - "version": "v2.0.8", - "purl": "pkg:golang/github.com/pelletier/go-toml/v2@v2.0.8", - "type": "library", - "bom-ref": "pkg:golang/github.com/pelletier/go-toml/v2@v2.0.8" - }, - { - "group": "github.com/stretchr", - "name": "testify", - "version": "v1.8.3", - "purl": "pkg:golang/github.com/stretchr/testify@v1.8.3", - "type": "library", - "bom-ref": "pkg:golang/github.com/stretchr/testify@v1.8.3" - }, - { - "group": "github.com/ugorji/go", - "name": "codec", - "version": "v1.2.11", - "purl": "pkg:golang/github.com/ugorji/go/codec@v1.2.11", - "type": "library", - "bom-ref": "pkg:golang/github.com/ugorji/go/codec@v1.2.11" - }, { "group": "github.com/chenzhuoyu", "name": "base64x", @@ -454,6 +174,14 @@ "type": "library", "bom-ref": "pkg:golang/github.com/chenzhuoyu/base64x@v0.0.0-20221115062448-fe3a3abad311" }, + { + "group": "github.com/davecgh", + "name": "go-spew", + "version": "v1.1.1", + "purl": "pkg:golang/github.com/davecgh/go-spew@v1.1.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/davecgh/go-spew@v1.1.1" + }, { "group": "github.com/gabriel-vasile", "name": "mimetype", @@ -494,6 +222,22 @@ "type": "library", "bom-ref": "pkg:golang/github.com/leodido/go-urn@v1.2.4" }, + { + "group": "github.com/modern-go", + "name": "concurrent", + "version": "v0.0.0-20180306012644-bacd9c7ef1dd", + "purl": "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd", + "type": "library", + "bom-ref": "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd" + }, + { + "group": "github.com/modern-go", + "name": "reflect2", + "version": "v1.0.2", + "purl": "pkg:golang/github.com/modern-go/reflect2@v1.0.2", + "type": "library", + "bom-ref": "pkg:golang/github.com/modern-go/reflect2@v1.0.2" + }, { "group": "github.com/pmezard", "name": "go-difflib", @@ -526,6 +270,62 @@ "type": "library", "bom-ref": "pkg:golang/golang.org/x/crypto@v0.9.0" }, + { + "group": "golang.org/x", + "name": "sys", + "version": "v0.8.0", + "purl": "pkg:golang/golang.org/x/sys@v0.8.0", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/sys@v0.8.0" + }, + { + "group": "golang.org/x", + "name": "text", + "version": "v0.9.0", + "purl": "pkg:golang/golang.org/x/text@v0.9.0", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/text@v0.9.0" + }, + { + "group": "github.com/go-openapi", + "name": "jsonpointer", + "version": "v0.19.5", + "purl": "pkg:golang/github.com/go-openapi/jsonpointer@v0.19.5", + "type": "library", + "bom-ref": "pkg:golang/github.com/go-openapi/jsonpointer@v0.19.5" + }, + { + "group": "github.com/go-openapi", + "name": "swag", + "version": "v0.19.14", + "purl": "pkg:golang/github.com/go-openapi/swag@v0.19.14", + "type": "library", + "bom-ref": "pkg:golang/github.com/go-openapi/swag@v0.19.14" + }, + { + "group": "github.com/mailru", + "name": "easyjson", + "version": "v0.7.6", + "purl": "pkg:golang/github.com/mailru/easyjson@v0.7.6", + "type": "library", + "bom-ref": "pkg:golang/github.com/mailru/easyjson@v0.7.6" + }, + { + "group": "github.com/go-openapi", + "name": "jsonreference", + "version": "v0.20.0", + "purl": "pkg:golang/github.com/go-openapi/jsonreference@v0.20.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/go-openapi/jsonreference@v0.20.0" + }, + { + "group": "github.com/kr", + "name": "text", + "version": "v0.2.0", + "purl": "pkg:golang/github.com/kr/text@v0.2.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/kr/text@v0.2.0" + }, { "group": "github.com/niemeyer", "name": "pretty", @@ -542,6 +342,14 @@ "type": "library", "bom-ref": "pkg:golang/gopkg.in/check.v1@v1.0.0-20200227125254-8fa46927fb4f" }, + { + "group": "github.com/gogo", + "name": "protobuf", + "version": "v1.3.2", + "purl": "pkg:golang/github.com/gogo/protobuf@v1.3.2", + "type": "library", + "bom-ref": "pkg:golang/github.com/gogo/protobuf@v1.3.2" + }, { "group": "github.com/kisielk", "name": "errcheck", @@ -567,20 +375,44 @@ "bom-ref": "pkg:golang/golang.org/x/tools@v0.6.0" }, { - "group": "github.com/docopt", - "name": "docopt-go", - "version": "v0.0.0-20180111231733-ee0de3bc6815", - "purl": "pkg:golang/github.com/docopt/docopt-go@v0.0.0-20180111231733-ee0de3bc6815", + "group": "github.com/golang", + "name": "protobuf", + "version": "v1.5.2", + "purl": "pkg:golang/github.com/golang/protobuf@v1.5.2", "type": "library", - "bom-ref": "pkg:golang/github.com/docopt/docopt-go@v0.0.0-20180111231733-ee0de3bc6815" + "bom-ref": "pkg:golang/github.com/golang/protobuf@v1.5.2" }, { - "group": "github.com/stoewer", - "name": "go-strcase", - "version": "v1.2.0", - "purl": "pkg:golang/github.com/stoewer/go-strcase@v1.2.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/stoewer/go-strcase@v1.2.0" + "group": "github.com/google", + "name": "go-cmp", + "version": "v0.5.9", + "purl": "pkg:golang/github.com/google/go-cmp@v0.5.9", + "type": "library", + "bom-ref": "pkg:golang/github.com/google/go-cmp@v0.5.9" + }, + { + "group": "github.com/google", + "name": "gnostic", + "version": "v0.5.7-v3refs", + "purl": "pkg:golang/github.com/google/gnostic@v0.5.7-v3refs", + "type": "library", + "bom-ref": "pkg:golang/github.com/google/gnostic@v0.5.7-v3refs" + }, + { + "group": "github.com/docopt", + "name": "docopt-go", + "version": "v0.0.0-20180111231733-ee0de3bc6815", + "purl": "pkg:golang/github.com/docopt/docopt-go@v0.0.0-20180111231733-ee0de3bc6815", + "type": "library", + "bom-ref": "pkg:golang/github.com/docopt/docopt-go@v0.0.0-20180111231733-ee0de3bc6815" + }, + { + "group": "github.com/stoewer", + "name": "go-strcase", + "version": "v1.2.0", + "purl": "pkg:golang/github.com/stoewer/go-strcase@v1.2.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/stoewer/go-strcase@v1.2.0" }, { "group": "golang.org/x", @@ -598,6 +430,22 @@ "type": "library", "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20201019141844-1ed22bb0c154" }, + { + "group": "github.com/google", + "name": "gofuzz", + "version": "v1.1.0", + "purl": "pkg:golang/github.com/google/gofuzz@v1.1.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/google/gofuzz@v1.1.0" + }, + { + "group": "github.com/rogpeppe", + "name": "go-internal", + "version": "v1.9.0", + "purl": "pkg:golang/github.com/rogpeppe/go-internal@v1.9.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/rogpeppe/go-internal@v1.9.0" + }, { "group": "github.com/creack", "name": "pty", @@ -606,6 +454,14 @@ "type": "library", "bom-ref": "pkg:golang/github.com/creack/pty@v1.1.9" }, + { + "group": "github.com/josharian", + "name": "intern", + "version": "v1.0.0", + "purl": "pkg:golang/github.com/josharian/intern@v1.0.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/josharian/intern@v1.0.0" + }, { "group": "github.com/pkg", "name": "diff", @@ -614,6 +470,22 @@ "type": "library", "bom-ref": "pkg:golang/github.com/pkg/diff@v0.0.0-20210226163009-20ebb0f2a09e" }, + { + "group": "golang.org/x", + "name": "term", + "version": "v0.8.0", + "purl": "pkg:golang/golang.org/x/term@v0.8.0", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/term@v0.8.0" + }, + { + "group": "golang.org/x", + "name": "oauth2", + "version": "v0.0.0-20220223155221-ee480838109b", + "purl": "pkg:golang/golang.org/x/oauth2@v0.0.0-20220223155221-ee480838109b", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20220223155221-ee480838109b" + }, { "group": "cloud.google.com", "name": "go", @@ -622,6 +494,14 @@ "type": "library", "bom-ref": "pkg:golang/cloud.google.com/go@v0.65.0" }, + { + "group": "google.golang.org", + "name": "appengine", + "version": "v1.6.7", + "purl": "pkg:golang/google.golang.org/appengine@v1.6.7", + "type": "library", + "bom-ref": "pkg:golang/google.golang.org/appengine@v1.6.7" + }, { "group": "golang.org/x", "name": "mod", @@ -630,6 +510,78 @@ "type": "library", "bom-ref": "pkg:golang/golang.org/x/mod@v0.8.0" }, + { + "group": "k8s.io", + "name": "api", + "version": "v0.26.1", + "purl": "pkg:golang/k8s.io/api@v0.26.1", + "type": "library", + "bom-ref": "pkg:golang/k8s.io/api@v0.26.1" + }, + { + "group": "github.com/go-logr", + "name": "logr", + "version": "v1.2.3", + "purl": "pkg:golang/github.com/go-logr/logr@v1.2.3", + "type": "library", + "bom-ref": "pkg:golang/github.com/go-logr/logr@v1.2.3" + }, + { + "group": "github.com/spf13", + "name": "pflag", + "version": "v1.0.5", + "purl": "pkg:golang/github.com/spf13/pflag@v1.0.5", + "type": "library", + "bom-ref": "pkg:golang/github.com/spf13/pflag@v1.0.5" + }, + { + "group": "gopkg.in", + "name": "inf.v0", + "version": "v0.9.1", + "purl": "pkg:golang/gopkg.in/inf.v0@v0.9.1", + "type": "library", + "bom-ref": "pkg:golang/gopkg.in/inf.v0@v0.9.1" + }, + { + "group": "k8s.io/klog", + "name": "v2", + "version": "v2.80.1", + "purl": "pkg:golang/k8s.io/klog/v2@v2.80.1", + "type": "library", + "bom-ref": "pkg:golang/k8s.io/klog/v2@v2.80.1" + }, + { + "group": "k8s.io", + "name": "utils", + "version": "v0.0.0-20221107191617-1a15be271d1d", + "purl": "pkg:golang/k8s.io/utils@v0.0.0-20221107191617-1a15be271d1d", + "type": "library", + "bom-ref": "pkg:golang/k8s.io/utils@v0.0.0-20221107191617-1a15be271d1d" + }, + { + "group": "sigs.k8s.io", + "name": "json", + "version": "v0.0.0-20220713155537-f223a00ba0e2", + "purl": "pkg:golang/sigs.k8s.io/json@v0.0.0-20220713155537-f223a00ba0e2", + "type": "library", + "bom-ref": "pkg:golang/sigs.k8s.io/json@v0.0.0-20220713155537-f223a00ba0e2" + }, + { + "group": "sigs.k8s.io/structured-merge-diff", + "name": "v4", + "version": "v4.2.3", + "purl": "pkg:golang/sigs.k8s.io/structured-merge-diff/v4@v4.2.3", + "type": "library", + "bom-ref": "pkg:golang/sigs.k8s.io/structured-merge-diff/v4@v4.2.3" + }, + { + "group": "sigs.k8s.io", + "name": "yaml", + "version": "v1.3.0", + "purl": "pkg:golang/sigs.k8s.io/yaml@v1.3.0", + "type": "library", + "bom-ref": "pkg:golang/sigs.k8s.io/yaml@v1.3.0" + }, { "group": "github.com/armon", "name": "go-socks5", @@ -670,6 +622,14 @@ "type": "library", "bom-ref": "pkg:golang/github.com/mxk/go-flowrate@v0.0.0-20140419014527-cca7078d478f" }, + { + "group": "k8s.io", + "name": "kube-openapi", + "version": "v0.0.0-20221012153701-172d655c2280", + "purl": "pkg:golang/k8s.io/kube-openapi@v0.0.0-20221012153701-172d655c2280", + "type": "library", + "bom-ref": "pkg:golang/k8s.io/kube-openapi@v0.0.0-20221012153701-172d655c2280" + }, { "group": "github.com/onsi/ginkgo", "name": "v2", @@ -710,6 +670,14 @@ "type": "library", "bom-ref": "pkg:golang/github.com/gregjones/httpcache@v0.0.0-20180305231024-9cad4c3443a7" }, + { + "group": "github.com/imdario", + "name": "mergo", + "version": "v0.3.6", + "purl": "pkg:golang/github.com/imdario/mergo@v0.3.6", + "type": "library", + "bom-ref": "pkg:golang/github.com/imdario/mergo@v0.3.6" + }, { "group": "github.com/peterbourgon", "name": "diskv", @@ -718,6 +686,22 @@ "type": "library", "bom-ref": "pkg:golang/github.com/peterbourgon/diskv@v2.0.1%2Bincompatible" }, + { + "group": "golang.org/x", + "name": "time", + "version": "v0.0.0-20220210224613-90d013bbcef8", + "purl": "pkg:golang/golang.org/x/time@v0.0.0-20220210224613-90d013bbcef8", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/time@v0.0.0-20220210224613-90d013bbcef8" + }, + { + "group": "github.com/emicklei/go-restful", + "name": "v3", + "version": "v3.9.0", + "purl": "pkg:golang/github.com/emicklei/go-restful/v3@v3.9.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/emicklei/go-restful/v3@v3.9.0" + }, { "group": "github.com/google", "name": "btree", @@ -726,6 +710,14 @@ "type": "library", "bom-ref": "pkg:golang/github.com/google/btree@v1.0.1" }, + { + "group": "github.com/munnerz", + "name": "goautoneg", + "version": "v0.0.0-20191010083416-a7dc8b61c822", + "purl": "pkg:golang/github.com/munnerz/goautoneg@v0.0.0-20191010083416-a7dc8b61c822", + "type": "library", + "bom-ref": "pkg:golang/github.com/munnerz/goautoneg@v0.0.0-20191010083416-a7dc8b61c822" + }, { "group": "github.com/NYTimes", "name": "gziphandler", @@ -1112,358 +1104,86 @@ { "group": "rsc.io", "name": "binaryregexp", - "version": "v0.2.0", - "purl": "pkg:golang/rsc.io/binaryregexp@v0.2.0", - "type": "library", - "bom-ref": "pkg:golang/rsc.io/binaryregexp@v0.2.0" - }, - { - "group": "github.com/go-gl", - "name": "glfw", - "version": "v0.0.0-20190409004039-e6da0acd62b1", - "purl": "pkg:golang/github.com/go-gl/glfw@v0.0.0-20190409004039-e6da0acd62b1", - "type": "library", - "bom-ref": "pkg:golang/github.com/go-gl/glfw@v0.0.0-20190409004039-e6da0acd62b1" - } - ], - "dependencies": [ - { - "ref": "pkg:golang/github.com/RHEcosystemAppEng/SaaSi/deployer@v0.0.0", - "dependsOn": [ - "pkg:golang/github.com/davecgh/go-spew@v1.1.1", - "pkg:golang/github.com/emicklei/go-restful/v3@v3.9.0", - "pkg:golang/github.com/gin-gonic/gin@v1.9.1", - "pkg:golang/github.com/go-logr/logr@v1.2.3", - "pkg:golang/github.com/go-openapi/jsonpointer@v0.19.5", - "pkg:golang/github.com/go-openapi/jsonreference@v0.20.0", - "pkg:golang/github.com/go-openapi/swag@v0.19.14", - "pkg:golang/github.com/gogo/protobuf@v1.3.2", - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/github.com/google/gnostic@v0.5.7-v3refs", - "pkg:golang/github.com/google/go-cmp@v0.5.9", - "pkg:golang/github.com/google/gofuzz@v1.1.0", - "pkg:golang/github.com/google/uuid@v1.1.2", - "pkg:golang/github.com/imdario/mergo@v0.3.6", - "pkg:golang/github.com/jessevdk/go-flags@v1.5.0", - "pkg:golang/github.com/josharian/intern@v1.0.0", - "pkg:golang/github.com/json-iterator/go@v1.1.12", - "pkg:golang/github.com/kr/pretty@v0.3.1", - "pkg:golang/github.com/kr/text@v0.2.0", - "pkg:golang/github.com/mailru/easyjson@v0.7.6", - "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd", - "pkg:golang/github.com/modern-go/reflect2@v1.0.2", - "pkg:golang/github.com/munnerz/goautoneg@v0.0.0-20191010083416-a7dc8b61c822", - "pkg:golang/github.com/rogpeppe/go-internal@v1.9.0", - "pkg:golang/github.com/spf13/pflag@v1.0.5", - "pkg:golang/golang.org/x/net@v0.10.0", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20220223155221-ee480838109b", - "pkg:golang/golang.org/x/sys@v0.8.0", - "pkg:golang/golang.org/x/term@v0.8.0", - "pkg:golang/golang.org/x/text@v0.9.0", - "pkg:golang/golang.org/x/time@v0.0.0-20220210224613-90d013bbcef8", - "pkg:golang/google.golang.org/appengine@v1.6.7", - "pkg:golang/google.golang.org/protobuf@v1.30.0", - "pkg:golang/gopkg.in/inf.v0@v0.9.1", - "pkg:golang/gopkg.in/yaml.v2@v2.4.0", - "pkg:golang/gopkg.in/yaml.v3@v3.0.1", - "pkg:golang/k8s.io/api@v0.26.1", - "pkg:golang/k8s.io/apimachinery@v0.26.1", - "pkg:golang/k8s.io/client-go@v0.26.1", - "pkg:golang/k8s.io/klog/v2@v2.80.1", - "pkg:golang/k8s.io/kube-openapi@v0.0.0-20221012153701-172d655c2280", - "pkg:golang/k8s.io/utils@v0.0.0-20221107191617-1a15be271d1d", - "pkg:golang/sigs.k8s.io/json@v0.0.0-20220713155537-f223a00ba0e2", - "pkg:golang/sigs.k8s.io/structured-merge-diff/v4@v4.2.3", - "pkg:golang/sigs.k8s.io/yaml@v1.3.0" - ] - }, - { - "ref": "pkg:golang/github.com/davecgh/go-spew@v1.1.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/emicklei/go-restful/v3@v3.9.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/gin-gonic/gin@v1.9.1", - "dependsOn": [ - "pkg:golang/github.com/bytedance/sonic@v1.9.1", - "pkg:golang/github.com/gin-contrib/sse@v0.1.0", - "pkg:golang/github.com/go-playground/validator/v10@v10.14.0", - "pkg:golang/github.com/goccy/go-json@v0.10.2", - "pkg:golang/github.com/json-iterator/go@v1.1.12", - "pkg:golang/github.com/mattn/go-isatty@v0.0.19", - "pkg:golang/github.com/pelletier/go-toml/v2@v2.0.8", - "pkg:golang/github.com/stretchr/testify@v1.8.3", - "pkg:golang/github.com/ugorji/go/codec@v1.2.11", - "pkg:golang/golang.org/x/net@v0.10.0", - "pkg:golang/google.golang.org/protobuf@v1.30.0", - "pkg:golang/gopkg.in/yaml.v3@v3.0.1", - "pkg:golang/github.com/chenzhuoyu/base64x@v0.0.0-20221115062448-fe3a3abad311", - "pkg:golang/github.com/davecgh/go-spew@v1.1.1", - "pkg:golang/github.com/gabriel-vasile/mimetype@v1.4.2", - "pkg:golang/github.com/go-playground/locales@v0.14.1", - "pkg:golang/github.com/go-playground/universal-translator@v0.18.1", - "pkg:golang/github.com/klauspost/cpuid/v2@v2.2.4", - "pkg:golang/github.com/leodido/go-urn@v1.2.4", - "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd", - "pkg:golang/github.com/modern-go/reflect2@v1.0.2", - "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", - "pkg:golang/github.com/twitchyliquid64/golang-asm@v0.15.1", - "pkg:golang/golang.org/x/arch@v0.3.0", - "pkg:golang/golang.org/x/crypto@v0.9.0", - "pkg:golang/golang.org/x/sys@v0.8.0", - "pkg:golang/golang.org/x/text@v0.9.0" - ] - }, - { - "ref": "pkg:golang/github.com/go-logr/logr@v1.2.3", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/go-openapi/jsonpointer@v0.19.5", - "dependsOn": [ - "pkg:golang/github.com/go-openapi/swag@v0.19.14", - "pkg:golang/github.com/mailru/easyjson@v0.7.6", - "pkg:golang/github.com/stretchr/testify@v1.8.3" - ] - }, - { - "ref": "pkg:golang/github.com/go-openapi/jsonreference@v0.20.0", - "dependsOn": [ - "pkg:golang/github.com/go-openapi/jsonpointer@v0.19.5", - "pkg:golang/github.com/stretchr/testify@v1.8.3" - ] - }, - { - "ref": "pkg:golang/github.com/go-openapi/swag@v0.19.14", - "dependsOn": [ - "pkg:golang/github.com/davecgh/go-spew@v1.1.1", - "pkg:golang/github.com/kr/text@v0.2.0", - "pkg:golang/github.com/mailru/easyjson@v0.7.6", - "pkg:golang/github.com/niemeyer/pretty@v0.0.0-20200227124842-a10e7caefd8e", - "pkg:golang/github.com/stretchr/testify@v1.8.3", - "pkg:golang/gopkg.in/check.v1@v1.0.0-20200227125254-8fa46927fb4f", - "pkg:golang/gopkg.in/yaml.v2@v2.4.0", - "pkg:golang/gopkg.in/yaml.v3@v3.0.1", - "pkg:golang/github.com/kr/pretty@v0.3.1" - ] - }, - { - "ref": "pkg:golang/github.com/gogo/protobuf@v1.3.2", - "dependsOn": [ - "pkg:golang/github.com/kisielk/errcheck@v1.5.0", - "pkg:golang/github.com/kisielk/gotool@v1.0.0", - "pkg:golang/golang.org/x/tools@v0.6.0" - ] - }, - { - "ref": "pkg:golang/github.com/golang/protobuf@v1.5.2", - "dependsOn": [ - "pkg:golang/github.com/google/go-cmp@v0.5.9", - "pkg:golang/google.golang.org/protobuf@v1.30.0" - ] - }, - { - "ref": "pkg:golang/github.com/google/gnostic@v0.5.7-v3refs", - "dependsOn": [ - "pkg:golang/github.com/davecgh/go-spew@v1.1.1", - "pkg:golang/github.com/docopt/docopt-go@v0.0.0-20180111231733-ee0de3bc6815", - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/github.com/kr/pretty@v0.3.1", - "pkg:golang/github.com/stoewer/go-strcase@v1.2.0", - "pkg:golang/golang.org/x/tools@v0.6.0", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1", - "pkg:golang/google.golang.org/genproto@v0.0.0-20201019141844-1ed22bb0c154", - "pkg:golang/google.golang.org/protobuf@v1.30.0", - "pkg:golang/gopkg.in/check.v1@v1.0.0-20200227125254-8fa46927fb4f", - "pkg:golang/gopkg.in/yaml.v3@v3.0.1" - ] - }, - { - "ref": "pkg:golang/github.com/google/go-cmp@v0.5.9", - "dependsOn": [ - "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1" - ] - }, - { - "ref": "pkg:golang/github.com/google/gofuzz@v1.1.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/google/uuid@v1.1.2", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/imdario/mergo@v0.3.6", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/jessevdk/go-flags@v1.5.0", - "dependsOn": [ - "pkg:golang/golang.org/x/sys@v0.8.0" - ] - }, - { - "ref": "pkg:golang/github.com/josharian/intern@v1.0.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/json-iterator/go@v1.1.12", - "dependsOn": [ - "pkg:golang/github.com/davecgh/go-spew@v1.1.1", - "pkg:golang/github.com/google/gofuzz@v1.1.0", - "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd", - "pkg:golang/github.com/modern-go/reflect2@v1.0.2", - "pkg:golang/github.com/stretchr/testify@v1.8.3" - ] - }, - { - "ref": "pkg:golang/github.com/kr/pretty@v0.3.1", - "dependsOn": [ - "pkg:golang/github.com/kr/text@v0.2.0", - "pkg:golang/github.com/rogpeppe/go-internal@v1.9.0" - ] - }, - { - "ref": "pkg:golang/github.com/kr/text@v0.2.0", - "dependsOn": [ - "pkg:golang/github.com/creack/pty@v1.1.9", - "pkg:golang/github.com/kr/pty@v1.1.1" - ] - }, - { - "ref": "pkg:golang/github.com/mailru/easyjson@v0.7.6", - "dependsOn": [ - "pkg:golang/github.com/josharian/intern@v1.0.0" - ] - }, - { - "ref": "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/modern-go/reflect2@v1.0.2", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/munnerz/goautoneg@v0.0.0-20191010083416-a7dc8b61c822", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/rogpeppe/go-internal@v1.9.0", - "dependsOn": [ - "pkg:golang/github.com/pkg/diff@v0.0.0-20210226163009-20ebb0f2a09e", - "pkg:golang/gopkg.in/errgo.v2@v2.1.0" - ] - }, - { - "ref": "pkg:golang/github.com/spf13/pflag@v1.0.5", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.10.0", - "dependsOn": [ - "pkg:golang/golang.org/x/sys@v0.8.0", - "pkg:golang/golang.org/x/term@v0.8.0", - "pkg:golang/golang.org/x/text@v0.9.0", - "pkg:golang/golang.org/x/crypto@v0.9.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20220223155221-ee480838109b", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.65.0", - "pkg:golang/golang.org/x/net@v0.10.0", - "pkg:golang/google.golang.org/appengine@v1.6.7", - "pkg:golang/golang.org/x/sync@v0.0.0-20201020160332-67f06af15bc9" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.8.0", - "dependsOn": [] + "version": "v0.2.0", + "purl": "pkg:golang/rsc.io/binaryregexp@v0.2.0", + "type": "library", + "bom-ref": "pkg:golang/rsc.io/binaryregexp@v0.2.0" }, { - "ref": "pkg:golang/golang.org/x/term@v0.8.0", - "dependsOn": [ - "pkg:golang/golang.org/x/sys@v0.8.0" - ] - }, + "group": "github.com/go-gl", + "name": "glfw", + "version": "v0.0.0-20190409004039-e6da0acd62b1", + "purl": "pkg:golang/github.com/go-gl/glfw@v0.0.0-20190409004039-e6da0acd62b1", + "type": "library", + "bom-ref": "pkg:golang/github.com/go-gl/glfw@v0.0.0-20190409004039-e6da0acd62b1" + } + ], + "dependencies": [ { - "ref": "pkg:golang/golang.org/x/text@v0.9.0", + "ref": "pkg:golang/github.com/RHEcosystemAppEng/SaaSi/deployer@v0.0.0", "dependsOn": [ - "pkg:golang/golang.org/x/tools@v0.6.0", - "pkg:golang/golang.org/x/mod@v0.8.0", - "pkg:golang/golang.org/x/sys@v0.8.0" + "pkg:golang/github.com/gin-gonic/gin@v1.9.1", + "pkg:golang/github.com/google/uuid@v1.1.2", + "pkg:golang/github.com/jessevdk/go-flags@v1.5.0", + "pkg:golang/github.com/kr/pretty@v0.3.1", + "pkg:golang/gopkg.in/yaml.v2@v2.4.0", + "pkg:golang/k8s.io/apimachinery@v0.26.1", + "pkg:golang/k8s.io/client-go@v0.26.1" ] }, { - "ref": "pkg:golang/golang.org/x/time@v0.0.0-20220210224613-90d013bbcef8", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/appengine@v1.6.7", + "ref": "pkg:golang/github.com/gin-gonic/gin@v1.9.1", "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/github.com/bytedance/sonic@v1.9.1", + "pkg:golang/github.com/gin-contrib/sse@v0.1.0", + "pkg:golang/github.com/go-playground/validator/v10@v10.14.0", + "pkg:golang/github.com/goccy/go-json@v0.10.2", + "pkg:golang/github.com/json-iterator/go@v1.1.12", + "pkg:golang/github.com/mattn/go-isatty@v0.0.19", + "pkg:golang/github.com/pelletier/go-toml/v2@v2.0.8", + "pkg:golang/github.com/stretchr/testify@v1.8.3", + "pkg:golang/github.com/ugorji/go/codec@v1.2.11", "pkg:golang/golang.org/x/net@v0.10.0", - "pkg:golang/golang.org/x/text@v0.9.0", + "pkg:golang/google.golang.org/protobuf@v1.30.0", + "pkg:golang/gopkg.in/yaml.v3@v3.0.1", + "pkg:golang/github.com/chenzhuoyu/base64x@v0.0.0-20221115062448-fe3a3abad311", + "pkg:golang/github.com/davecgh/go-spew@v1.1.1", + "pkg:golang/github.com/gabriel-vasile/mimetype@v1.4.2", + "pkg:golang/github.com/go-playground/locales@v0.14.1", + "pkg:golang/github.com/go-playground/universal-translator@v0.18.1", + "pkg:golang/github.com/klauspost/cpuid/v2@v2.2.4", + "pkg:golang/github.com/leodido/go-urn@v1.2.4", + "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd", + "pkg:golang/github.com/modern-go/reflect2@v1.0.2", + "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", + "pkg:golang/github.com/twitchyliquid64/golang-asm@v0.15.1", + "pkg:golang/golang.org/x/arch@v0.3.0", "pkg:golang/golang.org/x/crypto@v0.9.0", "pkg:golang/golang.org/x/sys@v0.8.0", - "pkg:golang/golang.org/x/tools@v0.6.0" - ] - }, - { - "ref": "pkg:golang/google.golang.org/protobuf@v1.30.0", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/github.com/google/go-cmp@v0.5.9", - "pkg:golang/google.golang.org/genproto@v0.0.0-20201019141844-1ed22bb0c154" + "pkg:golang/golang.org/x/text@v0.9.0" ] }, { - "ref": "pkg:golang/gopkg.in/inf.v0@v0.9.1", + "ref": "pkg:golang/github.com/google/uuid@v1.1.2", "dependsOn": [] }, { - "ref": "pkg:golang/gopkg.in/yaml.v2@v2.4.0", + "ref": "pkg:golang/github.com/jessevdk/go-flags@v1.5.0", "dependsOn": [ - "pkg:golang/gopkg.in/check.v1@v1.0.0-20200227125254-8fa46927fb4f" + "pkg:golang/golang.org/x/sys@v0.8.0" ] }, { - "ref": "pkg:golang/gopkg.in/yaml.v3@v3.0.1", + "ref": "pkg:golang/github.com/kr/pretty@v0.3.1", "dependsOn": [ - "pkg:golang/gopkg.in/check.v1@v1.0.0-20200227125254-8fa46927fb4f" + "pkg:golang/github.com/kr/text@v0.2.0", + "pkg:golang/github.com/rogpeppe/go-internal@v1.9.0" ] }, { - "ref": "pkg:golang/k8s.io/api@v0.26.1", + "ref": "pkg:golang/gopkg.in/yaml.v2@v2.4.0", "dependsOn": [ - "pkg:golang/github.com/gogo/protobuf@v1.3.2", - "pkg:golang/github.com/stretchr/testify@v1.8.3", - "pkg:golang/k8s.io/apimachinery@v0.26.1", - "pkg:golang/github.com/davecgh/go-spew@v1.1.1", - "pkg:golang/github.com/go-logr/logr@v1.2.3", - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/github.com/google/go-cmp@v0.5.9", - "pkg:golang/github.com/google/gofuzz@v1.1.0", - "pkg:golang/github.com/json-iterator/go@v1.1.12", - "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd", - "pkg:golang/github.com/modern-go/reflect2@v1.0.2", - "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", - "pkg:golang/github.com/spf13/pflag@v1.0.5", - "pkg:golang/golang.org/x/net@v0.10.0", - "pkg:golang/golang.org/x/text@v0.9.0", - "pkg:golang/google.golang.org/protobuf@v1.30.0", - "pkg:golang/gopkg.in/inf.v0@v0.9.1", - "pkg:golang/gopkg.in/yaml.v2@v2.4.0", - "pkg:golang/gopkg.in/yaml.v3@v3.0.1", - "pkg:golang/k8s.io/klog/v2@v2.80.1", - "pkg:golang/k8s.io/utils@v0.0.0-20221107191617-1a15be271d1d", - "pkg:golang/sigs.k8s.io/json@v0.0.0-20220713155537-f223a00ba0e2", - "pkg:golang/sigs.k8s.io/structured-merge-diff/v4@v4.2.3", - "pkg:golang/sigs.k8s.io/yaml@v1.3.0" + "pkg:golang/gopkg.in/check.v1@v1.0.0-20200227125254-8fa46927fb4f" ] }, { @@ -1562,163 +1282,183 @@ ] }, { - "ref": "pkg:golang/k8s.io/klog/v2@v2.80.1", - "dependsOn": [ - "pkg:golang/github.com/go-logr/logr@v1.2.3" - ] + "ref": "pkg:golang/github.com/bytedance/sonic@v1.9.1", + "dependsOn": [] }, { - "ref": "pkg:golang/k8s.io/kube-openapi@v0.0.0-20221012153701-172d655c2280", + "ref": "pkg:golang/github.com/gin-contrib/sse@v0.1.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/go-playground/validator/v10@v10.14.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/goccy/go-json@v0.10.2", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/json-iterator/go@v1.1.12", "dependsOn": [ - "pkg:golang/github.com/NYTimes/gziphandler@v0.0.0-20170623195520-56545f4a5d46", - "pkg:golang/github.com/asaskevich/govalidator@v0.0.0-20190424111038-f61b66f89f4a", - "pkg:golang/github.com/emicklei/go-restful/v3@v3.9.0", - "pkg:golang/github.com/go-openapi/jsonreference@v0.20.0", - "pkg:golang/github.com/go-openapi/swag@v0.19.14", - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/github.com/google/gnostic@v0.5.7-v3refs", - "pkg:golang/github.com/google/go-cmp@v0.5.9", - "pkg:golang/github.com/google/gofuzz@v1.1.0", - "pkg:golang/github.com/google/uuid@v1.1.2", - "pkg:golang/github.com/mitchellh/mapstructure@v1.1.2", - "pkg:golang/github.com/munnerz/goautoneg@v0.0.0-20191010083416-a7dc8b61c822", - "pkg:golang/github.com/onsi/ginkgo/v2@v2.4.0", - "pkg:golang/github.com/onsi/gomega@v1.23.0", - "pkg:golang/github.com/spf13/pflag@v1.0.5", - "pkg:golang/github.com/stretchr/testify@v1.8.3", - "pkg:golang/google.golang.org/protobuf@v1.30.0", - "pkg:golang/gopkg.in/yaml.v2@v2.4.0", - "pkg:golang/gopkg.in/yaml.v3@v3.0.1", - "pkg:golang/k8s.io/gengo@v0.0.0-20210813121822-485abfe95c7c", - "pkg:golang/k8s.io/klog/v2@v2.80.1", - "pkg:golang/k8s.io/utils@v0.0.0-20221107191617-1a15be271d1d", - "pkg:golang/sigs.k8s.io/structured-merge-diff/v4@v4.2.3", - "pkg:golang/sigs.k8s.io/yaml@v1.3.0", - "pkg:golang/github.com/PuerkitoBio/purell@v1.1.1", - "pkg:golang/github.com/PuerkitoBio/urlesc@v0.0.0-20170810143723-de5bf2ad4578", "pkg:golang/github.com/davecgh/go-spew@v1.1.1", - "pkg:golang/github.com/go-logr/logr@v1.2.3", - "pkg:golang/github.com/go-openapi/jsonpointer@v0.19.5", - "pkg:golang/github.com/json-iterator/go@v1.1.12", - "pkg:golang/github.com/mailru/easyjson@v0.7.6", + "pkg:golang/github.com/google/gofuzz@v1.1.0", "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd", "pkg:golang/github.com/modern-go/reflect2@v1.0.2", - "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", - "pkg:golang/golang.org/x/mod@v0.8.0", - "pkg:golang/golang.org/x/net@v0.10.0", - "pkg:golang/golang.org/x/sys@v0.8.0", - "pkg:golang/golang.org/x/text@v0.9.0", - "pkg:golang/golang.org/x/tools@v0.6.0", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1" + "pkg:golang/github.com/stretchr/testify@v1.8.3" ] }, { - "ref": "pkg:golang/k8s.io/utils@v0.0.0-20221107191617-1a15be271d1d", + "ref": "pkg:golang/github.com/mattn/go-isatty@v0.0.19", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/pelletier/go-toml/v2@v2.0.8", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/stretchr/testify@v1.8.3", "dependsOn": [ "pkg:golang/github.com/davecgh/go-spew@v1.1.1", - "pkg:golang/k8s.io/klog/v2@v2.80.1", - "pkg:golang/github.com/go-logr/logr@v1.2.3" + "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", + "pkg:golang/github.com/stretchr/objx@v0.1.0", + "pkg:golang/gopkg.in/yaml.v3@v3.0.1", + "pkg:golang/gopkg.in/yaml.v2@v2.4.0" ] }, { - "ref": "pkg:golang/sigs.k8s.io/json@v0.0.0-20220713155537-f223a00ba0e2", + "ref": "pkg:golang/github.com/ugorji/go/codec@v1.2.11", "dependsOn": [] }, { - "ref": "pkg:golang/sigs.k8s.io/structured-merge-diff/v4@v4.2.3", + "ref": "pkg:golang/golang.org/x/net@v0.10.0", "dependsOn": [ - "pkg:golang/gopkg.in/yaml.v2@v2.4.0", - "pkg:golang/github.com/google/gofuzz@v1.1.0", - "pkg:golang/github.com/json-iterator/go@v1.1.12", - "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd" + "pkg:golang/golang.org/x/sys@v0.8.0", + "pkg:golang/golang.org/x/term@v0.8.0", + "pkg:golang/golang.org/x/text@v0.9.0", + "pkg:golang/golang.org/x/crypto@v0.9.0" ] }, { - "ref": "pkg:golang/sigs.k8s.io/yaml@v1.3.0", + "ref": "pkg:golang/google.golang.org/protobuf@v1.30.0", "dependsOn": [ - "pkg:golang/github.com/davecgh/go-spew@v1.1.1", - "pkg:golang/gopkg.in/yaml.v2@v2.4.0" + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/github.com/google/go-cmp@v0.5.9", + "pkg:golang/google.golang.org/genproto@v0.0.0-20201019141844-1ed22bb0c154" ] }, { - "ref": "pkg:golang/github.com/bytedance/sonic@v1.9.1", + "ref": "pkg:golang/gopkg.in/yaml.v3@v3.0.1", + "dependsOn": [ + "pkg:golang/gopkg.in/check.v1@v1.0.0-20200227125254-8fa46927fb4f" + ] + }, + { + "ref": "pkg:golang/github.com/chenzhuoyu/base64x@v0.0.0-20221115062448-fe3a3abad311", "dependsOn": [] }, { - "ref": "pkg:golang/github.com/gin-contrib/sse@v0.1.0", + "ref": "pkg:golang/github.com/davecgh/go-spew@v1.1.1", "dependsOn": [] }, { - "ref": "pkg:golang/github.com/go-playground/validator/v10@v10.14.0", + "ref": "pkg:golang/github.com/gabriel-vasile/mimetype@v1.4.2", "dependsOn": [] }, { - "ref": "pkg:golang/github.com/goccy/go-json@v0.10.2", + "ref": "pkg:golang/github.com/go-playground/locales@v0.14.1", "dependsOn": [] }, { - "ref": "pkg:golang/github.com/mattn/go-isatty@v0.0.19", + "ref": "pkg:golang/github.com/go-playground/universal-translator@v0.18.1", "dependsOn": [] }, { - "ref": "pkg:golang/github.com/pelletier/go-toml/v2@v2.0.8", + "ref": "pkg:golang/github.com/klauspost/cpuid/v2@v2.2.4", "dependsOn": [] }, { - "ref": "pkg:golang/github.com/stretchr/testify@v1.8.3", - "dependsOn": [ - "pkg:golang/github.com/davecgh/go-spew@v1.1.1", - "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", - "pkg:golang/github.com/stretchr/objx@v0.1.0", - "pkg:golang/gopkg.in/yaml.v3@v3.0.1", - "pkg:golang/gopkg.in/yaml.v2@v2.4.0" - ] + "ref": "pkg:golang/github.com/leodido/go-urn@v1.2.4", + "dependsOn": [] }, { - "ref": "pkg:golang/github.com/ugorji/go/codec@v1.2.11", + "ref": "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd", "dependsOn": [] }, { - "ref": "pkg:golang/github.com/chenzhuoyu/base64x@v0.0.0-20221115062448-fe3a3abad311", + "ref": "pkg:golang/github.com/modern-go/reflect2@v1.0.2", "dependsOn": [] }, { - "ref": "pkg:golang/github.com/gabriel-vasile/mimetype@v1.4.2", + "ref": "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", "dependsOn": [] }, { - "ref": "pkg:golang/github.com/go-playground/locales@v0.14.1", + "ref": "pkg:golang/github.com/twitchyliquid64/golang-asm@v0.15.1", "dependsOn": [] }, { - "ref": "pkg:golang/github.com/go-playground/universal-translator@v0.18.1", + "ref": "pkg:golang/golang.org/x/arch@v0.3.0", "dependsOn": [] }, { - "ref": "pkg:golang/github.com/klauspost/cpuid/v2@v2.2.4", + "ref": "pkg:golang/golang.org/x/crypto@v0.9.0", + "dependsOn": [ + "pkg:golang/golang.org/x/sys@v0.8.0", + "pkg:golang/golang.org/x/net@v0.10.0" + ] + }, + { + "ref": "pkg:golang/golang.org/x/sys@v0.8.0", "dependsOn": [] }, { - "ref": "pkg:golang/github.com/leodido/go-urn@v1.2.4", - "dependsOn": [] + "ref": "pkg:golang/golang.org/x/text@v0.9.0", + "dependsOn": [ + "pkg:golang/golang.org/x/tools@v0.6.0", + "pkg:golang/golang.org/x/mod@v0.8.0", + "pkg:golang/golang.org/x/sys@v0.8.0" + ] + }, + { + "ref": "pkg:golang/github.com/go-openapi/jsonpointer@v0.19.5", + "dependsOn": [ + "pkg:golang/github.com/go-openapi/swag@v0.19.14", + "pkg:golang/github.com/mailru/easyjson@v0.7.6", + "pkg:golang/github.com/stretchr/testify@v1.8.3" + ] }, { - "ref": "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", - "dependsOn": [] + "ref": "pkg:golang/github.com/go-openapi/swag@v0.19.14", + "dependsOn": [ + "pkg:golang/github.com/davecgh/go-spew@v1.1.1", + "pkg:golang/github.com/kr/text@v0.2.0", + "pkg:golang/github.com/mailru/easyjson@v0.7.6", + "pkg:golang/github.com/niemeyer/pretty@v0.0.0-20200227124842-a10e7caefd8e", + "pkg:golang/github.com/stretchr/testify@v1.8.3", + "pkg:golang/gopkg.in/check.v1@v1.0.0-20200227125254-8fa46927fb4f", + "pkg:golang/gopkg.in/yaml.v2@v2.4.0", + "pkg:golang/gopkg.in/yaml.v3@v3.0.1", + "pkg:golang/github.com/kr/pretty@v0.3.1" + ] }, { - "ref": "pkg:golang/github.com/twitchyliquid64/golang-asm@v0.15.1", - "dependsOn": [] + "ref": "pkg:golang/github.com/mailru/easyjson@v0.7.6", + "dependsOn": [ + "pkg:golang/github.com/josharian/intern@v1.0.0" + ] }, { - "ref": "pkg:golang/golang.org/x/arch@v0.3.0", - "dependsOn": [] + "ref": "pkg:golang/github.com/go-openapi/jsonreference@v0.20.0", + "dependsOn": [ + "pkg:golang/github.com/go-openapi/jsonpointer@v0.19.5", + "pkg:golang/github.com/stretchr/testify@v1.8.3" + ] }, { - "ref": "pkg:golang/golang.org/x/crypto@v0.9.0", + "ref": "pkg:golang/github.com/kr/text@v0.2.0", "dependsOn": [ - "pkg:golang/golang.org/x/sys@v0.8.0", - "pkg:golang/golang.org/x/net@v0.10.0" + "pkg:golang/github.com/creack/pty@v1.1.9", + "pkg:golang/github.com/kr/pty@v1.1.1" ] }, { @@ -1731,6 +1471,14 @@ "ref": "pkg:golang/gopkg.in/check.v1@v1.0.0-20200227125254-8fa46927fb4f", "dependsOn": [] }, + { + "ref": "pkg:golang/github.com/gogo/protobuf@v1.3.2", + "dependsOn": [ + "pkg:golang/github.com/kisielk/errcheck@v1.5.0", + "pkg:golang/github.com/kisielk/gotool@v1.0.0", + "pkg:golang/golang.org/x/tools@v0.6.0" + ] + }, { "ref": "pkg:golang/github.com/kisielk/errcheck@v1.5.0", "dependsOn": [ @@ -1752,6 +1500,35 @@ "pkg:golang/google.golang.org/appengine@v1.6.7" ] }, + { + "ref": "pkg:golang/github.com/golang/protobuf@v1.5.2", + "dependsOn": [ + "pkg:golang/github.com/google/go-cmp@v0.5.9", + "pkg:golang/google.golang.org/protobuf@v1.30.0" + ] + }, + { + "ref": "pkg:golang/github.com/google/go-cmp@v0.5.9", + "dependsOn": [ + "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1" + ] + }, + { + "ref": "pkg:golang/github.com/google/gnostic@v0.5.7-v3refs", + "dependsOn": [ + "pkg:golang/github.com/davecgh/go-spew@v1.1.1", + "pkg:golang/github.com/docopt/docopt-go@v0.0.0-20180111231733-ee0de3bc6815", + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/github.com/kr/pretty@v0.3.1", + "pkg:golang/github.com/stoewer/go-strcase@v1.2.0", + "pkg:golang/golang.org/x/tools@v0.6.0", + "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1", + "pkg:golang/google.golang.org/genproto@v0.0.0-20201019141844-1ed22bb0c154", + "pkg:golang/google.golang.org/protobuf@v1.30.0", + "pkg:golang/gopkg.in/check.v1@v1.0.0-20200227125254-8fa46927fb4f", + "pkg:golang/gopkg.in/yaml.v3@v3.0.1" + ] + }, { "ref": "pkg:golang/github.com/docopt/docopt-go@v0.0.0-20180111231733-ee0de3bc6815", "dependsOn": [] @@ -1780,14 +1557,44 @@ "pkg:golang/golang.org/x/sync@v0.0.0-20201020160332-67f06af15bc9" ] }, + { + "ref": "pkg:golang/github.com/google/gofuzz@v1.1.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/rogpeppe/go-internal@v1.9.0", + "dependsOn": [ + "pkg:golang/github.com/pkg/diff@v0.0.0-20210226163009-20ebb0f2a09e", + "pkg:golang/gopkg.in/errgo.v2@v2.1.0" + ] + }, { "ref": "pkg:golang/github.com/creack/pty@v1.1.9", "dependsOn": [] }, + { + "ref": "pkg:golang/github.com/josharian/intern@v1.0.0", + "dependsOn": [] + }, { "ref": "pkg:golang/github.com/pkg/diff@v0.0.0-20210226163009-20ebb0f2a09e", "dependsOn": [] }, + { + "ref": "pkg:golang/golang.org/x/term@v0.8.0", + "dependsOn": [ + "pkg:golang/golang.org/x/sys@v0.8.0" + ] + }, + { + "ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20220223155221-ee480838109b", + "dependsOn": [ + "pkg:golang/cloud.google.com/go@v0.65.0", + "pkg:golang/golang.org/x/net@v0.10.0", + "pkg:golang/google.golang.org/appengine@v1.6.7", + "pkg:golang/golang.org/x/sync@v0.0.0-20201020160332-67f06af15bc9" + ] + }, { "ref": "pkg:golang/cloud.google.com/go@v0.65.0", "dependsOn": [ @@ -1826,6 +1633,17 @@ "pkg:golang/rsc.io/binaryregexp@v0.2.0" ] }, + { + "ref": "pkg:golang/google.golang.org/appengine@v1.6.7", + "dependsOn": [ + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/golang.org/x/net@v0.10.0", + "pkg:golang/golang.org/x/text@v0.9.0", + "pkg:golang/golang.org/x/crypto@v0.9.0", + "pkg:golang/golang.org/x/sys@v0.8.0", + "pkg:golang/golang.org/x/tools@v0.6.0" + ] + }, { "ref": "pkg:golang/golang.org/x/mod@v0.8.0", "dependsOn": [ @@ -1834,6 +1652,81 @@ "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1" ] }, + { + "ref": "pkg:golang/k8s.io/api@v0.26.1", + "dependsOn": [ + "pkg:golang/github.com/gogo/protobuf@v1.3.2", + "pkg:golang/github.com/stretchr/testify@v1.8.3", + "pkg:golang/k8s.io/apimachinery@v0.26.1", + "pkg:golang/github.com/davecgh/go-spew@v1.1.1", + "pkg:golang/github.com/go-logr/logr@v1.2.3", + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/github.com/google/go-cmp@v0.5.9", + "pkg:golang/github.com/google/gofuzz@v1.1.0", + "pkg:golang/github.com/json-iterator/go@v1.1.12", + "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd", + "pkg:golang/github.com/modern-go/reflect2@v1.0.2", + "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", + "pkg:golang/github.com/spf13/pflag@v1.0.5", + "pkg:golang/golang.org/x/net@v0.10.0", + "pkg:golang/golang.org/x/text@v0.9.0", + "pkg:golang/google.golang.org/protobuf@v1.30.0", + "pkg:golang/gopkg.in/inf.v0@v0.9.1", + "pkg:golang/gopkg.in/yaml.v2@v2.4.0", + "pkg:golang/gopkg.in/yaml.v3@v3.0.1", + "pkg:golang/k8s.io/klog/v2@v2.80.1", + "pkg:golang/k8s.io/utils@v0.0.0-20221107191617-1a15be271d1d", + "pkg:golang/sigs.k8s.io/json@v0.0.0-20220713155537-f223a00ba0e2", + "pkg:golang/sigs.k8s.io/structured-merge-diff/v4@v4.2.3", + "pkg:golang/sigs.k8s.io/yaml@v1.3.0" + ] + }, + { + "ref": "pkg:golang/github.com/go-logr/logr@v1.2.3", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/spf13/pflag@v1.0.5", + "dependsOn": [] + }, + { + "ref": "pkg:golang/gopkg.in/inf.v0@v0.9.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/k8s.io/klog/v2@v2.80.1", + "dependsOn": [ + "pkg:golang/github.com/go-logr/logr@v1.2.3" + ] + }, + { + "ref": "pkg:golang/k8s.io/utils@v0.0.0-20221107191617-1a15be271d1d", + "dependsOn": [ + "pkg:golang/github.com/davecgh/go-spew@v1.1.1", + "pkg:golang/k8s.io/klog/v2@v2.80.1", + "pkg:golang/github.com/go-logr/logr@v1.2.3" + ] + }, + { + "ref": "pkg:golang/sigs.k8s.io/json@v0.0.0-20220713155537-f223a00ba0e2", + "dependsOn": [] + }, + { + "ref": "pkg:golang/sigs.k8s.io/structured-merge-diff/v4@v4.2.3", + "dependsOn": [ + "pkg:golang/gopkg.in/yaml.v2@v2.4.0", + "pkg:golang/github.com/google/gofuzz@v1.1.0", + "pkg:golang/github.com/json-iterator/go@v1.1.12", + "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd" + ] + }, + { + "ref": "pkg:golang/sigs.k8s.io/yaml@v1.3.0", + "dependsOn": [ + "pkg:golang/github.com/davecgh/go-spew@v1.1.1", + "pkg:golang/gopkg.in/yaml.v2@v2.4.0" + ] + }, { "ref": "pkg:golang/github.com/armon/go-socks5@v0.0.0-20160902184237-e75332964ef5", "dependsOn": [] @@ -1854,6 +1747,51 @@ "ref": "pkg:golang/github.com/mxk/go-flowrate@v0.0.0-20140419014527-cca7078d478f", "dependsOn": [] }, + { + "ref": "pkg:golang/k8s.io/kube-openapi@v0.0.0-20221012153701-172d655c2280", + "dependsOn": [ + "pkg:golang/github.com/NYTimes/gziphandler@v0.0.0-20170623195520-56545f4a5d46", + "pkg:golang/github.com/asaskevich/govalidator@v0.0.0-20190424111038-f61b66f89f4a", + "pkg:golang/github.com/emicklei/go-restful/v3@v3.9.0", + "pkg:golang/github.com/go-openapi/jsonreference@v0.20.0", + "pkg:golang/github.com/go-openapi/swag@v0.19.14", + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/github.com/google/gnostic@v0.5.7-v3refs", + "pkg:golang/github.com/google/go-cmp@v0.5.9", + "pkg:golang/github.com/google/gofuzz@v1.1.0", + "pkg:golang/github.com/google/uuid@v1.1.2", + "pkg:golang/github.com/mitchellh/mapstructure@v1.1.2", + "pkg:golang/github.com/munnerz/goautoneg@v0.0.0-20191010083416-a7dc8b61c822", + "pkg:golang/github.com/onsi/ginkgo/v2@v2.4.0", + "pkg:golang/github.com/onsi/gomega@v1.23.0", + "pkg:golang/github.com/spf13/pflag@v1.0.5", + "pkg:golang/github.com/stretchr/testify@v1.8.3", + "pkg:golang/google.golang.org/protobuf@v1.30.0", + "pkg:golang/gopkg.in/yaml.v2@v2.4.0", + "pkg:golang/gopkg.in/yaml.v3@v3.0.1", + "pkg:golang/k8s.io/gengo@v0.0.0-20210813121822-485abfe95c7c", + "pkg:golang/k8s.io/klog/v2@v2.80.1", + "pkg:golang/k8s.io/utils@v0.0.0-20221107191617-1a15be271d1d", + "pkg:golang/sigs.k8s.io/structured-merge-diff/v4@v4.2.3", + "pkg:golang/sigs.k8s.io/yaml@v1.3.0", + "pkg:golang/github.com/PuerkitoBio/purell@v1.1.1", + "pkg:golang/github.com/PuerkitoBio/urlesc@v0.0.0-20170810143723-de5bf2ad4578", + "pkg:golang/github.com/davecgh/go-spew@v1.1.1", + "pkg:golang/github.com/go-logr/logr@v1.2.3", + "pkg:golang/github.com/go-openapi/jsonpointer@v0.19.5", + "pkg:golang/github.com/json-iterator/go@v1.1.12", + "pkg:golang/github.com/mailru/easyjson@v0.7.6", + "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd", + "pkg:golang/github.com/modern-go/reflect2@v1.0.2", + "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", + "pkg:golang/golang.org/x/mod@v0.8.0", + "pkg:golang/golang.org/x/net@v0.10.0", + "pkg:golang/golang.org/x/sys@v0.8.0", + "pkg:golang/golang.org/x/text@v0.9.0", + "pkg:golang/golang.org/x/tools@v0.6.0", + "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1" + ] + }, { "ref": "pkg:golang/github.com/onsi/ginkgo/v2@v2.4.0", "dependsOn": [] @@ -1874,14 +1812,30 @@ "ref": "pkg:golang/github.com/gregjones/httpcache@v0.0.0-20180305231024-9cad4c3443a7", "dependsOn": [] }, + { + "ref": "pkg:golang/github.com/imdario/mergo@v0.3.6", + "dependsOn": [] + }, { "ref": "pkg:golang/github.com/peterbourgon/diskv@v2.0.1%2Bincompatible", "dependsOn": [] }, + { + "ref": "pkg:golang/golang.org/x/time@v0.0.0-20220210224613-90d013bbcef8", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/emicklei/go-restful/v3@v3.9.0", + "dependsOn": [] + }, { "ref": "pkg:golang/github.com/google/btree@v1.0.1", "dependsOn": [] }, + { + "ref": "pkg:golang/github.com/munnerz/goautoneg@v0.0.0-20191010083416-a7dc8b61c822", + "dependsOn": [] + }, { "ref": "pkg:golang/github.com/NYTimes/gziphandler@v0.0.0-20170623195520-56545f4a5d46", "dependsOn": [] diff --git a/test/providers/tst_manifests/golang/go_mod_no_ignore/expected_sbom_component_analysis.json b/test/providers/tst_manifests/golang/go_mod_no_ignore/expected_sbom_component_analysis.json index 0308fb10..d132874e 100644 --- a/test/providers/tst_manifests/golang/go_mod_no_ignore/expected_sbom_component_analysis.json +++ b/test/providers/tst_manifests/golang/go_mod_no_ignore/expected_sbom_component_analysis.json @@ -1,618 +1,116 @@ { - "bomFormat": "CycloneDX", - "specVersion": "1.4", - "version": 1, - "metadata": { - "timestamp": "2023-08-07T00:00:00.000Z", - "component": { - "group": "github.com/RHEcosystemAppEng/SaaSi", - "name": "deployer", - "version": "v0.0.0", - "purl": "pkg:golang/github.com/RHEcosystemAppEng/SaaSi/deployer@v0.0.0", - "type": "application", - "bom-ref": "pkg:golang/github.com/RHEcosystemAppEng/SaaSi/deployer@v0.0.0" - } - }, - "components": [ - { - "group": "github.com/RHEcosystemAppEng/SaaSi", - "name": "deployer", - "version": "v0.0.0", - "purl": "pkg:golang/github.com/RHEcosystemAppEng/SaaSi/deployer@v0.0.0", - "type": "application", - "bom-ref": "pkg:golang/github.com/RHEcosystemAppEng/SaaSi/deployer@v0.0.0" - }, - { - "group": "github.com/davecgh", - "name": "go-spew", - "version": "v1.1.1", - "purl": "pkg:golang/github.com/davecgh/go-spew@v1.1.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/davecgh/go-spew@v1.1.1" - }, - { - "group": "github.com/emicklei/go-restful", - "name": "v3", - "version": "v3.9.0", - "purl": "pkg:golang/github.com/emicklei/go-restful/v3@v3.9.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/emicklei/go-restful/v3@v3.9.0" - }, - { - "group": "github.com/gin-gonic", - "name": "gin", - "version": "v1.9.1", - "purl": "pkg:golang/github.com/gin-gonic/gin@v1.9.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/gin-gonic/gin@v1.9.1" - }, - { - "group": "github.com/go-logr", - "name": "logr", - "version": "v1.2.3", - "purl": "pkg:golang/github.com/go-logr/logr@v1.2.3", - "type": "library", - "bom-ref": "pkg:golang/github.com/go-logr/logr@v1.2.3" - }, - { - "group": "github.com/go-openapi", - "name": "jsonpointer", - "version": "v0.19.5", - "purl": "pkg:golang/github.com/go-openapi/jsonpointer@v0.19.5", - "type": "library", - "bom-ref": "pkg:golang/github.com/go-openapi/jsonpointer@v0.19.5" - }, - { - "group": "github.com/go-openapi", - "name": "jsonreference", - "version": "v0.20.0", - "purl": "pkg:golang/github.com/go-openapi/jsonreference@v0.20.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/go-openapi/jsonreference@v0.20.0" - }, - { - "group": "github.com/go-openapi", - "name": "swag", - "version": "v0.19.14", - "purl": "pkg:golang/github.com/go-openapi/swag@v0.19.14", - "type": "library", - "bom-ref": "pkg:golang/github.com/go-openapi/swag@v0.19.14" - }, - { - "group": "github.com/gogo", - "name": "protobuf", - "version": "v1.3.2", - "purl": "pkg:golang/github.com/gogo/protobuf@v1.3.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/gogo/protobuf@v1.3.2" - }, - { - "group": "github.com/golang", - "name": "protobuf", - "version": "v1.5.2", - "purl": "pkg:golang/github.com/golang/protobuf@v1.5.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/protobuf@v1.5.2" - }, - { - "group": "github.com/google", - "name": "gnostic", - "version": "v0.5.7-v3refs", - "purl": "pkg:golang/github.com/google/gnostic@v0.5.7-v3refs", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/gnostic@v0.5.7-v3refs" - }, - { - "group": "github.com/google", - "name": "go-cmp", - "version": "v0.5.9", - "purl": "pkg:golang/github.com/google/go-cmp@v0.5.9", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/go-cmp@v0.5.9" - }, - { - "group": "github.com/google", - "name": "gofuzz", - "version": "v1.1.0", - "purl": "pkg:golang/github.com/google/gofuzz@v1.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/gofuzz@v1.1.0" - }, - { - "group": "github.com/google", - "name": "uuid", - "version": "v1.1.2", - "purl": "pkg:golang/github.com/google/uuid@v1.1.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/uuid@v1.1.2" - }, - { - "group": "github.com/imdario", - "name": "mergo", - "version": "v0.3.6", - "purl": "pkg:golang/github.com/imdario/mergo@v0.3.6", - "type": "library", - "bom-ref": "pkg:golang/github.com/imdario/mergo@v0.3.6" - }, - { - "group": "github.com/jessevdk", - "name": "go-flags", - "version": "v1.5.0", - "purl": "pkg:golang/github.com/jessevdk/go-flags@v1.5.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/jessevdk/go-flags@v1.5.0" - }, - { - "group": "github.com/josharian", - "name": "intern", - "version": "v1.0.0", - "purl": "pkg:golang/github.com/josharian/intern@v1.0.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/josharian/intern@v1.0.0" - }, - { - "group": "github.com/json-iterator", - "name": "go", - "version": "v1.1.12", - "purl": "pkg:golang/github.com/json-iterator/go@v1.1.12", - "type": "library", - "bom-ref": "pkg:golang/github.com/json-iterator/go@v1.1.12" - }, - { - "group": "github.com/kr", - "name": "pretty", - "version": "v0.3.1", - "purl": "pkg:golang/github.com/kr/pretty@v0.3.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/kr/pretty@v0.3.1" - }, - { - "group": "github.com/kr", - "name": "text", - "version": "v0.2.0", - "purl": "pkg:golang/github.com/kr/text@v0.2.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/kr/text@v0.2.0" - }, - { - "group": "github.com/mailru", - "name": "easyjson", - "version": "v0.7.6", - "purl": "pkg:golang/github.com/mailru/easyjson@v0.7.6", - "type": "library", - "bom-ref": "pkg:golang/github.com/mailru/easyjson@v0.7.6" - }, - { - "group": "github.com/modern-go", - "name": "concurrent", - "version": "v0.0.0-20180306012644-bacd9c7ef1dd", - "purl": "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd", - "type": "library", - "bom-ref": "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd" - }, - { - "group": "github.com/modern-go", - "name": "reflect2", - "version": "v1.0.2", - "purl": "pkg:golang/github.com/modern-go/reflect2@v1.0.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/modern-go/reflect2@v1.0.2" - }, - { - "group": "github.com/munnerz", - "name": "goautoneg", - "version": "v0.0.0-20191010083416-a7dc8b61c822", - "purl": "pkg:golang/github.com/munnerz/goautoneg@v0.0.0-20191010083416-a7dc8b61c822", - "type": "library", - "bom-ref": "pkg:golang/github.com/munnerz/goautoneg@v0.0.0-20191010083416-a7dc8b61c822" - }, - { - "group": "github.com/rogpeppe", - "name": "go-internal", - "version": "v1.9.0", - "purl": "pkg:golang/github.com/rogpeppe/go-internal@v1.9.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/rogpeppe/go-internal@v1.9.0" - }, - { - "group": "github.com/spf13", - "name": "pflag", - "version": "v1.0.5", - "purl": "pkg:golang/github.com/spf13/pflag@v1.0.5", - "type": "library", - "bom-ref": "pkg:golang/github.com/spf13/pflag@v1.0.5" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.10.0", - "purl": "pkg:golang/golang.org/x/net@v0.10.0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.10.0" - }, - { - "group": "golang.org/x", - "name": "oauth2", - "version": "v0.0.0-20220223155221-ee480838109b", - "purl": "pkg:golang/golang.org/x/oauth2@v0.0.0-20220223155221-ee480838109b", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20220223155221-ee480838109b" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.8.0", - "purl": "pkg:golang/golang.org/x/sys@v0.8.0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.8.0" - }, - { - "group": "golang.org/x", - "name": "term", - "version": "v0.8.0", - "purl": "pkg:golang/golang.org/x/term@v0.8.0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/term@v0.8.0" - }, - { - "group": "golang.org/x", - "name": "text", - "version": "v0.9.0", - "purl": "pkg:golang/golang.org/x/text@v0.9.0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/text@v0.9.0" - }, - { - "group": "golang.org/x", - "name": "time", - "version": "v0.0.0-20220210224613-90d013bbcef8", - "purl": "pkg:golang/golang.org/x/time@v0.0.0-20220210224613-90d013bbcef8", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/time@v0.0.0-20220210224613-90d013bbcef8" - }, - { - "group": "google.golang.org", - "name": "appengine", - "version": "v1.6.7", - "purl": "pkg:golang/google.golang.org/appengine@v1.6.7", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/appengine@v1.6.7" - }, - { - "group": "google.golang.org", - "name": "protobuf", - "version": "v1.30.0", - "purl": "pkg:golang/google.golang.org/protobuf@v1.30.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/protobuf@v1.30.0" - }, - { - "group": "gopkg.in", - "name": "inf.v0", - "version": "v0.9.1", - "purl": "pkg:golang/gopkg.in/inf.v0@v0.9.1", - "type": "library", - "bom-ref": "pkg:golang/gopkg.in/inf.v0@v0.9.1" - }, - { - "group": "gopkg.in", - "name": "yaml.v2", - "version": "v2.4.0", - "purl": "pkg:golang/gopkg.in/yaml.v2@v2.4.0", - "type": "library", - "bom-ref": "pkg:golang/gopkg.in/yaml.v2@v2.4.0" - }, - { - "group": "gopkg.in", - "name": "yaml.v3", - "version": "v3.0.1", - "purl": "pkg:golang/gopkg.in/yaml.v3@v3.0.1", - "type": "library", - "bom-ref": "pkg:golang/gopkg.in/yaml.v3@v3.0.1" - }, - { - "group": "k8s.io", - "name": "api", - "version": "v0.26.1", - "purl": "pkg:golang/k8s.io/api@v0.26.1", - "type": "library", - "bom-ref": "pkg:golang/k8s.io/api@v0.26.1" - }, - { - "group": "k8s.io", - "name": "apimachinery", - "version": "v0.26.1", - "purl": "pkg:golang/k8s.io/apimachinery@v0.26.1", - "type": "library", - "bom-ref": "pkg:golang/k8s.io/apimachinery@v0.26.1" - }, - { - "group": "k8s.io", - "name": "client-go", - "version": "v0.26.1", - "purl": "pkg:golang/k8s.io/client-go@v0.26.1", - "type": "library", - "bom-ref": "pkg:golang/k8s.io/client-go@v0.26.1" - }, - { - "group": "k8s.io/klog", - "name": "v2", - "version": "v2.80.1", - "purl": "pkg:golang/k8s.io/klog/v2@v2.80.1", - "type": "library", - "bom-ref": "pkg:golang/k8s.io/klog/v2@v2.80.1" - }, - { - "group": "k8s.io", - "name": "kube-openapi", - "version": "v0.0.0-20221012153701-172d655c2280", - "purl": "pkg:golang/k8s.io/kube-openapi@v0.0.0-20221012153701-172d655c2280", - "type": "library", - "bom-ref": "pkg:golang/k8s.io/kube-openapi@v0.0.0-20221012153701-172d655c2280" - }, - { - "group": "k8s.io", - "name": "utils", - "version": "v0.0.0-20221107191617-1a15be271d1d", - "purl": "pkg:golang/k8s.io/utils@v0.0.0-20221107191617-1a15be271d1d", - "type": "library", - "bom-ref": "pkg:golang/k8s.io/utils@v0.0.0-20221107191617-1a15be271d1d" - }, - { - "group": "sigs.k8s.io", - "name": "json", - "version": "v0.0.0-20220713155537-f223a00ba0e2", - "purl": "pkg:golang/sigs.k8s.io/json@v0.0.0-20220713155537-f223a00ba0e2", - "type": "library", - "bom-ref": "pkg:golang/sigs.k8s.io/json@v0.0.0-20220713155537-f223a00ba0e2" - }, - { - "group": "sigs.k8s.io/structured-merge-diff", - "name": "v4", - "version": "v4.2.3", - "purl": "pkg:golang/sigs.k8s.io/structured-merge-diff/v4@v4.2.3", - "type": "library", - "bom-ref": "pkg:golang/sigs.k8s.io/structured-merge-diff/v4@v4.2.3" - }, - { - "group": "sigs.k8s.io", - "name": "yaml", - "version": "v1.3.0", - "purl": "pkg:golang/sigs.k8s.io/yaml@v1.3.0", - "type": "library", - "bom-ref": "pkg:golang/sigs.k8s.io/yaml@v1.3.0" - } - ], - "dependencies": [ - { - "ref": "pkg:golang/github.com/RHEcosystemAppEng/SaaSi/deployer@v0.0.0", - "dependsOn": [ - "pkg:golang/github.com/davecgh/go-spew@v1.1.1", - "pkg:golang/github.com/emicklei/go-restful/v3@v3.9.0", - "pkg:golang/github.com/gin-gonic/gin@v1.9.1", - "pkg:golang/github.com/go-logr/logr@v1.2.3", - "pkg:golang/github.com/go-openapi/jsonpointer@v0.19.5", - "pkg:golang/github.com/go-openapi/jsonreference@v0.20.0", - "pkg:golang/github.com/go-openapi/swag@v0.19.14", - "pkg:golang/github.com/gogo/protobuf@v1.3.2", - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/github.com/google/gnostic@v0.5.7-v3refs", - "pkg:golang/github.com/google/go-cmp@v0.5.9", - "pkg:golang/github.com/google/gofuzz@v1.1.0", - "pkg:golang/github.com/google/uuid@v1.1.2", - "pkg:golang/github.com/imdario/mergo@v0.3.6", - "pkg:golang/github.com/jessevdk/go-flags@v1.5.0", - "pkg:golang/github.com/josharian/intern@v1.0.0", - "pkg:golang/github.com/json-iterator/go@v1.1.12", - "pkg:golang/github.com/kr/pretty@v0.3.1", - "pkg:golang/github.com/kr/text@v0.2.0", - "pkg:golang/github.com/mailru/easyjson@v0.7.6", - "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd", - "pkg:golang/github.com/modern-go/reflect2@v1.0.2", - "pkg:golang/github.com/munnerz/goautoneg@v0.0.0-20191010083416-a7dc8b61c822", - "pkg:golang/github.com/rogpeppe/go-internal@v1.9.0", - "pkg:golang/github.com/spf13/pflag@v1.0.5", - "pkg:golang/golang.org/x/net@v0.10.0", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20220223155221-ee480838109b", - "pkg:golang/golang.org/x/sys@v0.8.0", - "pkg:golang/golang.org/x/term@v0.8.0", - "pkg:golang/golang.org/x/text@v0.9.0", - "pkg:golang/golang.org/x/time@v0.0.0-20220210224613-90d013bbcef8", - "pkg:golang/google.golang.org/appengine@v1.6.7", - "pkg:golang/google.golang.org/protobuf@v1.30.0", - "pkg:golang/gopkg.in/inf.v0@v0.9.1", - "pkg:golang/gopkg.in/yaml.v2@v2.4.0", - "pkg:golang/gopkg.in/yaml.v3@v3.0.1", - "pkg:golang/k8s.io/api@v0.26.1", - "pkg:golang/k8s.io/apimachinery@v0.26.1", - "pkg:golang/k8s.io/client-go@v0.26.1", - "pkg:golang/k8s.io/klog/v2@v2.80.1", - "pkg:golang/k8s.io/kube-openapi@v0.0.0-20221012153701-172d655c2280", - "pkg:golang/k8s.io/utils@v0.0.0-20221107191617-1a15be271d1d", - "pkg:golang/sigs.k8s.io/json@v0.0.0-20220713155537-f223a00ba0e2", - "pkg:golang/sigs.k8s.io/structured-merge-diff/v4@v4.2.3", - "pkg:golang/sigs.k8s.io/yaml@v1.3.0" - ] - }, - { - "ref": "pkg:golang/github.com/davecgh/go-spew@v1.1.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/emicklei/go-restful/v3@v3.9.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/gin-gonic/gin@v1.9.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/go-logr/logr@v1.2.3", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/go-openapi/jsonpointer@v0.19.5", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/go-openapi/jsonreference@v0.20.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/go-openapi/swag@v0.19.14", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/gogo/protobuf@v1.3.2", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/golang/protobuf@v1.5.2", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/google/gnostic@v0.5.7-v3refs", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/google/go-cmp@v0.5.9", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/google/gofuzz@v1.1.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/google/uuid@v1.1.2", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/imdario/mergo@v0.3.6", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/jessevdk/go-flags@v1.5.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/josharian/intern@v1.0.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/json-iterator/go@v1.1.12", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/kr/pretty@v0.3.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/kr/text@v0.2.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/mailru/easyjson@v0.7.6", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/modern-go/reflect2@v1.0.2", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/munnerz/goautoneg@v0.0.0-20191010083416-a7dc8b61c822", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/rogpeppe/go-internal@v1.9.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/spf13/pflag@v1.0.5", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.10.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20220223155221-ee480838109b", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.8.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/term@v0.8.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/text@v0.9.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/time@v0.0.0-20220210224613-90d013bbcef8", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/appengine@v1.6.7", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/protobuf@v1.30.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/gopkg.in/inf.v0@v0.9.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/gopkg.in/yaml.v2@v2.4.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/gopkg.in/yaml.v3@v3.0.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/k8s.io/api@v0.26.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/k8s.io/apimachinery@v0.26.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/k8s.io/client-go@v0.26.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/k8s.io/klog/v2@v2.80.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/k8s.io/kube-openapi@v0.0.0-20221012153701-172d655c2280", - "dependsOn": [] - }, - { - "ref": "pkg:golang/k8s.io/utils@v0.0.0-20221107191617-1a15be271d1d", - "dependsOn": [] - }, - { - "ref": "pkg:golang/sigs.k8s.io/json@v0.0.0-20220713155537-f223a00ba0e2", - "dependsOn": [] - }, - { - "ref": "pkg:golang/sigs.k8s.io/structured-merge-diff/v4@v4.2.3", - "dependsOn": [] - }, - { - "ref": "pkg:golang/sigs.k8s.io/yaml@v1.3.0", - "dependsOn": [] - } - ] + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-08-07T00:00:00.000Z", + "component": { + "group": "github.com/RHEcosystemAppEng/SaaSi", + "name": "deployer", + "version": "v0.0.0", + "purl": "pkg:golang/github.com/RHEcosystemAppEng/SaaSi/deployer@v0.0.0", + "type": "application", + "bom-ref": "pkg:golang/github.com/RHEcosystemAppEng/SaaSi/deployer@v0.0.0" + } + }, + "components": [ + { + "group": "github.com/gin-gonic", + "name": "gin", + "version": "v1.9.1", + "purl": "pkg:golang/github.com/gin-gonic/gin@v1.9.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/gin-gonic/gin@v1.9.1" + }, + { + "group": "github.com/google", + "name": "uuid", + "version": "v1.1.2", + "purl": "pkg:golang/github.com/google/uuid@v1.1.2", + "type": "library", + "bom-ref": "pkg:golang/github.com/google/uuid@v1.1.2" + }, + { + "group": "github.com/jessevdk", + "name": "go-flags", + "version": "v1.5.0", + "purl": "pkg:golang/github.com/jessevdk/go-flags@v1.5.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/jessevdk/go-flags@v1.5.0" + }, + { + "group": "github.com/kr", + "name": "pretty", + "version": "v0.3.1", + "purl": "pkg:golang/github.com/kr/pretty@v0.3.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/kr/pretty@v0.3.1" + }, + { + "group": "gopkg.in", + "name": "yaml.v2", + "version": "v2.4.0", + "purl": "pkg:golang/gopkg.in/yaml.v2@v2.4.0", + "type": "library", + "bom-ref": "pkg:golang/gopkg.in/yaml.v2@v2.4.0" + }, + { + "group": "k8s.io", + "name": "apimachinery", + "version": "v0.26.1", + "purl": "pkg:golang/k8s.io/apimachinery@v0.26.1", + "type": "library", + "bom-ref": "pkg:golang/k8s.io/apimachinery@v0.26.1" + }, + { + "group": "k8s.io", + "name": "client-go", + "version": "v0.26.1", + "purl": "pkg:golang/k8s.io/client-go@v0.26.1", + "type": "library", + "bom-ref": "pkg:golang/k8s.io/client-go@v0.26.1" + } + ], + "dependencies": [ + { + "ref": "pkg:golang/github.com/RHEcosystemAppEng/SaaSi/deployer@v0.0.0", + "dependsOn": [ + "pkg:golang/github.com/gin-gonic/gin@v1.9.1", + "pkg:golang/github.com/google/uuid@v1.1.2", + "pkg:golang/github.com/jessevdk/go-flags@v1.5.0", + "pkg:golang/github.com/kr/pretty@v0.3.1", + "pkg:golang/gopkg.in/yaml.v2@v2.4.0", + "pkg:golang/k8s.io/apimachinery@v0.26.1", + "pkg:golang/k8s.io/client-go@v0.26.1" + ] + }, + { + "ref": "pkg:golang/github.com/gin-gonic/gin@v1.9.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/google/uuid@v1.1.2", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/jessevdk/go-flags@v1.5.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/kr/pretty@v0.3.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/gopkg.in/yaml.v2@v2.4.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/k8s.io/apimachinery@v0.26.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/k8s.io/client-go@v0.26.1", + "dependsOn": [] + } + ] } diff --git a/test/providers/tst_manifests/golang/go_mod_no_ignore/expected_sbom_stack_analysis.json b/test/providers/tst_manifests/golang/go_mod_no_ignore/expected_sbom_stack_analysis.json index 0c0f8c16..56234681 100644 --- a/test/providers/tst_manifests/golang/go_mod_no_ignore/expected_sbom_stack_analysis.json +++ b/test/providers/tst_manifests/golang/go_mod_no_ignore/expected_sbom_stack_analysis.json @@ -1,8164 +1,2225 @@ { - "bomFormat": "CycloneDX", - "specVersion": "1.4", - "version": 1, - "metadata": { - "timestamp": "2023-08-07T00:00:00.000Z", - "component": { - "group": "github.com/RHEcosystemAppEng/SaaSi", - "name": "deployer", - "version": "v0.0.0", - "purl": "pkg:golang/github.com/RHEcosystemAppEng/SaaSi/deployer@v0.0.0", - "type": "application", - "bom-ref": "pkg:golang/github.com/RHEcosystemAppEng/SaaSi/deployer@v0.0.0" - } - }, - "components": [ - { - "group": "github.com/RHEcosystemAppEng/SaaSi", - "name": "deployer", - "version": "v0.0.0", - "purl": "pkg:golang/github.com/RHEcosystemAppEng/SaaSi/deployer@v0.0.0", - "type": "application", - "bom-ref": "pkg:golang/github.com/RHEcosystemAppEng/SaaSi/deployer@v0.0.0" - }, - { - "group": "github.com/davecgh", - "name": "go-spew", - "version": "v1.1.1", - "purl": "pkg:golang/github.com/davecgh/go-spew@v1.1.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/davecgh/go-spew@v1.1.1" - }, - { - "group": "github.com/emicklei/go-restful", - "name": "v3", - "version": "v3.9.0", - "purl": "pkg:golang/github.com/emicklei/go-restful/v3@v3.9.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/emicklei/go-restful/v3@v3.9.0" - }, - { - "group": "github.com/gin-gonic", - "name": "gin", - "version": "v1.9.1", - "purl": "pkg:golang/github.com/gin-gonic/gin@v1.9.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/gin-gonic/gin@v1.9.1" - }, - { - "group": "github.com/go-logr", - "name": "logr", - "version": "v1.2.3", - "purl": "pkg:golang/github.com/go-logr/logr@v1.2.3", - "type": "library", - "bom-ref": "pkg:golang/github.com/go-logr/logr@v1.2.3" - }, - { - "group": "github.com/go-openapi", - "name": "jsonpointer", - "version": "v0.19.5", - "purl": "pkg:golang/github.com/go-openapi/jsonpointer@v0.19.5", - "type": "library", - "bom-ref": "pkg:golang/github.com/go-openapi/jsonpointer@v0.19.5" - }, - { - "group": "github.com/go-openapi", - "name": "jsonreference", - "version": "v0.20.0", - "purl": "pkg:golang/github.com/go-openapi/jsonreference@v0.20.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/go-openapi/jsonreference@v0.20.0" - }, - { - "group": "github.com/go-openapi", - "name": "swag", - "version": "v0.19.14", - "purl": "pkg:golang/github.com/go-openapi/swag@v0.19.14", - "type": "library", - "bom-ref": "pkg:golang/github.com/go-openapi/swag@v0.19.14" - }, - { - "group": "github.com/gogo", - "name": "protobuf", - "version": "v1.3.2", - "purl": "pkg:golang/github.com/gogo/protobuf@v1.3.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/gogo/protobuf@v1.3.2" - }, - { - "group": "github.com/golang", - "name": "protobuf", - "version": "v1.5.2", - "purl": "pkg:golang/github.com/golang/protobuf@v1.5.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/protobuf@v1.5.2" - }, - { - "group": "github.com/google", - "name": "gnostic", - "version": "v0.5.7-v3refs", - "purl": "pkg:golang/github.com/google/gnostic@v0.5.7-v3refs", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/gnostic@v0.5.7-v3refs" - }, - { - "group": "github.com/google", - "name": "go-cmp", - "version": "v0.5.9", - "purl": "pkg:golang/github.com/google/go-cmp@v0.5.9", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/go-cmp@v0.5.9" - }, - { - "group": "github.com/google", - "name": "gofuzz", - "version": "v1.1.0", - "purl": "pkg:golang/github.com/google/gofuzz@v1.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/gofuzz@v1.1.0" - }, - { - "group": "github.com/google", - "name": "uuid", - "version": "v1.1.2", - "purl": "pkg:golang/github.com/google/uuid@v1.1.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/uuid@v1.1.2" - }, - { - "group": "github.com/imdario", - "name": "mergo", - "version": "v0.3.6", - "purl": "pkg:golang/github.com/imdario/mergo@v0.3.6", - "type": "library", - "bom-ref": "pkg:golang/github.com/imdario/mergo@v0.3.6" - }, - { - "group": "github.com/jessevdk", - "name": "go-flags", - "version": "v1.5.0", - "purl": "pkg:golang/github.com/jessevdk/go-flags@v1.5.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/jessevdk/go-flags@v1.5.0" - }, - { - "group": "github.com/josharian", - "name": "intern", - "version": "v1.0.0", - "purl": "pkg:golang/github.com/josharian/intern@v1.0.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/josharian/intern@v1.0.0" - }, - { - "group": "github.com/json-iterator", - "name": "go", - "version": "v1.1.12", - "purl": "pkg:golang/github.com/json-iterator/go@v1.1.12", - "type": "library", - "bom-ref": "pkg:golang/github.com/json-iterator/go@v1.1.12" - }, - { - "group": "github.com/kr", - "name": "pretty", - "version": "v0.3.1", - "purl": "pkg:golang/github.com/kr/pretty@v0.3.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/kr/pretty@v0.3.1" - }, - { - "group": "github.com/kr", - "name": "text", - "version": "v0.2.0", - "purl": "pkg:golang/github.com/kr/text@v0.2.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/kr/text@v0.2.0" - }, - { - "group": "github.com/mailru", - "name": "easyjson", - "version": "v0.7.6", - "purl": "pkg:golang/github.com/mailru/easyjson@v0.7.6", - "type": "library", - "bom-ref": "pkg:golang/github.com/mailru/easyjson@v0.7.6" - }, - { - "group": "github.com/modern-go", - "name": "concurrent", - "version": "v0.0.0-20180306012644-bacd9c7ef1dd", - "purl": "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd", - "type": "library", - "bom-ref": "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd" - }, - { - "group": "github.com/modern-go", - "name": "reflect2", - "version": "v1.0.2", - "purl": "pkg:golang/github.com/modern-go/reflect2@v1.0.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/modern-go/reflect2@v1.0.2" - }, - { - "group": "github.com/munnerz", - "name": "goautoneg", - "version": "v0.0.0-20191010083416-a7dc8b61c822", - "purl": "pkg:golang/github.com/munnerz/goautoneg@v0.0.0-20191010083416-a7dc8b61c822", - "type": "library", - "bom-ref": "pkg:golang/github.com/munnerz/goautoneg@v0.0.0-20191010083416-a7dc8b61c822" - }, - { - "group": "github.com/rogpeppe", - "name": "go-internal", - "version": "v1.9.0", - "purl": "pkg:golang/github.com/rogpeppe/go-internal@v1.9.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/rogpeppe/go-internal@v1.9.0" - }, - { - "group": "github.com/spf13", - "name": "pflag", - "version": "v1.0.5", - "purl": "pkg:golang/github.com/spf13/pflag@v1.0.5", - "type": "library", - "bom-ref": "pkg:golang/github.com/spf13/pflag@v1.0.5" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.10.0", - "purl": "pkg:golang/golang.org/x/net@v0.10.0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.10.0" - }, - { - "group": "golang.org/x", - "name": "oauth2", - "version": "v0.0.0-20220223155221-ee480838109b", - "purl": "pkg:golang/golang.org/x/oauth2@v0.0.0-20220223155221-ee480838109b", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20220223155221-ee480838109b" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.8.0", - "purl": "pkg:golang/golang.org/x/sys@v0.8.0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.8.0" - }, - { - "group": "golang.org/x", - "name": "term", - "version": "v0.8.0", - "purl": "pkg:golang/golang.org/x/term@v0.8.0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/term@v0.8.0" - }, - { - "group": "golang.org/x", - "name": "text", - "version": "v0.9.0", - "purl": "pkg:golang/golang.org/x/text@v0.9.0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/text@v0.9.0" - }, - { - "group": "golang.org/x", - "name": "time", - "version": "v0.0.0-20220210224613-90d013bbcef8", - "purl": "pkg:golang/golang.org/x/time@v0.0.0-20220210224613-90d013bbcef8", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/time@v0.0.0-20220210224613-90d013bbcef8" - }, - { - "group": "google.golang.org", - "name": "appengine", - "version": "v1.6.7", - "purl": "pkg:golang/google.golang.org/appengine@v1.6.7", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/appengine@v1.6.7" - }, - { - "group": "google.golang.org", - "name": "protobuf", - "version": "v1.30.0", - "purl": "pkg:golang/google.golang.org/protobuf@v1.30.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/protobuf@v1.30.0" - }, - { - "group": "gopkg.in", - "name": "inf.v0", - "version": "v0.9.1", - "purl": "pkg:golang/gopkg.in/inf.v0@v0.9.1", - "type": "library", - "bom-ref": "pkg:golang/gopkg.in/inf.v0@v0.9.1" - }, - { - "group": "gopkg.in", - "name": "yaml.v2", - "version": "v2.4.0", - "purl": "pkg:golang/gopkg.in/yaml.v2@v2.4.0", - "type": "library", - "bom-ref": "pkg:golang/gopkg.in/yaml.v2@v2.4.0" - }, - { - "group": "gopkg.in", - "name": "yaml.v3", - "version": "v3.0.1", - "purl": "pkg:golang/gopkg.in/yaml.v3@v3.0.1", - "type": "library", - "bom-ref": "pkg:golang/gopkg.in/yaml.v3@v3.0.1" - }, - { - "group": "k8s.io", - "name": "api", - "version": "v0.26.1", - "purl": "pkg:golang/k8s.io/api@v0.26.1", - "type": "library", - "bom-ref": "pkg:golang/k8s.io/api@v0.26.1" - }, - { - "group": "k8s.io", - "name": "apimachinery", - "version": "v0.26.1", - "purl": "pkg:golang/k8s.io/apimachinery@v0.26.1", - "type": "library", - "bom-ref": "pkg:golang/k8s.io/apimachinery@v0.26.1" - }, - { - "group": "k8s.io", - "name": "client-go", - "version": "v0.26.1", - "purl": "pkg:golang/k8s.io/client-go@v0.26.1", - "type": "library", - "bom-ref": "pkg:golang/k8s.io/client-go@v0.26.1" - }, - { - "group": "k8s.io/klog", - "name": "v2", - "version": "v2.80.1", - "purl": "pkg:golang/k8s.io/klog/v2@v2.80.1", - "type": "library", - "bom-ref": "pkg:golang/k8s.io/klog/v2@v2.80.1" - }, - { - "group": "k8s.io", - "name": "kube-openapi", - "version": "v0.0.0-20221012153701-172d655c2280", - "purl": "pkg:golang/k8s.io/kube-openapi@v0.0.0-20221012153701-172d655c2280", - "type": "library", - "bom-ref": "pkg:golang/k8s.io/kube-openapi@v0.0.0-20221012153701-172d655c2280" - }, - { - "group": "k8s.io", - "name": "utils", - "version": "v0.0.0-20221107191617-1a15be271d1d", - "purl": "pkg:golang/k8s.io/utils@v0.0.0-20221107191617-1a15be271d1d", - "type": "library", - "bom-ref": "pkg:golang/k8s.io/utils@v0.0.0-20221107191617-1a15be271d1d" - }, - { - "group": "sigs.k8s.io", - "name": "json", - "version": "v0.0.0-20220713155537-f223a00ba0e2", - "purl": "pkg:golang/sigs.k8s.io/json@v0.0.0-20220713155537-f223a00ba0e2", - "type": "library", - "bom-ref": "pkg:golang/sigs.k8s.io/json@v0.0.0-20220713155537-f223a00ba0e2" - }, - { - "group": "sigs.k8s.io/structured-merge-diff", - "name": "v4", - "version": "v4.2.3", - "purl": "pkg:golang/sigs.k8s.io/structured-merge-diff/v4@v4.2.3", - "type": "library", - "bom-ref": "pkg:golang/sigs.k8s.io/structured-merge-diff/v4@v4.2.3" - }, - { - "group": "sigs.k8s.io", - "name": "yaml", - "version": "v1.3.0", - "purl": "pkg:golang/sigs.k8s.io/yaml@v1.3.0", - "type": "library", - "bom-ref": "pkg:golang/sigs.k8s.io/yaml@v1.3.0" - }, - { - "group": "github.com/bytedance", - "name": "sonic", - "version": "v1.9.1", - "purl": "pkg:golang/github.com/bytedance/sonic@v1.9.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/bytedance/sonic@v1.9.1" - }, - { - "group": "github.com/gin-contrib", - "name": "sse", - "version": "v0.1.0", - "purl": "pkg:golang/github.com/gin-contrib/sse@v0.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/gin-contrib/sse@v0.1.0" - }, - { - "group": "github.com/go-playground/validator", - "name": "v10", - "version": "v10.14.0", - "purl": "pkg:golang/github.com/go-playground/validator/v10@v10.14.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/go-playground/validator/v10@v10.14.0" - }, - { - "group": "github.com/goccy", - "name": "go-json", - "version": "v0.10.2", - "purl": "pkg:golang/github.com/goccy/go-json@v0.10.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/goccy/go-json@v0.10.2" - }, - { - "group": "github.com/mattn", - "name": "go-isatty", - "version": "v0.0.19", - "purl": "pkg:golang/github.com/mattn/go-isatty@v0.0.19", - "type": "library", - "bom-ref": "pkg:golang/github.com/mattn/go-isatty@v0.0.19" - }, - { - "group": "github.com/pelletier/go-toml", - "name": "v2", - "version": "v2.0.8", - "purl": "pkg:golang/github.com/pelletier/go-toml/v2@v2.0.8", - "type": "library", - "bom-ref": "pkg:golang/github.com/pelletier/go-toml/v2@v2.0.8" - }, - { - "group": "github.com/stretchr", - "name": "testify", - "version": "v1.8.3", - "purl": "pkg:golang/github.com/stretchr/testify@v1.8.3", - "type": "library", - "bom-ref": "pkg:golang/github.com/stretchr/testify@v1.8.3" - }, - { - "group": "github.com/ugorji/go", - "name": "codec", - "version": "v1.2.11", - "purl": "pkg:golang/github.com/ugorji/go/codec@v1.2.11", - "type": "library", - "bom-ref": "pkg:golang/github.com/ugorji/go/codec@v1.2.11" - }, - { - "group": "github.com/chenzhuoyu", - "name": "base64x", - "version": "v0.0.0-20221115062448-fe3a3abad311", - "purl": "pkg:golang/github.com/chenzhuoyu/base64x@v0.0.0-20221115062448-fe3a3abad311", - "type": "library", - "bom-ref": "pkg:golang/github.com/chenzhuoyu/base64x@v0.0.0-20221115062448-fe3a3abad311" - }, - { - "group": "github.com/gabriel-vasile", - "name": "mimetype", - "version": "v1.4.2", - "purl": "pkg:golang/github.com/gabriel-vasile/mimetype@v1.4.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/gabriel-vasile/mimetype@v1.4.2" - }, - { - "group": "github.com/go-playground", - "name": "locales", - "version": "v0.14.1", - "purl": "pkg:golang/github.com/go-playground/locales@v0.14.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/go-playground/locales@v0.14.1" - }, - { - "group": "github.com/go-playground", - "name": "universal-translator", - "version": "v0.18.1", - "purl": "pkg:golang/github.com/go-playground/universal-translator@v0.18.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/go-playground/universal-translator@v0.18.1" - }, - { - "group": "github.com/klauspost/cpuid", - "name": "v2", - "version": "v2.2.4", - "purl": "pkg:golang/github.com/klauspost/cpuid/v2@v2.2.4", - "type": "library", - "bom-ref": "pkg:golang/github.com/klauspost/cpuid/v2@v2.2.4" - }, - { - "group": "github.com/leodido", - "name": "go-urn", - "version": "v1.2.4", - "purl": "pkg:golang/github.com/leodido/go-urn@v1.2.4", - "type": "library", - "bom-ref": "pkg:golang/github.com/leodido/go-urn@v1.2.4" - }, - { - "group": "github.com/pmezard", - "name": "go-difflib", - "version": "v1.0.0", - "purl": "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/pmezard/go-difflib@v1.0.0" - }, - { - "group": "github.com/twitchyliquid64", - "name": "golang-asm", - "version": "v0.15.1", - "purl": "pkg:golang/github.com/twitchyliquid64/golang-asm@v0.15.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/twitchyliquid64/golang-asm@v0.15.1" - }, - { - "group": "golang.org/x", - "name": "arch", - "version": "v0.3.0", - "purl": "pkg:golang/golang.org/x/arch@v0.3.0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/arch@v0.3.0" - }, - { - "group": "golang.org/x", - "name": "crypto", - "version": "v0.9.0", - "purl": "pkg:golang/golang.org/x/crypto@v0.9.0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/crypto@v0.9.0" - }, - { - "group": "github.com/go-openapi", - "name": "swag", - "version": "v0.19.5", - "purl": "pkg:golang/github.com/go-openapi/swag@v0.19.5", - "type": "library", - "bom-ref": "pkg:golang/github.com/go-openapi/swag@v0.19.5" - }, - { - "group": "github.com/mailru", - "name": "easyjson", - "version": "v0.0.0-20190626092158-b2ccc519800e", - "purl": "pkg:golang/github.com/mailru/easyjson@v0.0.0-20190626092158-b2ccc519800e", - "type": "library", - "bom-ref": "pkg:golang/github.com/mailru/easyjson@v0.0.0-20190626092158-b2ccc519800e" - }, - { - "group": "github.com/stretchr", - "name": "testify", - "version": "v1.3.0", - "purl": "pkg:golang/github.com/stretchr/testify@v1.3.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/stretchr/testify@v1.3.0" - }, - { - "group": "github.com/go-openapi", - "name": "jsonpointer", - "version": "v0.19.3", - "purl": "pkg:golang/github.com/go-openapi/jsonpointer@v0.19.3", - "type": "library", - "bom-ref": "pkg:golang/github.com/go-openapi/jsonpointer@v0.19.3" - }, - { - "group": "github.com/niemeyer", - "name": "pretty", - "version": "v0.0.0-20200227124842-a10e7caefd8e", - "purl": "pkg:golang/github.com/niemeyer/pretty@v0.0.0-20200227124842-a10e7caefd8e", - "type": "library", - "bom-ref": "pkg:golang/github.com/niemeyer/pretty@v0.0.0-20200227124842-a10e7caefd8e" - }, - { - "group": "github.com/stretchr", - "name": "testify", - "version": "v1.6.1", - "purl": "pkg:golang/github.com/stretchr/testify@v1.6.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/stretchr/testify@v1.6.1" - }, - { - "group": "gopkg.in", - "name": "check.v1", - "version": "v1.0.0-20200227125254-8fa46927fb4f", - "purl": "pkg:golang/gopkg.in/check.v1@v1.0.0-20200227125254-8fa46927fb4f", - "type": "library", - "bom-ref": "pkg:golang/gopkg.in/check.v1@v1.0.0-20200227125254-8fa46927fb4f" - }, - { - "group": "gopkg.in", - "name": "yaml.v3", - "version": "v3.0.0-20200615113413-eeeca48fe776", - "purl": "pkg:golang/gopkg.in/yaml.v3@v3.0.0-20200615113413-eeeca48fe776", - "type": "library", - "bom-ref": "pkg:golang/gopkg.in/yaml.v3@v3.0.0-20200615113413-eeeca48fe776" - }, - { - "group": "github.com/kisielk", - "name": "errcheck", - "version": "v1.5.0", - "purl": "pkg:golang/github.com/kisielk/errcheck@v1.5.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/kisielk/errcheck@v1.5.0" - }, - { - "group": "github.com/kisielk", - "name": "gotool", - "version": "v1.0.0", - "purl": "pkg:golang/github.com/kisielk/gotool@v1.0.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/kisielk/gotool@v1.0.0" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20210106214847-113979e3529a", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20210106214847-113979e3529a", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20210106214847-113979e3529a" - }, - { - "group": "github.com/google", - "name": "go-cmp", - "version": "v0.5.5", - "purl": "pkg:golang/github.com/google/go-cmp@v0.5.5", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/go-cmp@v0.5.5" - }, - { - "group": "google.golang.org", - "name": "protobuf", - "version": "v1.26.0", - "purl": "pkg:golang/google.golang.org/protobuf@v1.26.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/protobuf@v1.26.0" - }, - { - "group": "github.com/docopt", - "name": "docopt-go", - "version": "v0.0.0-20180111231733-ee0de3bc6815", - "purl": "pkg:golang/github.com/docopt/docopt-go@v0.0.0-20180111231733-ee0de3bc6815", - "type": "library", - "bom-ref": "pkg:golang/github.com/docopt/docopt-go@v0.0.0-20180111231733-ee0de3bc6815" - }, - { - "group": "github.com/kr", - "name": "pretty", - "version": "v0.2.0", - "purl": "pkg:golang/github.com/kr/pretty@v0.2.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/kr/pretty@v0.2.0" - }, - { - "group": "github.com/stoewer", - "name": "go-strcase", - "version": "v1.2.0", - "purl": "pkg:golang/github.com/stoewer/go-strcase@v1.2.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/stoewer/go-strcase@v1.2.0" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20190524140312-2c0ae7006135", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135" - }, - { - "group": "golang.org/x", - "name": "xerrors", - "version": "v0.0.0-20200804184101-5ec99f83aff1", - "purl": "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20201019141844-1ed22bb0c154", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20201019141844-1ed22bb0c154", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20201019141844-1ed22bb0c154" - }, - { - "group": "gopkg.in", - "name": "check.v1", - "version": "v1.0.0-20190902080502-41f04d3bba15", - "purl": "pkg:golang/gopkg.in/check.v1@v1.0.0-20190902080502-41f04d3bba15", - "type": "library", - "bom-ref": "pkg:golang/gopkg.in/check.v1@v1.0.0-20190902080502-41f04d3bba15" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20210320140829-1e4c9ba3b0c4", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20210320140829-1e4c9ba3b0c4", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20210320140829-1e4c9ba3b0c4" - }, - { - "group": "github.com/google", - "name": "gofuzz", - "version": "v1.0.0", - "purl": "pkg:golang/github.com/google/gofuzz@v1.0.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/gofuzz@v1.0.0" - }, - { - "group": "github.com/modern-go", - "name": "concurrent", - "version": "v0.0.0-20180228061459-e0a39a4cb421", - "purl": "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180228061459-e0a39a4cb421", - "type": "library", - "bom-ref": "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180228061459-e0a39a4cb421" - }, - { - "group": "github.com/creack", - "name": "pty", - "version": "v1.1.9", - "purl": "pkg:golang/github.com/creack/pty@v1.1.9", - "type": "library", - "bom-ref": "pkg:golang/github.com/creack/pty@v1.1.9" - }, - { - "group": "github.com/pkg", - "name": "diff", - "version": "v0.0.0-20210226163009-20ebb0f2a09e", - "purl": "pkg:golang/github.com/pkg/diff@v0.0.0-20210226163009-20ebb0f2a09e", - "type": "library", - "bom-ref": "pkg:golang/github.com/pkg/diff@v0.0.0-20210226163009-20ebb0f2a09e" - }, - { - "group": "cloud.google.com", - "name": "go", - "version": "v0.65.0", - "purl": "pkg:golang/cloud.google.com/go@v0.65.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go@v0.65.0" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20220127200216-cd36cc0744dd", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20220127200216-cd36cc0744dd", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20220127200216-cd36cc0744dd" - }, - { - "group": "google.golang.org", - "name": "appengine", - "version": "v1.6.6", - "purl": "pkg:golang/google.golang.org/appengine@v1.6.6", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/appengine@v1.6.6" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.6.0", - "purl": "pkg:golang/golang.org/x/tools@v0.6.0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.6.0" - }, - { - "group": "golang.org/x", - "name": "mod", - "version": "v0.8.0", - "purl": "pkg:golang/golang.org/x/mod@v0.8.0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/mod@v0.8.0" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.5.0", - "purl": "pkg:golang/golang.org/x/sys@v0.5.0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.5.0" - }, - { - "group": "github.com/golang", - "name": "protobuf", - "version": "v1.3.1", - "purl": "pkg:golang/github.com/golang/protobuf@v1.3.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/protobuf@v1.3.1" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20190603091049-60506f45cf65", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20190603091049-60506f45cf65", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20190603091049-60506f45cf65" - }, - { - "group": "golang.org/x", - "name": "text", - "version": "v0.3.2", - "purl": "pkg:golang/golang.org/x/text@v0.3.2", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/text@v0.3.2" - }, - { - "group": "github.com/golang", - "name": "protobuf", - "version": "v1.5.0", - "purl": "pkg:golang/github.com/golang/protobuf@v1.5.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/protobuf@v1.5.0" - }, - { - "group": "gopkg.in", - "name": "check.v1", - "version": "v0.0.0-20161208181325-20d25e280405", - "purl": "pkg:golang/gopkg.in/check.v1@v0.0.0-20161208181325-20d25e280405", - "type": "library", - "bom-ref": "pkg:golang/gopkg.in/check.v1@v0.0.0-20161208181325-20d25e280405" - }, - { - "group": "github.com/stretchr", - "name": "testify", - "version": "v1.8.0", - "purl": "pkg:golang/github.com/stretchr/testify@v1.8.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/stretchr/testify@v1.8.0" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.3.1-0.20221206200815-1e63c2f08a10", - "purl": "pkg:golang/golang.org/x/net@v0.3.1-0.20221206200815-1e63c2f08a10", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.3.1-0.20221206200815-1e63c2f08a10" - }, - { - "group": "golang.org/x", - "name": "text", - "version": "v0.5.0", - "purl": "pkg:golang/golang.org/x/text@v0.5.0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/text@v0.5.0" - }, - { - "group": "google.golang.org", - "name": "protobuf", - "version": "v1.28.1", - "purl": "pkg:golang/google.golang.org/protobuf@v1.28.1", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/protobuf@v1.28.1" - }, - { - "group": "github.com/armon", - "name": "go-socks5", - "version": "v0.0.0-20160902184237-e75332964ef5", - "purl": "pkg:golang/github.com/armon/go-socks5@v0.0.0-20160902184237-e75332964ef5", - "type": "library", - "bom-ref": "pkg:golang/github.com/armon/go-socks5@v0.0.0-20160902184237-e75332964ef5" - }, - { - "group": "github.com/elazarl", - "name": "goproxy", - "version": "v0.0.0-20180725130230-947c36da3153", - "purl": "pkg:golang/github.com/elazarl/goproxy@v0.0.0-20180725130230-947c36da3153", - "type": "library", - "bom-ref": "pkg:golang/github.com/elazarl/goproxy@v0.0.0-20180725130230-947c36da3153" - }, - { - "group": "github.com/evanphx", - "name": "json-patch", - "version": "v4.12.0+incompatible", - "purl": "pkg:golang/github.com/evanphx/json-patch@v4.12.0%2Bincompatible", - "type": "library", - "bom-ref": "pkg:golang/github.com/evanphx/json-patch@v4.12.0%2Bincompatible" - }, - { - "group": "github.com/moby", - "name": "spdystream", - "version": "v0.2.0", - "purl": "pkg:golang/github.com/moby/spdystream@v0.2.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/moby/spdystream@v0.2.0" - }, - { - "group": "github.com/mxk", - "name": "go-flowrate", - "version": "v0.0.0-20140419014527-cca7078d478f", - "purl": "pkg:golang/github.com/mxk/go-flowrate@v0.0.0-20140419014527-cca7078d478f", - "type": "library", - "bom-ref": "pkg:golang/github.com/mxk/go-flowrate@v0.0.0-20140419014527-cca7078d478f" - }, - { - "group": "github.com/onsi/ginkgo", - "name": "v2", - "version": "v2.4.0", - "purl": "pkg:golang/github.com/onsi/ginkgo/v2@v2.4.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/onsi/ginkgo/v2@v2.4.0" - }, - { - "group": "github.com/onsi", - "name": "gomega", - "version": "v1.23.0", - "purl": "pkg:golang/github.com/onsi/gomega@v1.23.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/onsi/gomega@v1.23.0" - }, - { - "group": "github.com/pkg", - "name": "errors", - "version": "v0.9.1", - "purl": "pkg:golang/github.com/pkg/errors@v0.9.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/pkg/errors@v0.9.1" - }, - { - "group": "github.com/golang", - "name": "groupcache", - "version": "v0.0.0-20210331224755-41bb18bfe9da", - "purl": "pkg:golang/github.com/golang/groupcache@v0.0.0-20210331224755-41bb18bfe9da", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/groupcache@v0.0.0-20210331224755-41bb18bfe9da" - }, - { - "group": "github.com/gregjones", - "name": "httpcache", - "version": "v0.0.0-20180305231024-9cad4c3443a7", - "purl": "pkg:golang/github.com/gregjones/httpcache@v0.0.0-20180305231024-9cad4c3443a7", - "type": "library", - "bom-ref": "pkg:golang/github.com/gregjones/httpcache@v0.0.0-20180305231024-9cad4c3443a7" - }, - { - "group": "github.com/peterbourgon", - "name": "diskv", - "version": "v2.0.1+incompatible", - "purl": "pkg:golang/github.com/peterbourgon/diskv@v2.0.1%2Bincompatible", - "type": "library", - "bom-ref": "pkg:golang/github.com/peterbourgon/diskv@v2.0.1%2Bincompatible" - }, - { - "group": "golang.org/x", - "name": "term", - "version": "v0.3.0", - "purl": "pkg:golang/golang.org/x/term@v0.3.0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/term@v0.3.0" - }, - { - "group": "github.com/google", - "name": "btree", - "version": "v1.0.1", - "purl": "pkg:golang/github.com/google/btree@v1.0.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/btree@v1.0.1" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.3.0", - "purl": "pkg:golang/golang.org/x/sys@v0.3.0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.3.0" - }, - { - "group": "github.com/go-logr", - "name": "logr", - "version": "v1.2.0", - "purl": "pkg:golang/github.com/go-logr/logr@v1.2.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/go-logr/logr@v1.2.0" - }, - { - "group": "github.com/NYTimes", - "name": "gziphandler", - "version": "v0.0.0-20170623195520-56545f4a5d46", - "purl": "pkg:golang/github.com/NYTimes/gziphandler@v0.0.0-20170623195520-56545f4a5d46", - "type": "library", - "bom-ref": "pkg:golang/github.com/NYTimes/gziphandler@v0.0.0-20170623195520-56545f4a5d46" - }, - { - "group": "github.com/asaskevich", - "name": "govalidator", - "version": "v0.0.0-20190424111038-f61b66f89f4a", - "purl": "pkg:golang/github.com/asaskevich/govalidator@v0.0.0-20190424111038-f61b66f89f4a", - "type": "library", - "bom-ref": "pkg:golang/github.com/asaskevich/govalidator@v0.0.0-20190424111038-f61b66f89f4a" - }, - { - "group": "github.com/emicklei/go-restful", - "name": "v3", - "version": "v3.8.0", - "purl": "pkg:golang/github.com/emicklei/go-restful/v3@v3.8.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/emicklei/go-restful/v3@v3.8.0" - }, - { - "group": "github.com/go-openapi", - "name": "jsonreference", - "version": "v0.19.3", - "purl": "pkg:golang/github.com/go-openapi/jsonreference@v0.19.3", - "type": "library", - "bom-ref": "pkg:golang/github.com/go-openapi/jsonreference@v0.19.3" - }, - { - "group": "github.com/mitchellh", - "name": "mapstructure", - "version": "v1.1.2", - "purl": "pkg:golang/github.com/mitchellh/mapstructure@v1.1.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/mitchellh/mapstructure@v1.1.2" - }, - { - "group": "github.com/munnerz", - "name": "goautoneg", - "version": "v0.0.0-20120707110453-a547fc61f48d", - "purl": "pkg:golang/github.com/munnerz/goautoneg@v0.0.0-20120707110453-a547fc61f48d", - "type": "library", - "bom-ref": "pkg:golang/github.com/munnerz/goautoneg@v0.0.0-20120707110453-a547fc61f48d" - }, - { - "group": "github.com/onsi/ginkgo", - "name": "v2", - "version": "v2.1.4", - "purl": "pkg:golang/github.com/onsi/ginkgo/v2@v2.1.4", - "type": "library", - "bom-ref": "pkg:golang/github.com/onsi/ginkgo/v2@v2.1.4" - }, - { - "group": "github.com/onsi", - "name": "gomega", - "version": "v1.19.0", - "purl": "pkg:golang/github.com/onsi/gomega@v1.19.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/onsi/gomega@v1.19.0" - }, - { - "group": "github.com/stretchr", - "name": "testify", - "version": "v1.5.1", - "purl": "pkg:golang/github.com/stretchr/testify@v1.5.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/stretchr/testify@v1.5.1" - }, - { - "group": "google.golang.org", - "name": "protobuf", - "version": "v1.27.1", - "purl": "pkg:golang/google.golang.org/protobuf@v1.27.1", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/protobuf@v1.27.1" - }, - { - "group": "gopkg.in", - "name": "yaml.v3", - "version": "v3.0.0-20210107192922-496545a6307b", - "purl": "pkg:golang/gopkg.in/yaml.v3@v3.0.0-20210107192922-496545a6307b", - "type": "library", - "bom-ref": "pkg:golang/gopkg.in/yaml.v3@v3.0.0-20210107192922-496545a6307b" - }, - { - "group": "k8s.io", - "name": "gengo", - "version": "v0.0.0-20210813121822-485abfe95c7c", - "purl": "pkg:golang/k8s.io/gengo@v0.0.0-20210813121822-485abfe95c7c", - "type": "library", - "bom-ref": "pkg:golang/k8s.io/gengo@v0.0.0-20210813121822-485abfe95c7c" - }, - { - "group": "k8s.io/klog", - "name": "v2", - "version": "v2.2.0", - "purl": "pkg:golang/k8s.io/klog/v2@v2.2.0", - "type": "library", - "bom-ref": "pkg:golang/k8s.io/klog/v2@v2.2.0" - }, - { - "group": "k8s.io", - "name": "utils", - "version": "v0.0.0-20210802155522-efc7438f0176", - "purl": "pkg:golang/k8s.io/utils@v0.0.0-20210802155522-efc7438f0176", - "type": "library", - "bom-ref": "pkg:golang/k8s.io/utils@v0.0.0-20210802155522-efc7438f0176" - }, - { - "group": "sigs.k8s.io", - "name": "yaml", - "version": "v1.2.0", - "purl": "pkg:golang/sigs.k8s.io/yaml@v1.2.0", - "type": "library", - "bom-ref": "pkg:golang/sigs.k8s.io/yaml@v1.2.0" - }, - { - "group": "github.com/PuerkitoBio", - "name": "purell", - "version": "v1.1.1", - "purl": "pkg:golang/github.com/PuerkitoBio/purell@v1.1.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/PuerkitoBio/purell@v1.1.1" - }, - { - "group": "github.com/PuerkitoBio", - "name": "urlesc", - "version": "v0.0.0-20170810143723-de5bf2ad4578", - "purl": "pkg:golang/github.com/PuerkitoBio/urlesc@v0.0.0-20170810143723-de5bf2ad4578", - "type": "library", - "bom-ref": "pkg:golang/github.com/PuerkitoBio/urlesc@v0.0.0-20170810143723-de5bf2ad4578" - }, - { - "group": "github.com/go-logr", - "name": "logr", - "version": "v0.2.0", - "purl": "pkg:golang/github.com/go-logr/logr@v0.2.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/go-logr/logr@v0.2.0" - }, - { - "group": "golang.org/x", - "name": "mod", - "version": "v0.6.0-dev.0.20220106191415-9b9b3d81d5e3", - "purl": "pkg:golang/golang.org/x/mod@v0.6.0-dev.0.20220106191415-9b9b3d81d5e3", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/mod@v0.6.0-dev.0.20220106191415-9b9b3d81d5e3" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20220225172249-27dd8689420f", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20220225172249-27dd8689420f", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20220225172249-27dd8689420f" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20220319134239-a9b59b0215f8", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20220319134239-a9b59b0215f8", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20220319134239-a9b59b0215f8" - }, - { - "group": "golang.org/x", - "name": "text", - "version": "v0.3.7", - "purl": "pkg:golang/golang.org/x/text@v0.3.7", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/text@v0.3.7" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.1.10", - "purl": "pkg:golang/golang.org/x/tools@v0.1.10", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.1.10" - }, - { - "group": "gopkg.in", - "name": "yaml.v2", - "version": "v2.2.8", - "purl": "pkg:golang/gopkg.in/yaml.v2@v2.2.8", - "type": "library", - "bom-ref": "pkg:golang/gopkg.in/yaml.v2@v2.2.8" - }, - { - "group": "github.com/kr", - "name": "pretty", - "version": "v0.1.0", - "purl": "pkg:golang/github.com/kr/pretty@v0.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/kr/pretty@v0.1.0" - }, - { - "group": "github.com/mailru", - "name": "easyjson", - "version": "v0.0.0-20190614124828-94de47d64c63", - "purl": "pkg:golang/github.com/mailru/easyjson@v0.0.0-20190614124828-94de47d64c63", - "type": "library", - "bom-ref": "pkg:golang/github.com/mailru/easyjson@v0.0.0-20190614124828-94de47d64c63" - }, - { - "group": "gopkg.in", - "name": "check.v1", - "version": "v1.0.0-20180628173108-788fd7840127", - "purl": "pkg:golang/gopkg.in/check.v1@v1.0.0-20180628173108-788fd7840127", - "type": "library", - "bom-ref": "pkg:golang/gopkg.in/check.v1@v1.0.0-20180628173108-788fd7840127" - }, - { - "group": "gopkg.in", - "name": "yaml.v2", - "version": "v2.2.2", - "purl": "pkg:golang/gopkg.in/yaml.v2@v2.2.2", - "type": "library", - "bom-ref": "pkg:golang/gopkg.in/yaml.v2@v2.2.2" - }, - { - "group": "github.com/davecgh", - "name": "go-spew", - "version": "v1.1.0", - "purl": "pkg:golang/github.com/davecgh/go-spew@v1.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/davecgh/go-spew@v1.1.0" - }, - { - "group": "github.com/stretchr", - "name": "objx", - "version": "v0.1.0", - "purl": "pkg:golang/github.com/stretchr/objx@v0.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/stretchr/objx@v0.1.0" - }, - { - "group": "github.com/kr", - "name": "text", - "version": "v0.1.0", - "purl": "pkg:golang/github.com/kr/text@v0.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/kr/text@v0.1.0" - }, - { - "group": "gopkg.in", - "name": "yaml.v3", - "version": "v3.0.0-20200313102051-9f266ea9e77c", - "purl": "pkg:golang/gopkg.in/yaml.v3@v3.0.0-20200313102051-9f266ea9e77c", - "type": "library", - "bom-ref": "pkg:golang/gopkg.in/yaml.v3@v3.0.0-20200313102051-9f266ea9e77c" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20200619180055-7c47624df98f", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20200619180055-7c47624df98f", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200619180055-7c47624df98f" - }, - { - "group": "github.com/yuin", - "name": "goldmark", - "version": "v1.2.1", - "purl": "pkg:golang/github.com/yuin/goldmark@v1.2.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/yuin/goldmark@v1.2.1" - }, - { - "group": "golang.org/x", - "name": "mod", - "version": "v0.3.0", - "purl": "pkg:golang/golang.org/x/mod@v0.3.0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/mod@v0.3.0" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20201021035429-f5854403a974", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20201021035429-f5854403a974", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20201021035429-f5854403a974" - }, - { - "group": "golang.org/x", - "name": "sync", - "version": "v0.0.0-20201020160332-67f06af15bc9", - "purl": "pkg:golang/golang.org/x/sync@v0.0.0-20201020160332-67f06af15bc9", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sync@v0.0.0-20201020160332-67f06af15bc9" - }, - { - "group": "golang.org/x", - "name": "xerrors", - "version": "v0.0.0-20191204190536-9bdfabe68543", - "purl": "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20190311183353-d8887717615a", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a" - }, - { - "group": "golang.org/x", - "name": "sync", - "version": "v0.0.0-20190423024810-112230192c58", - "purl": "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58" - }, - { - "group": "github.com/golang", - "name": "protobuf", - "version": "v1.4.1", - "purl": "pkg:golang/github.com/golang/protobuf@v1.4.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/protobuf@v1.4.1" - }, - { - "group": "golang.org/x", - "name": "lint", - "version": "v0.0.0-20190313153728-d0100b6bd8b3", - "purl": "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3" - }, - { - "group": "google.golang.org", - "name": "grpc", - "version": "v1.27.0", - "purl": "pkg:golang/google.golang.org/grpc@v1.27.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/grpc@v1.27.0" - }, - { - "group": "google.golang.org", - "name": "protobuf", - "version": "v1.24.0", - "purl": "pkg:golang/google.golang.org/protobuf@v1.24.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/protobuf@v1.24.0" - }, - { - "group": "cloud.google.com/go", - "name": "storage", - "version": "v1.10.0", - "purl": "pkg:golang/cloud.google.com/go/storage@v1.10.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/storage@v1.10.0" - }, - { - "group": "github.com/golang", - "name": "mock", - "version": "v1.4.4", - "purl": "pkg:golang/github.com/golang/mock@v1.4.4", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/mock@v1.4.4" - }, - { - "group": "github.com/golang", - "name": "protobuf", - "version": "v1.4.2", - "purl": "pkg:golang/github.com/golang/protobuf@v1.4.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/protobuf@v1.4.2" - }, - { - "group": "github.com/google", - "name": "go-cmp", - "version": "v0.5.1", - "purl": "pkg:golang/github.com/google/go-cmp@v0.5.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/go-cmp@v0.5.1" - }, - { - "group": "github.com/google/martian", - "name": "v3", - "version": "v3.0.0", - "purl": "pkg:golang/github.com/google/martian/v3@v3.0.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/martian/v3@v3.0.0" - }, - { - "group": "github.com/google", - "name": "pprof", - "version": "v0.0.0-20200708004538-1a94d8640e99", - "purl": "pkg:golang/github.com/google/pprof@v0.0.0-20200708004538-1a94d8640e99", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/pprof@v0.0.0-20200708004538-1a94d8640e99" - }, - { - "group": "github.com/googleapis/gax-go", - "name": "v2", - "version": "v2.0.5", - "purl": "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "type": "library", - "bom-ref": "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5" - }, - { - "group": "github.com/jstemmer", - "name": "go-junit-report", - "version": "v0.9.1", - "purl": "pkg:golang/github.com/jstemmer/go-junit-report@v0.9.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/jstemmer/go-junit-report@v0.9.1" - }, - { - "name": "go.opencensus.io", - "version": "v0.22.4", - "purl": "pkg:golang/go.opencensus.io@v0.22.4", - "type": "library", - "bom-ref": "pkg:golang/go.opencensus.io@v0.22.4" - }, - { - "group": "golang.org/x", - "name": "lint", - "version": "v0.0.0-20200302205851-738671d3881b", - "purl": "pkg:golang/golang.org/x/lint@v0.0.0-20200302205851-738671d3881b", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/lint@v0.0.0-20200302205851-738671d3881b" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20200822124328-c89045814202", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20200822124328-c89045814202", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20200822124328-c89045814202" - }, - { - "group": "golang.org/x", - "name": "oauth2", - "version": "v0.0.0-20200107190931-bf48bf16ab8d", - "purl": "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d" - }, - { - "group": "golang.org/x", - "name": "text", - "version": "v0.3.3", - "purl": "pkg:golang/golang.org/x/text@v0.3.3", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/text@v0.3.3" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20200825202427-b303f430e36d", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20200825202427-b303f430e36d", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200825202427-b303f430e36d" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.30.0", - "purl": "pkg:golang/google.golang.org/api@v0.30.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.30.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20200825200019-8632dd797987", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20200825200019-8632dd797987", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200825200019-8632dd797987" - }, - { - "group": "google.golang.org", - "name": "grpc", - "version": "v1.31.0", - "purl": "pkg:golang/google.golang.org/grpc@v1.31.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/grpc@v1.31.0" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20211216021012-1d35b9e2eb4e", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20211216021012-1d35b9e2eb4e", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20211216021012-1d35b9e2eb4e" - }, - { - "group": "golang.org/x", - "name": "term", - "version": "v0.0.0-20210927222741-03fcf44c2211", - "purl": "pkg:golang/golang.org/x/term@v0.0.0-20210927222741-03fcf44c2211", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/term@v0.0.0-20210927222741-03fcf44c2211" - }, - { - "group": "golang.org/x", - "name": "crypto", - "version": "v0.0.0-20190308221718-c2843e01d9a2", - "purl": "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20190215142949-d0b11bdaac8a", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a" - }, - { - "group": "golang.org/x", - "name": "text", - "version": "v0.3.0", - "purl": "pkg:golang/golang.org/x/text@v0.3.0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/text@v0.3.0" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20180917221912-90fa682c2a6e", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20180917221912-90fa682c2a6e", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20180917221912-90fa682c2a6e" - }, - { - "group": "google.golang.org", - "name": "protobuf", - "version": "v1.26.0-rc.1", - "purl": "pkg:golang/google.golang.org/protobuf@v1.26.0-rc.1", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/protobuf@v1.26.0-rc.1" - }, - { - "group": "github.com/kr", - "name": "pty", - "version": "v1.1.1", - "purl": "pkg:golang/github.com/kr/pty@v1.1.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/kr/pty@v1.1.1" - }, - { - "group": "github.com/yuin", - "name": "goldmark", - "version": "v1.1.27", - "purl": "pkg:golang/github.com/yuin/goldmark@v1.1.27", - "type": "library", - "bom-ref": "pkg:golang/github.com/yuin/goldmark@v1.1.27" - }, - { - "group": "golang.org/x", - "name": "mod", - "version": "v0.2.0", - "purl": "pkg:golang/golang.org/x/mod@v0.2.0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/mod@v0.2.0" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20200226121028-0de0cce0169b", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20200226121028-0de0cce0169b", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20200226121028-0de0cce0169b" - }, - { - "group": "golang.org/x", - "name": "sync", - "version": "v0.0.0-20190911185100-cd5d95a43a6e", - "purl": "pkg:golang/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e" - }, - { - "group": "golang.org/x", - "name": "crypto", - "version": "v0.0.0-20191011191535-87dc89f01550", - "purl": "pkg:golang/golang.org/x/crypto@v0.0.0-20191011191535-87dc89f01550", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20191011191535-87dc89f01550" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20191119224855-298f0cb1881e", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20191119224855-298f0cb1881e", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20191119224855-298f0cb1881e" - }, - { - "group": "golang.org/x", - "name": "xerrors", - "version": "v0.0.0-20191011141410-1b5146add898", - "purl": "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898" - }, - { - "group": "golang.org/x", - "name": "crypto", - "version": "v0.0.0-20200622213623-75b288015ac9", - "purl": "pkg:golang/golang.org/x/crypto@v0.0.0-20200622213623-75b288015ac9", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20200622213623-75b288015ac9" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20200930185726-fdedc70b468f", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20200930185726-fdedc70b468f", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200930185726-fdedc70b468f" - }, - { - "group": "github.com/google", - "name": "go-cmp", - "version": "v0.4.0", - "purl": "pkg:golang/github.com/google/go-cmp@v0.4.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/go-cmp@v0.4.0" - }, - { - "group": "google.golang.org", - "name": "protobuf", - "version": "v1.22.0", - "purl": "pkg:golang/google.golang.org/protobuf@v1.22.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/protobuf@v1.22.0" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20190311212946-11955173bddd", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20190311212946-11955173bddd", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190311212946-11955173bddd" - }, - { - "group": "github.com/envoyproxy", - "name": "go-control-plane", - "version": "v0.9.1-0.20191026205805-5f8ba28d4473", - "purl": "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.1-0.20191026205805-5f8ba28d4473", - "type": "library", - "bom-ref": "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.1-0.20191026205805-5f8ba28d4473" - }, - { - "group": "github.com/envoyproxy", - "name": "protoc-gen-validate", - "version": "v0.1.0", - "purl": "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0" - }, - { - "group": "github.com/golang", - "name": "glog", - "version": "v0.0.0-20160126235308-23def4e6c14b", - "purl": "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b" - }, - { - "group": "github.com/golang", - "name": "mock", - "version": "v1.1.1", - "purl": "pkg:golang/github.com/golang/mock@v1.1.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/mock@v1.1.1" - }, - { - "group": "github.com/golang", - "name": "protobuf", - "version": "v1.3.2", - "purl": "pkg:golang/github.com/golang/protobuf@v1.3.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/protobuf@v1.3.2" - }, - { - "group": "github.com/google", - "name": "go-cmp", - "version": "v0.2.0", - "purl": "pkg:golang/github.com/google/go-cmp@v0.2.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/go-cmp@v0.2.0" - }, - { - "group": "golang.org/x", - "name": "oauth2", - "version": "v0.0.0-20180821212333-d2e6202438be", - "purl": "pkg:golang/golang.org/x/oauth2@v0.0.0-20180821212333-d2e6202438be", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20180821212333-d2e6202438be" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20190819201941-24fa4b261c55", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20200526211855-cb27e3aa2013", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20200526211855-cb27e3aa2013", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200526211855-cb27e3aa2013" - }, - { - "group": "cloud.google.com", - "name": "go", - "version": "v0.57.0", - "purl": "pkg:golang/cloud.google.com/go@v0.57.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go@v0.57.0" - }, - { - "group": "cloud.google.com/go", - "name": "bigquery", - "version": "v1.8.0", - "purl": "pkg:golang/cloud.google.com/go/bigquery@v1.8.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/bigquery@v1.8.0" - }, - { - "group": "github.com/google", - "name": "go-cmp", - "version": "v0.4.1", - "purl": "pkg:golang/github.com/google/go-cmp@v0.4.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/go-cmp@v0.4.1" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20200520182314-0ba52f642ac2", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20200520182314-0ba52f642ac2", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20200520182314-0ba52f642ac2" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20200523222454-059865788121", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20200523222454-059865788121", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200523222454-059865788121" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20200618134242-20370b0cb4b2", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20200618134242-20370b0cb4b2", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200618134242-20370b0cb4b2" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.28.0", - "purl": "pkg:golang/google.golang.org/api@v0.28.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.28.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20200618031413-b414f8b61790", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20200618031413-b414f8b61790", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200618031413-b414f8b61790" - }, - { - "group": "google.golang.org", - "name": "grpc", - "version": "v1.29.1", - "purl": "pkg:golang/google.golang.org/grpc@v1.29.1", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/grpc@v1.29.1" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20190425150028-36563e24a262", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20190425150028-36563e24a262", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190425150028-36563e24a262" - }, - { - "group": "google.golang.org", - "name": "protobuf", - "version": "v1.23.0", - "purl": "pkg:golang/google.golang.org/protobuf@v1.23.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/protobuf@v1.23.0" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20190628185345-da137c7871d7", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20190628185345-da137c7871d7", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20190628185345-da137c7871d7" - }, - { - "group": "github.com/chzyer", - "name": "logex", - "version": "v1.1.10", - "purl": "pkg:golang/github.com/chzyer/logex@v1.1.10", - "type": "library", - "bom-ref": "pkg:golang/github.com/chzyer/logex@v1.1.10" - }, - { - "group": "github.com/chzyer", - "name": "readline", - "version": "v0.0.0-20180603132655-2972be24d48e", - "purl": "pkg:golang/github.com/chzyer/readline@v0.0.0-20180603132655-2972be24d48e", - "type": "library", - "bom-ref": "pkg:golang/github.com/chzyer/readline@v0.0.0-20180603132655-2972be24d48e" - }, - { - "group": "github.com/chzyer", - "name": "test", - "version": "v0.0.0-20180213035817-a1ea475d72b1", - "purl": "pkg:golang/github.com/chzyer/test@v0.0.0-20180213035817-a1ea475d72b1", - "type": "library", - "bom-ref": "pkg:golang/github.com/chzyer/test@v0.0.0-20180213035817-a1ea475d72b1" - }, - { - "group": "github.com/ianlancetaylor", - "name": "demangle", - "version": "v0.0.0-20181102032728-5e5cf60278f6", - "purl": "pkg:golang/github.com/ianlancetaylor/demangle@v0.0.0-20181102032728-5e5cf60278f6", - "type": "library", - "bom-ref": "pkg:golang/github.com/ianlancetaylor/demangle@v0.0.0-20181102032728-5e5cf60278f6" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20191204072324-ce4227a45e2e", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20191204072324-ce4227a45e2e", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20191204072324-ce4227a45e2e" - }, - { - "group": "google.golang.org", - "name": "grpc", - "version": "v1.19.0", - "purl": "pkg:golang/google.golang.org/grpc@v1.19.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/grpc@v1.19.0" - }, - { - "group": "github.com/golang", - "name": "groupcache", - "version": "v0.0.0-20190702054246-869f871628b6", - "purl": "pkg:golang/github.com/golang/groupcache@v0.0.0-20190702054246-869f871628b6", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/groupcache@v0.0.0-20190702054246-869f871628b6" - }, - { - "group": "github.com/google", - "name": "go-cmp", - "version": "v0.3.0", - "purl": "pkg:golang/github.com/google/go-cmp@v0.3.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/go-cmp@v0.3.0" - }, - { - "group": "github.com/stretchr", - "name": "testify", - "version": "v1.4.0", - "purl": "pkg:golang/github.com/stretchr/testify@v1.4.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/stretchr/testify@v1.4.0" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20190620200207-3b0461eec859", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20190502145724-3ef323f4f1fd", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20190502145724-3ef323f4f1fd", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190502145724-3ef323f4f1fd" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20190425155659-357c62f0e4bb", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20190425155659-357c62f0e4bb", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20190425155659-357c62f0e4bb" - }, - { - "group": "google.golang.org", - "name": "grpc", - "version": "v1.20.1", - "purl": "pkg:golang/google.golang.org/grpc@v1.20.1", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/grpc@v1.20.1" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20200130002326-2f3ba24bd6e7", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20200130002326-2f3ba24bd6e7", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200130002326-2f3ba24bd6e7" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20200323222414-85ca7c5b95cd", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20200323222414-85ca7c5b95cd", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200323222414-85ca7c5b95cd" - }, - { - "group": "cloud.google.com", - "name": "go", - "version": "v0.34.0", - "purl": "pkg:golang/cloud.google.com/go@v0.34.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go@v0.34.0" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20190108225652-1e06a53dbb7e", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20190108225652-1e06a53dbb7e", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20190108225652-1e06a53dbb7e" - }, - { - "group": "golang.org/x", - "name": "sync", - "version": "v0.0.0-20181221193216-37e7f081c4d4", - "purl": "pkg:golang/golang.org/x/sync@v0.0.0-20181221193216-37e7f081c4d4", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sync@v0.0.0-20181221193216-37e7f081c4d4" - }, - { - "group": "google.golang.org", - "name": "appengine", - "version": "v1.4.0", - "purl": "pkg:golang/google.golang.org/appengine@v1.4.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/appengine@v1.4.0" - }, - { - "group": "github.com/yuin", - "name": "goldmark", - "version": "v1.1.32", - "purl": "pkg:golang/github.com/yuin/goldmark@v1.1.32", - "type": "library", - "bom-ref": "pkg:golang/github.com/yuin/goldmark@v1.1.32" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20200625001655-4c5254603344", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20200625001655-4c5254603344", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20200625001655-4c5254603344" - }, - { - "group": "golang.org/x", - "name": "sync", - "version": "v0.0.0-20200625203802-6e8e738ad208", - "purl": "pkg:golang/golang.org/x/sync@v0.0.0-20200625203802-6e8e738ad208", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sync@v0.0.0-20200625203802-6e8e738ad208" - }, - { - "group": "cloud.google.com", - "name": "go", - "version": "v0.62.0", - "purl": "pkg:golang/cloud.google.com/go@v0.62.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go@v0.62.0" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20200803210538-64077c9b5642", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20200803210538-64077c9b5642", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200803210538-64077c9b5642" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20200804011535-6c149bb5ef0d", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20200804011535-6c149bb5ef0d", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200804011535-6c149bb5ef0d" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20200804131852-c06518451d9c", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20200804131852-c06518451d9c", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200804131852-c06518451d9c" - }, - { - "group": "github.com/cncf/udpa", - "name": "go", - "version": "v0.0.0-20191209042840-269d4d468f6f", - "purl": "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20191209042840-269d4d468f6f", - "type": "library", - "bom-ref": "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20191209042840-269d4d468f6f" - }, - { - "group": "github.com/envoyproxy", - "name": "go-control-plane", - "version": "v0.9.4", - "purl": "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.4", - "type": "library", - "bom-ref": "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.4" - }, - { - "group": "github.com/golang", - "name": "protobuf", - "version": "v1.3.3", - "purl": "pkg:golang/github.com/golang/protobuf@v1.3.3", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/protobuf@v1.3.3" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20210615035016-665e8c7367d1", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20210615035016-665e8c7367d1", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20210615035016-665e8c7367d1" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20190404232315-eb5bcb51f2a3", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20190404232315-eb5bcb51f2a3", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20190404232315-eb5bcb51f2a3" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20190412213103-97732733099d", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20190412213103-97732733099d", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190412213103-97732733099d" - }, - { - "group": "golang.org/x", - "name": "xerrors", - "version": "v0.0.0-20190717185122-a985d3407aa7", - "purl": "pkg:golang/golang.org/x/xerrors@v0.0.0-20190717185122-a985d3407aa7", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/xerrors@v0.0.0-20190717185122-a985d3407aa7" - }, - { - "group": "github.com/golang", - "name": "protobuf", - "version": "v1.4.0", - "purl": "pkg:golang/github.com/golang/protobuf@v1.4.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/protobuf@v1.4.0" - }, - { - "group": "github.com/census-instrumentation", - "name": "opencensus-proto", - "version": "v0.2.1", - "purl": "pkg:golang/github.com/census-instrumentation/opencensus-proto@v0.2.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/census-instrumentation/opencensus-proto@v0.2.1" - }, - { - "group": "github.com/prometheus", - "name": "client_model", - "version": "v0.0.0-20190812154241-14fe0d1b01d4", - "purl": "pkg:golang/github.com/prometheus/client_model@v0.0.0-20190812154241-14fe0d1b01d4", - "type": "library", - "bom-ref": "pkg:golang/github.com/prometheus/client_model@v0.0.0-20190812154241-14fe0d1b01d4" - }, - { - "group": "google.golang.org", - "name": "grpc", - "version": "v1.23.0", - "purl": "pkg:golang/google.golang.org/grpc@v1.23.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/grpc@v1.23.0" - }, - { - "group": "golang.org/x", - "name": "exp", - "version": "v0.0.0-20190121172915-509febef88a4", - "purl": "pkg:golang/golang.org/x/exp@v0.0.0-20190121172915-509febef88a4", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/exp@v0.0.0-20190121172915-509febef88a4" - }, - { - "group": "golang.org/x", - "name": "lint", - "version": "v0.0.0-20190227174305-5b3e6a55c961", - "purl": "pkg:golang/golang.org/x/lint@v0.0.0-20190227174305-5b3e6a55c961", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/lint@v0.0.0-20190227174305-5b3e6a55c961" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20190226205152-f727befe758c", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20190226205152-f727befe758c", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190226205152-f727befe758c" - }, - { - "group": "honnef.co/go", - "name": "tools", - "version": "v0.0.0-20190102054323-c2f93a96b099", - "purl": "pkg:golang/honnef.co/go/tools@v0.0.0-20190102054323-c2f93a96b099", - "type": "library", - "bom-ref": "pkg:golang/honnef.co/go/tools@v0.0.0-20190102054323-c2f93a96b099" - }, - { - "group": "google.golang.org", - "name": "protobuf", - "version": "v1.23.1-0.20200526195155-81db48ad09cc", - "purl": "pkg:golang/google.golang.org/protobuf@v1.23.1-0.20200526195155-81db48ad09cc", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/protobuf@v1.23.1-0.20200526195155-81db48ad09cc" - }, - { - "group": "honnef.co/go", - "name": "tools", - "version": "v0.0.0-20190523083050-ea95bdfd59fc", - "purl": "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc", - "type": "library", - "bom-ref": "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc" - }, - { - "group": "cloud.google.com/go", - "name": "bigquery", - "version": "v1.4.0", - "purl": "pkg:golang/cloud.google.com/go/bigquery@v1.4.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/bigquery@v1.4.0" - }, - { - "group": "cloud.google.com/go", - "name": "datastore", - "version": "v1.1.0", - "purl": "pkg:golang/cloud.google.com/go/datastore@v1.1.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/datastore@v1.1.0" - }, - { - "group": "cloud.google.com/go", - "name": "pubsub", - "version": "v1.2.0", - "purl": "pkg:golang/cloud.google.com/go/pubsub@v1.2.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/pubsub@v1.2.0" - }, - { - "group": "cloud.google.com/go", - "name": "storage", - "version": "v1.6.0", - "purl": "pkg:golang/cloud.google.com/go/storage@v1.6.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/storage@v1.6.0" - }, - { - "group": "github.com/golang", - "name": "mock", - "version": "v1.4.3", - "purl": "pkg:golang/github.com/golang/mock@v1.4.3", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/mock@v1.4.3" - }, - { - "group": "github.com/google", - "name": "martian", - "version": "v2.1.0+incompatible", - "purl": "pkg:golang/github.com/google/martian@v2.1.0%2Bincompatible", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/martian@v2.1.0%2Bincompatible" - }, - { - "group": "github.com/google", - "name": "pprof", - "version": "v0.0.0-20200430221834-fc25d7d30c6d", - "purl": "pkg:golang/github.com/google/pprof@v0.0.0-20200430221834-fc25d7d30c6d", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/pprof@v0.0.0-20200430221834-fc25d7d30c6d" - }, - { - "name": "go.opencensus.io", - "version": "v0.22.3", - "purl": "pkg:golang/go.opencensus.io@v0.22.3", - "type": "library", - "bom-ref": "pkg:golang/go.opencensus.io@v0.22.3" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20200501053045-e0ff5e5a1de5", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20200501053045-e0ff5e5a1de5", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20200501053045-e0ff5e5a1de5" - }, - { - "group": "golang.org/x", - "name": "sync", - "version": "v0.0.0-20200317015054-43a5402ce75a", - "purl": "pkg:golang/golang.org/x/sync@v0.0.0-20200317015054-43a5402ce75a", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sync@v0.0.0-20200317015054-43a5402ce75a" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20200501052902-10377860bb8e", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20200501052902-10377860bb8e", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200501052902-10377860bb8e" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20200501065659-ab2804fb9c9d", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20200501065659-ab2804fb9c9d", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200501065659-ab2804fb9c9d" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.22.0", - "purl": "pkg:golang/google.golang.org/api@v0.22.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.22.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20200430143042-b979b6f78d84", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20200430143042-b979b6f78d84", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200430143042-b979b6f78d84" - }, - { - "group": "honnef.co/go", - "name": "tools", - "version": "v0.0.1-2020.1.3", - "purl": "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.3", - "type": "library", - "bom-ref": "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.3" - }, - { - "group": "cloud.google.com/go", - "name": "storage", - "version": "v1.8.0", - "purl": "pkg:golang/cloud.google.com/go/storage@v1.8.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/storage@v1.8.0" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20200513185701-a91f0712d120", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20200513185701-a91f0712d120", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20200513185701-a91f0712d120" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20200515095857-1151b9dac4a9", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20200515095857-1151b9dac4a9", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200515095857-1151b9dac4a9" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20200515010526-7d3b6ebf133d", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20200515010526-7d3b6ebf133d", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200515010526-7d3b6ebf133d" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.24.0", - "purl": "pkg:golang/google.golang.org/api@v0.24.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.24.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20200515170657-fc4c6c6a6587", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20200515170657-fc4c6c6a6587", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200515170657-fc4c6c6a6587" - }, - { - "group": "honnef.co/go", - "name": "tools", - "version": "v0.0.1-2020.1.4", - "purl": "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.4", - "type": "library", - "bom-ref": "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.4" - }, - { - "group": "cloud.google.com", - "name": "go", - "version": "v0.56.0", - "purl": "pkg:golang/cloud.google.com/go@v0.56.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go@v0.56.0" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20200331124033-c3d80250170d", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20200331124033-c3d80250170d", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200331124033-c3d80250170d" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20200331025713-a30bf2db82d4", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20200331025713-a30bf2db82d4", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200331025713-a30bf2db82d4" - }, - { - "group": "google.golang.org", - "name": "appengine", - "version": "v1.6.5", - "purl": "pkg:golang/google.golang.org/appengine@v1.6.5", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/appengine@v1.6.5" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20200331122359-1ee6d9798940", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20200331122359-1ee6d9798940", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200331122359-1ee6d9798940" - }, - { - "group": "google.golang.org", - "name": "grpc", - "version": "v1.28.0", - "purl": "pkg:golang/google.golang.org/grpc@v1.28.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/grpc@v1.28.0" - }, - { - "group": "cloud.google.com", - "name": "go", - "version": "v0.26.0", - "purl": "pkg:golang/cloud.google.com/go@v0.26.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go@v0.26.0" - }, - { - "group": "github.com/BurntSushi", - "name": "toml", - "version": "v0.3.1", - "purl": "pkg:golang/github.com/BurntSushi/toml@v0.3.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/BurntSushi/toml@v0.3.1" - }, - { - "group": "github.com/client9", - "name": "misspell", - "version": "v0.3.4", - "purl": "pkg:golang/github.com/client9/misspell@v0.3.4", - "type": "library", - "bom-ref": "pkg:golang/github.com/client9/misspell@v0.3.4" - }, - { - "group": "github.com/golang", - "name": "protobuf", - "version": "v1.2.0", - "purl": "pkg:golang/github.com/golang/protobuf@v1.2.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/protobuf@v1.2.0" - }, - { - "group": "golang.org/x", - "name": "lint", - "version": "v0.0.0-20181026193005-c67002cb31c3", - "purl": "pkg:golang/golang.org/x/lint@v0.0.0-20181026193005-c67002cb31c3", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/lint@v0.0.0-20181026193005-c67002cb31c3" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20180826012351-8a410e7b638d", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20180826012351-8a410e7b638d", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20180826012351-8a410e7b638d" - }, - { - "group": "golang.org/x", - "name": "sync", - "version": "v0.0.0-20180314180146-1d60e4601c6f", - "purl": "pkg:golang/golang.org/x/sync@v0.0.0-20180314180146-1d60e4601c6f", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sync@v0.0.0-20180314180146-1d60e4601c6f" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20180830151530-49385e6e1522", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20180830151530-49385e6e1522", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20180830151530-49385e6e1522" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20190114222345-bf090417da8b", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20190114222345-bf090417da8b", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190114222345-bf090417da8b" - }, - { - "group": "google.golang.org", - "name": "appengine", - "version": "v1.1.0", - "purl": "pkg:golang/google.golang.org/appengine@v1.1.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/appengine@v1.1.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20180817151627-c66870c02cf8", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20180817151627-c66870c02cf8", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20180817151627-c66870c02cf8" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20190213061140-3a22650c66bd", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20190213061140-3a22650c66bd", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20190213061140-3a22650c66bd" - }, - { - "group": "golang.org/x", - "name": "sync", - "version": "v0.0.0-20190227155943-e225da77a7e6", - "purl": "pkg:golang/golang.org/x/sync@v0.0.0-20190227155943-e225da77a7e6", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sync@v0.0.0-20190227155943-e225da77a7e6" - }, - { - "group": "golang.org/x", - "name": "mod", - "version": "v0.1.1-0.20191105210325-c90efee705ee", - "purl": "pkg:golang/golang.org/x/mod@v0.1.1-0.20191105210325-c90efee705ee", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/mod@v0.1.1-0.20191105210325-c90efee705ee" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20180724234803-3673e40ba225", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20180724234803-3673e40ba225", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20180724234803-3673e40ba225" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20200707034311-ab3426394381", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20200707034311-ab3426394381", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20200707034311-ab3426394381" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20200729194436-6467de6f59a7", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20200729194436-6467de6f59a7", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200729194436-6467de6f59a7" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.29.0", - "purl": "pkg:golang/google.golang.org/api@v0.29.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.29.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20200729003335-053ba62fc06f", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20200729003335-053ba62fc06f", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200729003335-053ba62fc06f" - }, - { - "group": "google.golang.org", - "name": "grpc", - "version": "v1.30.0", - "purl": "pkg:golang/google.golang.org/grpc@v1.30.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/grpc@v1.30.0" - }, - { - "group": "google.golang.org", - "name": "protobuf", - "version": "v1.25.0", - "purl": "pkg:golang/google.golang.org/protobuf@v1.25.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/protobuf@v1.25.0" - }, - { - "group": "google.golang.org", - "name": "grpc", - "version": "v1.25.1", - "purl": "pkg:golang/google.golang.org/grpc@v1.25.1", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/grpc@v1.25.1" - }, - { - "group": "google.golang.org", - "name": "protobuf", - "version": "v1.21.0", - "purl": "pkg:golang/google.golang.org/protobuf@v1.21.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/protobuf@v1.21.0" - }, - { - "group": "golang.org/x", - "name": "sync", - "version": "v0.0.0-20181108010431-42b317875d0f", - "purl": "pkg:golang/golang.org/x/sync@v0.0.0-20181108010431-42b317875d0f", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sync@v0.0.0-20181108010431-42b317875d0f" - }, - { - "group": "cloud.google.com", - "name": "go", - "version": "v0.52.0", - "purl": "pkg:golang/cloud.google.com/go@v0.52.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go@v0.52.0" - }, - { - "group": "cloud.google.com/go", - "name": "storage", - "version": "v1.5.0", - "purl": "pkg:golang/cloud.google.com/go/storage@v1.5.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/storage@v1.5.0" - }, - { - "group": "github.com/golang", - "name": "groupcache", - "version": "v0.0.0-20200121045136-8c9f03a8e57e", - "purl": "pkg:golang/github.com/golang/groupcache@v0.0.0-20200121045136-8c9f03a8e57e", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/groupcache@v0.0.0-20200121045136-8c9f03a8e57e" - }, - { - "group": "golang.org/x", - "name": "exp", - "version": "v0.0.0-20200119233911-0405dc783f0a", - "purl": "pkg:golang/golang.org/x/exp@v0.0.0-20200119233911-0405dc783f0a", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/exp@v0.0.0-20200119233911-0405dc783f0a" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20200122134326-e047566fdf82", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20200122134326-e047566fdf82", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200122134326-e047566fdf82" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20200122220014-bf1340f18c4a", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20200122220014-bf1340f18c4a", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200122220014-bf1340f18c4a" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.15.0", - "purl": "pkg:golang/google.golang.org/api@v0.15.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.15.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20200122232147-0452cf42e150", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20200122232147-0452cf42e150", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200122232147-0452cf42e150" - }, - { - "group": "google.golang.org", - "name": "grpc", - "version": "v1.26.0", - "purl": "pkg:golang/google.golang.org/grpc@v1.26.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/grpc@v1.26.0" - }, - { - "group": "golang.org/x", - "name": "exp", - "version": "v0.0.0-20200207192155-f17229e696bd", - "purl": "pkg:golang/golang.org/x/exp@v0.0.0-20200207192155-f17229e696bd", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/exp@v0.0.0-20200207192155-f17229e696bd" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20200212091648-12a6c2dcc1e4", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20200212091648-12a6c2dcc1e4", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200212091648-12a6c2dcc1e4" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20200212150539-ea181f53ac56", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20200212150539-ea181f53ac56", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200212150539-ea181f53ac56" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.17.0", - "purl": "pkg:golang/google.golang.org/api@v0.17.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.17.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20200212174721-66ed5ce911ce", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20200212174721-66ed5ce911ce", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200212174721-66ed5ce911ce" - }, - { - "group": "google.golang.org", - "name": "grpc", - "version": "v1.27.1", - "purl": "pkg:golang/google.golang.org/grpc@v1.27.1", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/grpc@v1.27.1" - }, - { - "group": "golang.org/x", - "name": "lint", - "version": "v0.0.0-20200130185559-910be7a94367", - "purl": "pkg:golang/golang.org/x/lint@v0.0.0-20200130185559-910be7a94367", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/lint@v0.0.0-20200130185559-910be7a94367" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20200202094626-16171245cfb2", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20200202094626-16171245cfb2", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20200202094626-16171245cfb2" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20200202164722-d101bd2416d5", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20200202164722-d101bd2416d5", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200202164722-d101bd2416d5" - }, - { - "group": "golang.org/x", - "name": "time", - "version": "v0.0.0-20191024005414-555d28b269f0", - "purl": "pkg:golang/golang.org/x/time@v0.0.0-20191024005414-555d28b269f0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/time@v0.0.0-20191024005414-555d28b269f0" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20200204074204-1cc6d1ef6c74", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20200204074204-1cc6d1ef6c74", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200204074204-1cc6d1ef6c74" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20200204135345-fa8e72b47b90", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20200204135345-fa8e72b47b90", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200204135345-fa8e72b47b90" - }, - { - "group": "cloud.google.com", - "name": "go", - "version": "v0.53.0", - "purl": "pkg:golang/cloud.google.com/go@v0.53.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go@v0.53.0" - }, - { - "group": "golang.org/x", - "name": "exp", - "version": "v0.0.0-20200224162631-6cc2880d07d6", - "purl": "pkg:golang/golang.org/x/exp@v0.0.0-20200224162631-6cc2880d07d6", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/exp@v0.0.0-20200224162631-6cc2880d07d6" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20200222125558-5a598a2470a0", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20200222125558-5a598a2470a0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20200222125558-5a598a2470a0" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20200223170610-d5e6a3e2c0ae", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20200223170610-d5e6a3e2c0ae", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200223170610-d5e6a3e2c0ae" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20200224181240-023911ca70b2", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20200224181240-023911ca70b2", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200224181240-023911ca70b2" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.18.0", - "purl": "pkg:golang/google.golang.org/api@v0.18.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.18.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20200224152610-e50cd9704f63", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20200224152610-e50cd9704f63", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200224152610-e50cd9704f63" - }, - { - "group": "rsc.io/quote", - "name": "v3", - "version": "v3.1.0", - "purl": "pkg:golang/rsc.io/quote/v3@v3.1.0", - "type": "library", - "bom-ref": "pkg:golang/rsc.io/quote/v3@v3.1.0" - }, - { - "group": "cloud.google.com", - "name": "go", - "version": "v0.38.0", - "purl": "pkg:golang/cloud.google.com/go@v0.38.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go@v0.38.0" - }, - { - "group": "github.com/hashicorp", - "name": "golang-lru", - "version": "v0.5.1", - "purl": "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1" - }, - { - "name": "go.opencensus.io", - "version": "v0.21.0", - "purl": "pkg:golang/go.opencensus.io@v0.21.0", - "type": "library", - "bom-ref": "pkg:golang/go.opencensus.io@v0.21.0" - }, - { - "group": "golang.org/x", - "name": "lint", - "version": "v0.0.0-20190409202823-959b441ac422", - "purl": "pkg:golang/golang.org/x/lint@v0.0.0-20190409202823-959b441ac422", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/lint@v0.0.0-20190409202823-959b441ac422" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20190503192946-f4e77d36d62c", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20190503192946-f4e77d36d62c", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20190503192946-f4e77d36d62c" - }, - { - "group": "golang.org/x", - "name": "oauth2", - "version": "v0.0.0-20190604053449-0f29369cfe45", - "purl": "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20190507160741-ecd444e8653b", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20190507160741-ecd444e8653b", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190507160741-ecd444e8653b" - }, - { - "group": "google.golang.org", - "name": "appengine", - "version": "v1.5.0", - "purl": "pkg:golang/google.golang.org/appengine@v1.5.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/appengine@v1.5.0" - }, - { - "group": "github.com/google", - "name": "renameio", - "version": "v0.1.0", - "purl": "pkg:golang/github.com/google/renameio@v0.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/renameio@v0.1.0" - }, - { - "group": "github.com/rogpeppe", - "name": "go-internal", - "version": "v1.3.0", - "purl": "pkg:golang/github.com/rogpeppe/go-internal@v1.3.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/rogpeppe/go-internal@v1.3.0" - }, - { - "group": "golang.org/x", - "name": "mod", - "version": "v0.0.0-20190513183733-4bf6d317e70e", - "purl": "pkg:golang/golang.org/x/mod@v0.0.0-20190513183733-4bf6d317e70e", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/mod@v0.0.0-20190513183733-4bf6d317e70e" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20191130070609-6e064ea0cf2d", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20191130070609-6e064ea0cf2d", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20191130070609-6e064ea0cf2d" - }, - { - "group": "cloud.google.com/go", - "name": "bigquery", - "version": "v1.7.0", - "purl": "pkg:golang/cloud.google.com/go/bigquery@v1.7.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/bigquery@v1.7.0" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20200506145744-7e3656a0809f", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20200506145744-7e3656a0809f", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20200506145744-7e3656a0809f" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20200511232937-7e40ca221e25", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20200511232937-7e40ca221e25", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200511232937-7e40ca221e25" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20200512131952-2bc93b1c0c88", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20200512131952-2bc93b1c0c88", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200512131952-2bc93b1c0c88" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20200511104702-f5ebc3bea380", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20200511104702-f5ebc3bea380", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200511104702-f5ebc3bea380" - }, - { - "group": "github.com/golang", - "name": "protobuf", - "version": "v1.3.5", - "purl": "pkg:golang/github.com/golang/protobuf@v1.3.5", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/protobuf@v1.3.5" - }, - { - "group": "github.com/google", - "name": "pprof", - "version": "v0.0.0-20200229191704-1ebb73c60ed3", - "purl": "pkg:golang/github.com/google/pprof@v0.0.0-20200229191704-1ebb73c60ed3", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/pprof@v0.0.0-20200229191704-1ebb73c60ed3" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20200324143707-d3edc9973b7e", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20200324143707-d3edc9973b7e", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20200324143707-d3edc9973b7e" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.20.0", - "purl": "pkg:golang/google.golang.org/api@v0.20.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.20.0" - }, - { - "group": "github.com/yuin", - "name": "goldmark", - "version": "v1.1.25", - "purl": "pkg:golang/github.com/yuin/goldmark@v1.1.25", - "type": "library", - "bom-ref": "pkg:golang/github.com/yuin/goldmark@v1.1.25" - }, - { - "group": "github.com/google", - "name": "go-cmp", - "version": "v0.5.0", - "purl": "pkg:golang/github.com/google/go-cmp@v0.5.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/go-cmp@v0.5.0" - }, - { - "group": "github.com/envoyproxy", - "name": "go-control-plane", - "version": "v0.9.0", - "purl": "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.0" - }, - { - "group": "github.com/golang", - "name": "protobuf", - "version": "v1.4.0-rc.4.0.20200313231945-b860323f09d0", - "purl": "pkg:golang/github.com/golang/protobuf@v1.4.0-rc.4.0.20200313231945-b860323f09d0", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/protobuf@v1.4.0-rc.4.0.20200313231945-b860323f09d0" - }, - { - "group": "cloud.google.com/go", - "name": "bigquery", - "version": "v1.0.1", - "purl": "pkg:golang/cloud.google.com/go/bigquery@v1.0.1", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/bigquery@v1.0.1" - }, - { - "group": "cloud.google.com/go", - "name": "datastore", - "version": "v1.0.0", - "purl": "pkg:golang/cloud.google.com/go/datastore@v1.0.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/datastore@v1.0.0" - }, - { - "group": "cloud.google.com/go", - "name": "pubsub", - "version": "v1.0.1", - "purl": "pkg:golang/cloud.google.com/go/pubsub@v1.0.1", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/pubsub@v1.0.1" - }, - { - "group": "cloud.google.com/go", - "name": "storage", - "version": "v1.0.0", - "purl": "pkg:golang/cloud.google.com/go/storage@v1.0.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/storage@v1.0.0" - }, - { - "group": "github.com/golang", - "name": "groupcache", - "version": "v0.0.0-20191227052852-215e87163ea7", - "purl": "pkg:golang/github.com/golang/groupcache@v0.0.0-20191227052852-215e87163ea7", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/groupcache@v0.0.0-20191227052852-215e87163ea7" - }, - { - "group": "github.com/golang", - "name": "mock", - "version": "v1.3.1", - "purl": "pkg:golang/github.com/golang/mock@v1.3.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/mock@v1.3.1" - }, - { - "group": "github.com/google", - "name": "pprof", - "version": "v0.0.0-20191218002539-d4f498aebedc", - "purl": "pkg:golang/github.com/google/pprof@v0.0.0-20191218002539-d4f498aebedc", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/pprof@v0.0.0-20191218002539-d4f498aebedc" - }, - { - "name": "go.opencensus.io", - "version": "v0.22.2", - "purl": "pkg:golang/go.opencensus.io@v0.22.2", - "type": "library", - "bom-ref": "pkg:golang/go.opencensus.io@v0.22.2" - }, - { - "group": "golang.org/x", - "name": "exp", - "version": "v0.0.0-20191227195350-da58074b4299", - "purl": "pkg:golang/golang.org/x/exp@v0.0.0-20191227195350-da58074b4299", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/exp@v0.0.0-20191227195350-da58074b4299" - }, - { - "group": "golang.org/x", - "name": "lint", - "version": "v0.0.0-20191125180803-fdd1cda4f05f", - "purl": "pkg:golang/golang.org/x/lint@v0.0.0-20191125180803-fdd1cda4f05f", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/lint@v0.0.0-20191125180803-fdd1cda4f05f" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20200114155413-6afb5195e5aa", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20200114155413-6afb5195e5aa", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20200114155413-6afb5195e5aa" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20200113162924-86b910548bc1", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20200113162924-86b910548bc1", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200113162924-86b910548bc1" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20200117161641-43d50277825c", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20200117161641-43d50277825c", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200117161641-43d50277825c" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20200115191322-ca5a22157cba", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20200115191322-ca5a22157cba", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200115191322-ca5a22157cba" - }, - { - "group": "honnef.co/go", - "name": "tools", - "version": "v0.0.1-2019.2.3", - "purl": "pkg:golang/honnef.co/go/tools@v0.0.1-2019.2.3", - "type": "library", - "bom-ref": "pkg:golang/honnef.co/go/tools@v0.0.1-2019.2.3" - }, - { - "group": "cloud.google.com", - "name": "go", - "version": "v0.50.0", - "purl": "pkg:golang/cloud.google.com/go@v0.50.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go@v0.50.0" - }, - { - "group": "cloud.google.com/go", - "name": "bigquery", - "version": "v1.3.0", - "purl": "pkg:golang/cloud.google.com/go/bigquery@v1.3.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/bigquery@v1.3.0" - }, - { - "group": "cloud.google.com/go", - "name": "pubsub", - "version": "v1.1.0", - "purl": "pkg:golang/cloud.google.com/go/pubsub@v1.1.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/pubsub@v1.1.0" - }, - { - "group": "github.com/google", - "name": "go-cmp", - "version": "v0.3.1", - "purl": "pkg:golang/github.com/google/go-cmp@v0.3.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/go-cmp@v0.3.1" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20191209160850-c0dbc17a3553", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20191209160850-c0dbc17a3553", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20191209160850-c0dbc17a3553" - }, - { - "group": "golang.org/x", - "name": "oauth2", - "version": "v0.0.0-20191202225959-858c2ad4c8b6", - "purl": "pkg:golang/golang.org/x/oauth2@v0.0.0-20191202225959-858c2ad4c8b6", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20191202225959-858c2ad4c8b6" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20191228213918-04cbcbbfeed8", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20191228213918-04cbcbbfeed8", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20191228213918-04cbcbbfeed8" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20191227053925-7b8e75db28f4", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20191227053925-7b8e75db28f4", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20191227053925-7b8e75db28f4" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20191230161307-f3c370f40bfb", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20191230161307-f3c370f40bfb", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20191230161307-f3c370f40bfb" - }, - { - "group": "dmitri.shuralyov.com/gpu", - "name": "mtl", - "version": "v0.0.0-20190408044501-666a987793e9", - "purl": "pkg:golang/dmitri.shuralyov.com/gpu/mtl@v0.0.0-20190408044501-666a987793e9", - "type": "library", - "bom-ref": "pkg:golang/dmitri.shuralyov.com/gpu/mtl@v0.0.0-20190408044501-666a987793e9" - }, - { - "group": "github.com/BurntSushi", - "name": "xgb", - "version": "v0.0.0-20160522181843-27f122750802", - "purl": "pkg:golang/github.com/BurntSushi/xgb@v0.0.0-20160522181843-27f122750802", - "type": "library", - "bom-ref": "pkg:golang/github.com/BurntSushi/xgb@v0.0.0-20160522181843-27f122750802" - }, - { - "group": "github.com/go-gl/glfw/v3.3", - "name": "glfw", - "version": "v0.0.0-20191125211704-12ad95a8df72", - "purl": "pkg:golang/github.com/go-gl/glfw/v3.3/glfw@v0.0.0-20191125211704-12ad95a8df72", - "type": "library", - "bom-ref": "pkg:golang/github.com/go-gl/glfw/v3.3/glfw@v0.0.0-20191125211704-12ad95a8df72" - }, - { - "group": "golang.org/x", - "name": "image", - "version": "v0.0.0-20190802002840-cff245a6509b", - "purl": "pkg:golang/golang.org/x/image@v0.0.0-20190802002840-cff245a6509b", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/image@v0.0.0-20190802002840-cff245a6509b" - }, - { - "group": "golang.org/x", - "name": "mobile", - "version": "v0.0.0-20190719004257-d2bd2a29d028", - "purl": "pkg:golang/golang.org/x/mobile@v0.0.0-20190719004257-d2bd2a29d028", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/mobile@v0.0.0-20190719004257-d2bd2a29d028" - }, - { - "group": "golang.org/x", - "name": "mod", - "version": "v0.1.0", - "purl": "pkg:golang/golang.org/x/mod@v0.1.0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/mod@v0.1.0" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20191012152004-8de300cfc20a", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20191012152004-8de300cfc20a", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20191012152004-8de300cfc20a" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20190506145303-2d16b83fe98c", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20190506145303-2d16b83fe98c", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190506145303-2d16b83fe98c" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20190502173448-54afdca5d873", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20190502173448-54afdca5d873", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20190502173448-54afdca5d873" - }, - { - "group": "honnef.co/go", - "name": "tools", - "version": "v0.0.0-20190418001031-e561f6794a2a", - "purl": "pkg:golang/honnef.co/go/tools@v0.0.0-20190418001031-e561f6794a2a", - "type": "library", - "bom-ref": "pkg:golang/honnef.co/go/tools@v0.0.0-20190418001031-e561f6794a2a" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20200207183749-b753a1ba74fa", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20200207183749-b753a1ba74fa", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200207183749-b753a1ba74fa" - }, - { - "group": "github.com/golang", - "name": "mock", - "version": "v1.4.0", - "purl": "pkg:golang/github.com/golang/mock@v1.4.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/mock@v1.4.0" - }, - { - "group": "github.com/google", - "name": "pprof", - "version": "v0.0.0-20200212024743-f11f1df84d12", - "purl": "pkg:golang/github.com/google/pprof@v0.0.0-20200212024743-f11f1df84d12", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/pprof@v0.0.0-20200212024743-f11f1df84d12" - }, - { - "group": "github.com/go-gl/glfw/v3.3", - "name": "glfw", - "version": "v0.0.0-20200222043503-6f7a984d4dc4", - "purl": "pkg:golang/github.com/go-gl/glfw/v3.3/glfw@v0.0.0-20200222043503-6f7a984d4dc4", - "type": "library", - "bom-ref": "pkg:golang/github.com/go-gl/glfw/v3.3/glfw@v0.0.0-20200222043503-6f7a984d4dc4" - }, - { - "group": "golang.org/x", - "name": "mod", - "version": "v0.1.1-0.20191107180719-034126e5016b", - "purl": "pkg:golang/golang.org/x/mod@v0.1.1-0.20191107180719-034126e5016b", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/mod@v0.1.1-0.20191107180719-034126e5016b" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20191001151750-bb3f8db39f24", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20191001151750-bb3f8db39f24", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20191001151750-bb3f8db39f24" - }, - { - "group": "rsc.io", - "name": "sampler", - "version": "v1.3.0", - "purl": "pkg:golang/rsc.io/sampler@v1.3.0", - "type": "library", - "bom-ref": "pkg:golang/rsc.io/sampler@v1.3.0" - }, - { - "group": "github.com/golang", - "name": "mock", - "version": "v1.2.0", - "purl": "pkg:golang/github.com/golang/mock@v1.2.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/mock@v1.2.0" - }, - { - "group": "github.com/google", - "name": "btree", - "version": "v0.0.0-20180813153112-4030bb1f1f0c", - "purl": "pkg:golang/github.com/google/btree@v0.0.0-20180813153112-4030bb1f1f0c", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/btree@v0.0.0-20180813153112-4030bb1f1f0c" - }, - { - "group": "github.com/google", - "name": "pprof", - "version": "v0.0.0-20181206194817-3ea8567a2e57", - "purl": "pkg:golang/github.com/google/pprof@v0.0.0-20181206194817-3ea8567a2e57", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/pprof@v0.0.0-20181206194817-3ea8567a2e57" - }, - { - "group": "github.com/googleapis/gax-go", - "name": "v2", - "version": "v2.0.4", - "purl": "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.4", - "type": "library", - "bom-ref": "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.4" - }, - { - "group": "github.com/jstemmer", - "name": "go-junit-report", - "version": "v0.0.0-20190106144839-af01ea7f8024", - "purl": "pkg:golang/github.com/jstemmer/go-junit-report@v0.0.0-20190106144839-af01ea7f8024", - "type": "library", - "bom-ref": "pkg:golang/github.com/jstemmer/go-junit-report@v0.0.0-20190106144839-af01ea7f8024" - }, - { - "group": "golang.org/x", - "name": "lint", - "version": "v0.0.0-20190301231843-5614ed5bae6f", - "purl": "pkg:golang/golang.org/x/lint@v0.0.0-20190301231843-5614ed5bae6f", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/lint@v0.0.0-20190301231843-5614ed5bae6f" - }, - { - "group": "golang.org/x", - "name": "oauth2", - "version": "v0.0.0-20190226205417-e64efc72b421", - "purl": "pkg:golang/golang.org/x/oauth2@v0.0.0-20190226205417-e64efc72b421", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20190226205417-e64efc72b421" - }, - { - "group": "golang.org/x", - "name": "text", - "version": "v0.3.1-0.20180807135948-17ff2d5776d2", - "purl": "pkg:golang/golang.org/x/text@v0.3.1-0.20180807135948-17ff2d5776d2", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/text@v0.3.1-0.20180807135948-17ff2d5776d2" - }, - { - "group": "golang.org/x", - "name": "time", - "version": "v0.0.0-20181108054448-85acf8d2951c", - "purl": "pkg:golang/golang.org/x/time@v0.0.0-20181108054448-85acf8d2951c", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/time@v0.0.0-20181108054448-85acf8d2951c" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20190312170243-e65039ee4138", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20190312170243-e65039ee4138", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190312170243-e65039ee4138" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.4.0", - "purl": "pkg:golang/google.golang.org/api@v0.4.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.4.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20190418145605-e7d98fc518a7", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20190418145605-e7d98fc518a7", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20190418145605-e7d98fc518a7" - }, - { - "group": "honnef.co/go", - "name": "tools", - "version": "v0.0.0-20190106161140-3f1c8253044a", - "purl": "pkg:golang/honnef.co/go/tools@v0.0.0-20190106161140-3f1c8253044a", - "type": "library", - "bom-ref": "pkg:golang/honnef.co/go/tools@v0.0.0-20190106161140-3f1c8253044a" - }, - { - "group": "github.com/hashicorp", - "name": "golang-lru", - "version": "v0.5.0", - "purl": "pkg:golang/github.com/hashicorp/golang-lru@v0.5.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/hashicorp/golang-lru@v0.5.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20190307195333-5fe7a883aa19", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20190307195333-5fe7a883aa19", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20190307195333-5fe7a883aa19" - }, - { - "group": "gopkg.in", - "name": "errgo.v2", - "version": "v2.1.0", - "purl": "pkg:golang/gopkg.in/errgo.v2@v2.1.0", - "type": "library", - "bom-ref": "pkg:golang/gopkg.in/errgo.v2@v2.1.0" - }, - { - "group": "golang.org/x", - "name": "crypto", - "version": "v0.0.0-20190510104115-cbcb75029529", - "purl": "pkg:golang/golang.org/x/crypto@v0.0.0-20190510104115-cbcb75029529", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20190510104115-cbcb75029529" - }, - { - "group": "cloud.google.com/go", - "name": "pubsub", - "version": "v1.3.1", - "purl": "pkg:golang/cloud.google.com/go/pubsub@v1.3.1", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/pubsub@v1.3.1" - }, - { - "group": "google.golang.org", - "name": "protobuf", - "version": "v1.20.1-0.20200309200217-e05f789c0967", - "purl": "pkg:golang/google.golang.org/protobuf@v1.20.1-0.20200309200217-e05f789c0967", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/protobuf@v1.20.1-0.20200309200217-e05f789c0967" - }, - { - "group": "cloud.google.com", - "name": "go", - "version": "v0.44.2", - "purl": "pkg:golang/cloud.google.com/go@v0.44.2", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go@v0.44.2" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.8.0", - "purl": "pkg:golang/google.golang.org/api@v0.8.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.8.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20190801165951-fa694d86fc64", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20190801165951-fa694d86fc64", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20190801165951-fa694d86fc64" - }, - { - "group": "google.golang.org", - "name": "grpc", - "version": "v1.21.1", - "purl": "pkg:golang/google.golang.org/grpc@v1.21.1", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/grpc@v1.21.1" - }, - { - "group": "cloud.google.com", - "name": "go", - "version": "v0.44.1", - "purl": "pkg:golang/cloud.google.com/go@v0.44.1", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go@v0.44.1" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20190624142023-c5567b49c5d0", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20190624142023-c5567b49c5d0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190624142023-c5567b49c5d0" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.7.0", - "purl": "pkg:golang/google.golang.org/api@v0.7.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.7.0" - }, - { - "group": "google.golang.org", - "name": "appengine", - "version": "v1.6.1", - "purl": "pkg:golang/google.golang.org/appengine@v1.6.1", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/appengine@v1.6.1" - }, - { - "group": "cloud.google.com", - "name": "go", - "version": "v0.45.1", - "purl": "pkg:golang/cloud.google.com/go@v0.45.1", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go@v0.45.1" - }, - { - "name": "go.opencensus.io", - "version": "v0.22.0", - "purl": "pkg:golang/go.opencensus.io@v0.22.0", - "type": "library", - "bom-ref": "pkg:golang/go.opencensus.io@v0.22.0" - }, - { - "group": "golang.org/x", - "name": "time", - "version": "v0.0.0-20190308202827-9d24e82272b4", - "purl": "pkg:golang/golang.org/x/time@v0.0.0-20190308202827-9d24e82272b4", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/time@v0.0.0-20190308202827-9d24e82272b4" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.9.0", - "purl": "pkg:golang/google.golang.org/api@v0.9.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.9.0" - }, - { - "group": "cloud.google.com", - "name": "go", - "version": "v0.46.3", - "purl": "pkg:golang/cloud.google.com/go@v0.46.3", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go@v0.46.3" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20190911173649-1774047e7e51", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20190911173649-1774047e7e51", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20190911173649-1774047e7e51" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20191125144606-a911d9008d1f", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20191125144606-a911d9008d1f", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20191125144606-a911d9008d1f" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20190621195816-6e04913cbbac", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20190621195816-6e04913cbbac", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190621195816-6e04913cbbac" - }, - { - "group": "github.com/google", - "name": "pprof", - "version": "v0.0.0-20190515194954-54271f7e092f", - "purl": "pkg:golang/github.com/google/pprof@v0.0.0-20190515194954-54271f7e092f", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/pprof@v0.0.0-20190515194954-54271f7e092f" - }, - { - "group": "golang.org/x", - "name": "exp", - "version": "v0.0.0-20191129062945-2f5052295587", - "purl": "pkg:golang/golang.org/x/exp@v0.0.0-20191129062945-2f5052295587", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/exp@v0.0.0-20191129062945-2f5052295587" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20190724013045-ca1201d0de80", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20190724013045-ca1201d0de80", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20190724013045-ca1201d0de80" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20190726091711-fc99dfbffb4e", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20190726091711-fc99dfbffb4e", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190726091711-fc99dfbffb4e" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20191216173652-a0e659d51361", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20191216173652-a0e659d51361", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20191216173652-a0e659d51361" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.14.0", - "purl": "pkg:golang/google.golang.org/api@v0.14.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.14.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20191216164720-4f79533eabd1", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20191216164720-4f79533eabd1", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20191216164720-4f79533eabd1" - }, - { - "group": "golang.org/x", - "name": "exp", - "version": "v0.0.0-20191030013958-a1ab85dbe136", - "purl": "pkg:golang/golang.org/x/exp@v0.0.0-20191030013958-a1ab85dbe136", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/exp@v0.0.0-20191030013958-a1ab85dbe136" - }, - { - "group": "golang.org/x", - "name": "lint", - "version": "v0.0.0-20190930215403-16217165b5de", - "purl": "pkg:golang/golang.org/x/lint@v0.0.0-20190930215403-16217165b5de", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/lint@v0.0.0-20190930215403-16217165b5de" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20191113191852-77e3bb0ad9e7", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20191113191852-77e3bb0ad9e7", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20191113191852-77e3bb0ad9e7" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.13.0", - "purl": "pkg:golang/google.golang.org/api@v0.13.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.13.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20191108220845-16a3f7862a1a", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20191108220845-16a3f7862a1a", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20191108220845-16a3f7862a1a" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20191115202509-3a792d9c32b2", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20191115202509-3a792d9c32b2", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20191115202509-3a792d9c32b2" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20191115194625-c23dd37a84c9", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20191115194625-c23dd37a84c9", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20191115194625-c23dd37a84c9" - }, - { - "group": "golang.org/x", - "name": "exp", - "version": "v0.0.0-20190306152737-a1d7652674e8", - "purl": "pkg:golang/golang.org/x/exp@v0.0.0-20190306152737-a1d7652674e8", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/exp@v0.0.0-20190306152737-a1d7652674e8" - }, - { - "group": "golang.org/x", - "name": "image", - "version": "v0.0.0-20190227222117-0694c2d4d067", - "purl": "pkg:golang/golang.org/x/image@v0.0.0-20190227222117-0694c2d4d067", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/image@v0.0.0-20190227222117-0694c2d4d067" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20190312061237-fead79001313", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20190312061237-fead79001313", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190312061237-fead79001313" - }, - { - "group": "golang.org/x", - "name": "text", - "version": "v0.0.0-20170915032832-14c0d48ead0c", - "purl": "pkg:golang/golang.org/x/text@v0.0.0-20170915032832-14c0d48ead0c", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/text@v0.0.0-20170915032832-14c0d48ead0c" - }, - { - "group": "cloud.google.com", - "name": "go", - "version": "v0.54.0", - "purl": "pkg:golang/cloud.google.com/go@v0.54.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go@v0.54.0" - }, - { - "group": "cloud.google.com/go", - "name": "bigquery", - "version": "v1.5.0", - "purl": "pkg:golang/cloud.google.com/go/bigquery@v1.5.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/bigquery@v1.5.0" - }, - { - "group": "github.com/golang", - "name": "protobuf", - "version": "v1.3.4", - "purl": "pkg:golang/github.com/golang/protobuf@v1.3.4", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/protobuf@v1.3.4" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20200312045724-11d5b4c81c7d", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20200312045724-11d5b4c81c7d", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200312045724-11d5b4c81c7d" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20200312145019-da6875a35672", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20200312145019-da6875a35672", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200312145019-da6875a35672" - }, - { - "group": "github.com/golang", - "name": "protobuf", - "version": "v1.4.0-rc.2", - "purl": "pkg:golang/github.com/golang/protobuf@v1.4.0-rc.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/protobuf@v1.4.0-rc.2" - }, - { - "group": "github.com/google", - "name": "btree", - "version": "v1.0.0", - "purl": "pkg:golang/github.com/google/btree@v1.0.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/btree@v1.0.0" - }, - { - "group": "golang.org/x", - "name": "exp", - "version": "v0.0.0-20190510132918-efd6b22b2522", - "purl": "pkg:golang/golang.org/x/exp@v0.0.0-20190510132918-efd6b22b2522", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/exp@v0.0.0-20190510132918-efd6b22b2522" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20190628153133-6cdbf07be9d0", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20190628153133-6cdbf07be9d0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190628153133-6cdbf07be9d0" - }, - { - "group": "rsc.io", - "name": "binaryregexp", - "version": "v0.2.0", - "purl": "pkg:golang/rsc.io/binaryregexp@v0.2.0", - "type": "library", - "bom-ref": "pkg:golang/rsc.io/binaryregexp@v0.2.0" - }, - { - "group": "golang.org/x", - "name": "crypto", - "version": "v0.0.0-20190605123033-f99c8df09eb5", - "purl": "pkg:golang/golang.org/x/crypto@v0.0.0-20190605123033-f99c8df09eb5", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20190605123033-f99c8df09eb5" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20190606165138-5da285871e9c", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20190606165138-5da285871e9c", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190606165138-5da285871e9c" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20190606124116-d0a3d012864b", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20190606124116-d0a3d012864b", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190606124116-d0a3d012864b" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20190501004415-9ce7a6920f09", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20190501004415-9ce7a6920f09", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20190501004415-9ce7a6920f09" - }, - { - "group": "golang.org/x", - "name": "exp", - "version": "v0.0.0-20190829153037-c13cbed26979", - "purl": "pkg:golang/golang.org/x/exp@v0.0.0-20190829153037-c13cbed26979", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/exp@v0.0.0-20190829153037-c13cbed26979" - }, - { - "group": "golang.org/x", - "name": "lint", - "version": "v0.0.0-20190909230951-414d861bb4ac", - "purl": "pkg:golang/golang.org/x/lint@v0.0.0-20190909230951-414d861bb4ac", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/lint@v0.0.0-20190909230951-414d861bb4ac" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20190911174233-4f2ddba30aff", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20190911174233-4f2ddba30aff", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190911174233-4f2ddba30aff" - }, - { - "group": "github.com/go-gl", - "name": "glfw", - "version": "v0.0.0-20190409004039-e6da0acd62b1", - "purl": "pkg:golang/github.com/go-gl/glfw@v0.0.0-20190409004039-e6da0acd62b1", - "type": "library", - "bom-ref": "pkg:golang/github.com/go-gl/glfw@v0.0.0-20190409004039-e6da0acd62b1" - }, - { - "group": "github.com/golang", - "name": "mock", - "version": "v1.4.1", - "purl": "pkg:golang/github.com/golang/mock@v1.4.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/mock@v1.4.1" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20200301022130-244492dfa37a", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20200301022130-244492dfa37a", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20200301022130-244492dfa37a" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20200302150141-5c8b2ff67527", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20200302150141-5c8b2ff67527", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200302150141-5c8b2ff67527" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20200304193943-95d2e580d8eb", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20200304193943-95d2e580d8eb", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200304193943-95d2e580d8eb" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20200305110556-506484158171", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20200305110556-506484158171", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200305110556-506484158171" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20200227222343-706bc42d1f0d", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20200227222343-706bc42d1f0d", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200227222343-706bc42d1f0d" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.19.0", - "purl": "pkg:golang/google.golang.org/api@v0.19.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.19.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20200228133532-8c2c7df3a383", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20200228133532-8c2c7df3a383", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200228133532-8c2c7df3a383" - }, - { - "group": "google.golang.org", - "name": "protobuf", - "version": "v0.0.0-20200228230310-ab0ca4ff8a60", - "purl": "pkg:golang/google.golang.org/protobuf@v0.0.0-20200228230310-ab0ca4ff8a60", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/protobuf@v0.0.0-20200228230310-ab0ca4ff8a60" - }, - { - "group": "golang.org/x", - "name": "mobile", - "version": "v0.0.0-20190312151609-d3739f865fa6", - "purl": "pkg:golang/golang.org/x/mobile@v0.0.0-20190312151609-d3739f865fa6", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/mobile@v0.0.0-20190312151609-d3739f865fa6" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20190312151545-0bb0c0a6e846", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20190312151545-0bb0c0a6e846", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190312151545-0bb0c0a6e846" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20190816200558-6889da9d5479", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20190816200558-6889da9d5479", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190816200558-6889da9d5479" - }, - { - "group": "github.com/golang", - "name": "protobuf", - "version": "v1.4.0-rc.1.0.20200221234624-67d41d38c208", - "purl": "pkg:golang/github.com/golang/protobuf@v1.4.0-rc.1.0.20200221234624-67d41d38c208", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/protobuf@v1.4.0-rc.1.0.20200221234624-67d41d38c208" - }, - { - "group": "google.golang.org", - "name": "protobuf", - "version": "v0.0.0-20200221191635-4d8936d0db64", - "purl": "pkg:golang/google.golang.org/protobuf@v0.0.0-20200221191635-4d8936d0db64", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/protobuf@v0.0.0-20200221191635-4d8936d0db64" - }, - { - "group": "github.com/golang", - "name": "protobuf", - "version": "v1.4.0-rc.1", - "purl": "pkg:golang/github.com/golang/protobuf@v1.4.0-rc.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/protobuf@v1.4.0-rc.1" - }, - { - "group": "google.golang.org", - "name": "protobuf", - "version": "v0.0.0-20200109180630-ec00e32a8dfd", - "purl": "pkg:golang/google.golang.org/protobuf@v0.0.0-20200109180630-ec00e32a8dfd", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/protobuf@v0.0.0-20200109180630-ec00e32a8dfd" - } - ], - "dependencies": [ - { - "ref": "pkg:golang/github.com/RHEcosystemAppEng/SaaSi/deployer@v0.0.0", - "dependsOn": [ - "pkg:golang/github.com/davecgh/go-spew@v1.1.1", - "pkg:golang/github.com/emicklei/go-restful/v3@v3.9.0", - "pkg:golang/github.com/gin-gonic/gin@v1.9.1", - "pkg:golang/github.com/go-logr/logr@v1.2.3", - "pkg:golang/github.com/go-openapi/jsonpointer@v0.19.5", - "pkg:golang/github.com/go-openapi/jsonreference@v0.20.0", - "pkg:golang/github.com/go-openapi/swag@v0.19.14", - "pkg:golang/github.com/gogo/protobuf@v1.3.2", - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/github.com/google/gnostic@v0.5.7-v3refs", - "pkg:golang/github.com/google/go-cmp@v0.5.9", - "pkg:golang/github.com/google/gofuzz@v1.1.0", - "pkg:golang/github.com/google/uuid@v1.1.2", - "pkg:golang/github.com/imdario/mergo@v0.3.6", - "pkg:golang/github.com/jessevdk/go-flags@v1.5.0", - "pkg:golang/github.com/josharian/intern@v1.0.0", - "pkg:golang/github.com/json-iterator/go@v1.1.12", - "pkg:golang/github.com/kr/pretty@v0.3.1", - "pkg:golang/github.com/kr/text@v0.2.0", - "pkg:golang/github.com/mailru/easyjson@v0.7.6", - "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd", - "pkg:golang/github.com/modern-go/reflect2@v1.0.2", - "pkg:golang/github.com/munnerz/goautoneg@v0.0.0-20191010083416-a7dc8b61c822", - "pkg:golang/github.com/rogpeppe/go-internal@v1.9.0", - "pkg:golang/github.com/spf13/pflag@v1.0.5", - "pkg:golang/golang.org/x/net@v0.10.0", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20220223155221-ee480838109b", - "pkg:golang/golang.org/x/sys@v0.8.0", - "pkg:golang/golang.org/x/term@v0.8.0", - "pkg:golang/golang.org/x/text@v0.9.0", - "pkg:golang/golang.org/x/time@v0.0.0-20220210224613-90d013bbcef8", - "pkg:golang/google.golang.org/appengine@v1.6.7", - "pkg:golang/google.golang.org/protobuf@v1.30.0", - "pkg:golang/gopkg.in/inf.v0@v0.9.1", - "pkg:golang/gopkg.in/yaml.v2@v2.4.0", - "pkg:golang/gopkg.in/yaml.v3@v3.0.1", - "pkg:golang/k8s.io/api@v0.26.1", - "pkg:golang/k8s.io/apimachinery@v0.26.1", - "pkg:golang/k8s.io/client-go@v0.26.1", - "pkg:golang/k8s.io/klog/v2@v2.80.1", - "pkg:golang/k8s.io/kube-openapi@v0.0.0-20221012153701-172d655c2280", - "pkg:golang/k8s.io/utils@v0.0.0-20221107191617-1a15be271d1d", - "pkg:golang/sigs.k8s.io/json@v0.0.0-20220713155537-f223a00ba0e2", - "pkg:golang/sigs.k8s.io/structured-merge-diff/v4@v4.2.3", - "pkg:golang/sigs.k8s.io/yaml@v1.3.0" - ] - }, - { - "ref": "pkg:golang/github.com/davecgh/go-spew@v1.1.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/emicklei/go-restful/v3@v3.9.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/gin-gonic/gin@v1.9.1", - "dependsOn": [ - "pkg:golang/github.com/bytedance/sonic@v1.9.1", - "pkg:golang/github.com/gin-contrib/sse@v0.1.0", - "pkg:golang/github.com/go-playground/validator/v10@v10.14.0", - "pkg:golang/github.com/goccy/go-json@v0.10.2", - "pkg:golang/github.com/json-iterator/go@v1.1.12", - "pkg:golang/github.com/mattn/go-isatty@v0.0.19", - "pkg:golang/github.com/pelletier/go-toml/v2@v2.0.8", - "pkg:golang/github.com/stretchr/testify@v1.8.3", - "pkg:golang/github.com/ugorji/go/codec@v1.2.11", - "pkg:golang/golang.org/x/net@v0.10.0", - "pkg:golang/google.golang.org/protobuf@v1.30.0", - "pkg:golang/gopkg.in/yaml.v3@v3.0.1", - "pkg:golang/github.com/chenzhuoyu/base64x@v0.0.0-20221115062448-fe3a3abad311", - "pkg:golang/github.com/davecgh/go-spew@v1.1.1", - "pkg:golang/github.com/gabriel-vasile/mimetype@v1.4.2", - "pkg:golang/github.com/go-playground/locales@v0.14.1", - "pkg:golang/github.com/go-playground/universal-translator@v0.18.1", - "pkg:golang/github.com/klauspost/cpuid/v2@v2.2.4", - "pkg:golang/github.com/leodido/go-urn@v1.2.4", - "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd", - "pkg:golang/github.com/modern-go/reflect2@v1.0.2", - "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", - "pkg:golang/github.com/twitchyliquid64/golang-asm@v0.15.1", - "pkg:golang/golang.org/x/arch@v0.3.0", - "pkg:golang/golang.org/x/crypto@v0.9.0", - "pkg:golang/golang.org/x/sys@v0.8.0", - "pkg:golang/golang.org/x/text@v0.9.0" - ] - }, - { - "ref": "pkg:golang/github.com/go-logr/logr@v1.2.3", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/go-openapi/jsonpointer@v0.19.5", - "dependsOn": [ - "pkg:golang/github.com/go-openapi/swag@v0.19.5", - "pkg:golang/github.com/mailru/easyjson@v0.0.0-20190626092158-b2ccc519800e", - "pkg:golang/github.com/stretchr/testify@v1.3.0" - ] - }, - { - "ref": "pkg:golang/github.com/go-openapi/jsonreference@v0.20.0", - "dependsOn": [ - "pkg:golang/github.com/go-openapi/jsonpointer@v0.19.3", - "pkg:golang/github.com/stretchr/testify@v1.3.0" - ] - }, - { - "ref": "pkg:golang/github.com/go-openapi/swag@v0.19.14", - "dependsOn": [ - "pkg:golang/github.com/davecgh/go-spew@v1.1.1", - "pkg:golang/github.com/kr/text@v0.2.0", - "pkg:golang/github.com/mailru/easyjson@v0.7.6", - "pkg:golang/github.com/niemeyer/pretty@v0.0.0-20200227124842-a10e7caefd8e", - "pkg:golang/github.com/stretchr/testify@v1.6.1", - "pkg:golang/gopkg.in/check.v1@v1.0.0-20200227125254-8fa46927fb4f", - "pkg:golang/gopkg.in/yaml.v2@v2.4.0", - "pkg:golang/gopkg.in/yaml.v3@v3.0.0-20200615113413-eeeca48fe776" - ] - }, - { - "ref": "pkg:golang/github.com/gogo/protobuf@v1.3.2", - "dependsOn": [ - "pkg:golang/github.com/kisielk/errcheck@v1.5.0", - "pkg:golang/github.com/kisielk/gotool@v1.0.0", - "pkg:golang/golang.org/x/tools@v0.0.0-20210106214847-113979e3529a" - ] - }, - { - "ref": "pkg:golang/github.com/golang/protobuf@v1.5.2", - "dependsOn": [ - "pkg:golang/github.com/google/go-cmp@v0.5.5", - "pkg:golang/google.golang.org/protobuf@v1.26.0" - ] - }, - { - "ref": "pkg:golang/github.com/google/gnostic@v0.5.7-v3refs", - "dependsOn": [ - "pkg:golang/github.com/davecgh/go-spew@v1.1.1", - "pkg:golang/github.com/docopt/docopt-go@v0.0.0-20180111231733-ee0de3bc6815", - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/github.com/kr/pretty@v0.2.0", - "pkg:golang/github.com/stoewer/go-strcase@v1.2.0", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1", - "pkg:golang/google.golang.org/genproto@v0.0.0-20201019141844-1ed22bb0c154", - "pkg:golang/google.golang.org/protobuf@v1.26.0", - "pkg:golang/gopkg.in/check.v1@v1.0.0-20190902080502-41f04d3bba15", - "pkg:golang/gopkg.in/yaml.v3@v3.0.0-20200615113413-eeeca48fe776" - ] - }, - { - "ref": "pkg:golang/github.com/google/go-cmp@v0.5.9", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/google/gofuzz@v1.1.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/google/uuid@v1.1.2", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/imdario/mergo@v0.3.6", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/jessevdk/go-flags@v1.5.0", - "dependsOn": [ - "pkg:golang/golang.org/x/sys@v0.0.0-20210320140829-1e4c9ba3b0c4" - ] - }, - { - "ref": "pkg:golang/github.com/josharian/intern@v1.0.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/json-iterator/go@v1.1.12", - "dependsOn": [ - "pkg:golang/github.com/davecgh/go-spew@v1.1.1", - "pkg:golang/github.com/google/gofuzz@v1.0.0", - "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180228061459-e0a39a4cb421", - "pkg:golang/github.com/modern-go/reflect2@v1.0.2", - "pkg:golang/github.com/stretchr/testify@v1.3.0" - ] - }, - { - "ref": "pkg:golang/github.com/kr/pretty@v0.3.1", - "dependsOn": [ - "pkg:golang/github.com/kr/text@v0.2.0", - "pkg:golang/github.com/rogpeppe/go-internal@v1.9.0" - ] - }, - { - "ref": "pkg:golang/github.com/kr/text@v0.2.0", - "dependsOn": [ - "pkg:golang/github.com/creack/pty@v1.1.9" - ] - }, - { - "ref": "pkg:golang/github.com/mailru/easyjson@v0.7.6", - "dependsOn": [ - "pkg:golang/github.com/josharian/intern@v1.0.0" - ] - }, - { - "ref": "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/modern-go/reflect2@v1.0.2", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/munnerz/goautoneg@v0.0.0-20191010083416-a7dc8b61c822", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/rogpeppe/go-internal@v1.9.0", - "dependsOn": [ - "pkg:golang/github.com/pkg/diff@v0.0.0-20210226163009-20ebb0f2a09e" - ] - }, - { - "ref": "pkg:golang/github.com/spf13/pflag@v1.0.5", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.10.0", - "dependsOn": [ - "pkg:golang/golang.org/x/sys@v0.8.0", - "pkg:golang/golang.org/x/term@v0.8.0", - "pkg:golang/golang.org/x/text@v0.9.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20220223155221-ee480838109b", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.65.0", - "pkg:golang/golang.org/x/net@v0.0.0-20220127200216-cd36cc0744dd", - "pkg:golang/google.golang.org/appengine@v1.6.6" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.8.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/term@v0.8.0", - "dependsOn": [ - "pkg:golang/golang.org/x/sys@v0.8.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/text@v0.9.0", - "dependsOn": [ - "pkg:golang/golang.org/x/tools@v0.6.0", - "pkg:golang/golang.org/x/mod@v0.8.0", - "pkg:golang/golang.org/x/sys@v0.5.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/time@v0.0.0-20220210224613-90d013bbcef8", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/appengine@v1.6.7", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.1", - "pkg:golang/golang.org/x/net@v0.0.0-20190603091049-60506f45cf65", - "pkg:golang/golang.org/x/text@v0.3.2" - ] - }, - { - "ref": "pkg:golang/google.golang.org/protobuf@v1.30.0", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.5.0", - "pkg:golang/github.com/google/go-cmp@v0.5.5" - ] - }, - { - "ref": "pkg:golang/gopkg.in/inf.v0@v0.9.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/gopkg.in/yaml.v2@v2.4.0", - "dependsOn": [ - "pkg:golang/gopkg.in/check.v1@v0.0.0-20161208181325-20d25e280405" - ] - }, - { - "ref": "pkg:golang/gopkg.in/yaml.v3@v3.0.1", - "dependsOn": [ - "pkg:golang/gopkg.in/check.v1@v0.0.0-20161208181325-20d25e280405" - ] - }, - { - "ref": "pkg:golang/k8s.io/api@v0.26.1", - "dependsOn": [ - "pkg:golang/github.com/gogo/protobuf@v1.3.2", - "pkg:golang/github.com/stretchr/testify@v1.8.0", - "pkg:golang/k8s.io/apimachinery@v0.26.1", - "pkg:golang/github.com/davecgh/go-spew@v1.1.1", - "pkg:golang/github.com/go-logr/logr@v1.2.3", - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/github.com/google/go-cmp@v0.5.9", - "pkg:golang/github.com/google/gofuzz@v1.1.0", - "pkg:golang/github.com/json-iterator/go@v1.1.12", - "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd", - "pkg:golang/github.com/modern-go/reflect2@v1.0.2", - "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", - "pkg:golang/github.com/spf13/pflag@v1.0.5", - "pkg:golang/golang.org/x/net@v0.3.1-0.20221206200815-1e63c2f08a10", - "pkg:golang/golang.org/x/text@v0.5.0", - "pkg:golang/google.golang.org/protobuf@v1.28.1", - "pkg:golang/gopkg.in/inf.v0@v0.9.1", - "pkg:golang/gopkg.in/yaml.v2@v2.4.0", - "pkg:golang/gopkg.in/yaml.v3@v3.0.1", - "pkg:golang/k8s.io/klog/v2@v2.80.1", - "pkg:golang/k8s.io/utils@v0.0.0-20221107191617-1a15be271d1d", - "pkg:golang/sigs.k8s.io/json@v0.0.0-20220713155537-f223a00ba0e2", - "pkg:golang/sigs.k8s.io/structured-merge-diff/v4@v4.2.3", - "pkg:golang/sigs.k8s.io/yaml@v1.3.0" - ] - }, - { - "ref": "pkg:golang/k8s.io/apimachinery@v0.26.1", - "dependsOn": [ - "pkg:golang/github.com/armon/go-socks5@v0.0.0-20160902184237-e75332964ef5", - "pkg:golang/github.com/davecgh/go-spew@v1.1.1", - "pkg:golang/github.com/elazarl/goproxy@v0.0.0-20180725130230-947c36da3153", - "pkg:golang/github.com/evanphx/json-patch@v4.12.0%2Bincompatible", - "pkg:golang/github.com/gogo/protobuf@v1.3.2", - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/github.com/google/gnostic@v0.5.7-v3refs", - "pkg:golang/github.com/google/go-cmp@v0.5.9", - "pkg:golang/github.com/google/gofuzz@v1.1.0", - "pkg:golang/github.com/google/uuid@v1.1.2", - "pkg:golang/github.com/moby/spdystream@v0.2.0", - "pkg:golang/github.com/mxk/go-flowrate@v0.0.0-20140419014527-cca7078d478f", - "pkg:golang/github.com/spf13/pflag@v1.0.5", - "pkg:golang/github.com/stretchr/testify@v1.8.0", - "pkg:golang/golang.org/x/net@v0.3.1-0.20221206200815-1e63c2f08a10", - "pkg:golang/gopkg.in/inf.v0@v0.9.1", - "pkg:golang/k8s.io/klog/v2@v2.80.1", - "pkg:golang/k8s.io/kube-openapi@v0.0.0-20221012153701-172d655c2280", - "pkg:golang/k8s.io/utils@v0.0.0-20221107191617-1a15be271d1d", - "pkg:golang/sigs.k8s.io/json@v0.0.0-20220713155537-f223a00ba0e2", - "pkg:golang/sigs.k8s.io/structured-merge-diff/v4@v4.2.3", - "pkg:golang/sigs.k8s.io/yaml@v1.3.0", - "pkg:golang/github.com/go-logr/logr@v1.2.3", - "pkg:golang/github.com/json-iterator/go@v1.1.12", - "pkg:golang/github.com/kr/text@v0.2.0", - "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd", - "pkg:golang/github.com/modern-go/reflect2@v1.0.2", - "pkg:golang/github.com/niemeyer/pretty@v0.0.0-20200227124842-a10e7caefd8e", - "pkg:golang/github.com/onsi/ginkgo/v2@v2.4.0", - "pkg:golang/github.com/onsi/gomega@v1.23.0", - "pkg:golang/github.com/pkg/errors@v0.9.1", - "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", - "pkg:golang/golang.org/x/text@v0.5.0", - "pkg:golang/google.golang.org/protobuf@v1.28.1", - "pkg:golang/gopkg.in/check.v1@v1.0.0-20200227125254-8fa46927fb4f", - "pkg:golang/gopkg.in/yaml.v2@v2.4.0", - "pkg:golang/gopkg.in/yaml.v3@v3.0.1" - ] - }, - { - "ref": "pkg:golang/k8s.io/client-go@v0.26.1", - "dependsOn": [ - "pkg:golang/github.com/davecgh/go-spew@v1.1.1", - "pkg:golang/github.com/evanphx/json-patch@v4.12.0%2Bincompatible", - "pkg:golang/github.com/gogo/protobuf@v1.3.2", - "pkg:golang/github.com/golang/groupcache@v0.0.0-20210331224755-41bb18bfe9da", - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/github.com/google/gnostic@v0.5.7-v3refs", - "pkg:golang/github.com/google/go-cmp@v0.5.9", - "pkg:golang/github.com/google/gofuzz@v1.1.0", - "pkg:golang/github.com/google/uuid@v1.1.2", - "pkg:golang/github.com/gregjones/httpcache@v0.0.0-20180305231024-9cad4c3443a7", - "pkg:golang/github.com/imdario/mergo@v0.3.6", - "pkg:golang/github.com/peterbourgon/diskv@v2.0.1%2Bincompatible", - "pkg:golang/github.com/spf13/pflag@v1.0.5", - "pkg:golang/github.com/stretchr/testify@v1.8.0", - "pkg:golang/golang.org/x/net@v0.3.1-0.20221206200815-1e63c2f08a10", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20220223155221-ee480838109b", - "pkg:golang/golang.org/x/term@v0.3.0", - "pkg:golang/golang.org/x/time@v0.0.0-20220210224613-90d013bbcef8", - "pkg:golang/google.golang.org/protobuf@v1.28.1", - "pkg:golang/k8s.io/api@v0.26.1", - "pkg:golang/k8s.io/apimachinery@v0.26.1", - "pkg:golang/k8s.io/klog/v2@v2.80.1", - "pkg:golang/k8s.io/kube-openapi@v0.0.0-20221012153701-172d655c2280", - "pkg:golang/k8s.io/utils@v0.0.0-20221107191617-1a15be271d1d", - "pkg:golang/sigs.k8s.io/structured-merge-diff/v4@v4.2.3", - "pkg:golang/sigs.k8s.io/yaml@v1.3.0", - "pkg:golang/github.com/emicklei/go-restful/v3@v3.9.0", - "pkg:golang/github.com/go-logr/logr@v1.2.3", - "pkg:golang/github.com/go-openapi/jsonpointer@v0.19.5", - "pkg:golang/github.com/go-openapi/jsonreference@v0.20.0", - "pkg:golang/github.com/go-openapi/swag@v0.19.14", - "pkg:golang/github.com/google/btree@v1.0.1", - "pkg:golang/github.com/josharian/intern@v1.0.0", - "pkg:golang/github.com/json-iterator/go@v1.1.12", - "pkg:golang/github.com/mailru/easyjson@v0.7.6", - "pkg:golang/github.com/moby/spdystream@v0.2.0", - "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd", - "pkg:golang/github.com/modern-go/reflect2@v1.0.2", - "pkg:golang/github.com/munnerz/goautoneg@v0.0.0-20191010083416-a7dc8b61c822", - "pkg:golang/github.com/pkg/errors@v0.9.1", - "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", - "pkg:golang/golang.org/x/sys@v0.3.0", - "pkg:golang/golang.org/x/text@v0.5.0", - "pkg:golang/google.golang.org/appengine@v1.6.7", - "pkg:golang/gopkg.in/inf.v0@v0.9.1", - "pkg:golang/gopkg.in/yaml.v2@v2.4.0", - "pkg:golang/gopkg.in/yaml.v3@v3.0.1", - "pkg:golang/sigs.k8s.io/json@v0.0.0-20220713155537-f223a00ba0e2" - ] - }, - { - "ref": "pkg:golang/k8s.io/klog/v2@v2.80.1", - "dependsOn": [ - "pkg:golang/github.com/go-logr/logr@v1.2.0" - ] - }, - { - "ref": "pkg:golang/k8s.io/kube-openapi@v0.0.0-20221012153701-172d655c2280", - "dependsOn": [ - "pkg:golang/github.com/NYTimes/gziphandler@v0.0.0-20170623195520-56545f4a5d46", - "pkg:golang/github.com/asaskevich/govalidator@v0.0.0-20190424111038-f61b66f89f4a", - "pkg:golang/github.com/emicklei/go-restful/v3@v3.8.0", - "pkg:golang/github.com/go-openapi/jsonreference@v0.19.3", - "pkg:golang/github.com/go-openapi/swag@v0.19.5", - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/github.com/google/gnostic@v0.5.7-v3refs", - "pkg:golang/github.com/google/go-cmp@v0.5.5", - "pkg:golang/github.com/google/gofuzz@v1.1.0", - "pkg:golang/github.com/google/uuid@v1.1.2", - "pkg:golang/github.com/mitchellh/mapstructure@v1.1.2", - "pkg:golang/github.com/munnerz/goautoneg@v0.0.0-20120707110453-a547fc61f48d", - "pkg:golang/github.com/onsi/ginkgo/v2@v2.1.4", - "pkg:golang/github.com/onsi/gomega@v1.19.0", - "pkg:golang/github.com/spf13/pflag@v1.0.5", - "pkg:golang/github.com/stretchr/testify@v1.5.1", - "pkg:golang/google.golang.org/protobuf@v1.27.1", - "pkg:golang/gopkg.in/yaml.v2@v2.4.0", - "pkg:golang/gopkg.in/yaml.v3@v3.0.0-20210107192922-496545a6307b", - "pkg:golang/k8s.io/gengo@v0.0.0-20210813121822-485abfe95c7c", - "pkg:golang/k8s.io/klog/v2@v2.2.0", - "pkg:golang/k8s.io/utils@v0.0.0-20210802155522-efc7438f0176", - "pkg:golang/sigs.k8s.io/structured-merge-diff/v4@v4.2.3", - "pkg:golang/sigs.k8s.io/yaml@v1.2.0", - "pkg:golang/github.com/PuerkitoBio/purell@v1.1.1", - "pkg:golang/github.com/PuerkitoBio/urlesc@v0.0.0-20170810143723-de5bf2ad4578", - "pkg:golang/github.com/davecgh/go-spew@v1.1.1", - "pkg:golang/github.com/go-logr/logr@v0.2.0", - "pkg:golang/github.com/go-openapi/jsonpointer@v0.19.5", - "pkg:golang/github.com/json-iterator/go@v1.1.12", - "pkg:golang/github.com/mailru/easyjson@v0.0.0-20190626092158-b2ccc519800e", - "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd", - "pkg:golang/github.com/modern-go/reflect2@v1.0.2", - "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", - "pkg:golang/golang.org/x/mod@v0.6.0-dev.0.20220106191415-9b9b3d81d5e3", - "pkg:golang/golang.org/x/net@v0.0.0-20220225172249-27dd8689420f", - "pkg:golang/golang.org/x/sys@v0.0.0-20220319134239-a9b59b0215f8", - "pkg:golang/golang.org/x/text@v0.3.7", - "pkg:golang/golang.org/x/tools@v0.1.10", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1" - ] - }, - { - "ref": "pkg:golang/k8s.io/utils@v0.0.0-20221107191617-1a15be271d1d", - "dependsOn": [ - "pkg:golang/github.com/davecgh/go-spew@v1.1.1", - "pkg:golang/k8s.io/klog/v2@v2.80.1", - "pkg:golang/github.com/go-logr/logr@v1.2.0" - ] - }, - { - "ref": "pkg:golang/sigs.k8s.io/json@v0.0.0-20220713155537-f223a00ba0e2", - "dependsOn": [] - }, - { - "ref": "pkg:golang/sigs.k8s.io/structured-merge-diff/v4@v4.2.3", - "dependsOn": [ - "pkg:golang/gopkg.in/yaml.v2@v2.2.8", - "pkg:golang/github.com/google/gofuzz@v1.0.0", - "pkg:golang/github.com/json-iterator/go@v1.1.12", - "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd" - ] - }, - { - "ref": "pkg:golang/sigs.k8s.io/yaml@v1.3.0", - "dependsOn": [ - "pkg:golang/github.com/davecgh/go-spew@v1.1.1", - "pkg:golang/gopkg.in/yaml.v2@v2.4.0" - ] - }, - { - "ref": "pkg:golang/github.com/bytedance/sonic@v1.9.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/gin-contrib/sse@v0.1.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/go-playground/validator/v10@v10.14.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/goccy/go-json@v0.10.2", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/mattn/go-isatty@v0.0.19", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/pelletier/go-toml/v2@v2.0.8", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/stretchr/testify@v1.8.3", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/ugorji/go/codec@v1.2.11", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/chenzhuoyu/base64x@v0.0.0-20221115062448-fe3a3abad311", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/gabriel-vasile/mimetype@v1.4.2", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/go-playground/locales@v0.14.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/go-playground/universal-translator@v0.18.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/klauspost/cpuid/v2@v2.2.4", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/leodido/go-urn@v1.2.4", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/twitchyliquid64/golang-asm@v0.15.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/arch@v0.3.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/crypto@v0.9.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/go-openapi/swag@v0.19.5", - "dependsOn": [ - "pkg:golang/github.com/davecgh/go-spew@v1.1.1", - "pkg:golang/github.com/kr/pretty@v0.1.0", - "pkg:golang/github.com/mailru/easyjson@v0.0.0-20190614124828-94de47d64c63", - "pkg:golang/github.com/stretchr/testify@v1.3.0", - "pkg:golang/gopkg.in/check.v1@v1.0.0-20180628173108-788fd7840127", - "pkg:golang/gopkg.in/yaml.v2@v2.2.2" - ] - }, - { - "ref": "pkg:golang/github.com/mailru/easyjson@v0.0.0-20190626092158-b2ccc519800e", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/stretchr/testify@v1.3.0", - "dependsOn": [ - "pkg:golang/github.com/davecgh/go-spew@v1.1.0", - "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", - "pkg:golang/github.com/stretchr/objx@v0.1.0" - ] - }, - { - "ref": "pkg:golang/github.com/go-openapi/jsonpointer@v0.19.3", - "dependsOn": [ - "pkg:golang/github.com/go-openapi/swag@v0.19.5", - "pkg:golang/github.com/mailru/easyjson@v0.0.0-20190626092158-b2ccc519800e", - "pkg:golang/github.com/stretchr/testify@v1.3.0" - ] - }, - { - "ref": "pkg:golang/github.com/niemeyer/pretty@v0.0.0-20200227124842-a10e7caefd8e", - "dependsOn": [ - "pkg:golang/github.com/kr/text@v0.1.0" - ] - }, - { - "ref": "pkg:golang/github.com/stretchr/testify@v1.6.1", - "dependsOn": [ - "pkg:golang/github.com/davecgh/go-spew@v1.1.0", - "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", - "pkg:golang/github.com/stretchr/objx@v0.1.0", - "pkg:golang/gopkg.in/yaml.v3@v3.0.0-20200313102051-9f266ea9e77c" - ] - }, - { - "ref": "pkg:golang/gopkg.in/check.v1@v1.0.0-20200227125254-8fa46927fb4f", - "dependsOn": [] - }, - { - "ref": "pkg:golang/gopkg.in/yaml.v3@v3.0.0-20200615113413-eeeca48fe776", - "dependsOn": [ - "pkg:golang/gopkg.in/check.v1@v0.0.0-20161208181325-20d25e280405" - ] - }, - { - "ref": "pkg:golang/github.com/kisielk/errcheck@v1.5.0", - "dependsOn": [ - "pkg:golang/golang.org/x/tools@v0.0.0-20200619180055-7c47624df98f" - ] - }, - { - "ref": "pkg:golang/github.com/kisielk/gotool@v1.0.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20210106214847-113979e3529a", - "dependsOn": [ - "pkg:golang/github.com/yuin/goldmark@v1.2.1", - "pkg:golang/golang.org/x/mod@v0.3.0", - "pkg:golang/golang.org/x/net@v0.0.0-20201021035429-f5854403a974", - "pkg:golang/golang.org/x/sync@v0.0.0-20201020160332-67f06af15bc9", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1" - ] - }, - { - "ref": "pkg:golang/github.com/google/go-cmp@v0.5.5", - "dependsOn": [ - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543" - ] - }, - { - "ref": "pkg:golang/google.golang.org/protobuf@v1.26.0", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.5.0", - "pkg:golang/github.com/google/go-cmp@v0.5.5" - ] - }, - { - "ref": "pkg:golang/github.com/docopt/docopt-go@v0.0.0-20180111231733-ee0de3bc6815", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/kr/pretty@v0.2.0", - "dependsOn": [ - "pkg:golang/github.com/kr/text@v0.1.0" - ] - }, - { - "ref": "pkg:golang/github.com/stoewer/go-strcase@v1.2.0", - "dependsOn": [ - "pkg:golang/github.com/stretchr/testify@v1.5.1" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58" - ] - }, - { - "ref": "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20201019141844-1ed22bb0c154", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.4.1", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/google.golang.org/protobuf@v1.24.0" - ] - }, - { - "ref": "pkg:golang/gopkg.in/check.v1@v1.0.0-20190902080502-41f04d3bba15", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20210320140829-1e4c9ba3b0c4", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/google/gofuzz@v1.0.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180228061459-e0a39a4cb421", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/creack/pty@v1.1.9", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/pkg/diff@v0.0.0-20210226163009-20ebb0f2a09e", - "dependsOn": [] - }, - { - "ref": "pkg:golang/cloud.google.com/go@v0.65.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go/storage@v1.10.0", - "pkg:golang/github.com/golang/mock@v1.4.4", - "pkg:golang/github.com/golang/protobuf@v1.4.2", - "pkg:golang/github.com/google/go-cmp@v0.5.1", - "pkg:golang/github.com/google/martian/v3@v3.0.0", - "pkg:golang/github.com/google/pprof@v0.0.0-20200708004538-1a94d8640e99", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/jstemmer/go-junit-report@v0.9.1", - "pkg:golang/go.opencensus.io@v0.22.4", - "pkg:golang/golang.org/x/lint@v0.0.0-20200302205851-738671d3881b", - "pkg:golang/golang.org/x/net@v0.0.0-20200822124328-c89045814202", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "pkg:golang/golang.org/x/text@v0.3.3", - "pkg:golang/golang.org/x/tools@v0.0.0-20200825202427-b303f430e36d", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1", - "pkg:golang/google.golang.org/api@v0.30.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200825200019-8632dd797987", - "pkg:golang/google.golang.org/grpc@v1.31.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20220127200216-cd36cc0744dd", - "dependsOn": [ - "pkg:golang/golang.org/x/sys@v0.0.0-20211216021012-1d35b9e2eb4e", - "pkg:golang/golang.org/x/term@v0.0.0-20210927222741-03fcf44c2211", - "pkg:golang/golang.org/x/text@v0.3.7" - ] - }, - { - "ref": "pkg:golang/google.golang.org/appengine@v1.6.6", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.1", - "pkg:golang/golang.org/x/net@v0.0.0-20190603091049-60506f45cf65", - "pkg:golang/golang.org/x/text@v0.3.2" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.6.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/mod@v0.8.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.5.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/golang/protobuf@v1.3.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20190603091049-60506f45cf65", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/text@v0.3.2", - "dependsOn": [ - "pkg:golang/golang.org/x/tools@v0.0.0-20180917221912-90fa682c2a6e" - ] - }, - { - "ref": "pkg:golang/github.com/golang/protobuf@v1.5.0", - "dependsOn": [ - "pkg:golang/github.com/google/go-cmp@v0.5.5", - "pkg:golang/google.golang.org/protobuf@v1.26.0-rc.1" - ] - }, - { - "ref": "pkg:golang/gopkg.in/check.v1@v0.0.0-20161208181325-20d25e280405", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/stretchr/testify@v1.8.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.3.1-0.20221206200815-1e63c2f08a10", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/text@v0.5.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/protobuf@v1.28.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/armon/go-socks5@v0.0.0-20160902184237-e75332964ef5", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/elazarl/goproxy@v0.0.0-20180725130230-947c36da3153", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/evanphx/json-patch@v4.12.0%2Bincompatible", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/moby/spdystream@v0.2.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/mxk/go-flowrate@v0.0.0-20140419014527-cca7078d478f", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/onsi/ginkgo/v2@v2.4.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/onsi/gomega@v1.23.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/pkg/errors@v0.9.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/golang/groupcache@v0.0.0-20210331224755-41bb18bfe9da", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/gregjones/httpcache@v0.0.0-20180305231024-9cad4c3443a7", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/peterbourgon/diskv@v2.0.1%2Bincompatible", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/term@v0.3.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/google/btree@v1.0.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.3.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/go-logr/logr@v1.2.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/NYTimes/gziphandler@v0.0.0-20170623195520-56545f4a5d46", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/asaskevich/govalidator@v0.0.0-20190424111038-f61b66f89f4a", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/emicklei/go-restful/v3@v3.8.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/go-openapi/jsonreference@v0.19.3", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/mitchellh/mapstructure@v1.1.2", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/munnerz/goautoneg@v0.0.0-20120707110453-a547fc61f48d", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/onsi/ginkgo/v2@v2.1.4", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/onsi/gomega@v1.19.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/stretchr/testify@v1.5.1", - "dependsOn": [ - "pkg:golang/github.com/davecgh/go-spew@v1.1.0", - "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", - "pkg:golang/github.com/stretchr/objx@v0.1.0", - "pkg:golang/gopkg.in/yaml.v2@v2.2.2" - ] - }, - { - "ref": "pkg:golang/google.golang.org/protobuf@v1.27.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/gopkg.in/yaml.v3@v3.0.0-20210107192922-496545a6307b", - "dependsOn": [] - }, - { - "ref": "pkg:golang/k8s.io/gengo@v0.0.0-20210813121822-485abfe95c7c", - "dependsOn": [] - }, - { - "ref": "pkg:golang/k8s.io/klog/v2@v2.2.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/k8s.io/utils@v0.0.0-20210802155522-efc7438f0176", - "dependsOn": [] - }, - { - "ref": "pkg:golang/sigs.k8s.io/yaml@v1.2.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/PuerkitoBio/purell@v1.1.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/PuerkitoBio/urlesc@v0.0.0-20170810143723-de5bf2ad4578", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/go-logr/logr@v0.2.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/mod@v0.6.0-dev.0.20220106191415-9b9b3d81d5e3", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20220225172249-27dd8689420f", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20220319134239-a9b59b0215f8", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/text@v0.3.7", - "dependsOn": [ - "pkg:golang/golang.org/x/tools@v0.0.0-20180917221912-90fa682c2a6e" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.1.10", - "dependsOn": [] - }, - { - "ref": "pkg:golang/gopkg.in/yaml.v2@v2.2.8", - "dependsOn": [ - "pkg:golang/gopkg.in/check.v1@v0.0.0-20161208181325-20d25e280405" - ] - }, - { - "ref": "pkg:golang/github.com/kr/pretty@v0.1.0", - "dependsOn": [ - "pkg:golang/github.com/kr/text@v0.1.0" - ] - }, - { - "ref": "pkg:golang/github.com/mailru/easyjson@v0.0.0-20190614124828-94de47d64c63", - "dependsOn": [] - }, - { - "ref": "pkg:golang/gopkg.in/check.v1@v1.0.0-20180628173108-788fd7840127", - "dependsOn": [] - }, - { - "ref": "pkg:golang/gopkg.in/yaml.v2@v2.2.2", - "dependsOn": [ - "pkg:golang/gopkg.in/check.v1@v0.0.0-20161208181325-20d25e280405" - ] - }, - { - "ref": "pkg:golang/github.com/davecgh/go-spew@v1.1.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/stretchr/objx@v0.1.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/kr/text@v0.1.0", - "dependsOn": [ - "pkg:golang/github.com/kr/pty@v1.1.1" - ] - }, - { - "ref": "pkg:golang/gopkg.in/yaml.v3@v3.0.0-20200313102051-9f266ea9e77c", - "dependsOn": [ - "pkg:golang/gopkg.in/check.v1@v0.0.0-20161208181325-20d25e280405" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200619180055-7c47624df98f", - "dependsOn": [ - "pkg:golang/github.com/yuin/goldmark@v1.1.27", - "pkg:golang/golang.org/x/mod@v0.2.0", - "pkg:golang/golang.org/x/net@v0.0.0-20200226121028-0de0cce0169b", - "pkg:golang/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543" - ] - }, - { - "ref": "pkg:golang/github.com/yuin/goldmark@v1.2.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/mod@v0.3.0", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20191011191535-87dc89f01550", - "pkg:golang/golang.org/x/tools@v0.0.0-20191119224855-298f0cb1881e", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20201021035429-f5854403a974", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20200622213623-75b288015ac9", - "pkg:golang/golang.org/x/sys@v0.0.0-20200930185726-fdedc70b468f", - "pkg:golang/golang.org/x/text@v0.3.3" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sync@v0.0.0-20201020160332-67f06af15bc9", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/golang/protobuf@v1.4.1", - "dependsOn": [ - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/google.golang.org/protobuf@v1.22.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "dependsOn": [ - "pkg:golang/golang.org/x/tools@v0.0.0-20190311212946-11955173bddd" - ] - }, - { - "ref": "pkg:golang/google.golang.org/grpc@v1.27.0", - "dependsOn": [ - "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.1-0.20191026205805-5f8ba28d4473", - "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", - "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", - "pkg:golang/github.com/golang/mock@v1.1.1", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/google/go-cmp@v0.2.0", - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20180821212333-d2e6202438be", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55" - ] - }, - { - "ref": "pkg:golang/google.golang.org/protobuf@v1.24.0", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.4.1", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200526211855-cb27e3aa2013" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go/storage@v1.10.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.57.0", - "pkg:golang/cloud.google.com/go/bigquery@v1.8.0", - "pkg:golang/github.com/golang/protobuf@v1.4.2", - "pkg:golang/github.com/google/go-cmp@v0.4.1", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/golang.org/x/net@v0.0.0-20200520182314-0ba52f642ac2", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "pkg:golang/golang.org/x/sys@v0.0.0-20200523222454-059865788121", - "pkg:golang/golang.org/x/tools@v0.0.0-20200618134242-20370b0cb4b2", - "pkg:golang/google.golang.org/api@v0.28.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200618031413-b414f8b61790", - "pkg:golang/google.golang.org/grpc@v1.29.1" - ] - }, - { - "ref": "pkg:golang/github.com/golang/mock@v1.4.4", - "dependsOn": [ - "pkg:golang/golang.org/x/tools@v0.0.0-20190425150028-36563e24a262" - ] - }, - { - "ref": "pkg:golang/github.com/golang/protobuf@v1.4.2", - "dependsOn": [ - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/google.golang.org/protobuf@v1.23.0" - ] - }, - { - "ref": "pkg:golang/github.com/google/go-cmp@v0.5.1", - "dependsOn": [ - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543" - ] - }, - { - "ref": "pkg:golang/github.com/google/martian/v3@v3.0.0", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190628185345-da137c7871d7" - ] - }, - { - "ref": "pkg:golang/github.com/google/pprof@v0.0.0-20200708004538-1a94d8640e99", - "dependsOn": [ - "pkg:golang/github.com/chzyer/logex@v1.1.10", - "pkg:golang/github.com/chzyer/readline@v0.0.0-20180603132655-2972be24d48e", - "pkg:golang/github.com/chzyer/test@v0.0.0-20180213035817-a1ea475d72b1", - "pkg:golang/github.com/ianlancetaylor/demangle@v0.0.0-20181102032728-5e5cf60278f6", - "pkg:golang/golang.org/x/sys@v0.0.0-20191204072324-ce4227a45e2e" - ] - }, - { - "ref": "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "dependsOn": [ - "pkg:golang/google.golang.org/grpc@v1.19.0" - ] - }, - { - "ref": "pkg:golang/github.com/jstemmer/go-junit-report@v0.9.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/go.opencensus.io@v0.22.4", - "dependsOn": [ - "pkg:golang/github.com/golang/groupcache@v0.0.0-20190702054246-869f871628b6", - "pkg:golang/github.com/golang/protobuf@v1.3.1", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/stretchr/testify@v1.4.0", - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sys@v0.0.0-20190502145724-3ef323f4f1fd", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190425155659-357c62f0e4bb", - "pkg:golang/google.golang.org/grpc@v1.20.1" - ] - }, - { - "ref": "pkg:golang/golang.org/x/lint@v0.0.0-20200302205851-738671d3881b", - "dependsOn": [ - "pkg:golang/golang.org/x/tools@v0.0.0-20200130002326-2f3ba24bd6e7" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20200822124328-c89045814202", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20200622213623-75b288015ac9", - "pkg:golang/golang.org/x/sys@v0.0.0-20200323222414-85ca7c5b95cd", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.34.0", - "pkg:golang/golang.org/x/net@v0.0.0-20190108225652-1e06a53dbb7e", - "pkg:golang/golang.org/x/sync@v0.0.0-20181221193216-37e7f081c4d4", - "pkg:golang/google.golang.org/appengine@v1.4.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/text@v0.3.3", - "dependsOn": [ - "pkg:golang/golang.org/x/tools@v0.0.0-20180917221912-90fa682c2a6e" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200825202427-b303f430e36d", - "dependsOn": [ - "pkg:golang/github.com/yuin/goldmark@v1.1.32", - "pkg:golang/golang.org/x/mod@v0.3.0", - "pkg:golang/golang.org/x/net@v0.0.0-20200625001655-4c5254603344", - "pkg:golang/golang.org/x/sync@v0.0.0-20200625203802-6e8e738ad208", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543" - ] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.30.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.62.0", - "pkg:golang/github.com/google/go-cmp@v0.5.1", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/go.opencensus.io@v0.22.4", - "pkg:golang/golang.org/x/lint@v0.0.0-20200302205851-738671d3881b", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "pkg:golang/golang.org/x/sync@v0.0.0-20200625203802-6e8e738ad208", - "pkg:golang/golang.org/x/sys@v0.0.0-20200803210538-64077c9b5642", - "pkg:golang/golang.org/x/tools@v0.0.0-20200804011535-6c149bb5ef0d", - "pkg:golang/google.golang.org/appengine@v1.6.6", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200804131852-c06518451d9c", - "pkg:golang/google.golang.org/grpc@v1.31.0" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200825200019-8632dd797987", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.4.1", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/google.golang.org/protobuf@v1.24.0" - ] - }, - { - "ref": "pkg:golang/google.golang.org/grpc@v1.31.0", - "dependsOn": [ - "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20191209042840-269d4d468f6f", - "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.4", - "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", - "pkg:golang/github.com/golang/protobuf@v1.3.3", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20180821212333-d2e6202438be", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20211216021012-1d35b9e2eb4e", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/term@v0.0.0-20210927222741-03fcf44c2211", - "dependsOn": [ - "pkg:golang/golang.org/x/sys@v0.0.0-20210615035016-665e8c7367d1" - ] - }, - { - "ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "dependsOn": [ - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/text@v0.3.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20180917221912-90fa682c2a6e", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/protobuf@v1.26.0-rc.1", - "dependsOn": [ - "pkg:golang/github.com/google/go-cmp@v0.5.5" - ] - }, - { - "ref": "pkg:golang/github.com/kr/pty@v1.1.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/yuin/goldmark@v1.1.27", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/mod@v0.2.0", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20191011191535-87dc89f01550", - "pkg:golang/golang.org/x/tools@v0.0.0-20191119224855-298f0cb1881e", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20200226121028-0de0cce0169b", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20191011191535-87dc89f01550", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190404232315-eb5bcb51f2a3", - "pkg:golang/golang.org/x/sys@v0.0.0-20190412213103-97732733099d" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20191119224855-298f0cb1881e", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20190717185122-a985d3407aa7" - ] - }, - { - "ref": "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20200622213623-75b288015ac9", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190404232315-eb5bcb51f2a3", - "pkg:golang/golang.org/x/sys@v0.0.0-20190412213103-97732733099d" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200930185726-fdedc70b468f", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/google/go-cmp@v0.4.0", - "dependsOn": [ - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543" - ] - }, - { - "ref": "pkg:golang/google.golang.org/protobuf@v1.22.0", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.4.0", - "pkg:golang/github.com/google/go-cmp@v0.4.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190311212946-11955173bddd", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a" - ] - }, - { - "ref": "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.1-0.20191026205805-5f8ba28d4473", - "dependsOn": [ - "pkg:golang/github.com/census-instrumentation/opencensus-proto@v0.2.1", - "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/prometheus/client_model@v0.0.0-20190812154241-14fe0d1b01d4", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55", - "pkg:golang/google.golang.org/grpc@v1.23.0" - ] - }, - { - "ref": "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/golang/mock@v1.1.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/golang/protobuf@v1.3.2", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/google/go-cmp@v0.2.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20180821212333-d2e6202438be", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/golang.org/x/exp@v0.0.0-20190121172915-509febef88a4", - "pkg:golang/golang.org/x/lint@v0.0.0-20190227174305-5b3e6a55c961", - "pkg:golang/golang.org/x/tools@v0.0.0-20190226205152-f727befe758c", - "pkg:golang/google.golang.org/grpc@v1.19.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190102054323-c2f93a96b099" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200526211855-cb27e3aa2013", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.4.1", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/google.golang.org/protobuf@v1.23.1-0.20200526195155-81db48ad09cc", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go@v0.57.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go/bigquery@v1.4.0", - "pkg:golang/cloud.google.com/go/datastore@v1.1.0", - "pkg:golang/cloud.google.com/go/pubsub@v1.2.0", - "pkg:golang/cloud.google.com/go/storage@v1.6.0", - "pkg:golang/github.com/golang/mock@v1.4.3", - "pkg:golang/github.com/golang/protobuf@v1.4.0", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/github.com/google/martian@v2.1.0%2Bincompatible", - "pkg:golang/github.com/google/pprof@v0.0.0-20200430221834-fc25d7d30c6d", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/jstemmer/go-junit-report@v0.9.1", - "pkg:golang/go.opencensus.io@v0.22.3", - "pkg:golang/golang.org/x/lint@v0.0.0-20200302205851-738671d3881b", - "pkg:golang/golang.org/x/net@v0.0.0-20200501053045-e0ff5e5a1de5", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "pkg:golang/golang.org/x/sync@v0.0.0-20200317015054-43a5402ce75a", - "pkg:golang/golang.org/x/sys@v0.0.0-20200501052902-10377860bb8e", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/tools@v0.0.0-20200501065659-ab2804fb9c9d", - "pkg:golang/google.golang.org/api@v0.22.0", - "pkg:golang/google.golang.org/appengine@v1.6.6", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200430143042-b979b6f78d84", - "pkg:golang/google.golang.org/grpc@v1.29.1", - "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.3" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go/bigquery@v1.8.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.57.0", - "pkg:golang/cloud.google.com/go/storage@v1.8.0", - "pkg:golang/github.com/golang/protobuf@v1.4.2", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/golang.org/x/mod@v0.3.0", - "pkg:golang/golang.org/x/net@v0.0.0-20200513185701-a91f0712d120", - "pkg:golang/golang.org/x/sys@v0.0.0-20200515095857-1151b9dac4a9", - "pkg:golang/golang.org/x/tools@v0.0.0-20200515010526-7d3b6ebf133d", - "pkg:golang/google.golang.org/api@v0.24.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200515170657-fc4c6c6a6587", - "pkg:golang/google.golang.org/grpc@v1.29.1", - "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.4" - ] - }, - { - "ref": "pkg:golang/github.com/google/go-cmp@v0.4.1", - "dependsOn": [ - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20200520182314-0ba52f642ac2", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/sys@v0.0.0-20200323222414-85ca7c5b95cd", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200523222454-059865788121", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200618134242-20370b0cb4b2", - "dependsOn": [ - "pkg:golang/github.com/yuin/goldmark@v1.1.27", - "pkg:golang/golang.org/x/mod@v0.2.0", - "pkg:golang/golang.org/x/net@v0.0.0-20200226121028-0de0cce0169b", - "pkg:golang/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543" - ] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.28.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.56.0", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/go.opencensus.io@v0.22.3", - "pkg:golang/golang.org/x/lint@v0.0.0-20200302205851-738671d3881b", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "pkg:golang/golang.org/x/sync@v0.0.0-20200317015054-43a5402ce75a", - "pkg:golang/golang.org/x/sys@v0.0.0-20200331124033-c3d80250170d", - "pkg:golang/golang.org/x/tools@v0.0.0-20200331025713-a30bf2db82d4", - "pkg:golang/google.golang.org/appengine@v1.6.5", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200331122359-1ee6d9798940", - "pkg:golang/google.golang.org/grpc@v1.28.0", - "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.3" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200618031413-b414f8b61790", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.4.1", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/google.golang.org/protobuf@v1.24.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc" - ] - }, - { - "ref": "pkg:golang/google.golang.org/grpc@v1.29.1", - "dependsOn": [ - "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20191209042840-269d4d468f6f", - "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.4", - "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", - "pkg:golang/github.com/golang/mock@v1.1.1", - "pkg:golang/github.com/golang/protobuf@v1.3.3", - "pkg:golang/github.com/google/go-cmp@v0.2.0", - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20180821212333-d2e6202438be", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190425150028-36563e24a262", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58" - ] - }, - { - "ref": "pkg:golang/google.golang.org/protobuf@v1.23.0", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.4.0", - "pkg:golang/github.com/google/go-cmp@v0.4.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20190628185345-da137c7871d7", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/github.com/chzyer/logex@v1.1.10", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/chzyer/readline@v0.0.0-20180603132655-2972be24d48e", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/chzyer/test@v0.0.0-20180213035817-a1ea475d72b1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/ianlancetaylor/demangle@v0.0.0-20181102032728-5e5cf60278f6", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20191204072324-ce4227a45e2e", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/grpc@v1.19.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.26.0", - "pkg:golang/github.com/BurntSushi/toml@v0.3.1", - "pkg:golang/github.com/client9/misspell@v0.3.4", - "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", - "pkg:golang/github.com/golang/mock@v1.1.1", - "pkg:golang/github.com/golang/protobuf@v1.2.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20181026193005-c67002cb31c3", - "pkg:golang/golang.org/x/net@v0.0.0-20180826012351-8a410e7b638d", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20180821212333-d2e6202438be", - "pkg:golang/golang.org/x/sync@v0.0.0-20180314180146-1d60e4601c6f", - "pkg:golang/golang.org/x/sys@v0.0.0-20180830151530-49385e6e1522", - "pkg:golang/golang.org/x/text@v0.3.0", - "pkg:golang/golang.org/x/tools@v0.0.0-20190114222345-bf090417da8b", - "pkg:golang/google.golang.org/appengine@v1.1.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20180817151627-c66870c02cf8", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190102054323-c2f93a96b099" - ] - }, - { - "ref": "pkg:golang/github.com/golang/groupcache@v0.0.0-20190702054246-869f871628b6", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/google/go-cmp@v0.3.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/stretchr/testify@v1.4.0", - "dependsOn": [ - "pkg:golang/github.com/davecgh/go-spew@v1.1.0", - "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", - "pkg:golang/github.com/stretchr/objx@v0.1.0", - "pkg:golang/gopkg.in/yaml.v2@v2.2.2" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190502145724-3ef323f4f1fd", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20190425155659-357c62f0e4bb", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.2.0", - "pkg:golang/golang.org/x/exp@v0.0.0-20190121172915-509febef88a4", - "pkg:golang/golang.org/x/lint@v0.0.0-20190227174305-5b3e6a55c961", - "pkg:golang/golang.org/x/net@v0.0.0-20190213061140-3a22650c66bd", - "pkg:golang/golang.org/x/sync@v0.0.0-20190227155943-e225da77a7e6", - "pkg:golang/golang.org/x/tools@v0.0.0-20190226205152-f727befe758c", - "pkg:golang/google.golang.org/grpc@v1.19.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190102054323-c2f93a96b099" - ] - }, - { - "ref": "pkg:golang/google.golang.org/grpc@v1.20.1", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.26.0", - "pkg:golang/github.com/BurntSushi/toml@v0.3.1", - "pkg:golang/github.com/client9/misspell@v0.3.4", - "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", - "pkg:golang/github.com/golang/mock@v1.1.1", - "pkg:golang/github.com/golang/protobuf@v1.2.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20180821212333-d2e6202438be", - "pkg:golang/golang.org/x/sync@v0.0.0-20180314180146-1d60e4601c6f", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/golang.org/x/tools@v0.0.0-20190311212946-11955173bddd", - "pkg:golang/google.golang.org/appengine@v1.1.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20180817151627-c66870c02cf8", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190102054323-c2f93a96b099" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200130002326-2f3ba24bd6e7", - "dependsOn": [ - "pkg:golang/golang.org/x/mod@v0.1.1-0.20191105210325-c90efee705ee", - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200323222414-85ca7c5b95cd", - "dependsOn": [] - }, - { - "ref": "pkg:golang/cloud.google.com/go@v0.34.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20190108225652-1e06a53dbb7e", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/sync@v0.0.0-20181221193216-37e7f081c4d4", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/appengine@v1.4.0", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.2.0", - "pkg:golang/golang.org/x/net@v0.0.0-20180724234803-3673e40ba225", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/github.com/yuin/goldmark@v1.1.32", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20200625001655-4c5254603344", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20200622213623-75b288015ac9", - "pkg:golang/golang.org/x/sys@v0.0.0-20200323222414-85ca7c5b95cd", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sync@v0.0.0-20200625203802-6e8e738ad208", - "dependsOn": [] - }, - { - "ref": "pkg:golang/cloud.google.com/go@v0.62.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go/storage@v1.10.0", - "pkg:golang/github.com/golang/mock@v1.4.3", - "pkg:golang/github.com/golang/protobuf@v1.4.2", - "pkg:golang/github.com/google/go-cmp@v0.5.1", - "pkg:golang/github.com/google/martian/v3@v3.0.0", - "pkg:golang/github.com/google/pprof@v0.0.0-20200708004538-1a94d8640e99", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/jstemmer/go-junit-report@v0.9.1", - "pkg:golang/go.opencensus.io@v0.22.4", - "pkg:golang/golang.org/x/lint@v0.0.0-20200302205851-738671d3881b", - "pkg:golang/golang.org/x/net@v0.0.0-20200707034311-ab3426394381", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "pkg:golang/golang.org/x/text@v0.3.3", - "pkg:golang/golang.org/x/tools@v0.0.0-20200729194436-6467de6f59a7", - "pkg:golang/google.golang.org/api@v0.29.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200729003335-053ba62fc06f", - "pkg:golang/google.golang.org/grpc@v1.30.0", - "pkg:golang/google.golang.org/protobuf@v1.25.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200803210538-64077c9b5642", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200804011535-6c149bb5ef0d", - "dependsOn": [ - "pkg:golang/github.com/yuin/goldmark@v1.1.32", - "pkg:golang/golang.org/x/mod@v0.3.0", - "pkg:golang/golang.org/x/net@v0.0.0-20200625001655-4c5254603344", - "pkg:golang/golang.org/x/sync@v0.0.0-20200625203802-6e8e738ad208", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200804131852-c06518451d9c", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.4.1", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/google.golang.org/protobuf@v1.24.0" - ] - }, - { - "ref": "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20191209042840-269d4d468f6f", - "dependsOn": [ - "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/google.golang.org/grpc@v1.25.1" - ] - }, - { - "ref": "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.4", - "dependsOn": [ - "pkg:golang/github.com/census-instrumentation/opencensus-proto@v0.2.1", - "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20191209042840-269d4d468f6f", - "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/google/go-cmp@v0.2.0", - "pkg:golang/github.com/prometheus/client_model@v0.0.0-20190812154241-14fe0d1b01d4", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55", - "pkg:golang/google.golang.org/grpc@v1.25.1" - ] - }, - { - "ref": "pkg:golang/github.com/golang/protobuf@v1.3.3", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20210615035016-665e8c7367d1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20190404232315-eb5bcb51f2a3", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190412213103-97732733099d", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/xerrors@v0.0.0-20190717185122-a985d3407aa7", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/golang/protobuf@v1.4.0", - "dependsOn": [ - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/google.golang.org/protobuf@v1.21.0" - ] - }, - { - "ref": "pkg:golang/github.com/census-instrumentation/opencensus-proto@v0.2.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/prometheus/client_model@v0.0.0-20190812154241-14fe0d1b01d4", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.2.0", - "pkg:golang/golang.org/x/sync@v0.0.0-20181108010431-42b317875d0f" - ] - }, - { - "ref": "pkg:golang/google.golang.org/grpc@v1.23.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.26.0", - "pkg:golang/github.com/BurntSushi/toml@v0.3.1", - "pkg:golang/github.com/client9/misspell@v0.3.4", - "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", - "pkg:golang/github.com/golang/mock@v1.1.1", - "pkg:golang/github.com/golang/protobuf@v1.2.0", - "pkg:golang/github.com/google/go-cmp@v0.2.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20180821212333-d2e6202438be", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/appengine@v1.1.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20180817151627-c66870c02cf8", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc" - ] - }, - { - "ref": "pkg:golang/golang.org/x/exp@v0.0.0-20190121172915-509febef88a4", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/lint@v0.0.0-20190227174305-5b3e6a55c961", - "dependsOn": [ - "pkg:golang/golang.org/x/tools@v0.0.0-20190226205152-f727befe758c" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190226205152-f727befe758c", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190213061140-3a22650c66bd", - "pkg:golang/golang.org/x/sync@v0.0.0-20181108010431-42b317875d0f", - "pkg:golang/google.golang.org/appengine@v1.4.0" - ] - }, - { - "ref": "pkg:golang/honnef.co/go/tools@v0.0.0-20190102054323-c2f93a96b099", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/protobuf@v1.23.1-0.20200526195155-81db48ad09cc", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.4.0", - "pkg:golang/github.com/google/go-cmp@v0.4.0" - ] - }, - { - "ref": "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc", - "dependsOn": [] - }, - { - "ref": "pkg:golang/cloud.google.com/go/bigquery@v1.4.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.52.0", - "pkg:golang/cloud.google.com/go/storage@v1.5.0", - "pkg:golang/github.com/golang/groupcache@v0.0.0-20200121045136-8c9f03a8e57e", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/golang.org/x/exp@v0.0.0-20200119233911-0405dc783f0a", - "pkg:golang/golang.org/x/sys@v0.0.0-20200122134326-e047566fdf82", - "pkg:golang/golang.org/x/tools@v0.0.0-20200122220014-bf1340f18c4a", - "pkg:golang/google.golang.org/api@v0.15.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200122232147-0452cf42e150", - "pkg:golang/google.golang.org/grpc@v1.26.0" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go/datastore@v1.1.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.52.0", - "pkg:golang/cloud.google.com/go/pubsub@v1.2.0", - "pkg:golang/github.com/golang/protobuf@v1.3.3", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/golang.org/x/exp@v0.0.0-20200207192155-f17229e696bd", - "pkg:golang/golang.org/x/sys@v0.0.0-20200212091648-12a6c2dcc1e4", - "pkg:golang/golang.org/x/tools@v0.0.0-20200212150539-ea181f53ac56", - "pkg:golang/google.golang.org/api@v0.17.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200212174721-66ed5ce911ce", - "pkg:golang/google.golang.org/grpc@v1.27.1" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go/pubsub@v1.2.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.52.0", - "pkg:golang/cloud.google.com/go/bigquery@v1.4.0", - "pkg:golang/github.com/golang/protobuf@v1.3.3", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/go.opencensus.io@v0.22.3", - "pkg:golang/golang.org/x/lint@v0.0.0-20200130185559-910be7a94367", - "pkg:golang/golang.org/x/mod@v0.2.0", - "pkg:golang/golang.org/x/net@v0.0.0-20200202094626-16171245cfb2", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "pkg:golang/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e", - "pkg:golang/golang.org/x/sys@v0.0.0-20200202164722-d101bd2416d5", - "pkg:golang/golang.org/x/time@v0.0.0-20191024005414-555d28b269f0", - "pkg:golang/golang.org/x/tools@v0.0.0-20200204074204-1cc6d1ef6c74", - "pkg:golang/google.golang.org/api@v0.15.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200204135345-fa8e72b47b90", - "pkg:golang/google.golang.org/grpc@v1.27.0" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go/storage@v1.6.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.53.0", - "pkg:golang/cloud.google.com/go/datastore@v1.1.0", - "pkg:golang/github.com/golang/protobuf@v1.3.3", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/golang.org/x/exp@v0.0.0-20200224162631-6cc2880d07d6", - "pkg:golang/golang.org/x/net@v0.0.0-20200222125558-5a598a2470a0", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "pkg:golang/golang.org/x/sys@v0.0.0-20200223170610-d5e6a3e2c0ae", - "pkg:golang/golang.org/x/tools@v0.0.0-20200224181240-023911ca70b2", - "pkg:golang/google.golang.org/api@v0.18.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200224152610-e50cd9704f63", - "pkg:golang/google.golang.org/grpc@v1.27.1", - "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.3" - ] - }, - { - "ref": "pkg:golang/github.com/golang/mock@v1.4.3", - "dependsOn": [ - "pkg:golang/golang.org/x/tools@v0.0.0-20190425150028-36563e24a262", - "pkg:golang/rsc.io/quote/v3@v3.1.0" - ] - }, - { - "ref": "pkg:golang/github.com/google/martian@v2.1.0%2Bincompatible", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/google/pprof@v0.0.0-20200430221834-fc25d7d30c6d", - "dependsOn": [ - "pkg:golang/github.com/chzyer/logex@v1.1.10", - "pkg:golang/github.com/chzyer/readline@v0.0.0-20180603132655-2972be24d48e", - "pkg:golang/github.com/chzyer/test@v0.0.0-20180213035817-a1ea475d72b1", - "pkg:golang/github.com/ianlancetaylor/demangle@v0.0.0-20181102032728-5e5cf60278f6", - "pkg:golang/golang.org/x/sys@v0.0.0-20191204072324-ce4227a45e2e" - ] - }, - { - "ref": "pkg:golang/go.opencensus.io@v0.22.3", - "dependsOn": [ - "pkg:golang/github.com/golang/groupcache@v0.0.0-20190702054246-869f871628b6", - "pkg:golang/github.com/golang/protobuf@v1.3.1", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/stretchr/testify@v1.4.0", - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sys@v0.0.0-20190502145724-3ef323f4f1fd", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190425155659-357c62f0e4bb", - "pkg:golang/google.golang.org/grpc@v1.20.1" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20200501053045-e0ff5e5a1de5", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/sys@v0.0.0-20200323222414-85ca7c5b95cd", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sync@v0.0.0-20200317015054-43a5402ce75a", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200501052902-10377860bb8e", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200501065659-ab2804fb9c9d", - "dependsOn": [ - "pkg:golang/github.com/yuin/goldmark@v1.1.27", - "pkg:golang/golang.org/x/mod@v0.2.0", - "pkg:golang/golang.org/x/net@v0.0.0-20200226121028-0de0cce0169b", - "pkg:golang/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543" - ] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.22.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.38.0", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1", - "pkg:golang/go.opencensus.io@v0.21.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20190409202823-959b441ac422", - "pkg:golang/golang.org/x/net@v0.0.0-20190503192946-f4e77d36d62c", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/sys@v0.0.0-20190507160741-ecd444e8653b", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/appengine@v1.5.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200430143042-b979b6f78d84", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.3", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc" - ] - }, - { - "ref": "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.3", - "dependsOn": [ - "pkg:golang/github.com/BurntSushi/toml@v0.3.1", - "pkg:golang/github.com/google/renameio@v0.1.0", - "pkg:golang/github.com/kisielk/gotool@v1.0.0", - "pkg:golang/github.com/rogpeppe/go-internal@v1.3.0", - "pkg:golang/golang.org/x/mod@v0.0.0-20190513183733-4bf6d317e70e", - "pkg:golang/golang.org/x/tools@v0.0.0-20191130070609-6e064ea0cf2d" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go/storage@v1.8.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.57.0", - "pkg:golang/cloud.google.com/go/bigquery@v1.7.0", - "pkg:golang/github.com/golang/protobuf@v1.4.1", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/golang.org/x/net@v0.0.0-20200506145744-7e3656a0809f", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "pkg:golang/golang.org/x/sys@v0.0.0-20200511232937-7e40ca221e25", - "pkg:golang/golang.org/x/tools@v0.0.0-20200512131952-2bc93b1c0c88", - "pkg:golang/google.golang.org/api@v0.24.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200511104702-f5ebc3bea380", - "pkg:golang/google.golang.org/grpc@v1.29.1" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20200513185701-a91f0712d120", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/sys@v0.0.0-20200323222414-85ca7c5b95cd", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200515095857-1151b9dac4a9", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200515010526-7d3b6ebf133d", - "dependsOn": [ - "pkg:golang/github.com/yuin/goldmark@v1.1.27", - "pkg:golang/golang.org/x/mod@v0.2.0", - "pkg:golang/golang.org/x/net@v0.0.0-20200226121028-0de0cce0169b", - "pkg:golang/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543" - ] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.24.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.56.0", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/go.opencensus.io@v0.22.3", - "pkg:golang/golang.org/x/lint@v0.0.0-20200302205851-738671d3881b", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "pkg:golang/golang.org/x/sync@v0.0.0-20200317015054-43a5402ce75a", - "pkg:golang/golang.org/x/sys@v0.0.0-20200331124033-c3d80250170d", - "pkg:golang/golang.org/x/tools@v0.0.0-20200331025713-a30bf2db82d4", - "pkg:golang/google.golang.org/appengine@v1.6.5", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200331122359-1ee6d9798940", - "pkg:golang/google.golang.org/grpc@v1.28.0", - "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.3" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200515170657-fc4c6c6a6587", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.4.1", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/google.golang.org/protobuf@v1.22.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc" - ] - }, - { - "ref": "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.4", - "dependsOn": [ - "pkg:golang/github.com/BurntSushi/toml@v0.3.1", - "pkg:golang/github.com/google/renameio@v0.1.0", - "pkg:golang/github.com/kisielk/gotool@v1.0.0", - "pkg:golang/github.com/rogpeppe/go-internal@v1.3.0", - "pkg:golang/golang.org/x/mod@v0.0.0-20190513183733-4bf6d317e70e", - "pkg:golang/golang.org/x/tools@v0.0.0-20191130070609-6e064ea0cf2d" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go@v0.56.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go/bigquery@v1.4.0", - "pkg:golang/cloud.google.com/go/datastore@v1.1.0", - "pkg:golang/cloud.google.com/go/pubsub@v1.2.0", - "pkg:golang/cloud.google.com/go/storage@v1.6.0", - "pkg:golang/github.com/golang/mock@v1.4.3", - "pkg:golang/github.com/golang/protobuf@v1.3.5", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/github.com/google/martian@v2.1.0%2Bincompatible", - "pkg:golang/github.com/google/pprof@v0.0.0-20200229191704-1ebb73c60ed3", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/jstemmer/go-junit-report@v0.9.1", - "pkg:golang/go.opencensus.io@v0.22.3", - "pkg:golang/golang.org/x/lint@v0.0.0-20200302205851-738671d3881b", - "pkg:golang/golang.org/x/net@v0.0.0-20200324143707-d3edc9973b7e", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "pkg:golang/golang.org/x/sync@v0.0.0-20200317015054-43a5402ce75a", - "pkg:golang/golang.org/x/sys@v0.0.0-20200331124033-c3d80250170d", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/tools@v0.0.0-20200331025713-a30bf2db82d4", - "pkg:golang/google.golang.org/api@v0.20.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200331122359-1ee6d9798940", - "pkg:golang/google.golang.org/grpc@v1.28.0", - "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.3" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200331124033-c3d80250170d", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200331025713-a30bf2db82d4", - "dependsOn": [ - "pkg:golang/github.com/yuin/goldmark@v1.1.25", - "pkg:golang/golang.org/x/mod@v0.2.0", - "pkg:golang/golang.org/x/net@v0.0.0-20200226121028-0de0cce0169b", - "pkg:golang/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543" - ] - }, - { - "ref": "pkg:golang/google.golang.org/appengine@v1.6.5", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.1", - "pkg:golang/golang.org/x/net@v0.0.0-20190603091049-60506f45cf65", - "pkg:golang/golang.org/x/text@v0.3.2" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200331122359-1ee6d9798940", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.3", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc" - ] - }, - { - "ref": "pkg:golang/google.golang.org/grpc@v1.28.0", - "dependsOn": [ - "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.4", - "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", - "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", - "pkg:golang/github.com/golang/mock@v1.1.1", - "pkg:golang/github.com/golang/protobuf@v1.3.3", - "pkg:golang/github.com/google/go-cmp@v0.2.0", - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20180821212333-d2e6202438be", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go@v0.26.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/BurntSushi/toml@v0.3.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/client9/misspell@v0.3.4", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/golang/protobuf@v1.2.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/lint@v0.0.0-20181026193005-c67002cb31c3", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20180826012351-8a410e7b638d", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/sync@v0.0.0-20180314180146-1d60e4601c6f", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20180830151530-49385e6e1522", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190114222345-bf090417da8b", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/appengine@v1.1.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20180817151627-c66870c02cf8", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20190213061140-3a22650c66bd", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/sync@v0.0.0-20190227155943-e225da77a7e6", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/mod@v0.1.1-0.20191105210325-c90efee705ee", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20191011191535-87dc89f01550", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20180724234803-3673e40ba225", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20200707034311-ab3426394381", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20200622213623-75b288015ac9", - "pkg:golang/golang.org/x/sys@v0.0.0-20200323222414-85ca7c5b95cd", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200729194436-6467de6f59a7", - "dependsOn": [ - "pkg:golang/github.com/yuin/goldmark@v1.1.32", - "pkg:golang/golang.org/x/mod@v0.3.0", - "pkg:golang/golang.org/x/net@v0.0.0-20200625001655-4c5254603344", - "pkg:golang/golang.org/x/sync@v0.0.0-20200625203802-6e8e738ad208", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543" - ] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.29.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.56.0", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/go.opencensus.io@v0.22.3", - "pkg:golang/golang.org/x/lint@v0.0.0-20200302205851-738671d3881b", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "pkg:golang/golang.org/x/sync@v0.0.0-20200317015054-43a5402ce75a", - "pkg:golang/golang.org/x/sys@v0.0.0-20200331124033-c3d80250170d", - "pkg:golang/golang.org/x/tools@v0.0.0-20200331025713-a30bf2db82d4", - "pkg:golang/google.golang.org/appengine@v1.6.5", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200331122359-1ee6d9798940", - "pkg:golang/google.golang.org/grpc@v1.28.0" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200729003335-053ba62fc06f", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.4.1", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/google.golang.org/protobuf@v1.24.0" - ] - }, - { - "ref": "pkg:golang/google.golang.org/grpc@v1.30.0", - "dependsOn": [ - "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20191209042840-269d4d468f6f", - "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.4", - "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", - "pkg:golang/github.com/golang/protobuf@v1.3.3", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20180821212333-d2e6202438be", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55" - ] - }, - { - "ref": "pkg:golang/google.golang.org/protobuf@v1.25.0", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.4.1", - "pkg:golang/github.com/google/go-cmp@v0.5.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200526211855-cb27e3aa2013" - ] - }, - { - "ref": "pkg:golang/google.golang.org/grpc@v1.25.1", - "dependsOn": [ - "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.0", - "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", - "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", - "pkg:golang/github.com/golang/mock@v1.1.1", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/google/go-cmp@v0.2.0", - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20180821212333-d2e6202438be", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55" - ] - }, - { - "ref": "pkg:golang/google.golang.org/protobuf@v1.21.0", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.4.0-rc.4.0.20200313231945-b860323f09d0", - "pkg:golang/github.com/google/go-cmp@v0.4.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sync@v0.0.0-20181108010431-42b317875d0f", - "dependsOn": [] - }, - { - "ref": "pkg:golang/cloud.google.com/go@v0.52.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go/bigquery@v1.0.1", - "pkg:golang/cloud.google.com/go/datastore@v1.0.0", - "pkg:golang/cloud.google.com/go/pubsub@v1.0.1", - "pkg:golang/cloud.google.com/go/storage@v1.0.0", - "pkg:golang/github.com/golang/groupcache@v0.0.0-20191227052852-215e87163ea7", - "pkg:golang/github.com/golang/mock@v1.3.1", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/github.com/google/martian@v2.1.0%2Bincompatible", - "pkg:golang/github.com/google/pprof@v0.0.0-20191218002539-d4f498aebedc", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/jstemmer/go-junit-report@v0.9.1", - "pkg:golang/go.opencensus.io@v0.22.2", - "pkg:golang/golang.org/x/exp@v0.0.0-20191227195350-da58074b4299", - "pkg:golang/golang.org/x/lint@v0.0.0-20191125180803-fdd1cda4f05f", - "pkg:golang/golang.org/x/net@v0.0.0-20200114155413-6afb5195e5aa", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "pkg:golang/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e", - "pkg:golang/golang.org/x/sys@v0.0.0-20200113162924-86b910548bc1", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/tools@v0.0.0-20200117161641-43d50277825c", - "pkg:golang/google.golang.org/api@v0.15.0", - "pkg:golang/google.golang.org/appengine@v1.6.5", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200115191322-ca5a22157cba", - "pkg:golang/google.golang.org/grpc@v1.26.0", - "pkg:golang/honnef.co/go/tools@v0.0.1-2019.2.3" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go/storage@v1.5.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.50.0", - "pkg:golang/cloud.google.com/go/bigquery@v1.3.0", - "pkg:golang/cloud.google.com/go/pubsub@v1.1.0", - "pkg:golang/github.com/golang/groupcache@v0.0.0-20191227052852-215e87163ea7", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/google/go-cmp@v0.3.1", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/jstemmer/go-junit-report@v0.9.1", - "pkg:golang/go.opencensus.io@v0.22.2", - "pkg:golang/golang.org/x/exp@v0.0.0-20191227195350-da58074b4299", - "pkg:golang/golang.org/x/net@v0.0.0-20191209160850-c0dbc17a3553", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20191202225959-858c2ad4c8b6", - "pkg:golang/golang.org/x/sys@v0.0.0-20191228213918-04cbcbbfeed8", - "pkg:golang/golang.org/x/tools@v0.0.0-20191227053925-7b8e75db28f4", - "pkg:golang/google.golang.org/api@v0.15.0", - "pkg:golang/google.golang.org/appengine@v1.6.5", - "pkg:golang/google.golang.org/genproto@v0.0.0-20191230161307-f3c370f40bfb", - "pkg:golang/google.golang.org/grpc@v1.26.0" - ] - }, - { - "ref": "pkg:golang/github.com/golang/groupcache@v0.0.0-20200121045136-8c9f03a8e57e", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/exp@v0.0.0-20200119233911-0405dc783f0a", - "dependsOn": [ - "pkg:golang/dmitri.shuralyov.com/gpu/mtl@v0.0.0-20190408044501-666a987793e9", - "pkg:golang/github.com/BurntSushi/xgb@v0.0.0-20160522181843-27f122750802", - "pkg:golang/github.com/go-gl/glfw/v3.3/glfw@v0.0.0-20191125211704-12ad95a8df72", - "pkg:golang/golang.org/x/image@v0.0.0-20190802002840-cff245a6509b", - "pkg:golang/golang.org/x/mobile@v0.0.0-20190719004257-d2bd2a29d028", - "pkg:golang/golang.org/x/mod@v0.1.0", - "pkg:golang/golang.org/x/sys@v0.0.0-20190412213103-97732733099d", - "pkg:golang/golang.org/x/tools@v0.0.0-20191012152004-8de300cfc20a" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200122134326-e047566fdf82", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200122220014-bf1340f18c4a", - "dependsOn": [ - "pkg:golang/golang.org/x/mod@v0.1.1-0.20191105210325-c90efee705ee", - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898" - ] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.15.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.38.0", - "pkg:golang/github.com/golang/protobuf@v1.3.1", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1", - "pkg:golang/go.opencensus.io@v0.21.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20190409202823-959b441ac422", - "pkg:golang/golang.org/x/net@v0.0.0-20190503192946-f4e77d36d62c", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/sys@v0.0.0-20190507160741-ecd444e8653b", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/tools@v0.0.0-20190506145303-2d16b83fe98c", - "pkg:golang/google.golang.org/appengine@v1.5.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190502173448-54afdca5d873", - "pkg:golang/google.golang.org/grpc@v1.20.1", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190418001031-e561f6794a2a" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200122232147-0452cf42e150", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/golang.org/x/exp@v0.0.0-20190121172915-509febef88a4", - "pkg:golang/golang.org/x/lint@v0.0.0-20190227174305-5b3e6a55c961", - "pkg:golang/golang.org/x/tools@v0.0.0-20190226205152-f727befe758c", - "pkg:golang/google.golang.org/grpc@v1.19.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190102054323-c2f93a96b099" - ] - }, - { - "ref": "pkg:golang/google.golang.org/grpc@v1.26.0", - "dependsOn": [ - "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.1-0.20191026205805-5f8ba28d4473", - "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", - "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", - "pkg:golang/github.com/golang/mock@v1.1.1", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/google/go-cmp@v0.2.0", - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20180821212333-d2e6202438be", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55" - ] - }, - { - "ref": "pkg:golang/golang.org/x/exp@v0.0.0-20200207192155-f17229e696bd", - "dependsOn": [ - "pkg:golang/dmitri.shuralyov.com/gpu/mtl@v0.0.0-20190408044501-666a987793e9", - "pkg:golang/github.com/BurntSushi/xgb@v0.0.0-20160522181843-27f122750802", - "pkg:golang/github.com/go-gl/glfw/v3.3/glfw@v0.0.0-20191125211704-12ad95a8df72", - "pkg:golang/golang.org/x/image@v0.0.0-20190802002840-cff245a6509b", - "pkg:golang/golang.org/x/mobile@v0.0.0-20190719004257-d2bd2a29d028", - "pkg:golang/golang.org/x/mod@v0.1.1-0.20191105210325-c90efee705ee", - "pkg:golang/golang.org/x/sys@v0.0.0-20190412213103-97732733099d", - "pkg:golang/golang.org/x/tools@v0.0.0-20200207183749-b753a1ba74fa" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200212091648-12a6c2dcc1e4", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200212150539-ea181f53ac56", - "dependsOn": [ - "pkg:golang/golang.org/x/mod@v0.1.1-0.20191105210325-c90efee705ee", - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898" - ] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.17.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.38.0", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1", - "pkg:golang/go.opencensus.io@v0.21.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20190409202823-959b441ac422", - "pkg:golang/golang.org/x/net@v0.0.0-20190503192946-f4e77d36d62c", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/sys@v0.0.0-20190507160741-ecd444e8653b", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/appengine@v1.5.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200212174721-66ed5ce911ce", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.3", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc" - ] - }, - { - "ref": "pkg:golang/google.golang.org/grpc@v1.27.1", - "dependsOn": [ - "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.1-0.20191026205805-5f8ba28d4473", - "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", - "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", - "pkg:golang/github.com/golang/mock@v1.1.1", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/google/go-cmp@v0.2.0", - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20180821212333-d2e6202438be", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55" - ] - }, - { - "ref": "pkg:golang/golang.org/x/lint@v0.0.0-20200130185559-910be7a94367", - "dependsOn": [ - "pkg:golang/golang.org/x/tools@v0.0.0-20200130002326-2f3ba24bd6e7" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20200202094626-16171245cfb2", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200202164722-d101bd2416d5", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/time@v0.0.0-20191024005414-555d28b269f0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200204074204-1cc6d1ef6c74", - "dependsOn": [ - "pkg:golang/golang.org/x/mod@v0.1.1-0.20191105210325-c90efee705ee", - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200204135345-fa8e72b47b90", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.3", - "pkg:golang/golang.org/x/exp@v0.0.0-20190121172915-509febef88a4", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go@v0.53.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go/bigquery@v1.3.0", - "pkg:golang/cloud.google.com/go/datastore@v1.0.0", - "pkg:golang/cloud.google.com/go/pubsub@v1.1.0", - "pkg:golang/cloud.google.com/go/storage@v1.5.0", - "pkg:golang/github.com/golang/groupcache@v0.0.0-20200121045136-8c9f03a8e57e", - "pkg:golang/github.com/golang/mock@v1.4.0", - "pkg:golang/github.com/golang/protobuf@v1.3.3", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/github.com/google/martian@v2.1.0%2Bincompatible", - "pkg:golang/github.com/google/pprof@v0.0.0-20200212024743-f11f1df84d12", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/jstemmer/go-junit-report@v0.9.1", - "pkg:golang/go.opencensus.io@v0.22.3", - "pkg:golang/golang.org/x/exp@v0.0.0-20200207192155-f17229e696bd", - "pkg:golang/golang.org/x/lint@v0.0.0-20200130185559-910be7a94367", - "pkg:golang/golang.org/x/mod@v0.2.0", - "pkg:golang/golang.org/x/net@v0.0.0-20200202094626-16171245cfb2", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "pkg:golang/golang.org/x/sys@v0.0.0-20200212091648-12a6c2dcc1e4", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/tools@v0.0.0-20200212150539-ea181f53ac56", - "pkg:golang/google.golang.org/api@v0.17.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200212174721-66ed5ce911ce", - "pkg:golang/google.golang.org/grpc@v1.27.1", - "pkg:golang/honnef.co/go/tools@v0.0.1-2019.2.3" - ] - }, - { - "ref": "pkg:golang/golang.org/x/exp@v0.0.0-20200224162631-6cc2880d07d6", - "dependsOn": [ - "pkg:golang/dmitri.shuralyov.com/gpu/mtl@v0.0.0-20190408044501-666a987793e9", - "pkg:golang/github.com/BurntSushi/xgb@v0.0.0-20160522181843-27f122750802", - "pkg:golang/github.com/go-gl/glfw/v3.3/glfw@v0.0.0-20200222043503-6f7a984d4dc4", - "pkg:golang/golang.org/x/image@v0.0.0-20190802002840-cff245a6509b", - "pkg:golang/golang.org/x/mobile@v0.0.0-20190719004257-d2bd2a29d028", - "pkg:golang/golang.org/x/mod@v0.1.1-0.20191107180719-034126e5016b", - "pkg:golang/golang.org/x/sys@v0.0.0-20191001151750-bb3f8db39f24", - "pkg:golang/golang.org/x/tools@v0.0.0-20200207183749-b753a1ba74fa", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20200222125558-5a598a2470a0", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200223170610-d5e6a3e2c0ae", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200224181240-023911ca70b2", - "dependsOn": [ - "pkg:golang/golang.org/x/mod@v0.1.1-0.20191105210325-c90efee705ee", - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898" - ] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.18.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.38.0", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1", - "pkg:golang/go.opencensus.io@v0.21.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20190409202823-959b441ac422", - "pkg:golang/golang.org/x/net@v0.0.0-20190503192946-f4e77d36d62c", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/sys@v0.0.0-20190507160741-ecd444e8653b", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/appengine@v1.5.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200224152610-e50cd9704f63", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.3", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc" - ] - }, - { - "ref": "pkg:golang/rsc.io/quote/v3@v3.1.0", - "dependsOn": [ - "pkg:golang/rsc.io/sampler@v1.3.0" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go@v0.38.0", - "dependsOn": [ - "pkg:golang/github.com/golang/mock@v1.2.0", - "pkg:golang/github.com/golang/protobuf@v1.2.0", - "pkg:golang/github.com/google/btree@v0.0.0-20180813153112-4030bb1f1f0c", - "pkg:golang/github.com/google/go-cmp@v0.2.0", - "pkg:golang/github.com/google/martian@v2.1.0%2Bincompatible", - "pkg:golang/github.com/google/pprof@v0.0.0-20181206194817-3ea8567a2e57", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.4", - "pkg:golang/github.com/jstemmer/go-junit-report@v0.0.0-20190106144839-af01ea7f8024", - "pkg:golang/go.opencensus.io@v0.21.0", - "pkg:golang/golang.org/x/exp@v0.0.0-20190121172915-509febef88a4", - "pkg:golang/golang.org/x/lint@v0.0.0-20190301231843-5614ed5bae6f", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190226205417-e64efc72b421", - "pkg:golang/golang.org/x/sync@v0.0.0-20190227155943-e225da77a7e6", - "pkg:golang/golang.org/x/text@v0.3.1-0.20180807135948-17ff2d5776d2", - "pkg:golang/golang.org/x/time@v0.0.0-20181108054448-85acf8d2951c", - "pkg:golang/golang.org/x/tools@v0.0.0-20190312170243-e65039ee4138", - "pkg:golang/google.golang.org/api@v0.4.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190418145605-e7d98fc518a7", - "pkg:golang/google.golang.org/grpc@v1.19.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190106161140-3f1c8253044a" - ] - }, - { - "ref": "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/go.opencensus.io@v0.21.0", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.2.0", - "pkg:golang/github.com/google/go-cmp@v0.2.0", - "pkg:golang/github.com/hashicorp/golang-lru@v0.5.0", - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190307195333-5fe7a883aa19", - "pkg:golang/google.golang.org/grpc@v1.19.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/lint@v0.0.0-20190409202823-959b441ac422", - "dependsOn": [ - "pkg:golang/golang.org/x/tools@v0.0.0-20190311212946-11955173bddd" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20190503192946-f4e77d36d62c", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.34.0", - "pkg:golang/golang.org/x/net@v0.0.0-20190108225652-1e06a53dbb7e", - "pkg:golang/golang.org/x/sync@v0.0.0-20181221193216-37e7f081c4d4", - "pkg:golang/google.golang.org/appengine@v1.4.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190507160741-ecd444e8653b", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/appengine@v1.5.0", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.2.0", - "pkg:golang/golang.org/x/net@v0.0.0-20180724234803-3673e40ba225", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/github.com/google/renameio@v0.1.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/rogpeppe/go-internal@v1.3.0", - "dependsOn": [ - "pkg:golang/gopkg.in/errgo.v2@v2.1.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/mod@v0.0.0-20190513183733-4bf6d317e70e", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190510104115-cbcb75029529" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20191130070609-6e064ea0cf2d", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20190717185122-a985d3407aa7" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go/bigquery@v1.7.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.56.0", - "pkg:golang/cloud.google.com/go/pubsub@v1.3.1", - "pkg:golang/cloud.google.com/go/storage@v1.6.0", - "pkg:golang/github.com/golang/protobuf@v1.4.0", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/golang.org/x/net@v0.0.0-20200501053045-e0ff5e5a1de5", - "pkg:golang/golang.org/x/sys@v0.0.0-20200501052902-10377860bb8e", - "pkg:golang/golang.org/x/tools@v0.0.0-20200501065659-ab2804fb9c9d", - "pkg:golang/google.golang.org/api@v0.22.0", - "pkg:golang/google.golang.org/appengine@v1.6.6", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200430143042-b979b6f78d84", - "pkg:golang/google.golang.org/grpc@v1.29.1" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20200506145744-7e3656a0809f", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/sys@v0.0.0-20200323222414-85ca7c5b95cd", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200511232937-7e40ca221e25", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200512131952-2bc93b1c0c88", - "dependsOn": [ - "pkg:golang/github.com/yuin/goldmark@v1.1.27", - "pkg:golang/golang.org/x/mod@v0.2.0", - "pkg:golang/golang.org/x/net@v0.0.0-20200226121028-0de0cce0169b", - "pkg:golang/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200511104702-f5ebc3bea380", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.3", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc" - ] - }, - { - "ref": "pkg:golang/github.com/golang/protobuf@v1.3.5", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/google/pprof@v0.0.0-20200229191704-1ebb73c60ed3", - "dependsOn": [ - "pkg:golang/github.com/chzyer/logex@v1.1.10", - "pkg:golang/github.com/chzyer/readline@v0.0.0-20180603132655-2972be24d48e", - "pkg:golang/github.com/chzyer/test@v0.0.0-20180213035817-a1ea475d72b1", - "pkg:golang/github.com/ianlancetaylor/demangle@v0.0.0-20181102032728-5e5cf60278f6", - "pkg:golang/golang.org/x/sys@v0.0.0-20191204072324-ce4227a45e2e" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20200324143707-d3edc9973b7e", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/sys@v0.0.0-20200323222414-85ca7c5b95cd", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.20.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.38.0", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1", - "pkg:golang/go.opencensus.io@v0.21.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20190409202823-959b441ac422", - "pkg:golang/golang.org/x/net@v0.0.0-20190503192946-f4e77d36d62c", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/sys@v0.0.0-20190507160741-ecd444e8653b", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/appengine@v1.5.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc" - ] - }, - { - "ref": "pkg:golang/github.com/yuin/goldmark@v1.1.25", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/google/go-cmp@v0.5.0", - "dependsOn": [ - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543" - ] - }, - { - "ref": "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.0", - "dependsOn": [ - "pkg:golang/github.com/census-instrumentation/opencensus-proto@v0.2.1", - "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/prometheus/client_model@v0.0.0-20190812154241-14fe0d1b01d4", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55", - "pkg:golang/google.golang.org/grpc@v1.23.0" - ] - }, - { - "ref": "pkg:golang/github.com/golang/protobuf@v1.4.0-rc.4.0.20200313231945-b860323f09d0", - "dependsOn": [ - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/google.golang.org/protobuf@v1.20.1-0.20200309200217-e05f789c0967" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go/bigquery@v1.0.1", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.44.2", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/google.golang.org/api@v0.8.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190801165951-fa694d86fc64", - "pkg:golang/google.golang.org/grpc@v1.21.1" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go/datastore@v1.0.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.44.1", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/golang.org/x/sys@v0.0.0-20190624142023-c5567b49c5d0", - "pkg:golang/google.golang.org/api@v0.7.0", - "pkg:golang/google.golang.org/appengine@v1.6.1", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190801165951-fa694d86fc64", - "pkg:golang/google.golang.org/grpc@v1.21.1" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go/pubsub@v1.0.1", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.45.1", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/go.opencensus.io@v0.22.0", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/time@v0.0.0-20190308202827-9d24e82272b4", - "pkg:golang/google.golang.org/api@v0.9.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55", - "pkg:golang/google.golang.org/grpc@v1.21.1" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go/storage@v1.0.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.46.3", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "pkg:golang/google.golang.org/api@v0.9.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190911173649-1774047e7e51", - "pkg:golang/google.golang.org/grpc@v1.21.1" - ] - }, - { - "ref": "pkg:golang/github.com/golang/groupcache@v0.0.0-20191227052852-215e87163ea7", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/golang/mock@v1.3.1", - "dependsOn": [ - "pkg:golang/golang.org/x/tools@v0.0.0-20190425150028-36563e24a262" - ] - }, - { - "ref": "pkg:golang/github.com/google/pprof@v0.0.0-20191218002539-d4f498aebedc", - "dependsOn": [ - "pkg:golang/github.com/chzyer/logex@v1.1.10", - "pkg:golang/github.com/chzyer/readline@v0.0.0-20180603132655-2972be24d48e", - "pkg:golang/github.com/chzyer/test@v0.0.0-20180213035817-a1ea475d72b1", - "pkg:golang/github.com/ianlancetaylor/demangle@v0.0.0-20181102032728-5e5cf60278f6", - "pkg:golang/golang.org/x/sys@v0.0.0-20191204072324-ce4227a45e2e" - ] - }, - { - "ref": "pkg:golang/go.opencensus.io@v0.22.2", - "dependsOn": [ - "pkg:golang/github.com/golang/groupcache@v0.0.0-20190702054246-869f871628b6", - "pkg:golang/github.com/golang/protobuf@v1.3.1", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/stretchr/testify@v1.4.0", - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sys@v0.0.0-20190502145724-3ef323f4f1fd", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190425155659-357c62f0e4bb", - "pkg:golang/google.golang.org/grpc@v1.20.1" - ] - }, - { - "ref": "pkg:golang/golang.org/x/exp@v0.0.0-20191227195350-da58074b4299", - "dependsOn": [ - "pkg:golang/dmitri.shuralyov.com/gpu/mtl@v0.0.0-20190408044501-666a987793e9", - "pkg:golang/github.com/BurntSushi/xgb@v0.0.0-20160522181843-27f122750802", - "pkg:golang/github.com/go-gl/glfw/v3.3/glfw@v0.0.0-20191125211704-12ad95a8df72", - "pkg:golang/golang.org/x/image@v0.0.0-20190802002840-cff245a6509b", - "pkg:golang/golang.org/x/mobile@v0.0.0-20190719004257-d2bd2a29d028", - "pkg:golang/golang.org/x/mod@v0.1.0", - "pkg:golang/golang.org/x/sys@v0.0.0-20190412213103-97732733099d", - "pkg:golang/golang.org/x/tools@v0.0.0-20191012152004-8de300cfc20a" - ] - }, - { - "ref": "pkg:golang/golang.org/x/lint@v0.0.0-20191125180803-fdd1cda4f05f", - "dependsOn": [ - "pkg:golang/golang.org/x/tools@v0.0.0-20191125144606-a911d9008d1f" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20200114155413-6afb5195e5aa", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200113162924-86b910548bc1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200117161641-43d50277825c", - "dependsOn": [ - "pkg:golang/golang.org/x/mod@v0.1.1-0.20191105210325-c90efee705ee", - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200115191322-ca5a22157cba", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/golang.org/x/exp@v0.0.0-20190121172915-509febef88a4", - "pkg:golang/golang.org/x/lint@v0.0.0-20190227174305-5b3e6a55c961", - "pkg:golang/golang.org/x/tools@v0.0.0-20190226205152-f727befe758c", - "pkg:golang/google.golang.org/grpc@v1.19.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190102054323-c2f93a96b099" - ] - }, - { - "ref": "pkg:golang/honnef.co/go/tools@v0.0.1-2019.2.3", - "dependsOn": [ - "pkg:golang/github.com/BurntSushi/toml@v0.3.1", - "pkg:golang/github.com/google/renameio@v0.1.0", - "pkg:golang/github.com/kisielk/gotool@v1.0.0", - "pkg:golang/github.com/rogpeppe/go-internal@v1.3.0", - "pkg:golang/golang.org/x/mod@v0.0.0-20190513183733-4bf6d317e70e", - "pkg:golang/golang.org/x/tools@v0.0.0-20190621195816-6e04913cbbac" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go@v0.50.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go/bigquery@v1.0.1", - "pkg:golang/cloud.google.com/go/datastore@v1.0.0", - "pkg:golang/cloud.google.com/go/pubsub@v1.0.1", - "pkg:golang/cloud.google.com/go/storage@v1.0.0", - "pkg:golang/github.com/golang/mock@v1.3.1", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/google/martian@v2.1.0%2Bincompatible", - "pkg:golang/github.com/google/pprof@v0.0.0-20190515194954-54271f7e092f", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/jstemmer/go-junit-report@v0.0.0-20190106144839-af01ea7f8024", - "pkg:golang/go.opencensus.io@v0.22.0", - "pkg:golang/golang.org/x/exp@v0.0.0-20191129062945-2f5052295587", - "pkg:golang/golang.org/x/lint@v0.0.0-20191125180803-fdd1cda4f05f", - "pkg:golang/golang.org/x/net@v0.0.0-20190724013045-ca1201d0de80", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "pkg:golang/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e", - "pkg:golang/golang.org/x/sys@v0.0.0-20190726091711-fc99dfbffb4e", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/tools@v0.0.0-20191216173652-a0e659d51361", - "pkg:golang/google.golang.org/api@v0.14.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20191216164720-4f79533eabd1", - "pkg:golang/google.golang.org/grpc@v1.21.1", - "pkg:golang/honnef.co/go/tools@v0.0.1-2019.2.3" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go/bigquery@v1.3.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.46.3", - "pkg:golang/cloud.google.com/go/storage@v1.0.0", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/golang.org/x/exp@v0.0.0-20191030013958-a1ab85dbe136", - "pkg:golang/golang.org/x/lint@v0.0.0-20190930215403-16217165b5de", - "pkg:golang/golang.org/x/tools@v0.0.0-20191113191852-77e3bb0ad9e7", - "pkg:golang/google.golang.org/api@v0.13.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20191108220845-16a3f7862a1a", - "pkg:golang/google.golang.org/grpc@v1.21.1" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go/pubsub@v1.1.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.46.3", - "pkg:golang/cloud.google.com/go/storage@v1.0.0", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/go.opencensus.io@v0.22.0", - "pkg:golang/golang.org/x/exp@v0.0.0-20191030013958-a1ab85dbe136", - "pkg:golang/golang.org/x/lint@v0.0.0-20190930215403-16217165b5de", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/time@v0.0.0-20190308202827-9d24e82272b4", - "pkg:golang/golang.org/x/tools@v0.0.0-20191115202509-3a792d9c32b2", - "pkg:golang/google.golang.org/api@v0.14.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20191115194625-c23dd37a84c9", - "pkg:golang/google.golang.org/grpc@v1.21.1" - ] - }, - { - "ref": "pkg:golang/github.com/google/go-cmp@v0.3.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20191209160850-c0dbc17a3553", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20191202225959-858c2ad4c8b6", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.34.0", - "pkg:golang/golang.org/x/net@v0.0.0-20190108225652-1e06a53dbb7e", - "pkg:golang/golang.org/x/sync@v0.0.0-20181221193216-37e7f081c4d4", - "pkg:golang/google.golang.org/appengine@v1.4.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20191228213918-04cbcbbfeed8", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20191227053925-7b8e75db28f4", - "dependsOn": [ - "pkg:golang/golang.org/x/mod@v0.1.1-0.20191105210325-c90efee705ee", - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20191230161307-f3c370f40bfb", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/golang.org/x/exp@v0.0.0-20190121172915-509febef88a4", - "pkg:golang/golang.org/x/lint@v0.0.0-20190227174305-5b3e6a55c961", - "pkg:golang/golang.org/x/tools@v0.0.0-20190226205152-f727befe758c", - "pkg:golang/google.golang.org/grpc@v1.19.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190102054323-c2f93a96b099" - ] - }, - { - "ref": "pkg:golang/dmitri.shuralyov.com/gpu/mtl@v0.0.0-20190408044501-666a987793e9", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/BurntSushi/xgb@v0.0.0-20160522181843-27f122750802", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/go-gl/glfw/v3.3/glfw@v0.0.0-20191125211704-12ad95a8df72", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/image@v0.0.0-20190802002840-cff245a6509b", - "dependsOn": [ - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/mobile@v0.0.0-20190719004257-d2bd2a29d028", - "dependsOn": [ - "pkg:golang/golang.org/x/exp@v0.0.0-20190306152737-a1d7652674e8", - "pkg:golang/golang.org/x/image@v0.0.0-20190227222117-0694c2d4d067", - "pkg:golang/golang.org/x/sys@v0.0.0-20190312061237-fead79001313" - ] - }, - { - "ref": "pkg:golang/golang.org/x/mod@v0.1.0", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190510104115-cbcb75029529" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20191012152004-8de300cfc20a", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20190717185122-a985d3407aa7" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190506145303-2d16b83fe98c", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20190502173448-54afdca5d873", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.2.0", - "pkg:golang/golang.org/x/exp@v0.0.0-20190121172915-509febef88a4", - "pkg:golang/golang.org/x/lint@v0.0.0-20190227174305-5b3e6a55c961", - "pkg:golang/golang.org/x/net@v0.0.0-20190213061140-3a22650c66bd", - "pkg:golang/golang.org/x/sync@v0.0.0-20190227155943-e225da77a7e6", - "pkg:golang/golang.org/x/tools@v0.0.0-20190226205152-f727befe758c", - "pkg:golang/google.golang.org/grpc@v1.19.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190102054323-c2f93a96b099" - ] - }, - { - "ref": "pkg:golang/honnef.co/go/tools@v0.0.0-20190418001031-e561f6794a2a", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200207183749-b753a1ba74fa", - "dependsOn": [ - "pkg:golang/golang.org/x/mod@v0.1.1-0.20191105210325-c90efee705ee", - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898" - ] - }, - { - "ref": "pkg:golang/github.com/golang/mock@v1.4.0", - "dependsOn": [ - "pkg:golang/golang.org/x/tools@v0.0.0-20190425150028-36563e24a262", - "pkg:golang/rsc.io/quote/v3@v3.1.0" - ] - }, - { - "ref": "pkg:golang/github.com/google/pprof@v0.0.0-20200212024743-f11f1df84d12", - "dependsOn": [ - "pkg:golang/github.com/chzyer/logex@v1.1.10", - "pkg:golang/github.com/chzyer/readline@v0.0.0-20180603132655-2972be24d48e", - "pkg:golang/github.com/chzyer/test@v0.0.0-20180213035817-a1ea475d72b1", - "pkg:golang/github.com/ianlancetaylor/demangle@v0.0.0-20181102032728-5e5cf60278f6", - "pkg:golang/golang.org/x/sys@v0.0.0-20191204072324-ce4227a45e2e" - ] - }, - { - "ref": "pkg:golang/github.com/go-gl/glfw/v3.3/glfw@v0.0.0-20200222043503-6f7a984d4dc4", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/mod@v0.1.1-0.20191107180719-034126e5016b", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20191011191535-87dc89f01550", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20191001151750-bb3f8db39f24", - "dependsOn": [] - }, - { - "ref": "pkg:golang/rsc.io/sampler@v1.3.0", - "dependsOn": [ - "pkg:golang/golang.org/x/text@v0.0.0-20170915032832-14c0d48ead0c" - ] - }, - { - "ref": "pkg:golang/github.com/golang/mock@v1.2.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/google/btree@v0.0.0-20180813153112-4030bb1f1f0c", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/google/pprof@v0.0.0-20181206194817-3ea8567a2e57", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.4", - "dependsOn": [ - "pkg:golang/google.golang.org/grpc@v1.19.0" - ] - }, - { - "ref": "pkg:golang/github.com/jstemmer/go-junit-report@v0.0.0-20190106144839-af01ea7f8024", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/lint@v0.0.0-20190301231843-5614ed5bae6f", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20190226205417-e64efc72b421", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.34.0", - "pkg:golang/golang.org/x/net@v0.0.0-20190108225652-1e06a53dbb7e", - "pkg:golang/golang.org/x/sync@v0.0.0-20181221193216-37e7f081c4d4", - "pkg:golang/google.golang.org/appengine@v1.4.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/text@v0.3.1-0.20180807135948-17ff2d5776d2", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/time@v0.0.0-20181108054448-85acf8d2951c", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190312170243-e65039ee4138", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a" - ] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.4.0", - "dependsOn": [ - "pkg:golang/github.com/google/go-cmp@v0.2.0", - "pkg:golang/go.opencensus.io@v0.21.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20190301231843-5614ed5bae6f", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190226205417-e64efc72b421", - "pkg:golang/golang.org/x/sync@v0.0.0-20190227155943-e225da77a7e6", - "pkg:golang/golang.org/x/tools@v0.0.0-20190312170243-e65039ee4138", - "pkg:golang/google.golang.org/appengine@v1.4.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190307195333-5fe7a883aa19", - "pkg:golang/google.golang.org/grpc@v1.19.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190102054323-c2f93a96b099" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20190418145605-e7d98fc518a7", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.2.0", - "pkg:golang/golang.org/x/exp@v0.0.0-20190121172915-509febef88a4", - "pkg:golang/golang.org/x/lint@v0.0.0-20190227174305-5b3e6a55c961", - "pkg:golang/golang.org/x/net@v0.0.0-20190213061140-3a22650c66bd", - "pkg:golang/golang.org/x/sync@v0.0.0-20190227155943-e225da77a7e6", - "pkg:golang/golang.org/x/tools@v0.0.0-20190226205152-f727befe758c", - "pkg:golang/google.golang.org/grpc@v1.19.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190102054323-c2f93a96b099" - ] - }, - { - "ref": "pkg:golang/honnef.co/go/tools@v0.0.0-20190106161140-3f1c8253044a", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/hashicorp/golang-lru@v0.5.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20190307195333-5fe7a883aa19", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.2.0", - "pkg:golang/golang.org/x/exp@v0.0.0-20190121172915-509febef88a4", - "pkg:golang/golang.org/x/lint@v0.0.0-20190227174305-5b3e6a55c961", - "pkg:golang/golang.org/x/net@v0.0.0-20190213061140-3a22650c66bd", - "pkg:golang/golang.org/x/sync@v0.0.0-20190227155943-e225da77a7e6", - "pkg:golang/golang.org/x/tools@v0.0.0-20190226205152-f727befe758c", - "pkg:golang/google.golang.org/grpc@v1.19.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190102054323-c2f93a96b099" - ] - }, - { - "ref": "pkg:golang/gopkg.in/errgo.v2@v2.1.0", - "dependsOn": [ - "pkg:golang/github.com/kr/pretty@v0.1.0", - "pkg:golang/gopkg.in/check.v1@v1.0.0-20180628173108-788fd7840127" - ] - }, - { - "ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20190510104115-cbcb75029529", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190404232315-eb5bcb51f2a3", - "pkg:golang/golang.org/x/sys@v0.0.0-20190412213103-97732733099d" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go/pubsub@v1.3.1", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.54.0", - "pkg:golang/cloud.google.com/go/bigquery@v1.5.0", - "pkg:golang/github.com/golang/protobuf@v1.3.4", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/go.opencensus.io@v0.22.3", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "pkg:golang/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e", - "pkg:golang/golang.org/x/time@v0.0.0-20191024005414-555d28b269f0", - "pkg:golang/golang.org/x/tools@v0.0.0-20200312045724-11d5b4c81c7d", - "pkg:golang/google.golang.org/api@v0.20.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200312145019-da6875a35672", - "pkg:golang/google.golang.org/grpc@v1.28.0" - ] - }, - { - "ref": "pkg:golang/google.golang.org/protobuf@v1.20.1-0.20200309200217-e05f789c0967", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.4.0-rc.2", - "pkg:golang/github.com/google/go-cmp@v0.4.0" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go@v0.44.2", - "dependsOn": [ - "pkg:golang/cloud.google.com/go/datastore@v1.0.0", - "pkg:golang/github.com/golang/mock@v1.3.1", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/google/btree@v1.0.0", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/google/martian@v2.1.0%2Bincompatible", - "pkg:golang/github.com/google/pprof@v0.0.0-20190515194954-54271f7e092f", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/jstemmer/go-junit-report@v0.0.0-20190106144839-af01ea7f8024", - "pkg:golang/go.opencensus.io@v0.22.0", - "pkg:golang/golang.org/x/exp@v0.0.0-20190510132918-efd6b22b2522", - "pkg:golang/golang.org/x/lint@v0.0.0-20190409202823-959b441ac422", - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/time@v0.0.0-20190308202827-9d24e82272b4", - "pkg:golang/golang.org/x/tools@v0.0.0-20190628153133-6cdbf07be9d0", - "pkg:golang/google.golang.org/api@v0.8.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190801165951-fa694d86fc64", - "pkg:golang/google.golang.org/grpc@v1.21.1", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190418001031-e561f6794a2a", - "pkg:golang/rsc.io/binaryregexp@v0.2.0" - ] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.8.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.38.0", - "pkg:golang/github.com/golang/protobuf@v1.3.1", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1", - "pkg:golang/go.opencensus.io@v0.21.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20190409202823-959b441ac422", - "pkg:golang/golang.org/x/net@v0.0.0-20190503192946-f4e77d36d62c", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/sys@v0.0.0-20190507160741-ecd444e8653b", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/tools@v0.0.0-20190506145303-2d16b83fe98c", - "pkg:golang/google.golang.org/appengine@v1.5.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190502173448-54afdca5d873", - "pkg:golang/google.golang.org/grpc@v1.20.1", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190418001031-e561f6794a2a" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20190801165951-fa694d86fc64", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/golang.org/x/exp@v0.0.0-20190121172915-509febef88a4", - "pkg:golang/golang.org/x/lint@v0.0.0-20190227174305-5b3e6a55c961", - "pkg:golang/golang.org/x/tools@v0.0.0-20190226205152-f727befe758c", - "pkg:golang/google.golang.org/grpc@v1.19.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190102054323-c2f93a96b099" - ] - }, - { - "ref": "pkg:golang/google.golang.org/grpc@v1.21.1", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.26.0", - "pkg:golang/github.com/BurntSushi/toml@v0.3.1", - "pkg:golang/github.com/client9/misspell@v0.3.4", - "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", - "pkg:golang/github.com/golang/mock@v1.1.1", - "pkg:golang/github.com/golang/protobuf@v1.2.0", - "pkg:golang/github.com/google/go-cmp@v0.2.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20180821212333-d2e6202438be", - "pkg:golang/golang.org/x/sync@v0.0.0-20180314180146-1d60e4601c6f", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/golang.org/x/tools@v0.0.0-20190311212946-11955173bddd", - "pkg:golang/google.golang.org/appengine@v1.1.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20180817151627-c66870c02cf8", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190102054323-c2f93a96b099" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go@v0.44.1", - "dependsOn": [ - "pkg:golang/github.com/golang/mock@v1.3.1", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/google/btree@v1.0.0", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/google/martian@v2.1.0%2Bincompatible", - "pkg:golang/github.com/google/pprof@v0.0.0-20190515194954-54271f7e092f", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/jstemmer/go-junit-report@v0.0.0-20190106144839-af01ea7f8024", - "pkg:golang/go.opencensus.io@v0.22.0", - "pkg:golang/golang.org/x/exp@v0.0.0-20190510132918-efd6b22b2522", - "pkg:golang/golang.org/x/lint@v0.0.0-20190409202823-959b441ac422", - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/sys@v0.0.0-20190624142023-c5567b49c5d0", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/time@v0.0.0-20190308202827-9d24e82272b4", - "pkg:golang/golang.org/x/tools@v0.0.0-20190628153133-6cdbf07be9d0", - "pkg:golang/google.golang.org/api@v0.8.0", - "pkg:golang/google.golang.org/appengine@v1.6.1", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190801165951-fa694d86fc64", - "pkg:golang/google.golang.org/grpc@v1.21.1", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190418001031-e561f6794a2a", - "pkg:golang/rsc.io/binaryregexp@v0.2.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190624142023-c5567b49c5d0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.7.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.38.0", - "pkg:golang/github.com/golang/protobuf@v1.3.1", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1", - "pkg:golang/go.opencensus.io@v0.21.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20190409202823-959b441ac422", - "pkg:golang/golang.org/x/net@v0.0.0-20190503192946-f4e77d36d62c", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/sys@v0.0.0-20190507160741-ecd444e8653b", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/tools@v0.0.0-20190506145303-2d16b83fe98c", - "pkg:golang/google.golang.org/appengine@v1.5.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190502173448-54afdca5d873", - "pkg:golang/google.golang.org/grpc@v1.20.1", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190418001031-e561f6794a2a" - ] - }, - { - "ref": "pkg:golang/google.golang.org/appengine@v1.6.1", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.1", - "pkg:golang/golang.org/x/crypto@v0.0.0-20190605123033-f99c8df09eb5", - "pkg:golang/golang.org/x/net@v0.0.0-20190603091049-60506f45cf65", - "pkg:golang/golang.org/x/sys@v0.0.0-20190606165138-5da285871e9c", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/tools@v0.0.0-20190606124116-d0a3d012864b" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go@v0.45.1", - "dependsOn": [ - "pkg:golang/cloud.google.com/go/bigquery@v1.0.1", - "pkg:golang/cloud.google.com/go/datastore@v1.0.0", - "pkg:golang/github.com/golang/mock@v1.3.1", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/google/martian@v2.1.0%2Bincompatible", - "pkg:golang/github.com/google/pprof@v0.0.0-20190515194954-54271f7e092f", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/jstemmer/go-junit-report@v0.0.0-20190106144839-af01ea7f8024", - "pkg:golang/go.opencensus.io@v0.22.0", - "pkg:golang/golang.org/x/exp@v0.0.0-20190510132918-efd6b22b2522", - "pkg:golang/golang.org/x/lint@v0.0.0-20190409202823-959b441ac422", - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/time@v0.0.0-20190308202827-9d24e82272b4", - "pkg:golang/golang.org/x/tools@v0.0.0-20190628153133-6cdbf07be9d0", - "pkg:golang/google.golang.org/api@v0.9.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55", - "pkg:golang/google.golang.org/grpc@v1.21.1", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190418001031-e561f6794a2a" - ] - }, - { - "ref": "pkg:golang/go.opencensus.io@v0.22.0", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.1", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1", - "pkg:golang/golang.org/x/net@v0.0.0-20190501004415-9ce7a6920f09", - "pkg:golang/golang.org/x/sys@v0.0.0-20190502145724-3ef323f4f1fd", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190425155659-357c62f0e4bb", - "pkg:golang/google.golang.org/grpc@v1.20.1" - ] - }, - { - "ref": "pkg:golang/golang.org/x/time@v0.0.0-20190308202827-9d24e82272b4", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.9.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.38.0", - "pkg:golang/github.com/golang/protobuf@v1.3.1", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1", - "pkg:golang/go.opencensus.io@v0.21.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20190409202823-959b441ac422", - "pkg:golang/golang.org/x/net@v0.0.0-20190503192946-f4e77d36d62c", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/sys@v0.0.0-20190507160741-ecd444e8653b", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/tools@v0.0.0-20190506145303-2d16b83fe98c", - "pkg:golang/google.golang.org/appengine@v1.5.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190502173448-54afdca5d873", - "pkg:golang/google.golang.org/grpc@v1.20.1", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190418001031-e561f6794a2a" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go@v0.46.3", - "dependsOn": [ - "pkg:golang/cloud.google.com/go/bigquery@v1.0.1", - "pkg:golang/cloud.google.com/go/datastore@v1.0.0", - "pkg:golang/cloud.google.com/go/pubsub@v1.0.1", - "pkg:golang/github.com/golang/mock@v1.3.1", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/google/martian@v2.1.0%2Bincompatible", - "pkg:golang/github.com/google/pprof@v0.0.0-20190515194954-54271f7e092f", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/jstemmer/go-junit-report@v0.0.0-20190106144839-af01ea7f8024", - "pkg:golang/go.opencensus.io@v0.22.0", - "pkg:golang/golang.org/x/exp@v0.0.0-20190829153037-c13cbed26979", - "pkg:golang/golang.org/x/lint@v0.0.0-20190909230951-414d861bb4ac", - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/tools@v0.0.0-20190911174233-4f2ddba30aff", - "pkg:golang/google.golang.org/api@v0.9.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190911173649-1774047e7e51", - "pkg:golang/google.golang.org/grpc@v1.21.1", - "pkg:golang/honnef.co/go/tools@v0.0.1-2019.2.3" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20190911173649-1774047e7e51", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/golang.org/x/exp@v0.0.0-20190121172915-509febef88a4", - "pkg:golang/golang.org/x/lint@v0.0.0-20190227174305-5b3e6a55c961", - "pkg:golang/golang.org/x/tools@v0.0.0-20190226205152-f727befe758c", - "pkg:golang/google.golang.org/grpc@v1.19.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190102054323-c2f93a96b099" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20191125144606-a911d9008d1f", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20190717185122-a985d3407aa7" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190621195816-6e04913cbbac", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58" - ] - }, - { - "ref": "pkg:golang/github.com/google/pprof@v0.0.0-20190515194954-54271f7e092f", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/exp@v0.0.0-20191129062945-2f5052295587", - "dependsOn": [ - "pkg:golang/dmitri.shuralyov.com/gpu/mtl@v0.0.0-20190408044501-666a987793e9", - "pkg:golang/github.com/BurntSushi/xgb@v0.0.0-20160522181843-27f122750802", - "pkg:golang/github.com/go-gl/glfw/v3.3/glfw@v0.0.0-20191125211704-12ad95a8df72", - "pkg:golang/golang.org/x/image@v0.0.0-20190802002840-cff245a6509b", - "pkg:golang/golang.org/x/mobile@v0.0.0-20190719004257-d2bd2a29d028", - "pkg:golang/golang.org/x/mod@v0.1.0", - "pkg:golang/golang.org/x/sys@v0.0.0-20190412213103-97732733099d", - "pkg:golang/golang.org/x/tools@v0.0.0-20191012152004-8de300cfc20a" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20190724013045-ca1201d0de80", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190726091711-fc99dfbffb4e", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20191216173652-a0e659d51361", - "dependsOn": [ - "pkg:golang/golang.org/x/mod@v0.1.1-0.20191105210325-c90efee705ee", - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898" - ] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.14.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.38.0", - "pkg:golang/github.com/golang/protobuf@v1.3.1", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1", - "pkg:golang/go.opencensus.io@v0.21.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20190409202823-959b441ac422", - "pkg:golang/golang.org/x/net@v0.0.0-20190503192946-f4e77d36d62c", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/sys@v0.0.0-20190507160741-ecd444e8653b", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/tools@v0.0.0-20190506145303-2d16b83fe98c", - "pkg:golang/google.golang.org/appengine@v1.5.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190502173448-54afdca5d873", - "pkg:golang/google.golang.org/grpc@v1.20.1", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190418001031-e561f6794a2a" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20191216164720-4f79533eabd1", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/golang.org/x/exp@v0.0.0-20190121172915-509febef88a4", - "pkg:golang/golang.org/x/lint@v0.0.0-20190227174305-5b3e6a55c961", - "pkg:golang/golang.org/x/tools@v0.0.0-20190226205152-f727befe758c", - "pkg:golang/google.golang.org/grpc@v1.19.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190102054323-c2f93a96b099" - ] - }, - { - "ref": "pkg:golang/golang.org/x/exp@v0.0.0-20191030013958-a1ab85dbe136", - "dependsOn": [ - "pkg:golang/dmitri.shuralyov.com/gpu/mtl@v0.0.0-20190408044501-666a987793e9", - "pkg:golang/github.com/BurntSushi/xgb@v0.0.0-20160522181843-27f122750802", - "pkg:golang/github.com/go-gl/glfw@v0.0.0-20190409004039-e6da0acd62b1", - "pkg:golang/golang.org/x/image@v0.0.0-20190802002840-cff245a6509b", - "pkg:golang/golang.org/x/mobile@v0.0.0-20190719004257-d2bd2a29d028", - "pkg:golang/golang.org/x/mod@v0.1.0", - "pkg:golang/golang.org/x/sys@v0.0.0-20190412213103-97732733099d", - "pkg:golang/golang.org/x/tools@v0.0.0-20191012152004-8de300cfc20a" - ] - }, - { - "ref": "pkg:golang/golang.org/x/lint@v0.0.0-20190930215403-16217165b5de", - "dependsOn": [ - "pkg:golang/golang.org/x/tools@v0.0.0-20190311212946-11955173bddd" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20191113191852-77e3bb0ad9e7", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20190717185122-a985d3407aa7" - ] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.13.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.38.0", - "pkg:golang/github.com/golang/protobuf@v1.3.1", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1", - "pkg:golang/go.opencensus.io@v0.21.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20190409202823-959b441ac422", - "pkg:golang/golang.org/x/net@v0.0.0-20190503192946-f4e77d36d62c", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/sys@v0.0.0-20190507160741-ecd444e8653b", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/tools@v0.0.0-20190506145303-2d16b83fe98c", - "pkg:golang/google.golang.org/appengine@v1.5.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190502173448-54afdca5d873", - "pkg:golang/google.golang.org/grpc@v1.20.1", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190418001031-e561f6794a2a" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20191108220845-16a3f7862a1a", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/golang.org/x/exp@v0.0.0-20190121172915-509febef88a4", - "pkg:golang/golang.org/x/lint@v0.0.0-20190227174305-5b3e6a55c961", - "pkg:golang/golang.org/x/tools@v0.0.0-20190226205152-f727befe758c", - "pkg:golang/google.golang.org/grpc@v1.19.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190102054323-c2f93a96b099" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20191115202509-3a792d9c32b2", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20190717185122-a985d3407aa7" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20191115194625-c23dd37a84c9", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/golang.org/x/exp@v0.0.0-20190121172915-509febef88a4", - "pkg:golang/golang.org/x/lint@v0.0.0-20190227174305-5b3e6a55c961", - "pkg:golang/golang.org/x/tools@v0.0.0-20190226205152-f727befe758c", - "pkg:golang/google.golang.org/grpc@v1.19.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190102054323-c2f93a96b099" - ] - }, - { - "ref": "pkg:golang/golang.org/x/exp@v0.0.0-20190306152737-a1d7652674e8", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/image@v0.0.0-20190227222117-0694c2d4d067", - "dependsOn": [ - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190312061237-fead79001313", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/text@v0.0.0-20170915032832-14c0d48ead0c", - "dependsOn": [] - }, - { - "ref": "pkg:golang/cloud.google.com/go@v0.54.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go/bigquery@v1.4.0", - "pkg:golang/cloud.google.com/go/datastore@v1.1.0", - "pkg:golang/cloud.google.com/go/pubsub@v1.2.0", - "pkg:golang/cloud.google.com/go/storage@v1.6.0", - "pkg:golang/github.com/golang/mock@v1.4.1", - "pkg:golang/github.com/golang/protobuf@v1.3.4", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/github.com/google/martian@v2.1.0%2Bincompatible", - "pkg:golang/github.com/google/pprof@v0.0.0-20200229191704-1ebb73c60ed3", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/jstemmer/go-junit-report@v0.9.1", - "pkg:golang/go.opencensus.io@v0.22.3", - "pkg:golang/golang.org/x/lint@v0.0.0-20200302205851-738671d3881b", - "pkg:golang/golang.org/x/net@v0.0.0-20200301022130-244492dfa37a", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "pkg:golang/golang.org/x/sys@v0.0.0-20200302150141-5c8b2ff67527", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/tools@v0.0.0-20200304193943-95d2e580d8eb", - "pkg:golang/google.golang.org/api@v0.20.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200305110556-506484158171", - "pkg:golang/google.golang.org/grpc@v1.27.1", - "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.3" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go/bigquery@v1.5.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.53.0", - "pkg:golang/cloud.google.com/go/storage@v1.6.0", - "pkg:golang/github.com/golang/protobuf@v1.3.4", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/golang.org/x/net@v0.0.0-20200226121028-0de0cce0169b", - "pkg:golang/golang.org/x/tools@v0.0.0-20200227222343-706bc42d1f0d", - "pkg:golang/google.golang.org/api@v0.19.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200228133532-8c2c7df3a383", - "pkg:golang/google.golang.org/grpc@v1.27.1" - ] - }, - { - "ref": "pkg:golang/github.com/golang/protobuf@v1.3.4", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200312045724-11d5b4c81c7d", - "dependsOn": [ - "pkg:golang/golang.org/x/mod@v0.2.0", - "pkg:golang/golang.org/x/net@v0.0.0-20200226121028-0de0cce0169b", - "pkg:golang/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200312145019-da6875a35672", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.3", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc" - ] - }, - { - "ref": "pkg:golang/github.com/golang/protobuf@v1.4.0-rc.2", - "dependsOn": [ - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/google.golang.org/protobuf@v0.0.0-20200228230310-ab0ca4ff8a60" - ] - }, - { - "ref": "pkg:golang/github.com/google/btree@v1.0.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/exp@v0.0.0-20190510132918-efd6b22b2522", - "dependsOn": [ - "pkg:golang/github.com/BurntSushi/xgb@v0.0.0-20160522181843-27f122750802", - "pkg:golang/golang.org/x/image@v0.0.0-20190227222117-0694c2d4d067", - "pkg:golang/golang.org/x/mobile@v0.0.0-20190312151609-d3739f865fa6", - "pkg:golang/golang.org/x/sys@v0.0.0-20190312061237-fead79001313", - "pkg:golang/golang.org/x/tools@v0.0.0-20190312151545-0bb0c0a6e846" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190628153133-6cdbf07be9d0", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58" - ] - }, - { - "ref": "pkg:golang/rsc.io/binaryregexp@v0.2.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20190605123033-f99c8df09eb5", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190404232315-eb5bcb51f2a3", - "pkg:golang/golang.org/x/sys@v0.0.0-20190412213103-97732733099d" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190606165138-5da285871e9c", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190606124116-d0a3d012864b", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20190501004415-9ce7a6920f09", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/exp@v0.0.0-20190829153037-c13cbed26979", - "dependsOn": [ - "pkg:golang/github.com/BurntSushi/xgb@v0.0.0-20160522181843-27f122750802", - "pkg:golang/golang.org/x/image@v0.0.0-20190802002840-cff245a6509b", - "pkg:golang/golang.org/x/mobile@v0.0.0-20190719004257-d2bd2a29d028", - "pkg:golang/golang.org/x/mod@v0.1.0", - "pkg:golang/golang.org/x/sys@v0.0.0-20190412213103-97732733099d", - "pkg:golang/golang.org/x/tools@v0.0.0-20190816200558-6889da9d5479" - ] - }, - { - "ref": "pkg:golang/golang.org/x/lint@v0.0.0-20190909230951-414d861bb4ac", - "dependsOn": [ - "pkg:golang/golang.org/x/tools@v0.0.0-20190311212946-11955173bddd" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190911174233-4f2ddba30aff", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20190717185122-a985d3407aa7" - ] - }, - { - "ref": "pkg:golang/github.com/go-gl/glfw@v0.0.0-20190409004039-e6da0acd62b1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/golang/mock@v1.4.1", - "dependsOn": [ - "pkg:golang/golang.org/x/tools@v0.0.0-20190425150028-36563e24a262", - "pkg:golang/rsc.io/quote/v3@v3.1.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20200301022130-244492dfa37a", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200302150141-5c8b2ff67527", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200304193943-95d2e580d8eb", - "dependsOn": [ - "pkg:golang/golang.org/x/mod@v0.2.0", - "pkg:golang/golang.org/x/net@v0.0.0-20200226121028-0de0cce0169b", - "pkg:golang/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200305110556-506484158171", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.3", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200227222343-706bc42d1f0d", - "dependsOn": [ - "pkg:golang/golang.org/x/mod@v0.1.1-0.20191105210325-c90efee705ee", - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898" - ] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.19.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.38.0", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1", - "pkg:golang/go.opencensus.io@v0.21.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20190409202823-959b441ac422", - "pkg:golang/golang.org/x/net@v0.0.0-20190503192946-f4e77d36d62c", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/sys@v0.0.0-20190507160741-ecd444e8653b", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/appengine@v1.5.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200228133532-8c2c7df3a383", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.3", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc" - ] - }, - { - "ref": "pkg:golang/google.golang.org/protobuf@v0.0.0-20200228230310-ab0ca4ff8a60", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.4.0-rc.1.0.20200221234624-67d41d38c208", - "pkg:golang/github.com/google/go-cmp@v0.4.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/mobile@v0.0.0-20190312151609-d3739f865fa6", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190312151545-0bb0c0a6e846", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190816200558-6889da9d5479", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20190717185122-a985d3407aa7" - ] - }, - { - "ref": "pkg:golang/github.com/golang/protobuf@v1.4.0-rc.1.0.20200221234624-67d41d38c208", - "dependsOn": [ - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/google.golang.org/protobuf@v0.0.0-20200221191635-4d8936d0db64" - ] - }, - { - "ref": "pkg:golang/google.golang.org/protobuf@v0.0.0-20200221191635-4d8936d0db64", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.4.0-rc.1", - "pkg:golang/github.com/google/go-cmp@v0.3.1" - ] - }, - { - "ref": "pkg:golang/github.com/golang/protobuf@v1.4.0-rc.1", - "dependsOn": [ - "pkg:golang/github.com/google/go-cmp@v0.3.1", - "pkg:golang/google.golang.org/protobuf@v0.0.0-20200109180630-ec00e32a8dfd" - ] - }, - { - "ref": "pkg:golang/google.golang.org/protobuf@v0.0.0-20200109180630-ec00e32a8dfd", - "dependsOn": [ - "pkg:golang/github.com/google/go-cmp@v0.3.0" - ] - } - ] + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-08-07T00:00:00.000Z", + "component": { + "group": "github.com/RHEcosystemAppEng/SaaSi", + "name": "deployer", + "version": "v0.0.0", + "purl": "pkg:golang/github.com/RHEcosystemAppEng/SaaSi/deployer@v0.0.0", + "type": "application", + "bom-ref": "pkg:golang/github.com/RHEcosystemAppEng/SaaSi/deployer@v0.0.0" + } + }, + "components": [ + { + "group": "github.com/gin-gonic", + "name": "gin", + "version": "v1.9.1", + "purl": "pkg:golang/github.com/gin-gonic/gin@v1.9.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/gin-gonic/gin@v1.9.1" + }, + { + "group": "github.com/google", + "name": "uuid", + "version": "v1.1.2", + "purl": "pkg:golang/github.com/google/uuid@v1.1.2", + "type": "library", + "bom-ref": "pkg:golang/github.com/google/uuid@v1.1.2" + }, + { + "group": "github.com/jessevdk", + "name": "go-flags", + "version": "v1.5.0", + "purl": "pkg:golang/github.com/jessevdk/go-flags@v1.5.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/jessevdk/go-flags@v1.5.0" + }, + { + "group": "github.com/kr", + "name": "pretty", + "version": "v0.3.1", + "purl": "pkg:golang/github.com/kr/pretty@v0.3.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/kr/pretty@v0.3.1" + }, + { + "group": "gopkg.in", + "name": "yaml.v2", + "version": "v2.4.0", + "purl": "pkg:golang/gopkg.in/yaml.v2@v2.4.0", + "type": "library", + "bom-ref": "pkg:golang/gopkg.in/yaml.v2@v2.4.0" + }, + { + "group": "k8s.io", + "name": "apimachinery", + "version": "v0.26.1", + "purl": "pkg:golang/k8s.io/apimachinery@v0.26.1", + "type": "library", + "bom-ref": "pkg:golang/k8s.io/apimachinery@v0.26.1" + }, + { + "group": "k8s.io", + "name": "client-go", + "version": "v0.26.1", + "purl": "pkg:golang/k8s.io/client-go@v0.26.1", + "type": "library", + "bom-ref": "pkg:golang/k8s.io/client-go@v0.26.1" + }, + { + "group": "github.com/bytedance", + "name": "sonic", + "version": "v1.9.1", + "purl": "pkg:golang/github.com/bytedance/sonic@v1.9.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/bytedance/sonic@v1.9.1" + }, + { + "group": "github.com/gin-contrib", + "name": "sse", + "version": "v0.1.0", + "purl": "pkg:golang/github.com/gin-contrib/sse@v0.1.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/gin-contrib/sse@v0.1.0" + }, + { + "group": "github.com/go-playground/validator", + "name": "v10", + "version": "v10.14.0", + "purl": "pkg:golang/github.com/go-playground/validator/v10@v10.14.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/go-playground/validator/v10@v10.14.0" + }, + { + "group": "github.com/goccy", + "name": "go-json", + "version": "v0.10.2", + "purl": "pkg:golang/github.com/goccy/go-json@v0.10.2", + "type": "library", + "bom-ref": "pkg:golang/github.com/goccy/go-json@v0.10.2" + }, + { + "group": "github.com/json-iterator", + "name": "go", + "version": "v1.1.12", + "purl": "pkg:golang/github.com/json-iterator/go@v1.1.12", + "type": "library", + "bom-ref": "pkg:golang/github.com/json-iterator/go@v1.1.12" + }, + { + "group": "github.com/mattn", + "name": "go-isatty", + "version": "v0.0.19", + "purl": "pkg:golang/github.com/mattn/go-isatty@v0.0.19", + "type": "library", + "bom-ref": "pkg:golang/github.com/mattn/go-isatty@v0.0.19" + }, + { + "group": "github.com/pelletier/go-toml", + "name": "v2", + "version": "v2.0.8", + "purl": "pkg:golang/github.com/pelletier/go-toml/v2@v2.0.8", + "type": "library", + "bom-ref": "pkg:golang/github.com/pelletier/go-toml/v2@v2.0.8" + }, + { + "group": "github.com/stretchr", + "name": "testify", + "version": "v1.8.3", + "purl": "pkg:golang/github.com/stretchr/testify@v1.8.3", + "type": "library", + "bom-ref": "pkg:golang/github.com/stretchr/testify@v1.8.3" + }, + { + "group": "github.com/ugorji/go", + "name": "codec", + "version": "v1.2.11", + "purl": "pkg:golang/github.com/ugorji/go/codec@v1.2.11", + "type": "library", + "bom-ref": "pkg:golang/github.com/ugorji/go/codec@v1.2.11" + }, + { + "group": "golang.org/x", + "name": "net", + "version": "v0.10.0", + "purl": "pkg:golang/golang.org/x/net@v0.10.0", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/net@v0.10.0" + }, + { + "group": "google.golang.org", + "name": "protobuf", + "version": "v1.30.0", + "purl": "pkg:golang/google.golang.org/protobuf@v1.30.0", + "type": "library", + "bom-ref": "pkg:golang/google.golang.org/protobuf@v1.30.0" + }, + { + "group": "gopkg.in", + "name": "yaml.v3", + "version": "v3.0.1", + "purl": "pkg:golang/gopkg.in/yaml.v3@v3.0.1", + "type": "library", + "bom-ref": "pkg:golang/gopkg.in/yaml.v3@v3.0.1" + }, + { + "group": "github.com/chenzhuoyu", + "name": "base64x", + "version": "v0.0.0-20221115062448-fe3a3abad311", + "purl": "pkg:golang/github.com/chenzhuoyu/base64x@v0.0.0-20221115062448-fe3a3abad311", + "type": "library", + "bom-ref": "pkg:golang/github.com/chenzhuoyu/base64x@v0.0.0-20221115062448-fe3a3abad311" + }, + { + "group": "github.com/davecgh", + "name": "go-spew", + "version": "v1.1.1", + "purl": "pkg:golang/github.com/davecgh/go-spew@v1.1.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/davecgh/go-spew@v1.1.1" + }, + { + "group": "github.com/gabriel-vasile", + "name": "mimetype", + "version": "v1.4.2", + "purl": "pkg:golang/github.com/gabriel-vasile/mimetype@v1.4.2", + "type": "library", + "bom-ref": "pkg:golang/github.com/gabriel-vasile/mimetype@v1.4.2" + }, + { + "group": "github.com/go-playground", + "name": "locales", + "version": "v0.14.1", + "purl": "pkg:golang/github.com/go-playground/locales@v0.14.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/go-playground/locales@v0.14.1" + }, + { + "group": "github.com/go-playground", + "name": "universal-translator", + "version": "v0.18.1", + "purl": "pkg:golang/github.com/go-playground/universal-translator@v0.18.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/go-playground/universal-translator@v0.18.1" + }, + { + "group": "github.com/klauspost/cpuid", + "name": "v2", + "version": "v2.2.4", + "purl": "pkg:golang/github.com/klauspost/cpuid/v2@v2.2.4", + "type": "library", + "bom-ref": "pkg:golang/github.com/klauspost/cpuid/v2@v2.2.4" + }, + { + "group": "github.com/leodido", + "name": "go-urn", + "version": "v1.2.4", + "purl": "pkg:golang/github.com/leodido/go-urn@v1.2.4", + "type": "library", + "bom-ref": "pkg:golang/github.com/leodido/go-urn@v1.2.4" + }, + { + "group": "github.com/modern-go", + "name": "concurrent", + "version": "v0.0.0-20180306012644-bacd9c7ef1dd", + "purl": "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd", + "type": "library", + "bom-ref": "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd" + }, + { + "group": "github.com/modern-go", + "name": "reflect2", + "version": "v1.0.2", + "purl": "pkg:golang/github.com/modern-go/reflect2@v1.0.2", + "type": "library", + "bom-ref": "pkg:golang/github.com/modern-go/reflect2@v1.0.2" + }, + { + "group": "github.com/pmezard", + "name": "go-difflib", + "version": "v1.0.0", + "purl": "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/pmezard/go-difflib@v1.0.0" + }, + { + "group": "github.com/twitchyliquid64", + "name": "golang-asm", + "version": "v0.15.1", + "purl": "pkg:golang/github.com/twitchyliquid64/golang-asm@v0.15.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/twitchyliquid64/golang-asm@v0.15.1" + }, + { + "group": "golang.org/x", + "name": "arch", + "version": "v0.3.0", + "purl": "pkg:golang/golang.org/x/arch@v0.3.0", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/arch@v0.3.0" + }, + { + "group": "golang.org/x", + "name": "crypto", + "version": "v0.9.0", + "purl": "pkg:golang/golang.org/x/crypto@v0.9.0", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/crypto@v0.9.0" + }, + { + "group": "golang.org/x", + "name": "sys", + "version": "v0.8.0", + "purl": "pkg:golang/golang.org/x/sys@v0.8.0", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/sys@v0.8.0" + }, + { + "group": "golang.org/x", + "name": "text", + "version": "v0.9.0", + "purl": "pkg:golang/golang.org/x/text@v0.9.0", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/text@v0.9.0" + }, + { + "group": "github.com/go-openapi", + "name": "jsonpointer", + "version": "v0.19.5", + "purl": "pkg:golang/github.com/go-openapi/jsonpointer@v0.19.5", + "type": "library", + "bom-ref": "pkg:golang/github.com/go-openapi/jsonpointer@v0.19.5" + }, + { + "group": "github.com/go-openapi", + "name": "swag", + "version": "v0.19.14", + "purl": "pkg:golang/github.com/go-openapi/swag@v0.19.14", + "type": "library", + "bom-ref": "pkg:golang/github.com/go-openapi/swag@v0.19.14" + }, + { + "group": "github.com/mailru", + "name": "easyjson", + "version": "v0.7.6", + "purl": "pkg:golang/github.com/mailru/easyjson@v0.7.6", + "type": "library", + "bom-ref": "pkg:golang/github.com/mailru/easyjson@v0.7.6" + }, + { + "group": "github.com/go-openapi", + "name": "jsonreference", + "version": "v0.20.0", + "purl": "pkg:golang/github.com/go-openapi/jsonreference@v0.20.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/go-openapi/jsonreference@v0.20.0" + }, + { + "group": "github.com/kr", + "name": "text", + "version": "v0.2.0", + "purl": "pkg:golang/github.com/kr/text@v0.2.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/kr/text@v0.2.0" + }, + { + "group": "github.com/niemeyer", + "name": "pretty", + "version": "v0.0.0-20200227124842-a10e7caefd8e", + "purl": "pkg:golang/github.com/niemeyer/pretty@v0.0.0-20200227124842-a10e7caefd8e", + "type": "library", + "bom-ref": "pkg:golang/github.com/niemeyer/pretty@v0.0.0-20200227124842-a10e7caefd8e" + }, + { + "group": "gopkg.in", + "name": "check.v1", + "version": "v1.0.0-20200227125254-8fa46927fb4f", + "purl": "pkg:golang/gopkg.in/check.v1@v1.0.0-20200227125254-8fa46927fb4f", + "type": "library", + "bom-ref": "pkg:golang/gopkg.in/check.v1@v1.0.0-20200227125254-8fa46927fb4f" + }, + { + "group": "github.com/gogo", + "name": "protobuf", + "version": "v1.3.2", + "purl": "pkg:golang/github.com/gogo/protobuf@v1.3.2", + "type": "library", + "bom-ref": "pkg:golang/github.com/gogo/protobuf@v1.3.2" + }, + { + "group": "github.com/kisielk", + "name": "errcheck", + "version": "v1.5.0", + "purl": "pkg:golang/github.com/kisielk/errcheck@v1.5.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/kisielk/errcheck@v1.5.0" + }, + { + "group": "github.com/kisielk", + "name": "gotool", + "version": "v1.0.0", + "purl": "pkg:golang/github.com/kisielk/gotool@v1.0.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/kisielk/gotool@v1.0.0" + }, + { + "group": "golang.org/x", + "name": "tools", + "version": "v0.6.0", + "purl": "pkg:golang/golang.org/x/tools@v0.6.0", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/tools@v0.6.0" + }, + { + "group": "github.com/golang", + "name": "protobuf", + "version": "v1.5.2", + "purl": "pkg:golang/github.com/golang/protobuf@v1.5.2", + "type": "library", + "bom-ref": "pkg:golang/github.com/golang/protobuf@v1.5.2" + }, + { + "group": "github.com/google", + "name": "go-cmp", + "version": "v0.5.9", + "purl": "pkg:golang/github.com/google/go-cmp@v0.5.9", + "type": "library", + "bom-ref": "pkg:golang/github.com/google/go-cmp@v0.5.9" + }, + { + "group": "github.com/google", + "name": "gnostic", + "version": "v0.5.7-v3refs", + "purl": "pkg:golang/github.com/google/gnostic@v0.5.7-v3refs", + "type": "library", + "bom-ref": "pkg:golang/github.com/google/gnostic@v0.5.7-v3refs" + }, + { + "group": "github.com/docopt", + "name": "docopt-go", + "version": "v0.0.0-20180111231733-ee0de3bc6815", + "purl": "pkg:golang/github.com/docopt/docopt-go@v0.0.0-20180111231733-ee0de3bc6815", + "type": "library", + "bom-ref": "pkg:golang/github.com/docopt/docopt-go@v0.0.0-20180111231733-ee0de3bc6815" + }, + { + "group": "github.com/stoewer", + "name": "go-strcase", + "version": "v1.2.0", + "purl": "pkg:golang/github.com/stoewer/go-strcase@v1.2.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/stoewer/go-strcase@v1.2.0" + }, + { + "group": "golang.org/x", + "name": "xerrors", + "version": "v0.0.0-20200804184101-5ec99f83aff1", + "purl": "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1" + }, + { + "group": "google.golang.org", + "name": "genproto", + "version": "v0.0.0-20201019141844-1ed22bb0c154", + "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20201019141844-1ed22bb0c154", + "type": "library", + "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20201019141844-1ed22bb0c154" + }, + { + "group": "github.com/google", + "name": "gofuzz", + "version": "v1.1.0", + "purl": "pkg:golang/github.com/google/gofuzz@v1.1.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/google/gofuzz@v1.1.0" + }, + { + "group": "github.com/rogpeppe", + "name": "go-internal", + "version": "v1.9.0", + "purl": "pkg:golang/github.com/rogpeppe/go-internal@v1.9.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/rogpeppe/go-internal@v1.9.0" + }, + { + "group": "github.com/creack", + "name": "pty", + "version": "v1.1.9", + "purl": "pkg:golang/github.com/creack/pty@v1.1.9", + "type": "library", + "bom-ref": "pkg:golang/github.com/creack/pty@v1.1.9" + }, + { + "group": "github.com/josharian", + "name": "intern", + "version": "v1.0.0", + "purl": "pkg:golang/github.com/josharian/intern@v1.0.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/josharian/intern@v1.0.0" + }, + { + "group": "github.com/pkg", + "name": "diff", + "version": "v0.0.0-20210226163009-20ebb0f2a09e", + "purl": "pkg:golang/github.com/pkg/diff@v0.0.0-20210226163009-20ebb0f2a09e", + "type": "library", + "bom-ref": "pkg:golang/github.com/pkg/diff@v0.0.0-20210226163009-20ebb0f2a09e" + }, + { + "group": "golang.org/x", + "name": "term", + "version": "v0.8.0", + "purl": "pkg:golang/golang.org/x/term@v0.8.0", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/term@v0.8.0" + }, + { + "group": "golang.org/x", + "name": "oauth2", + "version": "v0.0.0-20220223155221-ee480838109b", + "purl": "pkg:golang/golang.org/x/oauth2@v0.0.0-20220223155221-ee480838109b", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20220223155221-ee480838109b" + }, + { + "group": "cloud.google.com", + "name": "go", + "version": "v0.65.0", + "purl": "pkg:golang/cloud.google.com/go@v0.65.0", + "type": "library", + "bom-ref": "pkg:golang/cloud.google.com/go@v0.65.0" + }, + { + "group": "google.golang.org", + "name": "appengine", + "version": "v1.6.7", + "purl": "pkg:golang/google.golang.org/appengine@v1.6.7", + "type": "library", + "bom-ref": "pkg:golang/google.golang.org/appengine@v1.6.7" + }, + { + "group": "golang.org/x", + "name": "mod", + "version": "v0.8.0", + "purl": "pkg:golang/golang.org/x/mod@v0.8.0", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/mod@v0.8.0" + }, + { + "group": "k8s.io", + "name": "api", + "version": "v0.26.1", + "purl": "pkg:golang/k8s.io/api@v0.26.1", + "type": "library", + "bom-ref": "pkg:golang/k8s.io/api@v0.26.1" + }, + { + "group": "github.com/go-logr", + "name": "logr", + "version": "v1.2.3", + "purl": "pkg:golang/github.com/go-logr/logr@v1.2.3", + "type": "library", + "bom-ref": "pkg:golang/github.com/go-logr/logr@v1.2.3" + }, + { + "group": "github.com/spf13", + "name": "pflag", + "version": "v1.0.5", + "purl": "pkg:golang/github.com/spf13/pflag@v1.0.5", + "type": "library", + "bom-ref": "pkg:golang/github.com/spf13/pflag@v1.0.5" + }, + { + "group": "gopkg.in", + "name": "inf.v0", + "version": "v0.9.1", + "purl": "pkg:golang/gopkg.in/inf.v0@v0.9.1", + "type": "library", + "bom-ref": "pkg:golang/gopkg.in/inf.v0@v0.9.1" + }, + { + "group": "k8s.io/klog", + "name": "v2", + "version": "v2.80.1", + "purl": "pkg:golang/k8s.io/klog/v2@v2.80.1", + "type": "library", + "bom-ref": "pkg:golang/k8s.io/klog/v2@v2.80.1" + }, + { + "group": "k8s.io", + "name": "utils", + "version": "v0.0.0-20221107191617-1a15be271d1d", + "purl": "pkg:golang/k8s.io/utils@v0.0.0-20221107191617-1a15be271d1d", + "type": "library", + "bom-ref": "pkg:golang/k8s.io/utils@v0.0.0-20221107191617-1a15be271d1d" + }, + { + "group": "sigs.k8s.io", + "name": "json", + "version": "v0.0.0-20220713155537-f223a00ba0e2", + "purl": "pkg:golang/sigs.k8s.io/json@v0.0.0-20220713155537-f223a00ba0e2", + "type": "library", + "bom-ref": "pkg:golang/sigs.k8s.io/json@v0.0.0-20220713155537-f223a00ba0e2" + }, + { + "group": "sigs.k8s.io/structured-merge-diff", + "name": "v4", + "version": "v4.2.3", + "purl": "pkg:golang/sigs.k8s.io/structured-merge-diff/v4@v4.2.3", + "type": "library", + "bom-ref": "pkg:golang/sigs.k8s.io/structured-merge-diff/v4@v4.2.3" + }, + { + "group": "sigs.k8s.io", + "name": "yaml", + "version": "v1.3.0", + "purl": "pkg:golang/sigs.k8s.io/yaml@v1.3.0", + "type": "library", + "bom-ref": "pkg:golang/sigs.k8s.io/yaml@v1.3.0" + }, + { + "group": "github.com/armon", + "name": "go-socks5", + "version": "v0.0.0-20160902184237-e75332964ef5", + "purl": "pkg:golang/github.com/armon/go-socks5@v0.0.0-20160902184237-e75332964ef5", + "type": "library", + "bom-ref": "pkg:golang/github.com/armon/go-socks5@v0.0.0-20160902184237-e75332964ef5" + }, + { + "group": "github.com/elazarl", + "name": "goproxy", + "version": "v0.0.0-20180725130230-947c36da3153", + "purl": "pkg:golang/github.com/elazarl/goproxy@v0.0.0-20180725130230-947c36da3153", + "type": "library", + "bom-ref": "pkg:golang/github.com/elazarl/goproxy@v0.0.0-20180725130230-947c36da3153" + }, + { + "group": "github.com/evanphx", + "name": "json-patch", + "version": "v4.12.0+incompatible", + "purl": "pkg:golang/github.com/evanphx/json-patch@v4.12.0%2Bincompatible", + "type": "library", + "bom-ref": "pkg:golang/github.com/evanphx/json-patch@v4.12.0%2Bincompatible" + }, + { + "group": "github.com/moby", + "name": "spdystream", + "version": "v0.2.0", + "purl": "pkg:golang/github.com/moby/spdystream@v0.2.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/moby/spdystream@v0.2.0" + }, + { + "group": "github.com/mxk", + "name": "go-flowrate", + "version": "v0.0.0-20140419014527-cca7078d478f", + "purl": "pkg:golang/github.com/mxk/go-flowrate@v0.0.0-20140419014527-cca7078d478f", + "type": "library", + "bom-ref": "pkg:golang/github.com/mxk/go-flowrate@v0.0.0-20140419014527-cca7078d478f" + }, + { + "group": "k8s.io", + "name": "kube-openapi", + "version": "v0.0.0-20221012153701-172d655c2280", + "purl": "pkg:golang/k8s.io/kube-openapi@v0.0.0-20221012153701-172d655c2280", + "type": "library", + "bom-ref": "pkg:golang/k8s.io/kube-openapi@v0.0.0-20221012153701-172d655c2280" + }, + { + "group": "github.com/onsi/ginkgo", + "name": "v2", + "version": "v2.4.0", + "purl": "pkg:golang/github.com/onsi/ginkgo/v2@v2.4.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/onsi/ginkgo/v2@v2.4.0" + }, + { + "group": "github.com/onsi", + "name": "gomega", + "version": "v1.23.0", + "purl": "pkg:golang/github.com/onsi/gomega@v1.23.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/onsi/gomega@v1.23.0" + }, + { + "group": "github.com/pkg", + "name": "errors", + "version": "v0.9.1", + "purl": "pkg:golang/github.com/pkg/errors@v0.9.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/pkg/errors@v0.9.1" + }, + { + "group": "github.com/golang", + "name": "groupcache", + "version": "v0.0.0-20210331224755-41bb18bfe9da", + "purl": "pkg:golang/github.com/golang/groupcache@v0.0.0-20210331224755-41bb18bfe9da", + "type": "library", + "bom-ref": "pkg:golang/github.com/golang/groupcache@v0.0.0-20210331224755-41bb18bfe9da" + }, + { + "group": "github.com/gregjones", + "name": "httpcache", + "version": "v0.0.0-20180305231024-9cad4c3443a7", + "purl": "pkg:golang/github.com/gregjones/httpcache@v0.0.0-20180305231024-9cad4c3443a7", + "type": "library", + "bom-ref": "pkg:golang/github.com/gregjones/httpcache@v0.0.0-20180305231024-9cad4c3443a7" + }, + { + "group": "github.com/imdario", + "name": "mergo", + "version": "v0.3.6", + "purl": "pkg:golang/github.com/imdario/mergo@v0.3.6", + "type": "library", + "bom-ref": "pkg:golang/github.com/imdario/mergo@v0.3.6" + }, + { + "group": "github.com/peterbourgon", + "name": "diskv", + "version": "v2.0.1+incompatible", + "purl": "pkg:golang/github.com/peterbourgon/diskv@v2.0.1%2Bincompatible", + "type": "library", + "bom-ref": "pkg:golang/github.com/peterbourgon/diskv@v2.0.1%2Bincompatible" + }, + { + "group": "golang.org/x", + "name": "time", + "version": "v0.0.0-20220210224613-90d013bbcef8", + "purl": "pkg:golang/golang.org/x/time@v0.0.0-20220210224613-90d013bbcef8", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/time@v0.0.0-20220210224613-90d013bbcef8" + }, + { + "group": "github.com/emicklei/go-restful", + "name": "v3", + "version": "v3.9.0", + "purl": "pkg:golang/github.com/emicklei/go-restful/v3@v3.9.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/emicklei/go-restful/v3@v3.9.0" + }, + { + "group": "github.com/google", + "name": "btree", + "version": "v1.0.1", + "purl": "pkg:golang/github.com/google/btree@v1.0.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/google/btree@v1.0.1" + }, + { + "group": "github.com/munnerz", + "name": "goautoneg", + "version": "v0.0.0-20191010083416-a7dc8b61c822", + "purl": "pkg:golang/github.com/munnerz/goautoneg@v0.0.0-20191010083416-a7dc8b61c822", + "type": "library", + "bom-ref": "pkg:golang/github.com/munnerz/goautoneg@v0.0.0-20191010083416-a7dc8b61c822" + }, + { + "group": "github.com/NYTimes", + "name": "gziphandler", + "version": "v0.0.0-20170623195520-56545f4a5d46", + "purl": "pkg:golang/github.com/NYTimes/gziphandler@v0.0.0-20170623195520-56545f4a5d46", + "type": "library", + "bom-ref": "pkg:golang/github.com/NYTimes/gziphandler@v0.0.0-20170623195520-56545f4a5d46" + }, + { + "group": "github.com/asaskevich", + "name": "govalidator", + "version": "v0.0.0-20190424111038-f61b66f89f4a", + "purl": "pkg:golang/github.com/asaskevich/govalidator@v0.0.0-20190424111038-f61b66f89f4a", + "type": "library", + "bom-ref": "pkg:golang/github.com/asaskevich/govalidator@v0.0.0-20190424111038-f61b66f89f4a" + }, + { + "group": "github.com/mitchellh", + "name": "mapstructure", + "version": "v1.1.2", + "purl": "pkg:golang/github.com/mitchellh/mapstructure@v1.1.2", + "type": "library", + "bom-ref": "pkg:golang/github.com/mitchellh/mapstructure@v1.1.2" + }, + { + "group": "k8s.io", + "name": "gengo", + "version": "v0.0.0-20210813121822-485abfe95c7c", + "purl": "pkg:golang/k8s.io/gengo@v0.0.0-20210813121822-485abfe95c7c", + "type": "library", + "bom-ref": "pkg:golang/k8s.io/gengo@v0.0.0-20210813121822-485abfe95c7c" + }, + { + "group": "github.com/PuerkitoBio", + "name": "purell", + "version": "v1.1.1", + "purl": "pkg:golang/github.com/PuerkitoBio/purell@v1.1.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/PuerkitoBio/purell@v1.1.1" + }, + { + "group": "github.com/PuerkitoBio", + "name": "urlesc", + "version": "v0.0.0-20170810143723-de5bf2ad4578", + "purl": "pkg:golang/github.com/PuerkitoBio/urlesc@v0.0.0-20170810143723-de5bf2ad4578", + "type": "library", + "bom-ref": "pkg:golang/github.com/PuerkitoBio/urlesc@v0.0.0-20170810143723-de5bf2ad4578" + }, + { + "group": "github.com/stretchr", + "name": "objx", + "version": "v0.1.0", + "purl": "pkg:golang/github.com/stretchr/objx@v0.1.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/stretchr/objx@v0.1.0" + }, + { + "group": "github.com/yuin", + "name": "goldmark", + "version": "v1.2.1", + "purl": "pkg:golang/github.com/yuin/goldmark@v1.2.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/yuin/goldmark@v1.2.1" + }, + { + "group": "golang.org/x", + "name": "sync", + "version": "v0.0.0-20201020160332-67f06af15bc9", + "purl": "pkg:golang/golang.org/x/sync@v0.0.0-20201020160332-67f06af15bc9", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/sync@v0.0.0-20201020160332-67f06af15bc9" + }, + { + "group": "golang.org/x", + "name": "lint", + "version": "v0.0.0-20200302205851-738671d3881b", + "purl": "pkg:golang/golang.org/x/lint@v0.0.0-20200302205851-738671d3881b", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/lint@v0.0.0-20200302205851-738671d3881b" + }, + { + "group": "google.golang.org", + "name": "grpc", + "version": "v1.31.0", + "purl": "pkg:golang/google.golang.org/grpc@v1.31.0", + "type": "library", + "bom-ref": "pkg:golang/google.golang.org/grpc@v1.31.0" + }, + { + "group": "cloud.google.com/go", + "name": "storage", + "version": "v1.10.0", + "purl": "pkg:golang/cloud.google.com/go/storage@v1.10.0", + "type": "library", + "bom-ref": "pkg:golang/cloud.google.com/go/storage@v1.10.0" + }, + { + "group": "github.com/golang", + "name": "mock", + "version": "v1.4.4", + "purl": "pkg:golang/github.com/golang/mock@v1.4.4", + "type": "library", + "bom-ref": "pkg:golang/github.com/golang/mock@v1.4.4" + }, + { + "group": "github.com/google/martian", + "name": "v3", + "version": "v3.0.0", + "purl": "pkg:golang/github.com/google/martian/v3@v3.0.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/google/martian/v3@v3.0.0" + }, + { + "group": "github.com/google", + "name": "pprof", + "version": "v0.0.0-20200708004538-1a94d8640e99", + "purl": "pkg:golang/github.com/google/pprof@v0.0.0-20200708004538-1a94d8640e99", + "type": "library", + "bom-ref": "pkg:golang/github.com/google/pprof@v0.0.0-20200708004538-1a94d8640e99" + }, + { + "group": "github.com/googleapis/gax-go", + "name": "v2", + "version": "v2.0.5", + "purl": "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", + "type": "library", + "bom-ref": "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5" + }, + { + "group": "github.com/jstemmer", + "name": "go-junit-report", + "version": "v0.9.1", + "purl": "pkg:golang/github.com/jstemmer/go-junit-report@v0.9.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/jstemmer/go-junit-report@v0.9.1" + }, + { + "name": "go.opencensus.io", + "version": "v0.22.4", + "purl": "pkg:golang/go.opencensus.io@v0.22.4", + "type": "library", + "bom-ref": "pkg:golang/go.opencensus.io@v0.22.4" + }, + { + "group": "google.golang.org", + "name": "api", + "version": "v0.30.0", + "purl": "pkg:golang/google.golang.org/api@v0.30.0", + "type": "library", + "bom-ref": "pkg:golang/google.golang.org/api@v0.30.0" + }, + { + "group": "github.com/kr", + "name": "pty", + "version": "v1.1.1", + "purl": "pkg:golang/github.com/kr/pty@v1.1.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/kr/pty@v1.1.1" + }, + { + "group": "github.com/envoyproxy", + "name": "go-control-plane", + "version": "v0.9.4", + "purl": "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.4", + "type": "library", + "bom-ref": "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.4" + }, + { + "group": "github.com/envoyproxy", + "name": "protoc-gen-validate", + "version": "v0.1.0", + "purl": "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0" + }, + { + "group": "github.com/golang", + "name": "glog", + "version": "v0.0.0-20160126235308-23def4e6c14b", + "purl": "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", + "type": "library", + "bom-ref": "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b" + }, + { + "group": "cloud.google.com/go", + "name": "bigquery", + "version": "v1.8.0", + "purl": "pkg:golang/cloud.google.com/go/bigquery@v1.8.0", + "type": "library", + "bom-ref": "pkg:golang/cloud.google.com/go/bigquery@v1.8.0" + }, + { + "group": "github.com/chzyer", + "name": "logex", + "version": "v1.1.10", + "purl": "pkg:golang/github.com/chzyer/logex@v1.1.10", + "type": "library", + "bom-ref": "pkg:golang/github.com/chzyer/logex@v1.1.10" + }, + { + "group": "github.com/chzyer", + "name": "readline", + "version": "v0.0.0-20180603132655-2972be24d48e", + "purl": "pkg:golang/github.com/chzyer/readline@v0.0.0-20180603132655-2972be24d48e", + "type": "library", + "bom-ref": "pkg:golang/github.com/chzyer/readline@v0.0.0-20180603132655-2972be24d48e" + }, + { + "group": "github.com/chzyer", + "name": "test", + "version": "v0.0.0-20180213035817-a1ea475d72b1", + "purl": "pkg:golang/github.com/chzyer/test@v0.0.0-20180213035817-a1ea475d72b1", + "type": "library", + "bom-ref": "pkg:golang/github.com/chzyer/test@v0.0.0-20180213035817-a1ea475d72b1" + }, + { + "group": "github.com/ianlancetaylor", + "name": "demangle", + "version": "v0.0.0-20181102032728-5e5cf60278f6", + "purl": "pkg:golang/github.com/ianlancetaylor/demangle@v0.0.0-20181102032728-5e5cf60278f6", + "type": "library", + "bom-ref": "pkg:golang/github.com/ianlancetaylor/demangle@v0.0.0-20181102032728-5e5cf60278f6" + }, + { + "group": "github.com/cncf/udpa", + "name": "go", + "version": "v0.0.0-20191209042840-269d4d468f6f", + "purl": "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20191209042840-269d4d468f6f", + "type": "library", + "bom-ref": "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20191209042840-269d4d468f6f" + }, + { + "group": "github.com/census-instrumentation", + "name": "opencensus-proto", + "version": "v0.2.1", + "purl": "pkg:golang/github.com/census-instrumentation/opencensus-proto@v0.2.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/census-instrumentation/opencensus-proto@v0.2.1" + }, + { + "group": "github.com/prometheus", + "name": "client_model", + "version": "v0.0.0-20190812154241-14fe0d1b01d4", + "purl": "pkg:golang/github.com/prometheus/client_model@v0.0.0-20190812154241-14fe0d1b01d4", + "type": "library", + "bom-ref": "pkg:golang/github.com/prometheus/client_model@v0.0.0-20190812154241-14fe0d1b01d4" + }, + { + "group": "golang.org/x", + "name": "exp", + "version": "v0.0.0-20200224162631-6cc2880d07d6", + "purl": "pkg:golang/golang.org/x/exp@v0.0.0-20200224162631-6cc2880d07d6", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/exp@v0.0.0-20200224162631-6cc2880d07d6" + }, + { + "group": "honnef.co/go", + "name": "tools", + "version": "v0.0.1-2020.1.4", + "purl": "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.4", + "type": "library", + "bom-ref": "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.4" + }, + { + "group": "cloud.google.com/go", + "name": "datastore", + "version": "v1.1.0", + "purl": "pkg:golang/cloud.google.com/go/datastore@v1.1.0", + "type": "library", + "bom-ref": "pkg:golang/cloud.google.com/go/datastore@v1.1.0" + }, + { + "group": "cloud.google.com/go", + "name": "pubsub", + "version": "v1.3.1", + "purl": "pkg:golang/cloud.google.com/go/pubsub@v1.3.1", + "type": "library", + "bom-ref": "pkg:golang/cloud.google.com/go/pubsub@v1.3.1" + }, + { + "group": "github.com/google", + "name": "martian", + "version": "v2.1.0+incompatible", + "purl": "pkg:golang/github.com/google/martian@v2.1.0%2Bincompatible", + "type": "library", + "bom-ref": "pkg:golang/github.com/google/martian@v2.1.0%2Bincompatible" + }, + { + "group": "github.com/BurntSushi", + "name": "toml", + "version": "v0.3.1", + "purl": "pkg:golang/github.com/BurntSushi/toml@v0.3.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/BurntSushi/toml@v0.3.1" + }, + { + "group": "github.com/client9", + "name": "misspell", + "version": "v0.3.4", + "purl": "pkg:golang/github.com/client9/misspell@v0.3.4", + "type": "library", + "bom-ref": "pkg:golang/github.com/client9/misspell@v0.3.4" + }, + { + "group": "rsc.io/quote", + "name": "v3", + "version": "v3.1.0", + "purl": "pkg:golang/rsc.io/quote/v3@v3.1.0", + "type": "library", + "bom-ref": "pkg:golang/rsc.io/quote/v3@v3.1.0" + }, + { + "group": "github.com/hashicorp", + "name": "golang-lru", + "version": "v0.5.1", + "purl": "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1" + }, + { + "group": "github.com/google", + "name": "renameio", + "version": "v0.1.0", + "purl": "pkg:golang/github.com/google/renameio@v0.1.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/google/renameio@v0.1.0" + }, + { + "group": "dmitri.shuralyov.com/gpu", + "name": "mtl", + "version": "v0.0.0-20190408044501-666a987793e9", + "purl": "pkg:golang/dmitri.shuralyov.com/gpu/mtl@v0.0.0-20190408044501-666a987793e9", + "type": "library", + "bom-ref": "pkg:golang/dmitri.shuralyov.com/gpu/mtl@v0.0.0-20190408044501-666a987793e9" + }, + { + "group": "github.com/BurntSushi", + "name": "xgb", + "version": "v0.0.0-20160522181843-27f122750802", + "purl": "pkg:golang/github.com/BurntSushi/xgb@v0.0.0-20160522181843-27f122750802", + "type": "library", + "bom-ref": "pkg:golang/github.com/BurntSushi/xgb@v0.0.0-20160522181843-27f122750802" + }, + { + "group": "github.com/go-gl/glfw/v3.3", + "name": "glfw", + "version": "v0.0.0-20200222043503-6f7a984d4dc4", + "purl": "pkg:golang/github.com/go-gl/glfw/v3.3/glfw@v0.0.0-20200222043503-6f7a984d4dc4", + "type": "library", + "bom-ref": "pkg:golang/github.com/go-gl/glfw/v3.3/glfw@v0.0.0-20200222043503-6f7a984d4dc4" + }, + { + "group": "golang.org/x", + "name": "image", + "version": "v0.0.0-20190802002840-cff245a6509b", + "purl": "pkg:golang/golang.org/x/image@v0.0.0-20190802002840-cff245a6509b", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/image@v0.0.0-20190802002840-cff245a6509b" + }, + { + "group": "golang.org/x", + "name": "mobile", + "version": "v0.0.0-20190719004257-d2bd2a29d028", + "purl": "pkg:golang/golang.org/x/mobile@v0.0.0-20190719004257-d2bd2a29d028", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/mobile@v0.0.0-20190719004257-d2bd2a29d028" + }, + { + "group": "rsc.io", + "name": "sampler", + "version": "v1.3.0", + "purl": "pkg:golang/rsc.io/sampler@v1.3.0", + "type": "library", + "bom-ref": "pkg:golang/rsc.io/sampler@v1.3.0" + }, + { + "group": "gopkg.in", + "name": "errgo.v2", + "version": "v2.1.0", + "purl": "pkg:golang/gopkg.in/errgo.v2@v2.1.0", + "type": "library", + "bom-ref": "pkg:golang/gopkg.in/errgo.v2@v2.1.0" + }, + { + "group": "rsc.io", + "name": "binaryregexp", + "version": "v0.2.0", + "purl": "pkg:golang/rsc.io/binaryregexp@v0.2.0", + "type": "library", + "bom-ref": "pkg:golang/rsc.io/binaryregexp@v0.2.0" + }, + { + "group": "github.com/go-gl", + "name": "glfw", + "version": "v0.0.0-20190409004039-e6da0acd62b1", + "purl": "pkg:golang/github.com/go-gl/glfw@v0.0.0-20190409004039-e6da0acd62b1", + "type": "library", + "bom-ref": "pkg:golang/github.com/go-gl/glfw@v0.0.0-20190409004039-e6da0acd62b1" + } + ], + "dependencies": [ + { + "ref": "pkg:golang/github.com/RHEcosystemAppEng/SaaSi/deployer@v0.0.0", + "dependsOn": [ + "pkg:golang/github.com/gin-gonic/gin@v1.9.1", + "pkg:golang/github.com/google/uuid@v1.1.2", + "pkg:golang/github.com/jessevdk/go-flags@v1.5.0", + "pkg:golang/github.com/kr/pretty@v0.3.1", + "pkg:golang/gopkg.in/yaml.v2@v2.4.0", + "pkg:golang/k8s.io/apimachinery@v0.26.1", + "pkg:golang/k8s.io/client-go@v0.26.1" + ] + }, + { + "ref": "pkg:golang/github.com/gin-gonic/gin@v1.9.1", + "dependsOn": [ + "pkg:golang/github.com/bytedance/sonic@v1.9.1", + "pkg:golang/github.com/gin-contrib/sse@v0.1.0", + "pkg:golang/github.com/go-playground/validator/v10@v10.14.0", + "pkg:golang/github.com/goccy/go-json@v0.10.2", + "pkg:golang/github.com/json-iterator/go@v1.1.12", + "pkg:golang/github.com/mattn/go-isatty@v0.0.19", + "pkg:golang/github.com/pelletier/go-toml/v2@v2.0.8", + "pkg:golang/github.com/stretchr/testify@v1.8.3", + "pkg:golang/github.com/ugorji/go/codec@v1.2.11", + "pkg:golang/golang.org/x/net@v0.10.0", + "pkg:golang/google.golang.org/protobuf@v1.30.0", + "pkg:golang/gopkg.in/yaml.v3@v3.0.1", + "pkg:golang/github.com/chenzhuoyu/base64x@v0.0.0-20221115062448-fe3a3abad311", + "pkg:golang/github.com/davecgh/go-spew@v1.1.1", + "pkg:golang/github.com/gabriel-vasile/mimetype@v1.4.2", + "pkg:golang/github.com/go-playground/locales@v0.14.1", + "pkg:golang/github.com/go-playground/universal-translator@v0.18.1", + "pkg:golang/github.com/klauspost/cpuid/v2@v2.2.4", + "pkg:golang/github.com/leodido/go-urn@v1.2.4", + "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd", + "pkg:golang/github.com/modern-go/reflect2@v1.0.2", + "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", + "pkg:golang/github.com/twitchyliquid64/golang-asm@v0.15.1", + "pkg:golang/golang.org/x/arch@v0.3.0", + "pkg:golang/golang.org/x/crypto@v0.9.0", + "pkg:golang/golang.org/x/sys@v0.8.0", + "pkg:golang/golang.org/x/text@v0.9.0" + ] + }, + { + "ref": "pkg:golang/github.com/google/uuid@v1.1.2", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/jessevdk/go-flags@v1.5.0", + "dependsOn": [ + "pkg:golang/golang.org/x/sys@v0.8.0" + ] + }, + { + "ref": "pkg:golang/github.com/kr/pretty@v0.3.1", + "dependsOn": [ + "pkg:golang/github.com/kr/text@v0.2.0", + "pkg:golang/github.com/rogpeppe/go-internal@v1.9.0" + ] + }, + { + "ref": "pkg:golang/gopkg.in/yaml.v2@v2.4.0", + "dependsOn": [ + "pkg:golang/gopkg.in/check.v1@v1.0.0-20200227125254-8fa46927fb4f" + ] + }, + { + "ref": "pkg:golang/k8s.io/apimachinery@v0.26.1", + "dependsOn": [ + "pkg:golang/github.com/armon/go-socks5@v0.0.0-20160902184237-e75332964ef5", + "pkg:golang/github.com/davecgh/go-spew@v1.1.1", + "pkg:golang/github.com/elazarl/goproxy@v0.0.0-20180725130230-947c36da3153", + "pkg:golang/github.com/evanphx/json-patch@v4.12.0%2Bincompatible", + "pkg:golang/github.com/gogo/protobuf@v1.3.2", + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/github.com/google/gnostic@v0.5.7-v3refs", + "pkg:golang/github.com/google/go-cmp@v0.5.9", + "pkg:golang/github.com/google/gofuzz@v1.1.0", + "pkg:golang/github.com/google/uuid@v1.1.2", + "pkg:golang/github.com/moby/spdystream@v0.2.0", + "pkg:golang/github.com/mxk/go-flowrate@v0.0.0-20140419014527-cca7078d478f", + "pkg:golang/github.com/spf13/pflag@v1.0.5", + "pkg:golang/github.com/stretchr/testify@v1.8.3", + "pkg:golang/golang.org/x/net@v0.10.0", + "pkg:golang/gopkg.in/inf.v0@v0.9.1", + "pkg:golang/k8s.io/klog/v2@v2.80.1", + "pkg:golang/k8s.io/kube-openapi@v0.0.0-20221012153701-172d655c2280", + "pkg:golang/k8s.io/utils@v0.0.0-20221107191617-1a15be271d1d", + "pkg:golang/sigs.k8s.io/json@v0.0.0-20220713155537-f223a00ba0e2", + "pkg:golang/sigs.k8s.io/structured-merge-diff/v4@v4.2.3", + "pkg:golang/sigs.k8s.io/yaml@v1.3.0", + "pkg:golang/github.com/go-logr/logr@v1.2.3", + "pkg:golang/github.com/json-iterator/go@v1.1.12", + "pkg:golang/github.com/kr/text@v0.2.0", + "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd", + "pkg:golang/github.com/modern-go/reflect2@v1.0.2", + "pkg:golang/github.com/niemeyer/pretty@v0.0.0-20200227124842-a10e7caefd8e", + "pkg:golang/github.com/onsi/ginkgo/v2@v2.4.0", + "pkg:golang/github.com/onsi/gomega@v1.23.0", + "pkg:golang/github.com/pkg/errors@v0.9.1", + "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", + "pkg:golang/golang.org/x/text@v0.9.0", + "pkg:golang/google.golang.org/protobuf@v1.30.0", + "pkg:golang/gopkg.in/check.v1@v1.0.0-20200227125254-8fa46927fb4f", + "pkg:golang/gopkg.in/yaml.v2@v2.4.0", + "pkg:golang/gopkg.in/yaml.v3@v3.0.1" + ] + }, + { + "ref": "pkg:golang/k8s.io/client-go@v0.26.1", + "dependsOn": [ + "pkg:golang/github.com/davecgh/go-spew@v1.1.1", + "pkg:golang/github.com/evanphx/json-patch@v4.12.0%2Bincompatible", + "pkg:golang/github.com/gogo/protobuf@v1.3.2", + "pkg:golang/github.com/golang/groupcache@v0.0.0-20210331224755-41bb18bfe9da", + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/github.com/google/gnostic@v0.5.7-v3refs", + "pkg:golang/github.com/google/go-cmp@v0.5.9", + "pkg:golang/github.com/google/gofuzz@v1.1.0", + "pkg:golang/github.com/google/uuid@v1.1.2", + "pkg:golang/github.com/gregjones/httpcache@v0.0.0-20180305231024-9cad4c3443a7", + "pkg:golang/github.com/imdario/mergo@v0.3.6", + "pkg:golang/github.com/peterbourgon/diskv@v2.0.1%2Bincompatible", + "pkg:golang/github.com/spf13/pflag@v1.0.5", + "pkg:golang/github.com/stretchr/testify@v1.8.3", + "pkg:golang/golang.org/x/net@v0.10.0", + "pkg:golang/golang.org/x/oauth2@v0.0.0-20220223155221-ee480838109b", + "pkg:golang/golang.org/x/term@v0.8.0", + "pkg:golang/golang.org/x/time@v0.0.0-20220210224613-90d013bbcef8", + "pkg:golang/google.golang.org/protobuf@v1.30.0", + "pkg:golang/k8s.io/api@v0.26.1", + "pkg:golang/k8s.io/apimachinery@v0.26.1", + "pkg:golang/k8s.io/klog/v2@v2.80.1", + "pkg:golang/k8s.io/kube-openapi@v0.0.0-20221012153701-172d655c2280", + "pkg:golang/k8s.io/utils@v0.0.0-20221107191617-1a15be271d1d", + "pkg:golang/sigs.k8s.io/structured-merge-diff/v4@v4.2.3", + "pkg:golang/sigs.k8s.io/yaml@v1.3.0", + "pkg:golang/github.com/emicklei/go-restful/v3@v3.9.0", + "pkg:golang/github.com/go-logr/logr@v1.2.3", + "pkg:golang/github.com/go-openapi/jsonpointer@v0.19.5", + "pkg:golang/github.com/go-openapi/jsonreference@v0.20.0", + "pkg:golang/github.com/go-openapi/swag@v0.19.14", + "pkg:golang/github.com/google/btree@v1.0.1", + "pkg:golang/github.com/josharian/intern@v1.0.0", + "pkg:golang/github.com/json-iterator/go@v1.1.12", + "pkg:golang/github.com/mailru/easyjson@v0.7.6", + "pkg:golang/github.com/moby/spdystream@v0.2.0", + "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd", + "pkg:golang/github.com/modern-go/reflect2@v1.0.2", + "pkg:golang/github.com/munnerz/goautoneg@v0.0.0-20191010083416-a7dc8b61c822", + "pkg:golang/github.com/pkg/errors@v0.9.1", + "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", + "pkg:golang/golang.org/x/sys@v0.8.0", + "pkg:golang/golang.org/x/text@v0.9.0", + "pkg:golang/google.golang.org/appengine@v1.6.7", + "pkg:golang/gopkg.in/inf.v0@v0.9.1", + "pkg:golang/gopkg.in/yaml.v2@v2.4.0", + "pkg:golang/gopkg.in/yaml.v3@v3.0.1", + "pkg:golang/sigs.k8s.io/json@v0.0.0-20220713155537-f223a00ba0e2" + ] + }, + { + "ref": "pkg:golang/github.com/bytedance/sonic@v1.9.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/gin-contrib/sse@v0.1.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/go-playground/validator/v10@v10.14.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/goccy/go-json@v0.10.2", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/json-iterator/go@v1.1.12", + "dependsOn": [ + "pkg:golang/github.com/davecgh/go-spew@v1.1.1", + "pkg:golang/github.com/google/gofuzz@v1.1.0", + "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd", + "pkg:golang/github.com/modern-go/reflect2@v1.0.2", + "pkg:golang/github.com/stretchr/testify@v1.8.3" + ] + }, + { + "ref": "pkg:golang/github.com/mattn/go-isatty@v0.0.19", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/pelletier/go-toml/v2@v2.0.8", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/stretchr/testify@v1.8.3", + "dependsOn": [ + "pkg:golang/github.com/davecgh/go-spew@v1.1.1", + "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", + "pkg:golang/github.com/stretchr/objx@v0.1.0", + "pkg:golang/gopkg.in/yaml.v3@v3.0.1", + "pkg:golang/gopkg.in/yaml.v2@v2.4.0" + ] + }, + { + "ref": "pkg:golang/github.com/ugorji/go/codec@v1.2.11", + "dependsOn": [] + }, + { + "ref": "pkg:golang/golang.org/x/net@v0.10.0", + "dependsOn": [ + "pkg:golang/golang.org/x/sys@v0.8.0", + "pkg:golang/golang.org/x/term@v0.8.0", + "pkg:golang/golang.org/x/text@v0.9.0", + "pkg:golang/golang.org/x/crypto@v0.9.0" + ] + }, + { + "ref": "pkg:golang/google.golang.org/protobuf@v1.30.0", + "dependsOn": [ + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/github.com/google/go-cmp@v0.5.9", + "pkg:golang/google.golang.org/genproto@v0.0.0-20201019141844-1ed22bb0c154" + ] + }, + { + "ref": "pkg:golang/gopkg.in/yaml.v3@v3.0.1", + "dependsOn": [ + "pkg:golang/gopkg.in/check.v1@v1.0.0-20200227125254-8fa46927fb4f" + ] + }, + { + "ref": "pkg:golang/github.com/chenzhuoyu/base64x@v0.0.0-20221115062448-fe3a3abad311", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/davecgh/go-spew@v1.1.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/gabriel-vasile/mimetype@v1.4.2", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/go-playground/locales@v0.14.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/go-playground/universal-translator@v0.18.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/klauspost/cpuid/v2@v2.2.4", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/leodido/go-urn@v1.2.4", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/modern-go/reflect2@v1.0.2", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/twitchyliquid64/golang-asm@v0.15.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/golang.org/x/arch@v0.3.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/golang.org/x/crypto@v0.9.0", + "dependsOn": [ + "pkg:golang/golang.org/x/sys@v0.8.0", + "pkg:golang/golang.org/x/net@v0.10.0" + ] + }, + { + "ref": "pkg:golang/golang.org/x/sys@v0.8.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/golang.org/x/text@v0.9.0", + "dependsOn": [ + "pkg:golang/golang.org/x/tools@v0.6.0", + "pkg:golang/golang.org/x/mod@v0.8.0", + "pkg:golang/golang.org/x/sys@v0.8.0" + ] + }, + { + "ref": "pkg:golang/github.com/go-openapi/jsonpointer@v0.19.5", + "dependsOn": [ + "pkg:golang/github.com/go-openapi/swag@v0.19.14", + "pkg:golang/github.com/mailru/easyjson@v0.7.6", + "pkg:golang/github.com/stretchr/testify@v1.8.3" + ] + }, + { + "ref": "pkg:golang/github.com/go-openapi/swag@v0.19.14", + "dependsOn": [ + "pkg:golang/github.com/davecgh/go-spew@v1.1.1", + "pkg:golang/github.com/kr/text@v0.2.0", + "pkg:golang/github.com/mailru/easyjson@v0.7.6", + "pkg:golang/github.com/niemeyer/pretty@v0.0.0-20200227124842-a10e7caefd8e", + "pkg:golang/github.com/stretchr/testify@v1.8.3", + "pkg:golang/gopkg.in/check.v1@v1.0.0-20200227125254-8fa46927fb4f", + "pkg:golang/gopkg.in/yaml.v2@v2.4.0", + "pkg:golang/gopkg.in/yaml.v3@v3.0.1", + "pkg:golang/github.com/kr/pretty@v0.3.1" + ] + }, + { + "ref": "pkg:golang/github.com/mailru/easyjson@v0.7.6", + "dependsOn": [ + "pkg:golang/github.com/josharian/intern@v1.0.0" + ] + }, + { + "ref": "pkg:golang/github.com/go-openapi/jsonreference@v0.20.0", + "dependsOn": [ + "pkg:golang/github.com/go-openapi/jsonpointer@v0.19.5", + "pkg:golang/github.com/stretchr/testify@v1.8.3" + ] + }, + { + "ref": "pkg:golang/github.com/kr/text@v0.2.0", + "dependsOn": [ + "pkg:golang/github.com/creack/pty@v1.1.9", + "pkg:golang/github.com/kr/pty@v1.1.1" + ] + }, + { + "ref": "pkg:golang/github.com/niemeyer/pretty@v0.0.0-20200227124842-a10e7caefd8e", + "dependsOn": [ + "pkg:golang/github.com/kr/text@v0.2.0" + ] + }, + { + "ref": "pkg:golang/gopkg.in/check.v1@v1.0.0-20200227125254-8fa46927fb4f", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/gogo/protobuf@v1.3.2", + "dependsOn": [ + "pkg:golang/github.com/kisielk/errcheck@v1.5.0", + "pkg:golang/github.com/kisielk/gotool@v1.0.0", + "pkg:golang/golang.org/x/tools@v0.6.0" + ] + }, + { + "ref": "pkg:golang/github.com/kisielk/errcheck@v1.5.0", + "dependsOn": [ + "pkg:golang/golang.org/x/tools@v0.6.0" + ] + }, + { + "ref": "pkg:golang/github.com/kisielk/gotool@v1.0.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/golang.org/x/tools@v0.6.0", + "dependsOn": [ + "pkg:golang/github.com/yuin/goldmark@v1.2.1", + "pkg:golang/golang.org/x/mod@v0.8.0", + "pkg:golang/golang.org/x/net@v0.10.0", + "pkg:golang/golang.org/x/sync@v0.0.0-20201020160332-67f06af15bc9", + "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1", + "pkg:golang/google.golang.org/appengine@v1.6.7" + ] + }, + { + "ref": "pkg:golang/github.com/golang/protobuf@v1.5.2", + "dependsOn": [ + "pkg:golang/github.com/google/go-cmp@v0.5.9", + "pkg:golang/google.golang.org/protobuf@v1.30.0" + ] + }, + { + "ref": "pkg:golang/github.com/google/go-cmp@v0.5.9", + "dependsOn": [ + "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1" + ] + }, + { + "ref": "pkg:golang/github.com/google/gnostic@v0.5.7-v3refs", + "dependsOn": [ + "pkg:golang/github.com/davecgh/go-spew@v1.1.1", + "pkg:golang/github.com/docopt/docopt-go@v0.0.0-20180111231733-ee0de3bc6815", + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/github.com/kr/pretty@v0.3.1", + "pkg:golang/github.com/stoewer/go-strcase@v1.2.0", + "pkg:golang/golang.org/x/tools@v0.6.0", + "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1", + "pkg:golang/google.golang.org/genproto@v0.0.0-20201019141844-1ed22bb0c154", + "pkg:golang/google.golang.org/protobuf@v1.30.0", + "pkg:golang/gopkg.in/check.v1@v1.0.0-20200227125254-8fa46927fb4f", + "pkg:golang/gopkg.in/yaml.v3@v3.0.1" + ] + }, + { + "ref": "pkg:golang/github.com/docopt/docopt-go@v0.0.0-20180111231733-ee0de3bc6815", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/stoewer/go-strcase@v1.2.0", + "dependsOn": [ + "pkg:golang/github.com/stretchr/testify@v1.8.3" + ] + }, + { + "ref": "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20201019141844-1ed22bb0c154", + "dependsOn": [ + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/golang.org/x/lint@v0.0.0-20200302205851-738671d3881b", + "pkg:golang/golang.org/x/tools@v0.6.0", + "pkg:golang/google.golang.org/grpc@v1.31.0", + "pkg:golang/google.golang.org/protobuf@v1.30.0", + "pkg:golang/golang.org/x/exp@v0.0.0-20200224162631-6cc2880d07d6", + "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.4", + "pkg:golang/golang.org/x/net@v0.10.0", + "pkg:golang/golang.org/x/sync@v0.0.0-20201020160332-67f06af15bc9" + ] + }, + { + "ref": "pkg:golang/github.com/google/gofuzz@v1.1.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/rogpeppe/go-internal@v1.9.0", + "dependsOn": [ + "pkg:golang/github.com/pkg/diff@v0.0.0-20210226163009-20ebb0f2a09e", + "pkg:golang/gopkg.in/errgo.v2@v2.1.0" + ] + }, + { + "ref": "pkg:golang/github.com/creack/pty@v1.1.9", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/josharian/intern@v1.0.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/pkg/diff@v0.0.0-20210226163009-20ebb0f2a09e", + "dependsOn": [] + }, + { + "ref": "pkg:golang/golang.org/x/term@v0.8.0", + "dependsOn": [ + "pkg:golang/golang.org/x/sys@v0.8.0" + ] + }, + { + "ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20220223155221-ee480838109b", + "dependsOn": [ + "pkg:golang/cloud.google.com/go@v0.65.0", + "pkg:golang/golang.org/x/net@v0.10.0", + "pkg:golang/google.golang.org/appengine@v1.6.7", + "pkg:golang/golang.org/x/sync@v0.0.0-20201020160332-67f06af15bc9" + ] + }, + { + "ref": "pkg:golang/cloud.google.com/go@v0.65.0", + "dependsOn": [ + "pkg:golang/cloud.google.com/go/storage@v1.10.0", + "pkg:golang/github.com/golang/mock@v1.4.4", + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/github.com/google/go-cmp@v0.5.9", + "pkg:golang/github.com/google/martian/v3@v3.0.0", + "pkg:golang/github.com/google/pprof@v0.0.0-20200708004538-1a94d8640e99", + "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", + "pkg:golang/github.com/jstemmer/go-junit-report@v0.9.1", + "pkg:golang/go.opencensus.io@v0.22.4", + "pkg:golang/golang.org/x/lint@v0.0.0-20200302205851-738671d3881b", + "pkg:golang/golang.org/x/net@v0.10.0", + "pkg:golang/golang.org/x/oauth2@v0.0.0-20220223155221-ee480838109b", + "pkg:golang/golang.org/x/text@v0.9.0", + "pkg:golang/golang.org/x/tools@v0.6.0", + "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1", + "pkg:golang/google.golang.org/api@v0.30.0", + "pkg:golang/google.golang.org/genproto@v0.0.0-20201019141844-1ed22bb0c154", + "pkg:golang/google.golang.org/grpc@v1.31.0", + "pkg:golang/cloud.google.com/go/bigquery@v1.8.0", + "pkg:golang/cloud.google.com/go/datastore@v1.1.0", + "pkg:golang/cloud.google.com/go/pubsub@v1.3.1", + "pkg:golang/github.com/google/martian@v2.1.0%2Bincompatible", + "pkg:golang/golang.org/x/sync@v0.0.0-20201020160332-67f06af15bc9", + "pkg:golang/golang.org/x/sys@v0.8.0", + "pkg:golang/google.golang.org/appengine@v1.6.7", + "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.4", + "pkg:golang/google.golang.org/protobuf@v1.30.0", + "pkg:golang/github.com/golang/groupcache@v0.0.0-20210331224755-41bb18bfe9da", + "pkg:golang/golang.org/x/exp@v0.0.0-20200224162631-6cc2880d07d6", + "pkg:golang/golang.org/x/mod@v0.8.0", + "pkg:golang/github.com/google/btree@v1.0.1", + "pkg:golang/golang.org/x/time@v0.0.0-20220210224613-90d013bbcef8", + "pkg:golang/rsc.io/binaryregexp@v0.2.0" + ] + }, + { + "ref": "pkg:golang/google.golang.org/appengine@v1.6.7", + "dependsOn": [ + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/golang.org/x/net@v0.10.0", + "pkg:golang/golang.org/x/text@v0.9.0", + "pkg:golang/golang.org/x/crypto@v0.9.0", + "pkg:golang/golang.org/x/sys@v0.8.0", + "pkg:golang/golang.org/x/tools@v0.6.0" + ] + }, + { + "ref": "pkg:golang/golang.org/x/mod@v0.8.0", + "dependsOn": [ + "pkg:golang/golang.org/x/crypto@v0.9.0", + "pkg:golang/golang.org/x/tools@v0.6.0", + "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1" + ] + }, + { + "ref": "pkg:golang/k8s.io/api@v0.26.1", + "dependsOn": [ + "pkg:golang/github.com/gogo/protobuf@v1.3.2", + "pkg:golang/github.com/stretchr/testify@v1.8.3", + "pkg:golang/k8s.io/apimachinery@v0.26.1", + "pkg:golang/github.com/davecgh/go-spew@v1.1.1", + "pkg:golang/github.com/go-logr/logr@v1.2.3", + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/github.com/google/go-cmp@v0.5.9", + "pkg:golang/github.com/google/gofuzz@v1.1.0", + "pkg:golang/github.com/json-iterator/go@v1.1.12", + "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd", + "pkg:golang/github.com/modern-go/reflect2@v1.0.2", + "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", + "pkg:golang/github.com/spf13/pflag@v1.0.5", + "pkg:golang/golang.org/x/net@v0.10.0", + "pkg:golang/golang.org/x/text@v0.9.0", + "pkg:golang/google.golang.org/protobuf@v1.30.0", + "pkg:golang/gopkg.in/inf.v0@v0.9.1", + "pkg:golang/gopkg.in/yaml.v2@v2.4.0", + "pkg:golang/gopkg.in/yaml.v3@v3.0.1", + "pkg:golang/k8s.io/klog/v2@v2.80.1", + "pkg:golang/k8s.io/utils@v0.0.0-20221107191617-1a15be271d1d", + "pkg:golang/sigs.k8s.io/json@v0.0.0-20220713155537-f223a00ba0e2", + "pkg:golang/sigs.k8s.io/structured-merge-diff/v4@v4.2.3", + "pkg:golang/sigs.k8s.io/yaml@v1.3.0" + ] + }, + { + "ref": "pkg:golang/github.com/go-logr/logr@v1.2.3", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/spf13/pflag@v1.0.5", + "dependsOn": [] + }, + { + "ref": "pkg:golang/gopkg.in/inf.v0@v0.9.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/k8s.io/klog/v2@v2.80.1", + "dependsOn": [ + "pkg:golang/github.com/go-logr/logr@v1.2.3" + ] + }, + { + "ref": "pkg:golang/k8s.io/utils@v0.0.0-20221107191617-1a15be271d1d", + "dependsOn": [ + "pkg:golang/github.com/davecgh/go-spew@v1.1.1", + "pkg:golang/k8s.io/klog/v2@v2.80.1", + "pkg:golang/github.com/go-logr/logr@v1.2.3" + ] + }, + { + "ref": "pkg:golang/sigs.k8s.io/json@v0.0.0-20220713155537-f223a00ba0e2", + "dependsOn": [] + }, + { + "ref": "pkg:golang/sigs.k8s.io/structured-merge-diff/v4@v4.2.3", + "dependsOn": [ + "pkg:golang/gopkg.in/yaml.v2@v2.4.0", + "pkg:golang/github.com/google/gofuzz@v1.1.0", + "pkg:golang/github.com/json-iterator/go@v1.1.12", + "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd" + ] + }, + { + "ref": "pkg:golang/sigs.k8s.io/yaml@v1.3.0", + "dependsOn": [ + "pkg:golang/github.com/davecgh/go-spew@v1.1.1", + "pkg:golang/gopkg.in/yaml.v2@v2.4.0" + ] + }, + { + "ref": "pkg:golang/github.com/armon/go-socks5@v0.0.0-20160902184237-e75332964ef5", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/elazarl/goproxy@v0.0.0-20180725130230-947c36da3153", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/evanphx/json-patch@v4.12.0%2Bincompatible", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/moby/spdystream@v0.2.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/mxk/go-flowrate@v0.0.0-20140419014527-cca7078d478f", + "dependsOn": [] + }, + { + "ref": "pkg:golang/k8s.io/kube-openapi@v0.0.0-20221012153701-172d655c2280", + "dependsOn": [ + "pkg:golang/github.com/NYTimes/gziphandler@v0.0.0-20170623195520-56545f4a5d46", + "pkg:golang/github.com/asaskevich/govalidator@v0.0.0-20190424111038-f61b66f89f4a", + "pkg:golang/github.com/emicklei/go-restful/v3@v3.9.0", + "pkg:golang/github.com/go-openapi/jsonreference@v0.20.0", + "pkg:golang/github.com/go-openapi/swag@v0.19.14", + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/github.com/google/gnostic@v0.5.7-v3refs", + "pkg:golang/github.com/google/go-cmp@v0.5.9", + "pkg:golang/github.com/google/gofuzz@v1.1.0", + "pkg:golang/github.com/google/uuid@v1.1.2", + "pkg:golang/github.com/mitchellh/mapstructure@v1.1.2", + "pkg:golang/github.com/munnerz/goautoneg@v0.0.0-20191010083416-a7dc8b61c822", + "pkg:golang/github.com/onsi/ginkgo/v2@v2.4.0", + "pkg:golang/github.com/onsi/gomega@v1.23.0", + "pkg:golang/github.com/spf13/pflag@v1.0.5", + "pkg:golang/github.com/stretchr/testify@v1.8.3", + "pkg:golang/google.golang.org/protobuf@v1.30.0", + "pkg:golang/gopkg.in/yaml.v2@v2.4.0", + "pkg:golang/gopkg.in/yaml.v3@v3.0.1", + "pkg:golang/k8s.io/gengo@v0.0.0-20210813121822-485abfe95c7c", + "pkg:golang/k8s.io/klog/v2@v2.80.1", + "pkg:golang/k8s.io/utils@v0.0.0-20221107191617-1a15be271d1d", + "pkg:golang/sigs.k8s.io/structured-merge-diff/v4@v4.2.3", + "pkg:golang/sigs.k8s.io/yaml@v1.3.0", + "pkg:golang/github.com/PuerkitoBio/purell@v1.1.1", + "pkg:golang/github.com/PuerkitoBio/urlesc@v0.0.0-20170810143723-de5bf2ad4578", + "pkg:golang/github.com/davecgh/go-spew@v1.1.1", + "pkg:golang/github.com/go-logr/logr@v1.2.3", + "pkg:golang/github.com/go-openapi/jsonpointer@v0.19.5", + "pkg:golang/github.com/json-iterator/go@v1.1.12", + "pkg:golang/github.com/mailru/easyjson@v0.7.6", + "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd", + "pkg:golang/github.com/modern-go/reflect2@v1.0.2", + "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", + "pkg:golang/golang.org/x/mod@v0.8.0", + "pkg:golang/golang.org/x/net@v0.10.0", + "pkg:golang/golang.org/x/sys@v0.8.0", + "pkg:golang/golang.org/x/text@v0.9.0", + "pkg:golang/golang.org/x/tools@v0.6.0", + "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1" + ] + }, + { + "ref": "pkg:golang/github.com/onsi/ginkgo/v2@v2.4.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/onsi/gomega@v1.23.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/pkg/errors@v0.9.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/golang/groupcache@v0.0.0-20210331224755-41bb18bfe9da", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/gregjones/httpcache@v0.0.0-20180305231024-9cad4c3443a7", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/imdario/mergo@v0.3.6", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/peterbourgon/diskv@v2.0.1%2Bincompatible", + "dependsOn": [] + }, + { + "ref": "pkg:golang/golang.org/x/time@v0.0.0-20220210224613-90d013bbcef8", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/emicklei/go-restful/v3@v3.9.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/google/btree@v1.0.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/munnerz/goautoneg@v0.0.0-20191010083416-a7dc8b61c822", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/NYTimes/gziphandler@v0.0.0-20170623195520-56545f4a5d46", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/asaskevich/govalidator@v0.0.0-20190424111038-f61b66f89f4a", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/mitchellh/mapstructure@v1.1.2", + "dependsOn": [] + }, + { + "ref": "pkg:golang/k8s.io/gengo@v0.0.0-20210813121822-485abfe95c7c", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/PuerkitoBio/purell@v1.1.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/PuerkitoBio/urlesc@v0.0.0-20170810143723-de5bf2ad4578", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/stretchr/objx@v0.1.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/yuin/goldmark@v1.2.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/golang.org/x/sync@v0.0.0-20201020160332-67f06af15bc9", + "dependsOn": [] + }, + { + "ref": "pkg:golang/golang.org/x/lint@v0.0.0-20200302205851-738671d3881b", + "dependsOn": [ + "pkg:golang/golang.org/x/tools@v0.6.0" + ] + }, + { + "ref": "pkg:golang/google.golang.org/grpc@v1.31.0", + "dependsOn": [ + "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.4", + "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", + "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", + "pkg:golang/github.com/golang/mock@v1.4.4", + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/github.com/google/go-cmp@v0.5.9", + "pkg:golang/golang.org/x/net@v0.10.0", + "pkg:golang/golang.org/x/oauth2@v0.0.0-20220223155221-ee480838109b", + "pkg:golang/golang.org/x/sys@v0.8.0", + "pkg:golang/google.golang.org/genproto@v0.0.0-20201019141844-1ed22bb0c154", + "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20191209042840-269d4d468f6f", + "pkg:golang/cloud.google.com/go@v0.65.0", + "pkg:golang/github.com/BurntSushi/toml@v0.3.1", + "pkg:golang/github.com/client9/misspell@v0.3.4", + "pkg:golang/golang.org/x/lint@v0.0.0-20200302205851-738671d3881b", + "pkg:golang/golang.org/x/sync@v0.0.0-20201020160332-67f06af15bc9", + "pkg:golang/golang.org/x/text@v0.9.0", + "pkg:golang/golang.org/x/tools@v0.6.0", + "pkg:golang/google.golang.org/appengine@v1.6.7", + "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.4" + ] + }, + { + "ref": "pkg:golang/cloud.google.com/go/storage@v1.10.0", + "dependsOn": [ + "pkg:golang/cloud.google.com/go@v0.65.0", + "pkg:golang/cloud.google.com/go/bigquery@v1.8.0", + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/github.com/google/go-cmp@v0.5.9", + "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", + "pkg:golang/golang.org/x/net@v0.10.0", + "pkg:golang/golang.org/x/oauth2@v0.0.0-20220223155221-ee480838109b", + "pkg:golang/golang.org/x/sys@v0.8.0", + "pkg:golang/golang.org/x/tools@v0.6.0", + "pkg:golang/google.golang.org/api@v0.30.0", + "pkg:golang/google.golang.org/genproto@v0.0.0-20201019141844-1ed22bb0c154", + "pkg:golang/google.golang.org/grpc@v1.31.0", + "pkg:golang/cloud.google.com/go/datastore@v1.1.0", + "pkg:golang/golang.org/x/exp@v0.0.0-20200224162631-6cc2880d07d6", + "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.4", + "pkg:golang/cloud.google.com/go/pubsub@v1.3.1", + "pkg:golang/github.com/golang/groupcache@v0.0.0-20210331224755-41bb18bfe9da", + "pkg:golang/github.com/jstemmer/go-junit-report@v0.9.1", + "pkg:golang/go.opencensus.io@v0.22.4", + "pkg:golang/google.golang.org/appengine@v1.6.7" + ] + }, + { + "ref": "pkg:golang/github.com/golang/mock@v1.4.4", + "dependsOn": [ + "pkg:golang/golang.org/x/tools@v0.6.0", + "pkg:golang/rsc.io/quote/v3@v3.1.0" + ] + }, + { + "ref": "pkg:golang/github.com/google/martian/v3@v3.0.0", + "dependsOn": [ + "pkg:golang/golang.org/x/net@v0.10.0" + ] + }, + { + "ref": "pkg:golang/github.com/google/pprof@v0.0.0-20200708004538-1a94d8640e99", + "dependsOn": [ + "pkg:golang/github.com/chzyer/logex@v1.1.10", + "pkg:golang/github.com/chzyer/readline@v0.0.0-20180603132655-2972be24d48e", + "pkg:golang/github.com/chzyer/test@v0.0.0-20180213035817-a1ea475d72b1", + "pkg:golang/github.com/ianlancetaylor/demangle@v0.0.0-20181102032728-5e5cf60278f6", + "pkg:golang/golang.org/x/sys@v0.8.0" + ] + }, + { + "ref": "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", + "dependsOn": [ + "pkg:golang/google.golang.org/grpc@v1.31.0" + ] + }, + { + "ref": "pkg:golang/github.com/jstemmer/go-junit-report@v0.9.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/go.opencensus.io@v0.22.4", + "dependsOn": [ + "pkg:golang/github.com/golang/groupcache@v0.0.0-20210331224755-41bb18bfe9da", + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/github.com/google/go-cmp@v0.5.9", + "pkg:golang/github.com/stretchr/testify@v1.8.3", + "pkg:golang/golang.org/x/net@v0.10.0", + "pkg:golang/golang.org/x/sys@v0.8.0", + "pkg:golang/golang.org/x/text@v0.9.0", + "pkg:golang/google.golang.org/genproto@v0.0.0-20201019141844-1ed22bb0c154", + "pkg:golang/google.golang.org/grpc@v1.31.0", + "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1" + ] + }, + { + "ref": "pkg:golang/google.golang.org/api@v0.30.0", + "dependsOn": [ + "pkg:golang/cloud.google.com/go@v0.65.0", + "pkg:golang/github.com/google/go-cmp@v0.5.9", + "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", + "pkg:golang/go.opencensus.io@v0.22.4", + "pkg:golang/golang.org/x/lint@v0.0.0-20200302205851-738671d3881b", + "pkg:golang/golang.org/x/oauth2@v0.0.0-20220223155221-ee480838109b", + "pkg:golang/golang.org/x/sync@v0.0.0-20201020160332-67f06af15bc9", + "pkg:golang/golang.org/x/sys@v0.8.0", + "pkg:golang/golang.org/x/tools@v0.6.0", + "pkg:golang/google.golang.org/appengine@v1.6.7", + "pkg:golang/google.golang.org/genproto@v0.0.0-20201019141844-1ed22bb0c154", + "pkg:golang/google.golang.org/grpc@v1.31.0", + "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.4", + "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1", + "pkg:golang/golang.org/x/net@v0.10.0", + "pkg:golang/golang.org/x/text@v0.9.0", + "pkg:golang/github.com/golang/protobuf@v1.5.2" + ] + }, + { + "ref": "pkg:golang/github.com/kr/pty@v1.1.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.4", + "dependsOn": [ + "pkg:golang/github.com/census-instrumentation/opencensus-proto@v0.2.1", + "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/github.com/prometheus/client_model@v0.0.0-20190812154241-14fe0d1b01d4", + "pkg:golang/google.golang.org/genproto@v0.0.0-20201019141844-1ed22bb0c154", + "pkg:golang/google.golang.org/grpc@v1.31.0", + "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20191209042840-269d4d468f6f", + "pkg:golang/github.com/google/go-cmp@v0.5.9" + ] + }, + { + "ref": "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", + "dependsOn": [] + }, + { + "ref": "pkg:golang/cloud.google.com/go/bigquery@v1.8.0", + "dependsOn": [ + "pkg:golang/cloud.google.com/go@v0.65.0", + "pkg:golang/cloud.google.com/go/storage@v1.10.0", + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/github.com/google/go-cmp@v0.5.9", + "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", + "pkg:golang/golang.org/x/mod@v0.8.0", + "pkg:golang/golang.org/x/net@v0.10.0", + "pkg:golang/golang.org/x/sys@v0.8.0", + "pkg:golang/golang.org/x/tools@v0.6.0", + "pkg:golang/google.golang.org/api@v0.30.0", + "pkg:golang/google.golang.org/genproto@v0.0.0-20201019141844-1ed22bb0c154", + "pkg:golang/google.golang.org/grpc@v1.31.0", + "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.4", + "pkg:golang/github.com/golang/groupcache@v0.0.0-20210331224755-41bb18bfe9da", + "pkg:golang/golang.org/x/exp@v0.0.0-20200224162631-6cc2880d07d6", + "pkg:golang/cloud.google.com/go/pubsub@v1.3.1", + "pkg:golang/google.golang.org/appengine@v1.6.7", + "pkg:golang/golang.org/x/lint@v0.0.0-20200302205851-738671d3881b" + ] + }, + { + "ref": "pkg:golang/github.com/chzyer/logex@v1.1.10", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/chzyer/readline@v0.0.0-20180603132655-2972be24d48e", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/chzyer/test@v0.0.0-20180213035817-a1ea475d72b1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/ianlancetaylor/demangle@v0.0.0-20181102032728-5e5cf60278f6", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20191209042840-269d4d468f6f", + "dependsOn": [ + "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/google.golang.org/grpc@v1.31.0" + ] + }, + { + "ref": "pkg:golang/github.com/census-instrumentation/opencensus-proto@v0.2.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/prometheus/client_model@v0.0.0-20190812154241-14fe0d1b01d4", + "dependsOn": [ + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/golang.org/x/sync@v0.0.0-20201020160332-67f06af15bc9" + ] + }, + { + "ref": "pkg:golang/golang.org/x/exp@v0.0.0-20200224162631-6cc2880d07d6", + "dependsOn": [ + "pkg:golang/dmitri.shuralyov.com/gpu/mtl@v0.0.0-20190408044501-666a987793e9", + "pkg:golang/github.com/BurntSushi/xgb@v0.0.0-20160522181843-27f122750802", + "pkg:golang/github.com/go-gl/glfw/v3.3/glfw@v0.0.0-20200222043503-6f7a984d4dc4", + "pkg:golang/golang.org/x/image@v0.0.0-20190802002840-cff245a6509b", + "pkg:golang/golang.org/x/mobile@v0.0.0-20190719004257-d2bd2a29d028", + "pkg:golang/golang.org/x/mod@v0.8.0", + "pkg:golang/golang.org/x/sys@v0.8.0", + "pkg:golang/golang.org/x/tools@v0.6.0", + "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1", + "pkg:golang/github.com/go-gl/glfw@v0.0.0-20190409004039-e6da0acd62b1" + ] + }, + { + "ref": "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.4", + "dependsOn": [ + "pkg:golang/github.com/BurntSushi/toml@v0.3.1", + "pkg:golang/github.com/google/renameio@v0.1.0", + "pkg:golang/github.com/kisielk/gotool@v1.0.0", + "pkg:golang/github.com/rogpeppe/go-internal@v1.9.0", + "pkg:golang/golang.org/x/mod@v0.8.0", + "pkg:golang/golang.org/x/tools@v0.6.0" + ] + }, + { + "ref": "pkg:golang/cloud.google.com/go/datastore@v1.1.0", + "dependsOn": [ + "pkg:golang/cloud.google.com/go@v0.65.0", + "pkg:golang/cloud.google.com/go/pubsub@v1.3.1", + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/github.com/google/go-cmp@v0.5.9", + "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", + "pkg:golang/golang.org/x/exp@v0.0.0-20200224162631-6cc2880d07d6", + "pkg:golang/golang.org/x/sys@v0.8.0", + "pkg:golang/golang.org/x/tools@v0.6.0", + "pkg:golang/google.golang.org/api@v0.30.0", + "pkg:golang/google.golang.org/genproto@v0.0.0-20201019141844-1ed22bb0c154", + "pkg:golang/google.golang.org/grpc@v1.31.0", + "pkg:golang/google.golang.org/appengine@v1.6.7" + ] + }, + { + "ref": "pkg:golang/cloud.google.com/go/pubsub@v1.3.1", + "dependsOn": [ + "pkg:golang/cloud.google.com/go@v0.65.0", + "pkg:golang/cloud.google.com/go/bigquery@v1.8.0", + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/github.com/google/go-cmp@v0.5.9", + "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", + "pkg:golang/go.opencensus.io@v0.22.4", + "pkg:golang/golang.org/x/lint@v0.0.0-20200302205851-738671d3881b", + "pkg:golang/golang.org/x/mod@v0.8.0", + "pkg:golang/golang.org/x/net@v0.10.0", + "pkg:golang/golang.org/x/oauth2@v0.0.0-20220223155221-ee480838109b", + "pkg:golang/golang.org/x/sync@v0.0.0-20201020160332-67f06af15bc9", + "pkg:golang/golang.org/x/sys@v0.8.0", + "pkg:golang/golang.org/x/time@v0.0.0-20220210224613-90d013bbcef8", + "pkg:golang/golang.org/x/tools@v0.6.0", + "pkg:golang/google.golang.org/api@v0.30.0", + "pkg:golang/google.golang.org/genproto@v0.0.0-20201019141844-1ed22bb0c154", + "pkg:golang/google.golang.org/grpc@v1.31.0", + "pkg:golang/cloud.google.com/go/storage@v1.10.0", + "pkg:golang/golang.org/x/exp@v0.0.0-20200224162631-6cc2880d07d6" + ] + }, + { + "ref": "pkg:golang/github.com/google/martian@v2.1.0%2Bincompatible", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/BurntSushi/toml@v0.3.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/client9/misspell@v0.3.4", + "dependsOn": [] + }, + { + "ref": "pkg:golang/rsc.io/quote/v3@v3.1.0", + "dependsOn": [ + "pkg:golang/rsc.io/sampler@v1.3.0" + ] + }, + { + "ref": "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/google/renameio@v0.1.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/dmitri.shuralyov.com/gpu/mtl@v0.0.0-20190408044501-666a987793e9", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/BurntSushi/xgb@v0.0.0-20160522181843-27f122750802", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/go-gl/glfw/v3.3/glfw@v0.0.0-20200222043503-6f7a984d4dc4", + "dependsOn": [] + }, + { + "ref": "pkg:golang/golang.org/x/image@v0.0.0-20190802002840-cff245a6509b", + "dependsOn": [ + "pkg:golang/golang.org/x/text@v0.9.0" + ] + }, + { + "ref": "pkg:golang/golang.org/x/mobile@v0.0.0-20190719004257-d2bd2a29d028", + "dependsOn": [ + "pkg:golang/golang.org/x/exp@v0.0.0-20200224162631-6cc2880d07d6", + "pkg:golang/golang.org/x/image@v0.0.0-20190802002840-cff245a6509b", + "pkg:golang/golang.org/x/sys@v0.8.0" + ] + }, + { + "ref": "pkg:golang/rsc.io/sampler@v1.3.0", + "dependsOn": [ + "pkg:golang/golang.org/x/text@v0.9.0" + ] + }, + { + "ref": "pkg:golang/gopkg.in/errgo.v2@v2.1.0", + "dependsOn": [ + "pkg:golang/github.com/kr/pretty@v0.3.1", + "pkg:golang/gopkg.in/check.v1@v1.0.0-20200227125254-8fa46927fb4f" + ] + }, + { + "ref": "pkg:golang/rsc.io/binaryregexp@v0.2.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/go-gl/glfw@v0.0.0-20190409004039-e6da0acd62b1", + "dependsOn": [] + } + ] } diff --git a/test/providers/tst_manifests/golang/go_mod_test_ignore/expected_sbom_component_analysis.json b/test/providers/tst_manifests/golang/go_mod_test_ignore/expected_sbom_component_analysis.json index 7a2b0226..bb56585a 100644 --- a/test/providers/tst_manifests/golang/go_mod_test_ignore/expected_sbom_component_analysis.json +++ b/test/providers/tst_manifests/golang/go_mod_test_ignore/expected_sbom_component_analysis.json @@ -1,462 +1,129 @@ { - "bomFormat": "CycloneDX", - "specVersion": "1.4", - "version": 1, - "metadata": { - "timestamp": "2023-08-07T00:00:00.000Z", - "component": { - "group": "github.com/GoogleCloudPlatform/microservices-demo/src", - "name": "checkoutservice", - "version": "v0.0.0", - "purl": "pkg:golang/github.com/GoogleCloudPlatform/microservices-demo/src/checkoutservice@v0.0.0", - "type": "application", - "bom-ref": "pkg:golang/github.com/GoogleCloudPlatform/microservices-demo/src/checkoutservice@v0.0.0" - } - }, - "components": [ - { - "group": "github.com/GoogleCloudPlatform/microservices-demo/src", - "name": "checkoutservice", - "version": "v0.0.0", - "purl": "pkg:golang/github.com/GoogleCloudPlatform/microservices-demo/src/checkoutservice@v0.0.0", - "type": "application", - "bom-ref": "pkg:golang/github.com/GoogleCloudPlatform/microservices-demo/src/checkoutservice@v0.0.0" - }, - { - "group": "cloud.google.com", - "name": "go", - "version": "v0.100.2", - "purl": "pkg:golang/cloud.google.com/go@v0.100.2", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go@v0.100.2" - }, - { - "group": "cloud.google.com/go", - "name": "compute", - "version": "v1.6.1", - "purl": "pkg:golang/cloud.google.com/go/compute@v1.6.1", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/compute@v1.6.1" - }, - { - "group": "cloud.google.com/go", - "name": "monitoring", - "version": "v1.1.0", - "purl": "pkg:golang/cloud.google.com/go/monitoring@v1.1.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/monitoring@v1.1.0" - }, - { - "group": "cloud.google.com/go", - "name": "profiler", - "version": "v0.3.0", - "purl": "pkg:golang/cloud.google.com/go/profiler@v0.3.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/profiler@v0.3.0" - }, - { - "group": "cloud.google.com/go", - "name": "trace", - "version": "v1.0.0", - "purl": "pkg:golang/cloud.google.com/go/trace@v1.0.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/trace@v1.0.0" - }, - { - "group": "contrib.go.opencensus.io/exporter", - "name": "jaeger", - "version": "v0.2.1", - "purl": "pkg:golang/contrib.go.opencensus.io/exporter/jaeger@v0.2.1", - "type": "library", - "bom-ref": "pkg:golang/contrib.go.opencensus.io/exporter/jaeger@v0.2.1" - }, - { - "group": "contrib.go.opencensus.io/exporter", - "name": "stackdriver", - "version": "v0.13.12", - "purl": "pkg:golang/contrib.go.opencensus.io/exporter/stackdriver@v0.13.12", - "type": "library", - "bom-ref": "pkg:golang/contrib.go.opencensus.io/exporter/stackdriver@v0.13.12" - }, - { - "group": "github.com/aws", - "name": "aws-sdk-go", - "version": "v1.43.31", - "purl": "pkg:golang/github.com/aws/aws-sdk-go@v1.43.31", - "type": "library", - "bom-ref": "pkg:golang/github.com/aws/aws-sdk-go@v1.43.31" - }, - { - "group": "github.com/census-instrumentation", - "name": "opencensus-proto", - "version": "v0.3.0", - "purl": "pkg:golang/github.com/census-instrumentation/opencensus-proto@v0.3.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/census-instrumentation/opencensus-proto@v0.3.0" - }, - { - "group": "github.com/cespare", - "name": "xxhash", - "version": "v1.1.0", - "purl": "pkg:golang/github.com/cespare/xxhash@v1.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/cespare/xxhash@v1.1.0" - }, - { - "group": "github.com/cncf/udpa", - "name": "go", - "version": "v0.0.0-20210930031921-04548b0d99d4", - "purl": "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20210930031921-04548b0d99d4", - "type": "library", - "bom-ref": "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20210930031921-04548b0d99d4" - }, - { - "group": "github.com/cncf/xds", - "name": "go", - "version": "v0.0.0-20211011173535-cb28da3451f1", - "purl": "pkg:golang/github.com/cncf/xds/go@v0.0.0-20211011173535-cb28da3451f1", - "type": "library", - "bom-ref": "pkg:golang/github.com/cncf/xds/go@v0.0.0-20211011173535-cb28da3451f1" - }, - { - "group": "github.com/envoyproxy", - "name": "go-control-plane", - "version": "v0.10.2-0.20220325020618-49ff273808a1", - "purl": "pkg:golang/github.com/envoyproxy/go-control-plane@v0.10.2-0.20220325020618-49ff273808a1", - "type": "library", - "bom-ref": "pkg:golang/github.com/envoyproxy/go-control-plane@v0.10.2-0.20220325020618-49ff273808a1" - }, - { - "group": "github.com/envoyproxy", - "name": "protoc-gen-validate", - "version": "v0.1.0", - "purl": "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0" - }, - { - "group": "github.com/golang", - "name": "groupcache", - "version": "v0.0.0-20210331224755-41bb18bfe9da", - "purl": "pkg:golang/github.com/golang/groupcache@v0.0.0-20210331224755-41bb18bfe9da", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/groupcache@v0.0.0-20210331224755-41bb18bfe9da" - }, - { - "group": "github.com/golang", - "name": "protobuf", - "version": "v1.5.2", - "purl": "pkg:golang/github.com/golang/protobuf@v1.5.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/protobuf@v1.5.2" - }, - { - "group": "github.com/google", - "name": "go-cmp", - "version": "v0.5.8", - "purl": "pkg:golang/github.com/google/go-cmp@v0.5.8", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/go-cmp@v0.5.8" - }, - { - "group": "github.com/google", - "name": "pprof", - "version": "v0.0.0-20220412212628-83db2b799d1f", - "purl": "pkg:golang/github.com/google/pprof@v0.0.0-20220412212628-83db2b799d1f", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/pprof@v0.0.0-20220412212628-83db2b799d1f" - }, - { - "group": "github.com/google", - "name": "uuid", - "version": "v1.3.0", - "purl": "pkg:golang/github.com/google/uuid@v1.3.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/uuid@v1.3.0" - }, - { - "group": "github.com/googleapis/gax-go", - "name": "v2", - "version": "v2.4.0", - "purl": "pkg:golang/github.com/googleapis/gax-go/v2@v2.4.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/googleapis/gax-go/v2@v2.4.0" - }, - { - "group": "github.com/jmespath", - "name": "go-jmespath", - "version": "v0.4.0", - "purl": "pkg:golang/github.com/jmespath/go-jmespath@v0.4.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/jmespath/go-jmespath@v0.4.0" - }, - { - "group": "github.com/prometheus", - "name": "prometheus", - "version": "v2.5.0+incompatible", - "purl": "pkg:golang/github.com/prometheus/prometheus@v2.5.0%2Bincompatible", - "type": "library", - "bom-ref": "pkg:golang/github.com/prometheus/prometheus@v2.5.0%2Bincompatible" - }, - { - "group": "github.com/sirupsen", - "name": "logrus", - "version": "v1.8.1", - "purl": "pkg:golang/github.com/sirupsen/logrus@v1.8.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/sirupsen/logrus@v1.8.1" - }, - { - "group": "github.com/uber", - "name": "jaeger-client-go", - "version": "v2.25.0+incompatible", - "purl": "pkg:golang/github.com/uber/jaeger-client-go@v2.25.0%2Bincompatible", - "type": "library", - "bom-ref": "pkg:golang/github.com/uber/jaeger-client-go@v2.25.0%2Bincompatible" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20220802222814-0bcc04d9c69b", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20220802222814-0bcc04d9c69b", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20220802222814-0bcc04d9c69b" - }, - { - "group": "golang.org/x", - "name": "oauth2", - "version": "v0.0.0-20220411215720-9780585627b5", - "purl": "pkg:golang/golang.org/x/oauth2@v0.0.0-20220411215720-9780585627b5", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20220411215720-9780585627b5" - }, - { - "group": "golang.org/x", - "name": "sync", - "version": "v0.0.0-20210220032951-036812b2e83c", - "purl": "pkg:golang/golang.org/x/sync@v0.0.0-20210220032951-036812b2e83c", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sync@v0.0.0-20210220032951-036812b2e83c" - }, - { - "group": "golang.org/x", - "name": "text", - "version": "v0.3.7", - "purl": "pkg:golang/golang.org/x/text@v0.3.7", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/text@v0.3.7" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.78.0", - "purl": "pkg:golang/google.golang.org/api@v0.78.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.78.0" - }, - { - "group": "google.golang.org", - "name": "appengine", - "version": "v1.6.7", - "purl": "pkg:golang/google.golang.org/appengine@v1.6.7", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/appengine@v1.6.7" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20220518221133-4f43b3371335", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20220518221133-4f43b3371335", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20220518221133-4f43b3371335" - }, - { - "group": "google.golang.org", - "name": "grpc", - "version": "v1.48.0", - "purl": "pkg:golang/google.golang.org/grpc@v1.48.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/grpc@v1.48.0" - }, - { - "group": "google.golang.org", - "name": "protobuf", - "version": "v1.28.0", - "purl": "pkg:golang/google.golang.org/protobuf@v1.28.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/protobuf@v1.28.0" - } - ], - "dependencies": [ - { - "ref": "pkg:golang/github.com/GoogleCloudPlatform/microservices-demo/src/checkoutservice@v0.0.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.100.2", - "pkg:golang/cloud.google.com/go/compute@v1.6.1", - "pkg:golang/cloud.google.com/go/monitoring@v1.1.0", - "pkg:golang/cloud.google.com/go/profiler@v0.3.0", - "pkg:golang/cloud.google.com/go/trace@v1.0.0", - "pkg:golang/contrib.go.opencensus.io/exporter/jaeger@v0.2.1", - "pkg:golang/contrib.go.opencensus.io/exporter/stackdriver@v0.13.12", - "pkg:golang/github.com/aws/aws-sdk-go@v1.43.31", - "pkg:golang/github.com/census-instrumentation/opencensus-proto@v0.3.0", - "pkg:golang/github.com/cespare/xxhash@v1.1.0", - "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20210930031921-04548b0d99d4", - "pkg:golang/github.com/cncf/xds/go@v0.0.0-20211011173535-cb28da3451f1", - "pkg:golang/github.com/envoyproxy/go-control-plane@v0.10.2-0.20220325020618-49ff273808a1", - "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", - "pkg:golang/github.com/golang/groupcache@v0.0.0-20210331224755-41bb18bfe9da", - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/github.com/google/go-cmp@v0.5.8", - "pkg:golang/github.com/google/pprof@v0.0.0-20220412212628-83db2b799d1f", - "pkg:golang/github.com/google/uuid@v1.3.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.4.0", - "pkg:golang/github.com/jmespath/go-jmespath@v0.4.0", - "pkg:golang/github.com/prometheus/prometheus@v2.5.0%2Bincompatible", - "pkg:golang/github.com/sirupsen/logrus@v1.8.1", - "pkg:golang/github.com/uber/jaeger-client-go@v2.25.0%2Bincompatible", - "pkg:golang/golang.org/x/net@v0.0.0-20220802222814-0bcc04d9c69b", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20220411215720-9780585627b5", - "pkg:golang/golang.org/x/sync@v0.0.0-20210220032951-036812b2e83c", - "pkg:golang/golang.org/x/text@v0.3.7", - "pkg:golang/google.golang.org/api@v0.78.0", - "pkg:golang/google.golang.org/appengine@v1.6.7", - "pkg:golang/google.golang.org/genproto@v0.0.0-20220518221133-4f43b3371335", - "pkg:golang/google.golang.org/grpc@v1.48.0", - "pkg:golang/google.golang.org/protobuf@v1.28.0" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go@v0.100.2", - "dependsOn": [] - }, - { - "ref": "pkg:golang/cloud.google.com/go/compute@v1.6.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/cloud.google.com/go/monitoring@v1.1.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/cloud.google.com/go/profiler@v0.3.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/cloud.google.com/go/trace@v1.0.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/contrib.go.opencensus.io/exporter/jaeger@v0.2.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/contrib.go.opencensus.io/exporter/stackdriver@v0.13.12", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/aws/aws-sdk-go@v1.43.31", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/census-instrumentation/opencensus-proto@v0.3.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/cespare/xxhash@v1.1.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20210930031921-04548b0d99d4", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/cncf/xds/go@v0.0.0-20211011173535-cb28da3451f1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/envoyproxy/go-control-plane@v0.10.2-0.20220325020618-49ff273808a1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/golang/groupcache@v0.0.0-20210331224755-41bb18bfe9da", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/golang/protobuf@v1.5.2", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/google/go-cmp@v0.5.8", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/google/pprof@v0.0.0-20220412212628-83db2b799d1f", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/google/uuid@v1.3.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/googleapis/gax-go/v2@v2.4.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/jmespath/go-jmespath@v0.4.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/prometheus/prometheus@v2.5.0%2Bincompatible", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/sirupsen/logrus@v1.8.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/uber/jaeger-client-go@v2.25.0%2Bincompatible", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20220802222814-0bcc04d9c69b", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20220411215720-9780585627b5", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/sync@v0.0.0-20210220032951-036812b2e83c", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/text@v0.3.7", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.78.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/appengine@v1.6.7", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20220518221133-4f43b3371335", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/grpc@v1.48.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/protobuf@v1.28.0", - "dependsOn": [] - } - ] + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-08-07T00:00:00.000Z", + "component": { + "group": "github.com/GoogleCloudPlatform/microservices-demo/src", + "name": "checkoutservice", + "version": "v0.0.0", + "purl": "pkg:golang/github.com/GoogleCloudPlatform/microservices-demo/src/checkoutservice@v0.0.0", + "type": "application", + "bom-ref": "pkg:golang/github.com/GoogleCloudPlatform/microservices-demo/src/checkoutservice@v0.0.0" + } + }, + "components": [ + { + "group": "cloud.google.com/go", + "name": "profiler", + "version": "v0.3.0", + "purl": "pkg:golang/cloud.google.com/go/profiler@v0.3.0", + "type": "library", + "bom-ref": "pkg:golang/cloud.google.com/go/profiler@v0.3.0" + }, + { + "group": "contrib.go.opencensus.io/exporter", + "name": "jaeger", + "version": "v0.2.1", + "purl": "pkg:golang/contrib.go.opencensus.io/exporter/jaeger@v0.2.1", + "type": "library", + "bom-ref": "pkg:golang/contrib.go.opencensus.io/exporter/jaeger@v0.2.1" + }, + { + "group": "contrib.go.opencensus.io/exporter", + "name": "stackdriver", + "version": "v0.13.12", + "purl": "pkg:golang/contrib.go.opencensus.io/exporter/stackdriver@v0.13.12", + "type": "library", + "bom-ref": "pkg:golang/contrib.go.opencensus.io/exporter/stackdriver@v0.13.12" + }, + { + "group": "github.com/golang", + "name": "protobuf", + "version": "v1.5.2", + "purl": "pkg:golang/github.com/golang/protobuf@v1.5.2", + "type": "library", + "bom-ref": "pkg:golang/github.com/golang/protobuf@v1.5.2" + }, + { + "group": "github.com/google", + "name": "uuid", + "version": "v1.3.0", + "purl": "pkg:golang/github.com/google/uuid@v1.3.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/google/uuid@v1.3.0" + }, + { + "group": "github.com/sirupsen", + "name": "logrus", + "version": "v1.8.1", + "purl": "pkg:golang/github.com/sirupsen/logrus@v1.8.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/sirupsen/logrus@v1.8.1" + }, + { + "group": "golang.org/x", + "name": "net", + "version": "v0.0.0-20220802222814-0bcc04d9c69b", + "purl": "pkg:golang/golang.org/x/net@v0.0.0-20220802222814-0bcc04d9c69b", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20220802222814-0bcc04d9c69b" + }, + { + "group": "google.golang.org", + "name": "grpc", + "version": "v1.48.0", + "purl": "pkg:golang/google.golang.org/grpc@v1.48.0", + "type": "library", + "bom-ref": "pkg:golang/google.golang.org/grpc@v1.48.0" + } + ], + "dependencies": [ + { + "ref": "pkg:golang/github.com/GoogleCloudPlatform/microservices-demo/src/checkoutservice@v0.0.0", + "dependsOn": [ + "pkg:golang/cloud.google.com/go/profiler@v0.3.0", + "pkg:golang/contrib.go.opencensus.io/exporter/jaeger@v0.2.1", + "pkg:golang/contrib.go.opencensus.io/exporter/stackdriver@v0.13.12", + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/github.com/google/uuid@v1.3.0", + "pkg:golang/github.com/sirupsen/logrus@v1.8.1", + "pkg:golang/golang.org/x/net@v0.0.0-20220802222814-0bcc04d9c69b", + "pkg:golang/google.golang.org/grpc@v1.48.0" + ] + }, + { + "ref": "pkg:golang/cloud.google.com/go/profiler@v0.3.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/contrib.go.opencensus.io/exporter/jaeger@v0.2.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/contrib.go.opencensus.io/exporter/stackdriver@v0.13.12", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/golang/protobuf@v1.5.2", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/google/uuid@v1.3.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/sirupsen/logrus@v1.8.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/golang.org/x/net@v0.0.0-20220802222814-0bcc04d9c69b", + "dependsOn": [] + }, + { + "ref": "pkg:golang/google.golang.org/grpc@v1.48.0", + "dependsOn": [] + } + ] } diff --git a/test/providers/tst_manifests/golang/go_mod_test_ignore/expected_sbom_stack_analysis.json b/test/providers/tst_manifests/golang/go_mod_test_ignore/expected_sbom_stack_analysis.json index 6096c03e..59599edb 100644 --- a/test/providers/tst_manifests/golang/go_mod_test_ignore/expected_sbom_stack_analysis.json +++ b/test/providers/tst_manifests/golang/go_mod_test_ignore/expected_sbom_stack_analysis.json @@ -1,11329 +1,1638 @@ { - "bomFormat": "CycloneDX", - "specVersion": "1.4", - "version": 1, - "metadata": { - "timestamp": "2023-08-07T00:00:00.000Z", - "component": { - "group": "github.com/GoogleCloudPlatform/microservices-demo/src", - "name": "checkoutservice", - "version": "v0.0.0", - "purl": "pkg:golang/github.com/GoogleCloudPlatform/microservices-demo/src/checkoutservice@v0.0.0", - "type": "application", - "bom-ref": "pkg:golang/github.com/GoogleCloudPlatform/microservices-demo/src/checkoutservice@v0.0.0" - } - }, - "components": [ - { - "group": "github.com/GoogleCloudPlatform/microservices-demo/src", - "name": "checkoutservice", - "version": "v0.0.0", - "purl": "pkg:golang/github.com/GoogleCloudPlatform/microservices-demo/src/checkoutservice@v0.0.0", - "type": "application", - "bom-ref": "pkg:golang/github.com/GoogleCloudPlatform/microservices-demo/src/checkoutservice@v0.0.0" - }, - { - "group": "cloud.google.com", - "name": "go", - "version": "v0.100.2", - "purl": "pkg:golang/cloud.google.com/go@v0.100.2", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go@v0.100.2" - }, - { - "group": "cloud.google.com/go", - "name": "compute", - "version": "v1.6.1", - "purl": "pkg:golang/cloud.google.com/go/compute@v1.6.1", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/compute@v1.6.1" - }, - { - "group": "cloud.google.com/go", - "name": "monitoring", - "version": "v1.1.0", - "purl": "pkg:golang/cloud.google.com/go/monitoring@v1.1.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/monitoring@v1.1.0" - }, - { - "group": "cloud.google.com/go", - "name": "profiler", - "version": "v0.3.0", - "purl": "pkg:golang/cloud.google.com/go/profiler@v0.3.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/profiler@v0.3.0" - }, - { - "group": "cloud.google.com/go", - "name": "trace", - "version": "v1.0.0", - "purl": "pkg:golang/cloud.google.com/go/trace@v1.0.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/trace@v1.0.0" - }, - { - "group": "contrib.go.opencensus.io/exporter", - "name": "jaeger", - "version": "v0.2.1", - "purl": "pkg:golang/contrib.go.opencensus.io/exporter/jaeger@v0.2.1", - "type": "library", - "bom-ref": "pkg:golang/contrib.go.opencensus.io/exporter/jaeger@v0.2.1" - }, - { - "group": "contrib.go.opencensus.io/exporter", - "name": "stackdriver", - "version": "v0.13.12", - "purl": "pkg:golang/contrib.go.opencensus.io/exporter/stackdriver@v0.13.12", - "type": "library", - "bom-ref": "pkg:golang/contrib.go.opencensus.io/exporter/stackdriver@v0.13.12" - }, - { - "group": "github.com/aws", - "name": "aws-sdk-go", - "version": "v1.43.31", - "purl": "pkg:golang/github.com/aws/aws-sdk-go@v1.43.31", - "type": "library", - "bom-ref": "pkg:golang/github.com/aws/aws-sdk-go@v1.43.31" - }, - { - "group": "github.com/census-instrumentation", - "name": "opencensus-proto", - "version": "v0.3.0", - "purl": "pkg:golang/github.com/census-instrumentation/opencensus-proto@v0.3.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/census-instrumentation/opencensus-proto@v0.3.0" - }, - { - "group": "github.com/cespare", - "name": "xxhash", - "version": "v1.1.0", - "purl": "pkg:golang/github.com/cespare/xxhash@v1.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/cespare/xxhash@v1.1.0" - }, - { - "group": "github.com/cncf/udpa", - "name": "go", - "version": "v0.0.0-20210930031921-04548b0d99d4", - "purl": "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20210930031921-04548b0d99d4", - "type": "library", - "bom-ref": "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20210930031921-04548b0d99d4" - }, - { - "group": "github.com/cncf/xds", - "name": "go", - "version": "v0.0.0-20211011173535-cb28da3451f1", - "purl": "pkg:golang/github.com/cncf/xds/go@v0.0.0-20211011173535-cb28da3451f1", - "type": "library", - "bom-ref": "pkg:golang/github.com/cncf/xds/go@v0.0.0-20211011173535-cb28da3451f1" - }, - { - "group": "github.com/envoyproxy", - "name": "go-control-plane", - "version": "v0.10.2-0.20220325020618-49ff273808a1", - "purl": "pkg:golang/github.com/envoyproxy/go-control-plane@v0.10.2-0.20220325020618-49ff273808a1", - "type": "library", - "bom-ref": "pkg:golang/github.com/envoyproxy/go-control-plane@v0.10.2-0.20220325020618-49ff273808a1" - }, - { - "group": "github.com/envoyproxy", - "name": "protoc-gen-validate", - "version": "v0.1.0", - "purl": "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0" - }, - { - "group": "github.com/golang", - "name": "groupcache", - "version": "v0.0.0-20210331224755-41bb18bfe9da", - "purl": "pkg:golang/github.com/golang/groupcache@v0.0.0-20210331224755-41bb18bfe9da", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/groupcache@v0.0.0-20210331224755-41bb18bfe9da" - }, - { - "group": "github.com/golang", - "name": "protobuf", - "version": "v1.5.2", - "purl": "pkg:golang/github.com/golang/protobuf@v1.5.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/protobuf@v1.5.2" - }, - { - "group": "github.com/google", - "name": "go-cmp", - "version": "v0.5.8", - "purl": "pkg:golang/github.com/google/go-cmp@v0.5.8", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/go-cmp@v0.5.8" - }, - { - "group": "github.com/google", - "name": "pprof", - "version": "v0.0.0-20220412212628-83db2b799d1f", - "purl": "pkg:golang/github.com/google/pprof@v0.0.0-20220412212628-83db2b799d1f", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/pprof@v0.0.0-20220412212628-83db2b799d1f" - }, - { - "group": "github.com/google", - "name": "uuid", - "version": "v1.3.0", - "purl": "pkg:golang/github.com/google/uuid@v1.3.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/uuid@v1.3.0" - }, - { - "group": "github.com/googleapis/gax-go", - "name": "v2", - "version": "v2.4.0", - "purl": "pkg:golang/github.com/googleapis/gax-go/v2@v2.4.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/googleapis/gax-go/v2@v2.4.0" - }, - { - "group": "github.com/jmespath", - "name": "go-jmespath", - "version": "v0.4.0", - "purl": "pkg:golang/github.com/jmespath/go-jmespath@v0.4.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/jmespath/go-jmespath@v0.4.0" - }, - { - "group": "github.com/prometheus", - "name": "prometheus", - "version": "v2.5.0+incompatible", - "purl": "pkg:golang/github.com/prometheus/prometheus@v2.5.0%2Bincompatible", - "type": "library", - "bom-ref": "pkg:golang/github.com/prometheus/prometheus@v2.5.0%2Bincompatible" - }, - { - "group": "github.com/sirupsen", - "name": "logrus", - "version": "v1.8.1", - "purl": "pkg:golang/github.com/sirupsen/logrus@v1.8.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/sirupsen/logrus@v1.8.1" - }, - { - "group": "github.com/uber", - "name": "jaeger-client-go", - "version": "v2.25.0+incompatible", - "purl": "pkg:golang/github.com/uber/jaeger-client-go@v2.25.0%2Bincompatible", - "type": "library", - "bom-ref": "pkg:golang/github.com/uber/jaeger-client-go@v2.25.0%2Bincompatible" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20220802222814-0bcc04d9c69b", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20220802222814-0bcc04d9c69b", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20220802222814-0bcc04d9c69b" - }, - { - "group": "golang.org/x", - "name": "oauth2", - "version": "v0.0.0-20220411215720-9780585627b5", - "purl": "pkg:golang/golang.org/x/oauth2@v0.0.0-20220411215720-9780585627b5", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20220411215720-9780585627b5" - }, - { - "group": "golang.org/x", - "name": "sync", - "version": "v0.0.0-20210220032951-036812b2e83c", - "purl": "pkg:golang/golang.org/x/sync@v0.0.0-20210220032951-036812b2e83c", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sync@v0.0.0-20210220032951-036812b2e83c" - }, - { - "group": "golang.org/x", - "name": "text", - "version": "v0.3.7", - "purl": "pkg:golang/golang.org/x/text@v0.3.7", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/text@v0.3.7" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.78.0", - "purl": "pkg:golang/google.golang.org/api@v0.78.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.78.0" - }, - { - "group": "google.golang.org", - "name": "appengine", - "version": "v1.6.7", - "purl": "pkg:golang/google.golang.org/appengine@v1.6.7", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/appengine@v1.6.7" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20220518221133-4f43b3371335", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20220518221133-4f43b3371335", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20220518221133-4f43b3371335" - }, - { - "group": "google.golang.org", - "name": "grpc", - "version": "v1.48.0", - "purl": "pkg:golang/google.golang.org/grpc@v1.48.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/grpc@v1.48.0" - }, - { - "group": "google.golang.org", - "name": "protobuf", - "version": "v1.28.0", - "purl": "pkg:golang/google.golang.org/protobuf@v1.28.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/protobuf@v1.28.0" - }, - { - "group": "cloud.google.com/go", - "name": "compute", - "version": "v0.1.0", - "purl": "pkg:golang/cloud.google.com/go/compute@v0.1.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/compute@v0.1.0" - }, - { - "group": "github.com/google", - "name": "go-cmp", - "version": "v0.5.6", - "purl": "pkg:golang/github.com/google/go-cmp@v0.5.6", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/go-cmp@v0.5.6" - }, - { - "group": "github.com/google/martian", - "name": "v3", - "version": "v3.2.1", - "purl": "pkg:golang/github.com/google/martian/v3@v3.2.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/martian/v3@v3.2.1" - }, - { - "group": "github.com/googleapis/gax-go", - "name": "v2", - "version": "v2.1.1", - "purl": "pkg:golang/github.com/googleapis/gax-go/v2@v2.1.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/googleapis/gax-go/v2@v2.1.1" - }, - { - "name": "go.opencensus.io", - "version": "v0.23.0", - "purl": "pkg:golang/go.opencensus.io@v0.23.0", - "type": "library", - "bom-ref": "pkg:golang/go.opencensus.io@v0.23.0" - }, - { - "group": "golang.org/x", - "name": "oauth2", - "version": "v0.0.0-20211104180415-d3ed0bb246c8", - "purl": "pkg:golang/golang.org/x/oauth2@v0.0.0-20211104180415-d3ed0bb246c8", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20211104180415-d3ed0bb246c8" - }, - { - "group": "golang.org/x", - "name": "xerrors", - "version": "v0.0.0-20200804184101-5ec99f83aff1", - "purl": "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.63.0", - "purl": "pkg:golang/google.golang.org/api@v0.63.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.63.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20211221195035-429b39de9b1c", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20211221195035-429b39de9b1c", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20211221195035-429b39de9b1c" - }, - { - "group": "google.golang.org", - "name": "grpc", - "version": "v1.40.1", - "purl": "pkg:golang/google.golang.org/grpc@v1.40.1", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/grpc@v1.40.1" - }, - { - "group": "google.golang.org", - "name": "protobuf", - "version": "v1.27.1", - "purl": "pkg:golang/google.golang.org/protobuf@v1.27.1", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/protobuf@v1.27.1" - }, - { - "group": "github.com/google", - "name": "go-cmp", - "version": "v0.5.7", - "purl": "pkg:golang/github.com/google/go-cmp@v0.5.7", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/go-cmp@v0.5.7" - }, - { - "group": "github.com/googleapis/gax-go", - "name": "v2", - "version": "v2.3.0", - "purl": "pkg:golang/github.com/googleapis/gax-go/v2@v2.3.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/googleapis/gax-go/v2@v2.3.0" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.75.0", - "purl": "pkg:golang/google.golang.org/api@v0.75.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.75.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20220421151946-72621c1f0bd3", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20220421151946-72621c1f0bd3", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20220421151946-72621c1f0bd3" - }, - { - "group": "google.golang.org", - "name": "grpc", - "version": "v1.45.0", - "purl": "pkg:golang/google.golang.org/grpc@v1.45.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/grpc@v1.45.0" - }, - { - "group": "cloud.google.com", - "name": "go", - "version": "v0.97.0", - "purl": "pkg:golang/cloud.google.com/go@v0.97.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go@v0.97.0" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.58.0", - "purl": "pkg:golang/google.golang.org/api@v0.58.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.58.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20211018162055-cf77aa76bad2", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20211018162055-cf77aa76bad2", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20211018162055-cf77aa76bad2" - }, - { - "group": "google.golang.org", - "name": "grpc", - "version": "v1.40.0", - "purl": "pkg:golang/google.golang.org/grpc@v1.40.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/grpc@v1.40.0" - }, - { - "group": "cloud.google.com/go", - "name": "storage", - "version": "v1.22.1", - "purl": "pkg:golang/cloud.google.com/go/storage@v1.22.1", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/storage@v1.22.1" - }, - { - "group": "github.com/golang", - "name": "mock", - "version": "v1.6.0", - "purl": "pkg:golang/github.com/golang/mock@v1.6.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/mock@v1.6.0" - }, - { - "group": "google.golang.org", - "name": "grpc", - "version": "v1.46.0", - "purl": "pkg:golang/google.golang.org/grpc@v1.46.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/grpc@v1.46.0" - }, - { - "group": "cloud.google.com", - "name": "go", - "version": "v0.94.1", - "purl": "pkg:golang/cloud.google.com/go@v0.94.1", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go@v0.94.1" - }, - { - "group": "github.com/googleapis/gax-go", - "name": "v2", - "version": "v2.1.0", - "purl": "pkg:golang/github.com/googleapis/gax-go/v2@v2.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/googleapis/gax-go/v2@v2.1.0" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.57.0", - "purl": "pkg:golang/google.golang.org/api@v0.57.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.57.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20210921142501-181ce0d877f6", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20210921142501-181ce0d877f6", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20210921142501-181ce0d877f6" - }, - { - "name": "go.opencensus.io", - "version": "v0.22.4", - "purl": "pkg:golang/go.opencensus.io@v0.22.4", - "type": "library", - "bom-ref": "pkg:golang/go.opencensus.io@v0.22.4" - }, - { - "group": "golang.org/x", - "name": "sync", - "version": "v0.0.0-20200625203802-6e8e738ad208", - "purl": "pkg:golang/golang.org/x/sync@v0.0.0-20200625203802-6e8e738ad208", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sync@v0.0.0-20200625203802-6e8e738ad208" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.29.0", - "purl": "pkg:golang/google.golang.org/api@v0.29.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.29.0" - }, - { - "group": "github.com/aws", - "name": "aws-sdk-go", - "version": "v1.37.0", - "purl": "pkg:golang/github.com/aws/aws-sdk-go@v1.37.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/aws/aws-sdk-go@v1.37.0" - }, - { - "group": "github.com/jstemmer", - "name": "go-junit-report", - "version": "v0.9.1", - "purl": "pkg:golang/github.com/jstemmer/go-junit-report@v0.9.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/jstemmer/go-junit-report@v0.9.1" - }, - { - "group": "golang.org/x", - "name": "lint", - "version": "v0.0.0-20210508222113-6edffad5e616", - "purl": "pkg:golang/golang.org/x/lint@v0.0.0-20210508222113-6edffad5e616", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/lint@v0.0.0-20210508222113-6edffad5e616" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20210503060351-7fd8e65b6420", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20210503060351-7fd8e65b6420", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20210503060351-7fd8e65b6420" - }, - { - "group": "golang.org/x", - "name": "oauth2", - "version": "v0.0.0-20211005180243-6b3c2da341f1", - "purl": "pkg:golang/golang.org/x/oauth2@v0.0.0-20211005180243-6b3c2da341f1", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20211005180243-6b3c2da341f1" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.1.5", - "purl": "pkg:golang/golang.org/x/tools@v0.1.5", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.1.5" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.59.0", - "purl": "pkg:golang/google.golang.org/api@v0.59.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.59.0" - }, - { - "group": "honnef.co/go", - "name": "tools", - "version": "v0.0.1-2020.1.4", - "purl": "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.4", - "type": "library", - "bom-ref": "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.4" - }, - { - "group": "github.com/pkg", - "name": "errors", - "version": "v0.9.1", - "purl": "pkg:golang/github.com/pkg/errors@v0.9.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/pkg/errors@v0.9.1" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20220127200216-cd36cc0744dd", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20220127200216-cd36cc0744dd", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20220127200216-cd36cc0744dd" - }, - { - "group": "github.com/OneOfOne", - "name": "xxhash", - "version": "v1.2.2", - "purl": "pkg:golang/github.com/OneOfOne/xxhash@v1.2.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/OneOfOne/xxhash@v1.2.2" - }, - { - "group": "github.com/spaolacci", - "name": "murmur3", - "version": "v0.0.0-20180118202830-f09979ecbc72", - "purl": "pkg:golang/github.com/spaolacci/murmur3@v0.0.0-20180118202830-f09979ecbc72", - "type": "library", - "bom-ref": "pkg:golang/github.com/spaolacci/murmur3@v0.0.0-20180118202830-f09979ecbc72" - }, - { - "group": "github.com/cncf/xds", - "name": "go", - "version": "v0.0.0-20210922020428-25de7278fc84", - "purl": "pkg:golang/github.com/cncf/xds/go@v0.0.0-20210922020428-25de7278fc84", - "type": "library", - "bom-ref": "pkg:golang/github.com/cncf/xds/go@v0.0.0-20210922020428-25de7278fc84" - }, - { - "group": "github.com/golang", - "name": "protobuf", - "version": "v1.3.2", - "purl": "pkg:golang/github.com/golang/protobuf@v1.3.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/protobuf@v1.3.2" - }, - { - "group": "google.golang.org", - "name": "grpc", - "version": "v1.25.1", - "purl": "pkg:golang/google.golang.org/grpc@v1.25.1", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/grpc@v1.25.1" - }, - { - "group": "github.com/census-instrumentation", - "name": "opencensus-proto", - "version": "v0.2.1", - "purl": "pkg:golang/github.com/census-instrumentation/opencensus-proto@v0.2.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/census-instrumentation/opencensus-proto@v0.2.1" - }, - { - "group": "github.com/cncf/xds", - "name": "go", - "version": "v0.0.0-20211001041855-01bcc9b48dfe", - "purl": "pkg:golang/github.com/cncf/xds/go@v0.0.0-20211001041855-01bcc9b48dfe", - "type": "library", - "bom-ref": "pkg:golang/github.com/cncf/xds/go@v0.0.0-20211001041855-01bcc9b48dfe" - }, - { - "group": "github.com/golang", - "name": "protobuf", - "version": "v1.5.0", - "purl": "pkg:golang/github.com/golang/protobuf@v1.5.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/protobuf@v1.5.0" - }, - { - "group": "github.com/prometheus", - "name": "client_model", - "version": "v0.0.0-20190812154241-14fe0d1b01d4", - "purl": "pkg:golang/github.com/prometheus/client_model@v0.0.0-20190812154241-14fe0d1b01d4", - "type": "library", - "bom-ref": "pkg:golang/github.com/prometheus/client_model@v0.0.0-20190812154241-14fe0d1b01d4" - }, - { - "group": "github.com/stretchr", - "name": "testify", - "version": "v1.7.0", - "purl": "pkg:golang/github.com/stretchr/testify@v1.7.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/stretchr/testify@v1.7.0" - }, - { - "group": "go.opentelemetry.io/proto", - "name": "otlp", - "version": "v0.7.0", - "purl": "pkg:golang/go.opentelemetry.io/proto/otlp@v0.7.0", - "type": "library", - "bom-ref": "pkg:golang/go.opentelemetry.io/proto/otlp@v0.7.0" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20201021035429-f5854403a974", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20201021035429-f5854403a974", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20201021035429-f5854403a974" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20210119212857-b64e53b001e4", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20210119212857-b64e53b001e4", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20210119212857-b64e53b001e4" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20200526211855-cb27e3aa2013", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20200526211855-cb27e3aa2013", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200526211855-cb27e3aa2013" - }, - { - "group": "google.golang.org", - "name": "grpc", - "version": "v1.36.0", - "purl": "pkg:golang/google.golang.org/grpc@v1.36.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/grpc@v1.36.0" - }, - { - "group": "github.com/google", - "name": "go-cmp", - "version": "v0.5.5", - "purl": "pkg:golang/github.com/google/go-cmp@v0.5.5", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/go-cmp@v0.5.5" - }, - { - "group": "google.golang.org", - "name": "protobuf", - "version": "v1.26.0", - "purl": "pkg:golang/google.golang.org/protobuf@v1.26.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/protobuf@v1.26.0" - }, - { - "group": "github.com/chzyer", - "name": "logex", - "version": "v1.1.10", - "purl": "pkg:golang/github.com/chzyer/logex@v1.1.10", - "type": "library", - "bom-ref": "pkg:golang/github.com/chzyer/logex@v1.1.10" - }, - { - "group": "github.com/chzyer", - "name": "readline", - "version": "v0.0.0-20180603132655-2972be24d48e", - "purl": "pkg:golang/github.com/chzyer/readline@v0.0.0-20180603132655-2972be24d48e", - "type": "library", - "bom-ref": "pkg:golang/github.com/chzyer/readline@v0.0.0-20180603132655-2972be24d48e" - }, - { - "group": "github.com/chzyer", - "name": "test", - "version": "v0.0.0-20180213035817-a1ea475d72b1", - "purl": "pkg:golang/github.com/chzyer/test@v0.0.0-20180213035817-a1ea475d72b1", - "type": "library", - "bom-ref": "pkg:golang/github.com/chzyer/test@v0.0.0-20180213035817-a1ea475d72b1" - }, - { - "group": "github.com/ianlancetaylor", - "name": "demangle", - "version": "v0.0.0-20210905161508-09a460cdf81d", - "purl": "pkg:golang/github.com/ianlancetaylor/demangle@v0.0.0-20210905161508-09a460cdf81d", - "type": "library", - "bom-ref": "pkg:golang/github.com/ianlancetaylor/demangle@v0.0.0-20210905161508-09a460cdf81d" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20211007075335-d3039528d8ac", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20211007075335-d3039528d8ac", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20211007075335-d3039528d8ac" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20220505152158-f39f71e6c8f3", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20220505152158-f39f71e6c8f3", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20220505152158-f39f71e6c8f3" - }, - { - "group": "github.com/jmespath/go-jmespath/internal", - "name": "testify", - "version": "v1.5.1", - "purl": "pkg:golang/github.com/jmespath/go-jmespath/internal/testify@v1.5.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/jmespath/go-jmespath/internal/testify@v1.5.1" - }, - { - "group": "github.com/davecgh", - "name": "go-spew", - "version": "v1.1.1", - "purl": "pkg:golang/github.com/davecgh/go-spew@v1.1.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/davecgh/go-spew@v1.1.1" - }, - { - "group": "github.com/pmezard", - "name": "go-difflib", - "version": "v1.0.0", - "purl": "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/pmezard/go-difflib@v1.0.0" - }, - { - "group": "github.com/stretchr", - "name": "testify", - "version": "v1.2.2", - "purl": "pkg:golang/github.com/stretchr/testify@v1.2.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/stretchr/testify@v1.2.2" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20191026070338-33540a1f6037", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20191026070338-33540a1f6037", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20191026070338-33540a1f6037" - }, - { - "group": "golang.org/x", - "name": "term", - "version": "v0.0.0-20210927222741-03fcf44c2211", - "purl": "pkg:golang/golang.org/x/term@v0.0.0-20210927222741-03fcf44c2211", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/term@v0.0.0-20210927222741-03fcf44c2211" - }, - { - "group": "cloud.google.com", - "name": "go", - "version": "v0.65.0", - "purl": "pkg:golang/cloud.google.com/go@v0.65.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go@v0.65.0" - }, - { - "group": "google.golang.org", - "name": "appengine", - "version": "v1.6.6", - "purl": "pkg:golang/google.golang.org/appengine@v1.6.6", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/appengine@v1.6.6" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20180917221912-90fa682c2a6e", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20180917221912-90fa682c2a6e", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20180917221912-90fa682c2a6e" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20220425223048-2871e0cb64e4", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20220425223048-2871e0cb64e4", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20220425223048-2871e0cb64e4" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20220502124256-b6088ccd6cba", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20220502124256-b6088ccd6cba", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20220502124256-b6088ccd6cba" - }, - { - "group": "golang.org/x", - "name": "xerrors", - "version": "v0.0.0-20220411194840-2f41105eb62f", - "purl": "pkg:golang/golang.org/x/xerrors@v0.0.0-20220411194840-2f41105eb62f", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/xerrors@v0.0.0-20220411194840-2f41105eb62f" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20220429170224-98d788798c3e", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20220429170224-98d788798c3e", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20220429170224-98d788798c3e" - }, - { - "group": "github.com/golang", - "name": "protobuf", - "version": "v1.3.1", - "purl": "pkg:golang/github.com/golang/protobuf@v1.3.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/protobuf@v1.3.1" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20190603091049-60506f45cf65", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20190603091049-60506f45cf65", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20190603091049-60506f45cf65" - }, - { - "group": "golang.org/x", - "name": "text", - "version": "v0.3.2", - "purl": "pkg:golang/golang.org/x/text@v0.3.2", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/text@v0.3.2" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20210405180319-a5a99cb37ef4", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20210405180319-a5a99cb37ef4", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20210405180319-a5a99cb37ef4" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20210510120138-977fb7262007", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20210510120138-977fb7262007", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20210510120138-977fb7262007" - }, - { - "group": "golang.org/x", - "name": "text", - "version": "v0.3.5", - "purl": "pkg:golang/golang.org/x/text@v0.3.5", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/text@v0.3.5" - }, - { - "group": "github.com/cespare/xxhash", - "name": "v2", - "version": "v2.1.1", - "purl": "pkg:golang/github.com/cespare/xxhash/v2@v2.1.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/cespare/xxhash/v2@v2.1.1" - }, - { - "group": "github.com/golang", - "name": "glog", - "version": "v0.0.0-20160126235308-23def4e6c14b", - "purl": "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b" - }, - { - "group": "github.com/google", - "name": "uuid", - "version": "v1.1.2", - "purl": "pkg:golang/github.com/google/uuid@v1.1.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/uuid@v1.1.2" - }, - { - "group": "golang.org/x", - "name": "oauth2", - "version": "v0.0.0-20200107190931-bf48bf16ab8d", - "purl": "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d" - }, - { - "group": "golang.org/x", - "name": "xerrors", - "version": "v0.0.0-20191204190536-9bdfabe68543", - "purl": "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543" - }, - { - "group": "github.com/golang", - "name": "snappy", - "version": "v0.0.3", - "purl": "pkg:golang/github.com/golang/snappy@v0.0.3", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/snappy@v0.0.3" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20190628185345-da137c7871d7", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20190628185345-da137c7871d7", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20190628185345-da137c7871d7" - }, - { - "group": "google.golang.org", - "name": "grpc", - "version": "v1.37.0", - "purl": "pkg:golang/google.golang.org/grpc@v1.37.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/grpc@v1.37.0" - }, - { - "group": "google.golang.org/grpc/cmd", - "name": "protoc-gen-go-grpc", - "version": "v1.1.0", - "purl": "pkg:golang/google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.1.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.1.0" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.56.0", - "purl": "pkg:golang/google.golang.org/api@v0.56.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.56.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20210909211513-a8c4777a87af", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20210909211513-a8c4777a87af", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20210909211513-a8c4777a87af" - }, - { - "group": "github.com/golang", - "name": "groupcache", - "version": "v0.0.0-20200121045136-8c9f03a8e57e", - "purl": "pkg:golang/github.com/golang/groupcache@v0.0.0-20200121045136-8c9f03a8e57e", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/groupcache@v0.0.0-20200121045136-8c9f03a8e57e" - }, - { - "group": "github.com/golang", - "name": "protobuf", - "version": "v1.4.3", - "purl": "pkg:golang/github.com/golang/protobuf@v1.4.3", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/protobuf@v1.4.3" - }, - { - "group": "github.com/google", - "name": "go-cmp", - "version": "v0.5.3", - "purl": "pkg:golang/github.com/google/go-cmp@v0.5.3", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/go-cmp@v0.5.3" - }, - { - "group": "github.com/stretchr", - "name": "testify", - "version": "v1.6.1", - "purl": "pkg:golang/github.com/stretchr/testify@v1.6.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/stretchr/testify@v1.6.1" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20201110031124-69a78807bb2b", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20201110031124-69a78807bb2b", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20201110031124-69a78807bb2b" - }, - { - "group": "google.golang.org", - "name": "grpc", - "version": "v1.33.2", - "purl": "pkg:golang/google.golang.org/grpc@v1.33.2", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/grpc@v1.33.2" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20200822124328-c89045814202", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20200822124328-c89045814202", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20200822124328-c89045814202" - }, - { - "group": "cloud.google.com", - "name": "go", - "version": "v0.99.0", - "purl": "pkg:golang/cloud.google.com/go@v0.99.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go@v0.99.0" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20211210111614-af8b64212486", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20211210111614-af8b64212486", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20211210111614-af8b64212486" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20211208223120-3a66f561d7aa", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20211208223120-3a66f561d7aa", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20211208223120-3a66f561d7aa" - }, - { - "group": "github.com/cncf/udpa", - "name": "go", - "version": "v0.0.0-20201120205902-5459f2c99403", - "purl": "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20201120205902-5459f2c99403", - "type": "library", - "bom-ref": "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20201120205902-5459f2c99403" - }, - { - "group": "github.com/envoyproxy", - "name": "go-control-plane", - "version": "v0.9.9-0.20210512163311-63b5d3c536b0", - "purl": "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.9-0.20210512163311-63b5d3c536b0", - "type": "library", - "bom-ref": "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.9-0.20210512163311-63b5d3c536b0" - }, - { - "group": "github.com/google", - "name": "go-cmp", - "version": "v0.5.0", - "purl": "pkg:golang/github.com/google/go-cmp@v0.5.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/go-cmp@v0.5.0" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20200323222414-85ca7c5b95cd", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20200323222414-85ca7c5b95cd", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200323222414-85ca7c5b95cd" - }, - { - "group": "google.golang.org", - "name": "protobuf", - "version": "v1.25.0", - "purl": "pkg:golang/google.golang.org/protobuf@v1.25.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/protobuf@v1.25.0" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.74.0", - "purl": "pkg:golang/google.golang.org/api@v0.74.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.74.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20220407144326-9054f6ed7bac", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20220407144326-9054f6ed7bac", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20220407144326-9054f6ed7bac" - }, - { - "group": "cloud.google.com/go", - "name": "compute", - "version": "v1.6.0", - "purl": "pkg:golang/cloud.google.com/go/compute@v1.6.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/compute@v1.6.0" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20220412020605-290c469a71a5", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20220412020605-290c469a71a5", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20220412020605-290c469a71a5" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20220412211240-33da011f77ad", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20220412211240-33da011f77ad", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20220412211240-33da011f77ad" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20220414192740-2d67ff6cf2b4", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20220414192740-2d67ff6cf2b4", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20220414192740-2d67ff6cf2b4" - }, - { - "group": "github.com/envoyproxy", - "name": "go-control-plane", - "version": "v0.9.10-0.20210907150352-cf90f659a021", - "purl": "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.10-0.20210907150352-cf90f659a021", - "type": "library", - "bom-ref": "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.10-0.20210907150352-cf90f659a021" - }, - { - "group": "cloud.google.com/go", - "name": "storage", - "version": "v1.10.0", - "purl": "pkg:golang/cloud.google.com/go/storage@v1.10.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/storage@v1.10.0" - }, - { - "group": "golang.org/x", - "name": "oauth2", - "version": "v0.0.0-20210819190943-2bc19b11175f", - "purl": "pkg:golang/golang.org/x/oauth2@v0.0.0-20210819190943-2bc19b11175f", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20210819190943-2bc19b11175f" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20210924002016-3dee208752a0", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20210924002016-3dee208752a0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20210924002016-3dee208752a0" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20210917161153-d61c044b1678", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20210917161153-d61c044b1678", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20210917161153-d61c044b1678" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20210917145530-b395a37504d4", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20210917145530-b395a37504d4", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20210917145530-b395a37504d4" - }, - { - "group": "cloud.google.com/go", - "name": "iam", - "version": "v0.3.0", - "purl": "pkg:golang/cloud.google.com/go/iam@v0.3.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/iam@v0.3.0" - }, - { - "group": "github.com/googleapis", - "name": "go-type-adapters", - "version": "v1.0.0", - "purl": "pkg:golang/github.com/googleapis/go-type-adapters@v1.0.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/googleapis/go-type-adapters@v1.0.0" - }, - { - "group": "golang.org/x", - "name": "mod", - "version": "v0.4.2", - "purl": "pkg:golang/golang.org/x/mod@v0.4.2", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/mod@v0.4.2" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.1.1", - "purl": "pkg:golang/golang.org/x/tools@v0.1.1", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.1.1" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.55.0", - "purl": "pkg:golang/google.golang.org/api@v0.55.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.55.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20210831024726-fe130286e0e2", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20210831024726-fe130286e0e2", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20210831024726-fe130286e0e2" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.54.0", - "purl": "pkg:golang/google.golang.org/api@v0.54.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.54.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20210821163610-241b8fcbd6c8", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20210821163610-241b8fcbd6c8", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20210821163610-241b8fcbd6c8" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20210908233432-aa78b53d3365", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20210908233432-aa78b53d3365", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20210908233432-aa78b53d3365" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20210903162649-d08c68adba83", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20210903162649-d08c68adba83", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20210903162649-d08c68adba83" - }, - { - "group": "github.com/golang", - "name": "groupcache", - "version": "v0.0.0-20190702054246-869f871628b6", - "purl": "pkg:golang/github.com/golang/groupcache@v0.0.0-20190702054246-869f871628b6", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/groupcache@v0.0.0-20190702054246-869f871628b6" - }, - { - "group": "github.com/google", - "name": "go-cmp", - "version": "v0.3.0", - "purl": "pkg:golang/github.com/google/go-cmp@v0.3.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/go-cmp@v0.3.0" - }, - { - "group": "github.com/stretchr", - "name": "testify", - "version": "v1.4.0", - "purl": "pkg:golang/github.com/stretchr/testify@v1.4.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/stretchr/testify@v1.4.0" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20190620200207-3b0461eec859", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20190502145724-3ef323f4f1fd", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20190502145724-3ef323f4f1fd", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190502145724-3ef323f4f1fd" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20190425155659-357c62f0e4bb", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20190425155659-357c62f0e4bb", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20190425155659-357c62f0e4bb" - }, - { - "group": "google.golang.org", - "name": "grpc", - "version": "v1.20.1", - "purl": "pkg:golang/google.golang.org/grpc@v1.20.1", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/grpc@v1.20.1" - }, - { - "group": "cloud.google.com", - "name": "go", - "version": "v0.56.0", - "purl": "pkg:golang/cloud.google.com/go@v0.56.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go@v0.56.0" - }, - { - "group": "github.com/google", - "name": "go-cmp", - "version": "v0.4.0", - "purl": "pkg:golang/github.com/google/go-cmp@v0.4.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/go-cmp@v0.4.0" - }, - { - "group": "github.com/googleapis/gax-go", - "name": "v2", - "version": "v2.0.5", - "purl": "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "type": "library", - "bom-ref": "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5" - }, - { - "name": "go.opencensus.io", - "version": "v0.22.3", - "purl": "pkg:golang/go.opencensus.io@v0.22.3", - "type": "library", - "bom-ref": "pkg:golang/go.opencensus.io@v0.22.3" - }, - { - "group": "golang.org/x", - "name": "lint", - "version": "v0.0.0-20200302205851-738671d3881b", - "purl": "pkg:golang/golang.org/x/lint@v0.0.0-20200302205851-738671d3881b", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/lint@v0.0.0-20200302205851-738671d3881b" - }, - { - "group": "golang.org/x", - "name": "sync", - "version": "v0.0.0-20200317015054-43a5402ce75a", - "purl": "pkg:golang/golang.org/x/sync@v0.0.0-20200317015054-43a5402ce75a", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sync@v0.0.0-20200317015054-43a5402ce75a" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20200331124033-c3d80250170d", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20200331124033-c3d80250170d", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200331124033-c3d80250170d" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20200331025713-a30bf2db82d4", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20200331025713-a30bf2db82d4", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200331025713-a30bf2db82d4" - }, - { - "group": "google.golang.org", - "name": "appengine", - "version": "v1.6.5", - "purl": "pkg:golang/google.golang.org/appengine@v1.6.5", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/appengine@v1.6.5" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20200331122359-1ee6d9798940", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20200331122359-1ee6d9798940", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200331122359-1ee6d9798940" - }, - { - "group": "google.golang.org", - "name": "grpc", - "version": "v1.28.0", - "purl": "pkg:golang/google.golang.org/grpc@v1.28.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/grpc@v1.28.0" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20200130002326-2f3ba24bd6e7", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20200130002326-2f3ba24bd6e7", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200130002326-2f3ba24bd6e7" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20210423082822-04245dca01da", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20210423082822-04245dca01da", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20210423082822-04245dca01da" - }, - { - "group": "golang.org/x", - "name": "term", - "version": "v0.0.0-20201126162022-7de9c90e9dd1", - "purl": "pkg:golang/golang.org/x/term@v0.0.0-20201126162022-7de9c90e9dd1", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/term@v0.0.0-20201126162022-7de9c90e9dd1" - }, - { - "group": "golang.org/x", - "name": "text", - "version": "v0.3.6", - "purl": "pkg:golang/golang.org/x/text@v0.3.6", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/text@v0.3.6" - }, - { - "group": "github.com/yuin", - "name": "goldmark", - "version": "v1.3.5", - "purl": "pkg:golang/github.com/yuin/goldmark@v1.3.5", - "type": "library", - "bom-ref": "pkg:golang/github.com/yuin/goldmark@v1.3.5" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20211008145708-270636b82663", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20211008145708-270636b82663", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20211008145708-270636b82663" - }, - { - "group": "github.com/BurntSushi", - "name": "toml", - "version": "v0.3.1", - "purl": "pkg:golang/github.com/BurntSushi/toml@v0.3.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/BurntSushi/toml@v0.3.1" - }, - { - "group": "github.com/google", - "name": "renameio", - "version": "v0.1.0", - "purl": "pkg:golang/github.com/google/renameio@v0.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/renameio@v0.1.0" - }, - { - "group": "github.com/kisielk", - "name": "gotool", - "version": "v1.0.0", - "purl": "pkg:golang/github.com/kisielk/gotool@v1.0.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/kisielk/gotool@v1.0.0" - }, - { - "group": "github.com/rogpeppe", - "name": "go-internal", - "version": "v1.3.0", - "purl": "pkg:golang/github.com/rogpeppe/go-internal@v1.3.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/rogpeppe/go-internal@v1.3.0" - }, - { - "group": "golang.org/x", - "name": "mod", - "version": "v0.0.0-20190513183733-4bf6d317e70e", - "purl": "pkg:golang/golang.org/x/mod@v0.0.0-20190513183733-4bf6d317e70e", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/mod@v0.0.0-20190513183733-4bf6d317e70e" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20191130070609-6e064ea0cf2d", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20191130070609-6e064ea0cf2d", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20191130070609-6e064ea0cf2d" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20211216021012-1d35b9e2eb4e", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20211216021012-1d35b9e2eb4e", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20211216021012-1d35b9e2eb4e" - }, - { - "group": "github.com/envoyproxy", - "name": "go-control-plane", - "version": "v0.9.0", - "purl": "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.0" - }, - { - "group": "github.com/golang", - "name": "mock", - "version": "v1.1.1", - "purl": "pkg:golang/github.com/golang/mock@v1.1.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/mock@v1.1.1" - }, - { - "group": "github.com/google", - "name": "go-cmp", - "version": "v0.2.0", - "purl": "pkg:golang/github.com/google/go-cmp@v0.2.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/go-cmp@v0.2.0" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20190311183353-d8887717615a", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a" - }, - { - "group": "golang.org/x", - "name": "oauth2", - "version": "v0.0.0-20180821212333-d2e6202438be", - "purl": "pkg:golang/golang.org/x/oauth2@v0.0.0-20180821212333-d2e6202438be", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20180821212333-d2e6202438be" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20190215142949-d0b11bdaac8a", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20190819201941-24fa4b261c55", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55" - }, - { - "group": "google.golang.org", - "name": "protobuf", - "version": "v1.26.0-rc.1", - "purl": "pkg:golang/google.golang.org/protobuf@v1.26.0-rc.1", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/protobuf@v1.26.0-rc.1" - }, - { - "group": "github.com/golang", - "name": "protobuf", - "version": "v1.2.0", - "purl": "pkg:golang/github.com/golang/protobuf@v1.2.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/protobuf@v1.2.0" - }, - { - "group": "golang.org/x", - "name": "sync", - "version": "v0.0.0-20181108010431-42b317875d0f", - "purl": "pkg:golang/golang.org/x/sync@v0.0.0-20181108010431-42b317875d0f", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sync@v0.0.0-20181108010431-42b317875d0f" - }, - { - "group": "github.com/davecgh", - "name": "go-spew", - "version": "v1.1.0", - "purl": "pkg:golang/github.com/davecgh/go-spew@v1.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/davecgh/go-spew@v1.1.0" - }, - { - "group": "github.com/stretchr", - "name": "objx", - "version": "v0.1.0", - "purl": "pkg:golang/github.com/stretchr/objx@v0.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/stretchr/objx@v0.1.0" - }, - { - "group": "gopkg.in", - "name": "yaml.v3", - "version": "v3.0.0-20200313102051-9f266ea9e77c", - "purl": "pkg:golang/gopkg.in/yaml.v3@v3.0.0-20200313102051-9f266ea9e77c", - "type": "library", - "bom-ref": "pkg:golang/gopkg.in/yaml.v3@v3.0.0-20200313102051-9f266ea9e77c" - }, - { - "group": "github.com/grpc-ecosystem", - "name": "grpc-gateway", - "version": "v1.16.0", - "purl": "pkg:golang/github.com/grpc-ecosystem/grpc-gateway@v1.16.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/grpc-ecosystem/grpc-gateway@v1.16.0" - }, - { - "group": "golang.org/x", - "name": "crypto", - "version": "v0.0.0-20200622213623-75b288015ac9", - "purl": "pkg:golang/golang.org/x/crypto@v0.0.0-20200622213623-75b288015ac9", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20200622213623-75b288015ac9" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20200930185726-fdedc70b468f", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20200930185726-fdedc70b468f", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200930185726-fdedc70b468f" - }, - { - "group": "golang.org/x", - "name": "text", - "version": "v0.3.3", - "purl": "pkg:golang/golang.org/x/text@v0.3.3", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/text@v0.3.3" - }, - { - "group": "github.com/golang", - "name": "protobuf", - "version": "v1.4.1", - "purl": "pkg:golang/github.com/golang/protobuf@v1.4.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/protobuf@v1.4.1" - }, - { - "group": "golang.org/x", - "name": "lint", - "version": "v0.0.0-20190313153728-d0100b6bd8b3", - "purl": "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20190524140312-2c0ae7006135", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135" - }, - { - "group": "google.golang.org", - "name": "grpc", - "version": "v1.27.0", - "purl": "pkg:golang/google.golang.org/grpc@v1.27.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/grpc@v1.27.0" - }, - { - "group": "google.golang.org", - "name": "protobuf", - "version": "v1.23.1-0.20200526195155-81db48ad09cc", - "purl": "pkg:golang/google.golang.org/protobuf@v1.23.1-0.20200526195155-81db48ad09cc", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/protobuf@v1.23.1-0.20200526195155-81db48ad09cc" - }, - { - "group": "honnef.co/go", - "name": "tools", - "version": "v0.0.0-20190523083050-ea95bdfd59fc", - "purl": "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc", - "type": "library", - "bom-ref": "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc" - }, - { - "group": "github.com/envoyproxy", - "name": "go-control-plane", - "version": "v0.9.9-0.20201210154907-fd9021fe5dad", - "purl": "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.9-0.20201210154907-fd9021fe5dad", - "type": "library", - "bom-ref": "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.9-0.20201210154907-fd9021fe5dad" - }, - { - "group": "github.com/golang", - "name": "protobuf", - "version": "v1.4.2", - "purl": "pkg:golang/github.com/golang/protobuf@v1.4.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/protobuf@v1.4.2" - }, - { - "group": "gopkg.in", - "name": "yaml.v2", - "version": "v2.2.8", - "purl": "pkg:golang/gopkg.in/yaml.v2@v2.2.8", - "type": "library", - "bom-ref": "pkg:golang/gopkg.in/yaml.v2@v2.2.8" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20210615035016-665e8c7367d1", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20210615035016-665e8c7367d1", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20210615035016-665e8c7367d1" - }, - { - "group": "github.com/golang", - "name": "mock", - "version": "v1.4.4", - "purl": "pkg:golang/github.com/golang/mock@v1.4.4", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/mock@v1.4.4" - }, - { - "group": "github.com/google", - "name": "go-cmp", - "version": "v0.5.1", - "purl": "pkg:golang/github.com/google/go-cmp@v0.5.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/go-cmp@v0.5.1" - }, - { - "group": "github.com/google/martian", - "name": "v3", - "version": "v3.0.0", - "purl": "pkg:golang/github.com/google/martian/v3@v3.0.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/martian/v3@v3.0.0" - }, - { - "group": "github.com/google", - "name": "pprof", - "version": "v0.0.0-20200708004538-1a94d8640e99", - "purl": "pkg:golang/github.com/google/pprof@v0.0.0-20200708004538-1a94d8640e99", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/pprof@v0.0.0-20200708004538-1a94d8640e99" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20200825202427-b303f430e36d", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20200825202427-b303f430e36d", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200825202427-b303f430e36d" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.30.0", - "purl": "pkg:golang/google.golang.org/api@v0.30.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.30.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20200825200019-8632dd797987", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20200825200019-8632dd797987", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200825200019-8632dd797987" - }, - { - "group": "google.golang.org", - "name": "grpc", - "version": "v1.31.0", - "purl": "pkg:golang/google.golang.org/grpc@v1.31.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/grpc@v1.31.0" - }, - { - "group": "golang.org/x", - "name": "crypto", - "version": "v0.0.0-20190308221718-c2843e01d9a2", - "purl": "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2" - }, - { - "group": "golang.org/x", - "name": "text", - "version": "v0.3.0", - "purl": "pkg:golang/golang.org/x/text@v0.3.0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/text@v0.3.0" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20210330210617-4fbd30eecc44", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20210330210617-4fbd30eecc44", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20210330210617-4fbd30eecc44" - }, - { - "group": "cloud.google.com", - "name": "go", - "version": "v0.34.0", - "purl": "pkg:golang/cloud.google.com/go@v0.34.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go@v0.34.0" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20190108225652-1e06a53dbb7e", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20190108225652-1e06a53dbb7e", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20190108225652-1e06a53dbb7e" - }, - { - "group": "golang.org/x", - "name": "sync", - "version": "v0.0.0-20181221193216-37e7f081c4d4", - "purl": "pkg:golang/golang.org/x/sync@v0.0.0-20181221193216-37e7f081c4d4", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sync@v0.0.0-20181221193216-37e7f081c4d4" - }, - { - "group": "google.golang.org", - "name": "appengine", - "version": "v1.4.0", - "purl": "pkg:golang/google.golang.org/appengine@v1.4.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/appengine@v1.4.0" - }, - { - "group": "github.com/envoyproxy", - "name": "go-control-plane", - "version": "v0.9.9-0.20210217033140-668b12f5399d", - "purl": "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.9-0.20210217033140-668b12f5399d", - "type": "library", - "bom-ref": "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.9-0.20210217033140-668b12f5399d" - }, - { - "group": "google.golang.org", - "name": "protobuf", - "version": "v1.23.0", - "purl": "pkg:golang/google.golang.org/protobuf@v1.23.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/protobuf@v1.23.0" - }, - { - "group": "cloud.google.com", - "name": "go", - "version": "v0.93.3", - "purl": "pkg:golang/cloud.google.com/go@v0.93.3", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go@v0.93.3" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20210823070655-63515b42dcdf", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20210823070655-63515b42dcdf", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20210823070655-63515b42dcdf" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20210828152312-66f60bf46e71", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20210828152312-66f60bf46e71", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20210828152312-66f60bf46e71" - }, - { - "group": "github.com/cncf/udpa", - "name": "go", - "version": "v0.0.0-20191209042840-269d4d468f6f", - "purl": "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20191209042840-269d4d468f6f", - "type": "library", - "bom-ref": "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20191209042840-269d4d468f6f" - }, - { - "group": "github.com/envoyproxy", - "name": "go-control-plane", - "version": "v0.9.4", - "purl": "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.4", - "type": "library", - "bom-ref": "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.4" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.61.0", - "purl": "pkg:golang/google.golang.org/api@v0.61.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.61.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20211206160659-862468c7d6e0", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20211206160659-862468c7d6e0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20211206160659-862468c7d6e0" - }, - { - "group": "github.com/cncf/xds", - "name": "go", - "version": "v0.0.0-20210312221358-fbca930ec8ed", - "purl": "pkg:golang/github.com/cncf/xds/go@v0.0.0-20210312221358-fbca930ec8ed", - "type": "library", - "bom-ref": "pkg:golang/github.com/cncf/xds/go@v0.0.0-20210312221358-fbca930ec8ed" - }, - { - "group": "github.com/stretchr", - "name": "testify", - "version": "v1.5.1", - "purl": "pkg:golang/github.com/stretchr/testify@v1.5.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/stretchr/testify@v1.5.1" - }, - { - "group": "cloud.google.com/go", - "name": "compute", - "version": "v1.5.0", - "purl": "pkg:golang/cloud.google.com/go/compute@v1.5.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/compute@v1.5.0" - }, - { - "group": "github.com/googleapis/gax-go", - "name": "v2", - "version": "v2.2.0", - "purl": "pkg:golang/github.com/googleapis/gax-go/v2@v2.2.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/googleapis/gax-go/v2@v2.2.0" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20220325170049-de3da57026de", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20220325170049-de3da57026de", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20220325170049-de3da57026de" - }, - { - "group": "golang.org/x", - "name": "oauth2", - "version": "v0.0.0-20220309155454-6242fa91716a", - "purl": "pkg:golang/golang.org/x/oauth2@v0.0.0-20220309155454-6242fa91716a", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20220309155454-6242fa91716a" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20220328115105-d36c6a25d886", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20220328115105-d36c6a25d886", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20220328115105-d36c6a25d886" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20220324131243-acbaeb5b85eb", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20220324131243-acbaeb5b85eb", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20220324131243-acbaeb5b85eb" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20220413183235-5e96e2839df9", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20220413183235-5e96e2839df9", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20220413183235-5e96e2839df9" - }, - { - "group": "github.com/cncf/xds", - "name": "go", - "version": "v0.0.0-20210805033703-aa0b78936158", - "purl": "pkg:golang/github.com/cncf/xds/go@v0.0.0-20210805033703-aa0b78936158", - "type": "library", - "bom-ref": "pkg:golang/github.com/cncf/xds/go@v0.0.0-20210805033703-aa0b78936158" - }, - { - "group": "cloud.google.com", - "name": "go", - "version": "v0.57.0", - "purl": "pkg:golang/cloud.google.com/go@v0.57.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go@v0.57.0" - }, - { - "group": "cloud.google.com/go", - "name": "bigquery", - "version": "v1.8.0", - "purl": "pkg:golang/cloud.google.com/go/bigquery@v1.8.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/bigquery@v1.8.0" - }, - { - "group": "github.com/google", - "name": "go-cmp", - "version": "v0.4.1", - "purl": "pkg:golang/github.com/google/go-cmp@v0.4.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/go-cmp@v0.4.1" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20200520182314-0ba52f642ac2", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20200520182314-0ba52f642ac2", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20200520182314-0ba52f642ac2" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20200523222454-059865788121", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20200523222454-059865788121", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200523222454-059865788121" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20200618134242-20370b0cb4b2", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20200618134242-20370b0cb4b2", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200618134242-20370b0cb4b2" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.28.0", - "purl": "pkg:golang/google.golang.org/api@v0.28.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.28.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20200618031413-b414f8b61790", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20200618031413-b414f8b61790", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200618031413-b414f8b61790" - }, - { - "group": "google.golang.org", - "name": "grpc", - "version": "v1.29.1", - "purl": "pkg:golang/google.golang.org/grpc@v1.29.1", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/grpc@v1.29.1" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.70.0", - "purl": "pkg:golang/google.golang.org/api@v0.70.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.70.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20220222213610-43724f9ea8cf", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20220222213610-43724f9ea8cf", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20220222213610-43724f9ea8cf" - }, - { - "group": "google.golang.org", - "name": "grpc", - "version": "v1.44.0", - "purl": "pkg:golang/google.golang.org/grpc@v1.44.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/grpc@v1.44.0" - }, - { - "group": "github.com/golang", - "name": "protobuf", - "version": "v1.5.1", - "purl": "pkg:golang/github.com/golang/protobuf@v1.5.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/protobuf@v1.5.1" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20210329143202-679c6ae281ee", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20210329143202-679c6ae281ee", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20210329143202-679c6ae281ee" - }, - { - "group": "golang.org/x", - "name": "crypto", - "version": "v0.0.0-20191011191535-87dc89f01550", - "purl": "pkg:golang/golang.org/x/crypto@v0.0.0-20191011191535-87dc89f01550", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20191011191535-87dc89f01550" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20191119224855-298f0cb1881e", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20191119224855-298f0cb1881e", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20191119224855-298f0cb1881e" - }, - { - "group": "golang.org/x", - "name": "xerrors", - "version": "v0.0.0-20191011141410-1b5146add898", - "purl": "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898" - }, - { - "group": "cloud.google.com", - "name": "go", - "version": "v0.90.0", - "purl": "pkg:golang/cloud.google.com/go@v0.90.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go@v0.90.0" - }, - { - "group": "golang.org/x", - "name": "oauth2", - "version": "v0.0.0-20210805134026-6f1e6394065a", - "purl": "pkg:golang/golang.org/x/oauth2@v0.0.0-20210805134026-6f1e6394065a", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20210805134026-6f1e6394065a" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20210806184541-e5e7981a1069", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20210806184541-e5e7981a1069", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20210806184541-e5e7981a1069" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20210805201207-89edb61ffb67", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20210805201207-89edb61ffb67", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20210805201207-89edb61ffb67" - }, - { - "group": "google.golang.org", - "name": "grpc", - "version": "v1.39.1", - "purl": "pkg:golang/google.golang.org/grpc@v1.39.1", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/grpc@v1.39.1" - }, - { - "group": "gopkg.in", - "name": "yaml.v2", - "version": "v2.2.2", - "purl": "pkg:golang/gopkg.in/yaml.v2@v2.2.2", - "type": "library", - "bom-ref": "pkg:golang/gopkg.in/yaml.v2@v2.2.2" - }, - { - "group": "golang.org/x", - "name": "exp", - "version": "v0.0.0-20190121172915-509febef88a4", - "purl": "pkg:golang/golang.org/x/exp@v0.0.0-20190121172915-509febef88a4", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/exp@v0.0.0-20190121172915-509febef88a4" - }, - { - "group": "golang.org/x", - "name": "lint", - "version": "v0.0.0-20190227174305-5b3e6a55c961", - "purl": "pkg:golang/golang.org/x/lint@v0.0.0-20190227174305-5b3e6a55c961", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/lint@v0.0.0-20190227174305-5b3e6a55c961" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20190213061140-3a22650c66bd", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20190213061140-3a22650c66bd", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20190213061140-3a22650c66bd" - }, - { - "group": "golang.org/x", - "name": "sync", - "version": "v0.0.0-20190227155943-e225da77a7e6", - "purl": "pkg:golang/golang.org/x/sync@v0.0.0-20190227155943-e225da77a7e6", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sync@v0.0.0-20190227155943-e225da77a7e6" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20190226205152-f727befe758c", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20190226205152-f727befe758c", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190226205152-f727befe758c" - }, - { - "group": "google.golang.org", - "name": "grpc", - "version": "v1.19.0", - "purl": "pkg:golang/google.golang.org/grpc@v1.19.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/grpc@v1.19.0" - }, - { - "group": "honnef.co/go", - "name": "tools", - "version": "v0.0.0-20190102054323-c2f93a96b099", - "purl": "pkg:golang/honnef.co/go/tools@v0.0.0-20190102054323-c2f93a96b099", - "type": "library", - "bom-ref": "pkg:golang/honnef.co/go/tools@v0.0.0-20190102054323-c2f93a96b099" - }, - { - "group": "cloud.google.com", - "name": "go", - "version": "v0.26.0", - "purl": "pkg:golang/cloud.google.com/go@v0.26.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go@v0.26.0" - }, - { - "group": "github.com/client9", - "name": "misspell", - "version": "v0.3.4", - "purl": "pkg:golang/github.com/client9/misspell@v0.3.4", - "type": "library", - "bom-ref": "pkg:golang/github.com/client9/misspell@v0.3.4" - }, - { - "group": "golang.org/x", - "name": "sync", - "version": "v0.0.0-20180314180146-1d60e4601c6f", - "purl": "pkg:golang/golang.org/x/sync@v0.0.0-20180314180146-1d60e4601c6f", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sync@v0.0.0-20180314180146-1d60e4601c6f" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20190311212946-11955173bddd", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20190311212946-11955173bddd", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190311212946-11955173bddd" - }, - { - "group": "google.golang.org", - "name": "appengine", - "version": "v1.1.0", - "purl": "pkg:golang/google.golang.org/appengine@v1.1.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/appengine@v1.1.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20180817151627-c66870c02cf8", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20180817151627-c66870c02cf8", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20180817151627-c66870c02cf8" - }, - { - "group": "cloud.google.com/go", - "name": "bigquery", - "version": "v1.4.0", - "purl": "pkg:golang/cloud.google.com/go/bigquery@v1.4.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/bigquery@v1.4.0" - }, - { - "group": "cloud.google.com/go", - "name": "datastore", - "version": "v1.1.0", - "purl": "pkg:golang/cloud.google.com/go/datastore@v1.1.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/datastore@v1.1.0" - }, - { - "group": "cloud.google.com/go", - "name": "pubsub", - "version": "v1.2.0", - "purl": "pkg:golang/cloud.google.com/go/pubsub@v1.2.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/pubsub@v1.2.0" - }, - { - "group": "cloud.google.com/go", - "name": "storage", - "version": "v1.6.0", - "purl": "pkg:golang/cloud.google.com/go/storage@v1.6.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/storage@v1.6.0" - }, - { - "group": "github.com/golang", - "name": "mock", - "version": "v1.4.3", - "purl": "pkg:golang/github.com/golang/mock@v1.4.3", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/mock@v1.4.3" - }, - { - "group": "github.com/golang", - "name": "protobuf", - "version": "v1.3.5", - "purl": "pkg:golang/github.com/golang/protobuf@v1.3.5", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/protobuf@v1.3.5" - }, - { - "group": "github.com/google", - "name": "martian", - "version": "v2.1.0+incompatible", - "purl": "pkg:golang/github.com/google/martian@v2.1.0%2Bincompatible", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/martian@v2.1.0%2Bincompatible" - }, - { - "group": "github.com/google", - "name": "pprof", - "version": "v0.0.0-20200229191704-1ebb73c60ed3", - "purl": "pkg:golang/github.com/google/pprof@v0.0.0-20200229191704-1ebb73c60ed3", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/pprof@v0.0.0-20200229191704-1ebb73c60ed3" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20200324143707-d3edc9973b7e", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20200324143707-d3edc9973b7e", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20200324143707-d3edc9973b7e" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.20.0", - "purl": "pkg:golang/google.golang.org/api@v0.20.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.20.0" - }, - { - "group": "honnef.co/go", - "name": "tools", - "version": "v0.0.1-2020.1.3", - "purl": "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.3", - "type": "library", - "bom-ref": "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.3" - }, - { - "group": "github.com/yuin", - "name": "goldmark", - "version": "v1.1.25", - "purl": "pkg:golang/github.com/yuin/goldmark@v1.1.25", - "type": "library", - "bom-ref": "pkg:golang/github.com/yuin/goldmark@v1.1.25" - }, - { - "group": "golang.org/x", - "name": "mod", - "version": "v0.2.0", - "purl": "pkg:golang/golang.org/x/mod@v0.2.0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/mod@v0.2.0" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20200226121028-0de0cce0169b", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20200226121028-0de0cce0169b", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20200226121028-0de0cce0169b" - }, - { - "group": "golang.org/x", - "name": "sync", - "version": "v0.0.0-20190911185100-cd5d95a43a6e", - "purl": "pkg:golang/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e" - }, - { - "group": "github.com/golang", - "name": "protobuf", - "version": "v1.3.3", - "purl": "pkg:golang/github.com/golang/protobuf@v1.3.3", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/protobuf@v1.3.3" - }, - { - "group": "golang.org/x", - "name": "mod", - "version": "v0.1.1-0.20191105210325-c90efee705ee", - "purl": "pkg:golang/golang.org/x/mod@v0.1.1-0.20191105210325-c90efee705ee", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/mod@v0.1.1-0.20191105210325-c90efee705ee" - }, - { - "group": "golang.org/x", - "name": "sync", - "version": "v0.0.0-20190423024810-112230192c58", - "purl": "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20201119102817-f84b799fce68", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20201119102817-f84b799fce68", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20201119102817-f84b799fce68" - }, - { - "group": "gopkg.in", - "name": "errgo.v2", - "version": "v2.1.0", - "purl": "pkg:golang/gopkg.in/errgo.v2@v2.1.0", - "type": "library", - "bom-ref": "pkg:golang/gopkg.in/errgo.v2@v2.1.0" - }, - { - "group": "golang.org/x", - "name": "crypto", - "version": "v0.0.0-20190510104115-cbcb75029529", - "purl": "pkg:golang/golang.org/x/crypto@v0.0.0-20190510104115-cbcb75029529", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20190510104115-cbcb75029529" - }, - { - "group": "golang.org/x", - "name": "xerrors", - "version": "v0.0.0-20190717185122-a985d3407aa7", - "purl": "pkg:golang/golang.org/x/xerrors@v0.0.0-20190717185122-a985d3407aa7", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/xerrors@v0.0.0-20190717185122-a985d3407aa7" - }, - { - "group": "google.golang.org", - "name": "grpc", - "version": "v1.23.0", - "purl": "pkg:golang/google.golang.org/grpc@v1.23.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/grpc@v1.23.0" - }, - { - "group": "gopkg.in", - "name": "check.v1", - "version": "v0.0.0-20161208181325-20d25e280405", - "purl": "pkg:golang/gopkg.in/check.v1@v0.0.0-20161208181325-20d25e280405", - "type": "library", - "bom-ref": "pkg:golang/gopkg.in/check.v1@v0.0.0-20161208181325-20d25e280405" - }, - { - "group": "github.com/antihax", - "name": "optional", - "version": "v1.0.0", - "purl": "pkg:golang/github.com/antihax/optional@v1.0.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/antihax/optional@v1.0.0" - }, - { - "group": "github.com/ghodss", - "name": "yaml", - "version": "v1.0.0", - "purl": "pkg:golang/github.com/ghodss/yaml@v1.0.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/ghodss/yaml@v1.0.0" - }, - { - "group": "github.com/rogpeppe", - "name": "fastuuid", - "version": "v1.2.0", - "purl": "pkg:golang/github.com/rogpeppe/fastuuid@v1.2.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/rogpeppe/fastuuid@v1.2.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20200513103714-09dca8ec2884", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20200513103714-09dca8ec2884", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200513103714-09dca8ec2884" - }, - { - "group": "google.golang.org", - "name": "grpc", - "version": "v1.33.1", - "purl": "pkg:golang/google.golang.org/grpc@v1.33.1", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/grpc@v1.33.1" - }, - { - "group": "gopkg.in", - "name": "yaml.v2", - "version": "v2.2.3", - "purl": "pkg:golang/gopkg.in/yaml.v2@v2.2.3", - "type": "library", - "bom-ref": "pkg:golang/gopkg.in/yaml.v2@v2.2.3" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20190404232315-eb5bcb51f2a3", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20190404232315-eb5bcb51f2a3", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20190404232315-eb5bcb51f2a3" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20190412213103-97732733099d", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20190412213103-97732733099d", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190412213103-97732733099d" - }, - { - "group": "google.golang.org", - "name": "protobuf", - "version": "v1.22.0", - "purl": "pkg:golang/google.golang.org/protobuf@v1.22.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/protobuf@v1.22.0" - }, - { - "group": "github.com/envoyproxy", - "name": "go-control-plane", - "version": "v0.9.1-0.20191026205805-5f8ba28d4473", - "purl": "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.1-0.20191026205805-5f8ba28d4473", - "type": "library", - "bom-ref": "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.1-0.20191026205805-5f8ba28d4473" - }, - { - "group": "github.com/golang", - "name": "protobuf", - "version": "v1.4.0", - "purl": "pkg:golang/github.com/golang/protobuf@v1.4.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/protobuf@v1.4.0" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20190425150028-36563e24a262", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20190425150028-36563e24a262", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190425150028-36563e24a262" - }, - { - "group": "github.com/ianlancetaylor", - "name": "demangle", - "version": "v0.0.0-20181102032728-5e5cf60278f6", - "purl": "pkg:golang/github.com/ianlancetaylor/demangle@v0.0.0-20181102032728-5e5cf60278f6", - "type": "library", - "bom-ref": "pkg:golang/github.com/ianlancetaylor/demangle@v0.0.0-20181102032728-5e5cf60278f6" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20191204072324-ce4227a45e2e", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20191204072324-ce4227a45e2e", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20191204072324-ce4227a45e2e" - }, - { - "group": "github.com/yuin", - "name": "goldmark", - "version": "v1.1.32", - "purl": "pkg:golang/github.com/yuin/goldmark@v1.1.32", - "type": "library", - "bom-ref": "pkg:golang/github.com/yuin/goldmark@v1.1.32" - }, - { - "group": "golang.org/x", - "name": "mod", - "version": "v0.3.0", - "purl": "pkg:golang/golang.org/x/mod@v0.3.0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/mod@v0.3.0" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20200625001655-4c5254603344", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20200625001655-4c5254603344", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20200625001655-4c5254603344" - }, - { - "group": "cloud.google.com", - "name": "go", - "version": "v0.62.0", - "purl": "pkg:golang/cloud.google.com/go@v0.62.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go@v0.62.0" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20200803210538-64077c9b5642", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20200803210538-64077c9b5642", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200803210538-64077c9b5642" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20200804011535-6c149bb5ef0d", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20200804011535-6c149bb5ef0d", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200804011535-6c149bb5ef0d" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20200804131852-c06518451d9c", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20200804131852-c06518451d9c", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200804131852-c06518451d9c" - }, - { - "group": "google.golang.org", - "name": "protobuf", - "version": "v1.24.0", - "purl": "pkg:golang/google.golang.org/protobuf@v1.24.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/protobuf@v1.24.0" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20180724234803-3673e40ba225", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20180724234803-3673e40ba225", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20180724234803-3673e40ba225" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20210813162853-db860fec028c", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20210813162853-db860fec028c", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20210813162853-db860fec028c" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20211124211545-fe61309f8881", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20211124211545-fe61309f8881", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20211124211545-fe61309f8881" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20211118181313-81c1377c94b1", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20211118181313-81c1377c94b1", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20211118181313-81c1377c94b1" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.71.0", - "purl": "pkg:golang/google.golang.org/api@v0.71.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.71.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20220310185008-1973136f34c6", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20220310185008-1973136f34c6", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20220310185008-1973136f34c6" - }, - { - "group": "github.com/google", - "name": "pprof", - "version": "v0.0.0-20200430221834-fc25d7d30c6d", - "purl": "pkg:golang/github.com/google/pprof@v0.0.0-20200430221834-fc25d7d30c6d", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/pprof@v0.0.0-20200430221834-fc25d7d30c6d" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20200501053045-e0ff5e5a1de5", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20200501053045-e0ff5e5a1de5", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20200501053045-e0ff5e5a1de5" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20200501052902-10377860bb8e", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20200501052902-10377860bb8e", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200501052902-10377860bb8e" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20200501065659-ab2804fb9c9d", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20200501065659-ab2804fb9c9d", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200501065659-ab2804fb9c9d" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.22.0", - "purl": "pkg:golang/google.golang.org/api@v0.22.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.22.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20200430143042-b979b6f78d84", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20200430143042-b979b6f78d84", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200430143042-b979b6f78d84" - }, - { - "group": "cloud.google.com/go", - "name": "storage", - "version": "v1.8.0", - "purl": "pkg:golang/cloud.google.com/go/storage@v1.8.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/storage@v1.8.0" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20200513185701-a91f0712d120", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20200513185701-a91f0712d120", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20200513185701-a91f0712d120" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20200515095857-1151b9dac4a9", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20200515095857-1151b9dac4a9", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200515095857-1151b9dac4a9" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20200515010526-7d3b6ebf133d", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20200515010526-7d3b6ebf133d", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200515010526-7d3b6ebf133d" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.24.0", - "purl": "pkg:golang/google.golang.org/api@v0.24.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.24.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20200515170657-fc4c6c6a6587", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20200515170657-fc4c6c6a6587", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200515170657-fc4c6c6a6587" - }, - { - "group": "github.com/yuin", - "name": "goldmark", - "version": "v1.1.27", - "purl": "pkg:golang/github.com/yuin/goldmark@v1.1.27", - "type": "library", - "bom-ref": "pkg:golang/github.com/yuin/goldmark@v1.1.27" - }, - { - "group": "cloud.google.com/go", - "name": "compute", - "version": "v1.3.0", - "purl": "pkg:golang/cloud.google.com/go/compute@v1.3.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/compute@v1.3.0" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20220209214540-3681064d5158", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20220209214540-3681064d5158", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20220209214540-3681064d5158" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20220218161850-94dd64e39d7c", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20220218161850-94dd64e39d7c", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20220218161850-94dd64e39d7c" - }, - { - "group": "golang.org/x", - "name": "lint", - "version": "v0.0.0-20201208152925-83fdc39ff7b5", - "purl": "pkg:golang/golang.org/x/lint@v0.0.0-20201208152925-83fdc39ff7b5", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/lint@v0.0.0-20201208152925-83fdc39ff7b5" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20210316092652-d523dce5a7f4", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20210316092652-d523dce5a7f4", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20210316092652-d523dce5a7f4" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20210320140829-1e4c9ba3b0c4", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20210320140829-1e4c9ba3b0c4", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20210320140829-1e4c9ba3b0c4" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.1.0", - "purl": "pkg:golang/golang.org/x/tools@v0.1.0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.1.0" - }, - { - "group": "google.golang.org", - "name": "grpc", - "version": "v1.36.1", - "purl": "pkg:golang/google.golang.org/grpc@v1.36.1", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/grpc@v1.36.1" - }, - { - "group": "github.com/google", - "name": "pprof", - "version": "v0.0.0-20210720184732-4bb14d4b1be1", - "purl": "pkg:golang/github.com/google/pprof@v0.0.0-20210720184732-4bb14d4b1be1", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/pprof@v0.0.0-20210720184732-4bb14d4b1be1" - }, - { - "group": "golang.org/x", - "name": "oauth2", - "version": "v0.0.0-20210628180205-a41e5a781914", - "purl": "pkg:golang/golang.org/x/oauth2@v0.0.0-20210628180205-a41e5a781914", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20210628180205-a41e5a781914" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.51.0", - "purl": "pkg:golang/google.golang.org/api@v0.51.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.51.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20210728212813-7823e685a01f", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20210728212813-7823e685a01f", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20210728212813-7823e685a01f" - }, - { - "group": "google.golang.org", - "name": "grpc", - "version": "v1.39.0", - "purl": "pkg:golang/google.golang.org/grpc@v1.39.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/grpc@v1.39.0" - }, - { - "group": "golang.org/x", - "name": "lint", - "version": "v0.0.0-20181026193005-c67002cb31c3", - "purl": "pkg:golang/golang.org/x/lint@v0.0.0-20181026193005-c67002cb31c3", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/lint@v0.0.0-20181026193005-c67002cb31c3" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20180826012351-8a410e7b638d", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20180826012351-8a410e7b638d", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20180826012351-8a410e7b638d" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20180830151530-49385e6e1522", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20180830151530-49385e6e1522", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20180830151530-49385e6e1522" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20190114222345-bf090417da8b", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20190114222345-bf090417da8b", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190114222345-bf090417da8b" - }, - { - "group": "cloud.google.com", - "name": "go", - "version": "v0.52.0", - "purl": "pkg:golang/cloud.google.com/go@v0.52.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go@v0.52.0" - }, - { - "group": "cloud.google.com/go", - "name": "storage", - "version": "v1.5.0", - "purl": "pkg:golang/cloud.google.com/go/storage@v1.5.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/storage@v1.5.0" - }, - { - "group": "golang.org/x", - "name": "exp", - "version": "v0.0.0-20200119233911-0405dc783f0a", - "purl": "pkg:golang/golang.org/x/exp@v0.0.0-20200119233911-0405dc783f0a", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/exp@v0.0.0-20200119233911-0405dc783f0a" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20200122134326-e047566fdf82", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20200122134326-e047566fdf82", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200122134326-e047566fdf82" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20200122220014-bf1340f18c4a", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20200122220014-bf1340f18c4a", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200122220014-bf1340f18c4a" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.15.0", - "purl": "pkg:golang/google.golang.org/api@v0.15.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.15.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20200122232147-0452cf42e150", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20200122232147-0452cf42e150", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200122232147-0452cf42e150" - }, - { - "group": "google.golang.org", - "name": "grpc", - "version": "v1.26.0", - "purl": "pkg:golang/google.golang.org/grpc@v1.26.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/grpc@v1.26.0" - }, - { - "group": "golang.org/x", - "name": "exp", - "version": "v0.0.0-20200207192155-f17229e696bd", - "purl": "pkg:golang/golang.org/x/exp@v0.0.0-20200207192155-f17229e696bd", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/exp@v0.0.0-20200207192155-f17229e696bd" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20200212091648-12a6c2dcc1e4", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20200212091648-12a6c2dcc1e4", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200212091648-12a6c2dcc1e4" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20200212150539-ea181f53ac56", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20200212150539-ea181f53ac56", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200212150539-ea181f53ac56" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.17.0", - "purl": "pkg:golang/google.golang.org/api@v0.17.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.17.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20200212174721-66ed5ce911ce", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20200212174721-66ed5ce911ce", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200212174721-66ed5ce911ce" - }, - { - "group": "google.golang.org", - "name": "grpc", - "version": "v1.27.1", - "purl": "pkg:golang/google.golang.org/grpc@v1.27.1", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/grpc@v1.27.1" - }, - { - "group": "golang.org/x", - "name": "lint", - "version": "v0.0.0-20200130185559-910be7a94367", - "purl": "pkg:golang/golang.org/x/lint@v0.0.0-20200130185559-910be7a94367", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/lint@v0.0.0-20200130185559-910be7a94367" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20200202094626-16171245cfb2", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20200202094626-16171245cfb2", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20200202094626-16171245cfb2" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20200202164722-d101bd2416d5", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20200202164722-d101bd2416d5", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200202164722-d101bd2416d5" - }, - { - "group": "golang.org/x", - "name": "time", - "version": "v0.0.0-20191024005414-555d28b269f0", - "purl": "pkg:golang/golang.org/x/time@v0.0.0-20191024005414-555d28b269f0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/time@v0.0.0-20191024005414-555d28b269f0" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20200204074204-1cc6d1ef6c74", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20200204074204-1cc6d1ef6c74", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200204074204-1cc6d1ef6c74" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20200204135345-fa8e72b47b90", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20200204135345-fa8e72b47b90", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200204135345-fa8e72b47b90" - }, - { - "group": "cloud.google.com", - "name": "go", - "version": "v0.53.0", - "purl": "pkg:golang/cloud.google.com/go@v0.53.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go@v0.53.0" - }, - { - "group": "golang.org/x", - "name": "exp", - "version": "v0.0.0-20200224162631-6cc2880d07d6", - "purl": "pkg:golang/golang.org/x/exp@v0.0.0-20200224162631-6cc2880d07d6", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/exp@v0.0.0-20200224162631-6cc2880d07d6" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20200222125558-5a598a2470a0", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20200222125558-5a598a2470a0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20200222125558-5a598a2470a0" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20200223170610-d5e6a3e2c0ae", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20200223170610-d5e6a3e2c0ae", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200223170610-d5e6a3e2c0ae" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20200224181240-023911ca70b2", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20200224181240-023911ca70b2", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200224181240-023911ca70b2" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.18.0", - "purl": "pkg:golang/google.golang.org/api@v0.18.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.18.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20200224152610-e50cd9704f63", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20200224152610-e50cd9704f63", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200224152610-e50cd9704f63" - }, - { - "group": "rsc.io/quote", - "name": "v3", - "version": "v3.1.0", - "purl": "pkg:golang/rsc.io/quote/v3@v3.1.0", - "type": "library", - "bom-ref": "pkg:golang/rsc.io/quote/v3@v3.1.0" - }, - { - "group": "cloud.google.com", - "name": "go", - "version": "v0.38.0", - "purl": "pkg:golang/cloud.google.com/go@v0.38.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go@v0.38.0" - }, - { - "group": "github.com/hashicorp", - "name": "golang-lru", - "version": "v0.5.1", - "purl": "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1" - }, - { - "name": "go.opencensus.io", - "version": "v0.21.0", - "purl": "pkg:golang/go.opencensus.io@v0.21.0", - "type": "library", - "bom-ref": "pkg:golang/go.opencensus.io@v0.21.0" - }, - { - "group": "golang.org/x", - "name": "lint", - "version": "v0.0.0-20190409202823-959b441ac422", - "purl": "pkg:golang/golang.org/x/lint@v0.0.0-20190409202823-959b441ac422", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/lint@v0.0.0-20190409202823-959b441ac422" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20190503192946-f4e77d36d62c", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20190503192946-f4e77d36d62c", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20190503192946-f4e77d36d62c" - }, - { - "group": "golang.org/x", - "name": "oauth2", - "version": "v0.0.0-20190604053449-0f29369cfe45", - "purl": "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20190507160741-ecd444e8653b", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20190507160741-ecd444e8653b", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190507160741-ecd444e8653b" - }, - { - "group": "google.golang.org", - "name": "appengine", - "version": "v1.5.0", - "purl": "pkg:golang/google.golang.org/appengine@v1.5.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/appengine@v1.5.0" - }, - { - "group": "github.com/kr", - "name": "pretty", - "version": "v0.1.0", - "purl": "pkg:golang/github.com/kr/pretty@v0.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/kr/pretty@v0.1.0" - }, - { - "group": "gopkg.in", - "name": "check.v1", - "version": "v1.0.0-20180628173108-788fd7840127", - "purl": "pkg:golang/gopkg.in/check.v1@v1.0.0-20180628173108-788fd7840127", - "type": "library", - "bom-ref": "pkg:golang/gopkg.in/check.v1@v1.0.0-20180628173108-788fd7840127" - }, - { - "group": "google.golang.org", - "name": "protobuf", - "version": "v1.21.0", - "purl": "pkg:golang/google.golang.org/protobuf@v1.21.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/protobuf@v1.21.0" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20200707034311-ab3426394381", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20200707034311-ab3426394381", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20200707034311-ab3426394381" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20200729194436-6467de6f59a7", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20200729194436-6467de6f59a7", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200729194436-6467de6f59a7" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20200729003335-053ba62fc06f", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20200729003335-053ba62fc06f", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200729003335-053ba62fc06f" - }, - { - "group": "google.golang.org", - "name": "grpc", - "version": "v1.30.0", - "purl": "pkg:golang/google.golang.org/grpc@v1.30.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/grpc@v1.30.0" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20220225172249-27dd8689420f", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20220225172249-27dd8689420f", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20220225172249-27dd8689420f" - }, - { - "group": "golang.org/x", - "name": "oauth2", - "version": "v0.0.0-20220223155221-ee480838109b", - "purl": "pkg:golang/golang.org/x/oauth2@v0.0.0-20220223155221-ee480838109b", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20220223155221-ee480838109b" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20220227234510-4e6760a101f9", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20220227234510-4e6760a101f9", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20220227234510-4e6760a101f9" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20220304144024-325a89244dc8", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20220304144024-325a89244dc8", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20220304144024-325a89244dc8" - }, - { - "group": "cloud.google.com/go", - "name": "bigquery", - "version": "v1.7.0", - "purl": "pkg:golang/cloud.google.com/go/bigquery@v1.7.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/bigquery@v1.7.0" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20200506145744-7e3656a0809f", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20200506145744-7e3656a0809f", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20200506145744-7e3656a0809f" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20200511232937-7e40ca221e25", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20200511232937-7e40ca221e25", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200511232937-7e40ca221e25" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20200512131952-2bc93b1c0c88", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20200512131952-2bc93b1c0c88", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200512131952-2bc93b1c0c88" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20200511104702-f5ebc3bea380", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20200511104702-f5ebc3bea380", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200511104702-f5ebc3bea380" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.67.0", - "purl": "pkg:golang/google.golang.org/api@v0.67.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.67.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20220207164111-0872dc986b00", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20220207164111-0872dc986b00", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20220207164111-0872dc986b00" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20210315160823-c6e025ad8005", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20210315160823-c6e025ad8005", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20210315160823-c6e025ad8005" - }, - { - "group": "github.com/yuin", - "name": "goldmark", - "version": "v1.2.1", - "purl": "pkg:golang/github.com/yuin/goldmark@v1.2.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/yuin/goldmark@v1.2.1" - }, - { - "group": "golang.org/x", - "name": "sync", - "version": "v0.0.0-20201020160332-67f06af15bc9", - "purl": "pkg:golang/golang.org/x/sync@v0.0.0-20201020160332-67f06af15bc9", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sync@v0.0.0-20201020160332-67f06af15bc9" - }, - { - "group": "github.com/ianlancetaylor", - "name": "demangle", - "version": "v0.0.0-20200824232613-28f6c0f3b639", - "purl": "pkg:golang/github.com/ianlancetaylor/demangle@v0.0.0-20200824232613-28f6c0f3b639", - "type": "library", - "bom-ref": "pkg:golang/github.com/ianlancetaylor/demangle@v0.0.0-20200824232613-28f6c0f3b639" - }, - { - "group": "cloud.google.com", - "name": "go", - "version": "v0.87.0", - "purl": "pkg:golang/cloud.google.com/go@v0.87.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go@v0.87.0" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20210630005230-0f9fa26af87c", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20210630005230-0f9fa26af87c", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20210630005230-0f9fa26af87c" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20210716133855-ce7ef5c701ea", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20210716133855-ce7ef5c701ea", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20210716133855-ce7ef5c701ea" - }, - { - "group": "cloud.google.com/go", - "name": "bigquery", - "version": "v1.0.1", - "purl": "pkg:golang/cloud.google.com/go/bigquery@v1.0.1", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/bigquery@v1.0.1" - }, - { - "group": "cloud.google.com/go", - "name": "datastore", - "version": "v1.0.0", - "purl": "pkg:golang/cloud.google.com/go/datastore@v1.0.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/datastore@v1.0.0" - }, - { - "group": "cloud.google.com/go", - "name": "pubsub", - "version": "v1.0.1", - "purl": "pkg:golang/cloud.google.com/go/pubsub@v1.0.1", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/pubsub@v1.0.1" - }, - { - "group": "cloud.google.com/go", - "name": "storage", - "version": "v1.0.0", - "purl": "pkg:golang/cloud.google.com/go/storage@v1.0.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/storage@v1.0.0" - }, - { - "group": "github.com/golang", - "name": "groupcache", - "version": "v0.0.0-20191227052852-215e87163ea7", - "purl": "pkg:golang/github.com/golang/groupcache@v0.0.0-20191227052852-215e87163ea7", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/groupcache@v0.0.0-20191227052852-215e87163ea7" - }, - { - "group": "github.com/golang", - "name": "mock", - "version": "v1.3.1", - "purl": "pkg:golang/github.com/golang/mock@v1.3.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/mock@v1.3.1" - }, - { - "group": "github.com/google", - "name": "pprof", - "version": "v0.0.0-20191218002539-d4f498aebedc", - "purl": "pkg:golang/github.com/google/pprof@v0.0.0-20191218002539-d4f498aebedc", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/pprof@v0.0.0-20191218002539-d4f498aebedc" - }, - { - "name": "go.opencensus.io", - "version": "v0.22.2", - "purl": "pkg:golang/go.opencensus.io@v0.22.2", - "type": "library", - "bom-ref": "pkg:golang/go.opencensus.io@v0.22.2" - }, - { - "group": "golang.org/x", - "name": "exp", - "version": "v0.0.0-20191227195350-da58074b4299", - "purl": "pkg:golang/golang.org/x/exp@v0.0.0-20191227195350-da58074b4299", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/exp@v0.0.0-20191227195350-da58074b4299" - }, - { - "group": "golang.org/x", - "name": "lint", - "version": "v0.0.0-20191125180803-fdd1cda4f05f", - "purl": "pkg:golang/golang.org/x/lint@v0.0.0-20191125180803-fdd1cda4f05f", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/lint@v0.0.0-20191125180803-fdd1cda4f05f" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20200114155413-6afb5195e5aa", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20200114155413-6afb5195e5aa", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20200114155413-6afb5195e5aa" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20200113162924-86b910548bc1", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20200113162924-86b910548bc1", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200113162924-86b910548bc1" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20200117161641-43d50277825c", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20200117161641-43d50277825c", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200117161641-43d50277825c" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20200115191322-ca5a22157cba", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20200115191322-ca5a22157cba", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200115191322-ca5a22157cba" - }, - { - "group": "honnef.co/go", - "name": "tools", - "version": "v0.0.1-2019.2.3", - "purl": "pkg:golang/honnef.co/go/tools@v0.0.1-2019.2.3", - "type": "library", - "bom-ref": "pkg:golang/honnef.co/go/tools@v0.0.1-2019.2.3" - }, - { - "group": "cloud.google.com", - "name": "go", - "version": "v0.50.0", - "purl": "pkg:golang/cloud.google.com/go@v0.50.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go@v0.50.0" - }, - { - "group": "cloud.google.com/go", - "name": "bigquery", - "version": "v1.3.0", - "purl": "pkg:golang/cloud.google.com/go/bigquery@v1.3.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/bigquery@v1.3.0" - }, - { - "group": "cloud.google.com/go", - "name": "pubsub", - "version": "v1.1.0", - "purl": "pkg:golang/cloud.google.com/go/pubsub@v1.1.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/pubsub@v1.1.0" - }, - { - "group": "github.com/google", - "name": "go-cmp", - "version": "v0.3.1", - "purl": "pkg:golang/github.com/google/go-cmp@v0.3.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/go-cmp@v0.3.1" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20191209160850-c0dbc17a3553", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20191209160850-c0dbc17a3553", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20191209160850-c0dbc17a3553" - }, - { - "group": "golang.org/x", - "name": "oauth2", - "version": "v0.0.0-20191202225959-858c2ad4c8b6", - "purl": "pkg:golang/golang.org/x/oauth2@v0.0.0-20191202225959-858c2ad4c8b6", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20191202225959-858c2ad4c8b6" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20191228213918-04cbcbbfeed8", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20191228213918-04cbcbbfeed8", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20191228213918-04cbcbbfeed8" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20191227053925-7b8e75db28f4", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20191227053925-7b8e75db28f4", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20191227053925-7b8e75db28f4" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20191230161307-f3c370f40bfb", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20191230161307-f3c370f40bfb", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20191230161307-f3c370f40bfb" - }, - { - "group": "dmitri.shuralyov.com/gpu", - "name": "mtl", - "version": "v0.0.0-20190408044501-666a987793e9", - "purl": "pkg:golang/dmitri.shuralyov.com/gpu/mtl@v0.0.0-20190408044501-666a987793e9", - "type": "library", - "bom-ref": "pkg:golang/dmitri.shuralyov.com/gpu/mtl@v0.0.0-20190408044501-666a987793e9" - }, - { - "group": "github.com/BurntSushi", - "name": "xgb", - "version": "v0.0.0-20160522181843-27f122750802", - "purl": "pkg:golang/github.com/BurntSushi/xgb@v0.0.0-20160522181843-27f122750802", - "type": "library", - "bom-ref": "pkg:golang/github.com/BurntSushi/xgb@v0.0.0-20160522181843-27f122750802" - }, - { - "group": "github.com/go-gl/glfw/v3.3", - "name": "glfw", - "version": "v0.0.0-20191125211704-12ad95a8df72", - "purl": "pkg:golang/github.com/go-gl/glfw/v3.3/glfw@v0.0.0-20191125211704-12ad95a8df72", - "type": "library", - "bom-ref": "pkg:golang/github.com/go-gl/glfw/v3.3/glfw@v0.0.0-20191125211704-12ad95a8df72" - }, - { - "group": "golang.org/x", - "name": "image", - "version": "v0.0.0-20190802002840-cff245a6509b", - "purl": "pkg:golang/golang.org/x/image@v0.0.0-20190802002840-cff245a6509b", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/image@v0.0.0-20190802002840-cff245a6509b" - }, - { - "group": "golang.org/x", - "name": "mobile", - "version": "v0.0.0-20190719004257-d2bd2a29d028", - "purl": "pkg:golang/golang.org/x/mobile@v0.0.0-20190719004257-d2bd2a29d028", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/mobile@v0.0.0-20190719004257-d2bd2a29d028" - }, - { - "group": "golang.org/x", - "name": "mod", - "version": "v0.1.0", - "purl": "pkg:golang/golang.org/x/mod@v0.1.0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/mod@v0.1.0" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20191012152004-8de300cfc20a", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20191012152004-8de300cfc20a", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20191012152004-8de300cfc20a" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20190506145303-2d16b83fe98c", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20190506145303-2d16b83fe98c", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190506145303-2d16b83fe98c" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20190502173448-54afdca5d873", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20190502173448-54afdca5d873", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20190502173448-54afdca5d873" - }, - { - "group": "honnef.co/go", - "name": "tools", - "version": "v0.0.0-20190418001031-e561f6794a2a", - "purl": "pkg:golang/honnef.co/go/tools@v0.0.0-20190418001031-e561f6794a2a", - "type": "library", - "bom-ref": "pkg:golang/honnef.co/go/tools@v0.0.0-20190418001031-e561f6794a2a" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20200207183749-b753a1ba74fa", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20200207183749-b753a1ba74fa", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200207183749-b753a1ba74fa" - }, - { - "group": "github.com/golang", - "name": "mock", - "version": "v1.4.0", - "purl": "pkg:golang/github.com/golang/mock@v1.4.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/mock@v1.4.0" - }, - { - "group": "github.com/google", - "name": "pprof", - "version": "v0.0.0-20200212024743-f11f1df84d12", - "purl": "pkg:golang/github.com/google/pprof@v0.0.0-20200212024743-f11f1df84d12", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/pprof@v0.0.0-20200212024743-f11f1df84d12" - }, - { - "group": "github.com/go-gl/glfw/v3.3", - "name": "glfw", - "version": "v0.0.0-20200222043503-6f7a984d4dc4", - "purl": "pkg:golang/github.com/go-gl/glfw/v3.3/glfw@v0.0.0-20200222043503-6f7a984d4dc4", - "type": "library", - "bom-ref": "pkg:golang/github.com/go-gl/glfw/v3.3/glfw@v0.0.0-20200222043503-6f7a984d4dc4" - }, - { - "group": "golang.org/x", - "name": "mod", - "version": "v0.1.1-0.20191107180719-034126e5016b", - "purl": "pkg:golang/golang.org/x/mod@v0.1.1-0.20191107180719-034126e5016b", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/mod@v0.1.1-0.20191107180719-034126e5016b" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20191001151750-bb3f8db39f24", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20191001151750-bb3f8db39f24", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20191001151750-bb3f8db39f24" - }, - { - "group": "rsc.io", - "name": "sampler", - "version": "v1.3.0", - "purl": "pkg:golang/rsc.io/sampler@v1.3.0", - "type": "library", - "bom-ref": "pkg:golang/rsc.io/sampler@v1.3.0" - }, - { - "group": "github.com/golang", - "name": "mock", - "version": "v1.2.0", - "purl": "pkg:golang/github.com/golang/mock@v1.2.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/mock@v1.2.0" - }, - { - "group": "github.com/google", - "name": "btree", - "version": "v0.0.0-20180813153112-4030bb1f1f0c", - "purl": "pkg:golang/github.com/google/btree@v0.0.0-20180813153112-4030bb1f1f0c", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/btree@v0.0.0-20180813153112-4030bb1f1f0c" - }, - { - "group": "github.com/google", - "name": "pprof", - "version": "v0.0.0-20181206194817-3ea8567a2e57", - "purl": "pkg:golang/github.com/google/pprof@v0.0.0-20181206194817-3ea8567a2e57", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/pprof@v0.0.0-20181206194817-3ea8567a2e57" - }, - { - "group": "github.com/googleapis/gax-go", - "name": "v2", - "version": "v2.0.4", - "purl": "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.4", - "type": "library", - "bom-ref": "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.4" - }, - { - "group": "github.com/jstemmer", - "name": "go-junit-report", - "version": "v0.0.0-20190106144839-af01ea7f8024", - "purl": "pkg:golang/github.com/jstemmer/go-junit-report@v0.0.0-20190106144839-af01ea7f8024", - "type": "library", - "bom-ref": "pkg:golang/github.com/jstemmer/go-junit-report@v0.0.0-20190106144839-af01ea7f8024" - }, - { - "group": "golang.org/x", - "name": "lint", - "version": "v0.0.0-20190301231843-5614ed5bae6f", - "purl": "pkg:golang/golang.org/x/lint@v0.0.0-20190301231843-5614ed5bae6f", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/lint@v0.0.0-20190301231843-5614ed5bae6f" - }, - { - "group": "golang.org/x", - "name": "oauth2", - "version": "v0.0.0-20190226205417-e64efc72b421", - "purl": "pkg:golang/golang.org/x/oauth2@v0.0.0-20190226205417-e64efc72b421", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20190226205417-e64efc72b421" - }, - { - "group": "golang.org/x", - "name": "text", - "version": "v0.3.1-0.20180807135948-17ff2d5776d2", - "purl": "pkg:golang/golang.org/x/text@v0.3.1-0.20180807135948-17ff2d5776d2", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/text@v0.3.1-0.20180807135948-17ff2d5776d2" - }, - { - "group": "golang.org/x", - "name": "time", - "version": "v0.0.0-20181108054448-85acf8d2951c", - "purl": "pkg:golang/golang.org/x/time@v0.0.0-20181108054448-85acf8d2951c", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/time@v0.0.0-20181108054448-85acf8d2951c" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20190312170243-e65039ee4138", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20190312170243-e65039ee4138", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190312170243-e65039ee4138" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.4.0", - "purl": "pkg:golang/google.golang.org/api@v0.4.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.4.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20190418145605-e7d98fc518a7", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20190418145605-e7d98fc518a7", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20190418145605-e7d98fc518a7" - }, - { - "group": "honnef.co/go", - "name": "tools", - "version": "v0.0.0-20190106161140-3f1c8253044a", - "purl": "pkg:golang/honnef.co/go/tools@v0.0.0-20190106161140-3f1c8253044a", - "type": "library", - "bom-ref": "pkg:golang/honnef.co/go/tools@v0.0.0-20190106161140-3f1c8253044a" - }, - { - "group": "github.com/hashicorp", - "name": "golang-lru", - "version": "v0.5.0", - "purl": "pkg:golang/github.com/hashicorp/golang-lru@v0.5.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/hashicorp/golang-lru@v0.5.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20190307195333-5fe7a883aa19", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20190307195333-5fe7a883aa19", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20190307195333-5fe7a883aa19" - }, - { - "group": "github.com/kr", - "name": "text", - "version": "v0.1.0", - "purl": "pkg:golang/github.com/kr/text@v0.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/kr/text@v0.1.0" - }, - { - "group": "github.com/golang", - "name": "protobuf", - "version": "v1.4.0-rc.4.0.20200313231945-b860323f09d0", - "purl": "pkg:golang/github.com/golang/protobuf@v1.4.0-rc.4.0.20200313231945-b860323f09d0", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/protobuf@v1.4.0-rc.4.0.20200313231945-b860323f09d0" - }, - { - "group": "cloud.google.com/go", - "name": "pubsub", - "version": "v1.3.1", - "purl": "pkg:golang/cloud.google.com/go/pubsub@v1.3.1", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/pubsub@v1.3.1" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20220128215802-99c3d69c2c27", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20220128215802-99c3d69c2c27", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20220128215802-99c3d69c2c27" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20220126215142-9970aeb2e350", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20220126215142-9970aeb2e350", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20220126215142-9970aeb2e350" - }, - { - "group": "github.com/google", - "name": "pprof", - "version": "v0.0.0-20210609004039-a478d1d731e9", - "purl": "pkg:golang/github.com/google/pprof@v0.0.0-20210609004039-a478d1d731e9", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/pprof@v0.0.0-20210609004039-a478d1d731e9" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.1.4", - "purl": "pkg:golang/golang.org/x/tools@v0.1.4", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.1.4" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.50.0", - "purl": "pkg:golang/google.golang.org/api@v0.50.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.50.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20210713002101-d411969a0d9a", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20210713002101-d411969a0d9a", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20210713002101-d411969a0d9a" - }, - { - "group": "cloud.google.com", - "name": "go", - "version": "v0.44.2", - "purl": "pkg:golang/cloud.google.com/go@v0.44.2", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go@v0.44.2" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.8.0", - "purl": "pkg:golang/google.golang.org/api@v0.8.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.8.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20190801165951-fa694d86fc64", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20190801165951-fa694d86fc64", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20190801165951-fa694d86fc64" - }, - { - "group": "google.golang.org", - "name": "grpc", - "version": "v1.21.1", - "purl": "pkg:golang/google.golang.org/grpc@v1.21.1", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/grpc@v1.21.1" - }, - { - "group": "cloud.google.com", - "name": "go", - "version": "v0.44.1", - "purl": "pkg:golang/cloud.google.com/go@v0.44.1", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go@v0.44.1" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20190624142023-c5567b49c5d0", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20190624142023-c5567b49c5d0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190624142023-c5567b49c5d0" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.7.0", - "purl": "pkg:golang/google.golang.org/api@v0.7.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.7.0" - }, - { - "group": "google.golang.org", - "name": "appengine", - "version": "v1.6.1", - "purl": "pkg:golang/google.golang.org/appengine@v1.6.1", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/appengine@v1.6.1" - }, - { - "group": "cloud.google.com", - "name": "go", - "version": "v0.45.1", - "purl": "pkg:golang/cloud.google.com/go@v0.45.1", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go@v0.45.1" - }, - { - "name": "go.opencensus.io", - "version": "v0.22.0", - "purl": "pkg:golang/go.opencensus.io@v0.22.0", - "type": "library", - "bom-ref": "pkg:golang/go.opencensus.io@v0.22.0" - }, - { - "group": "golang.org/x", - "name": "time", - "version": "v0.0.0-20190308202827-9d24e82272b4", - "purl": "pkg:golang/golang.org/x/time@v0.0.0-20190308202827-9d24e82272b4", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/time@v0.0.0-20190308202827-9d24e82272b4" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.9.0", - "purl": "pkg:golang/google.golang.org/api@v0.9.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.9.0" - }, - { - "group": "cloud.google.com", - "name": "go", - "version": "v0.46.3", - "purl": "pkg:golang/cloud.google.com/go@v0.46.3", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go@v0.46.3" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20190911173649-1774047e7e51", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20190911173649-1774047e7e51", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20190911173649-1774047e7e51" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20191125144606-a911d9008d1f", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20191125144606-a911d9008d1f", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20191125144606-a911d9008d1f" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20190621195816-6e04913cbbac", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20190621195816-6e04913cbbac", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190621195816-6e04913cbbac" - }, - { - "group": "github.com/google", - "name": "pprof", - "version": "v0.0.0-20190515194954-54271f7e092f", - "purl": "pkg:golang/github.com/google/pprof@v0.0.0-20190515194954-54271f7e092f", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/pprof@v0.0.0-20190515194954-54271f7e092f" - }, - { - "group": "golang.org/x", - "name": "exp", - "version": "v0.0.0-20191129062945-2f5052295587", - "purl": "pkg:golang/golang.org/x/exp@v0.0.0-20191129062945-2f5052295587", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/exp@v0.0.0-20191129062945-2f5052295587" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20190724013045-ca1201d0de80", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20190724013045-ca1201d0de80", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20190724013045-ca1201d0de80" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20190726091711-fc99dfbffb4e", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20190726091711-fc99dfbffb4e", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190726091711-fc99dfbffb4e" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20191216173652-a0e659d51361", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20191216173652-a0e659d51361", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20191216173652-a0e659d51361" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.14.0", - "purl": "pkg:golang/google.golang.org/api@v0.14.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.14.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20191216164720-4f79533eabd1", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20191216164720-4f79533eabd1", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20191216164720-4f79533eabd1" - }, - { - "group": "golang.org/x", - "name": "exp", - "version": "v0.0.0-20191030013958-a1ab85dbe136", - "purl": "pkg:golang/golang.org/x/exp@v0.0.0-20191030013958-a1ab85dbe136", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/exp@v0.0.0-20191030013958-a1ab85dbe136" - }, - { - "group": "golang.org/x", - "name": "lint", - "version": "v0.0.0-20190930215403-16217165b5de", - "purl": "pkg:golang/golang.org/x/lint@v0.0.0-20190930215403-16217165b5de", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/lint@v0.0.0-20190930215403-16217165b5de" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20191113191852-77e3bb0ad9e7", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20191113191852-77e3bb0ad9e7", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20191113191852-77e3bb0ad9e7" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.13.0", - "purl": "pkg:golang/google.golang.org/api@v0.13.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.13.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20191108220845-16a3f7862a1a", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20191108220845-16a3f7862a1a", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20191108220845-16a3f7862a1a" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20191115202509-3a792d9c32b2", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20191115202509-3a792d9c32b2", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20191115202509-3a792d9c32b2" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20191115194625-c23dd37a84c9", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20191115194625-c23dd37a84c9", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20191115194625-c23dd37a84c9" - }, - { - "group": "golang.org/x", - "name": "exp", - "version": "v0.0.0-20190306152737-a1d7652674e8", - "purl": "pkg:golang/golang.org/x/exp@v0.0.0-20190306152737-a1d7652674e8", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/exp@v0.0.0-20190306152737-a1d7652674e8" - }, - { - "group": "golang.org/x", - "name": "image", - "version": "v0.0.0-20190227222117-0694c2d4d067", - "purl": "pkg:golang/golang.org/x/image@v0.0.0-20190227222117-0694c2d4d067", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/image@v0.0.0-20190227222117-0694c2d4d067" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20190312061237-fead79001313", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20190312061237-fead79001313", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190312061237-fead79001313" - }, - { - "group": "golang.org/x", - "name": "text", - "version": "v0.0.0-20170915032832-14c0d48ead0c", - "purl": "pkg:golang/golang.org/x/text@v0.0.0-20170915032832-14c0d48ead0c", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/text@v0.0.0-20170915032832-14c0d48ead0c" - }, - { - "group": "github.com/kr", - "name": "pty", - "version": "v1.1.1", - "purl": "pkg:golang/github.com/kr/pty@v1.1.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/kr/pty@v1.1.1" - }, - { - "group": "google.golang.org", - "name": "protobuf", - "version": "v1.20.1-0.20200309200217-e05f789c0967", - "purl": "pkg:golang/google.golang.org/protobuf@v1.20.1-0.20200309200217-e05f789c0967", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/protobuf@v1.20.1-0.20200309200217-e05f789c0967" - }, - { - "group": "cloud.google.com", - "name": "go", - "version": "v0.54.0", - "purl": "pkg:golang/cloud.google.com/go@v0.54.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go@v0.54.0" - }, - { - "group": "cloud.google.com/go", - "name": "bigquery", - "version": "v1.5.0", - "purl": "pkg:golang/cloud.google.com/go/bigquery@v1.5.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/bigquery@v1.5.0" - }, - { - "group": "github.com/golang", - "name": "protobuf", - "version": "v1.3.4", - "purl": "pkg:golang/github.com/golang/protobuf@v1.3.4", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/protobuf@v1.3.4" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20200312045724-11d5b4c81c7d", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20200312045724-11d5b4c81c7d", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200312045724-11d5b4c81c7d" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20200312145019-da6875a35672", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20200312145019-da6875a35672", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200312145019-da6875a35672" - }, - { - "group": "cloud.google.com", - "name": "go", - "version": "v0.84.0", - "purl": "pkg:golang/cloud.google.com/go@v0.84.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go@v0.84.0" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20210616094352-59db8d763f22", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20210616094352-59db8d763f22", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20210616094352-59db8d763f22" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20210624195500-8bfb893ecb84", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20210624195500-8bfb893ecb84", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20210624195500-8bfb893ecb84" - }, - { - "group": "google.golang.org", - "name": "grpc", - "version": "v1.38.0", - "purl": "pkg:golang/google.golang.org/grpc@v1.38.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/grpc@v1.38.0" - }, - { - "group": "github.com/google", - "name": "btree", - "version": "v1.0.0", - "purl": "pkg:golang/github.com/google/btree@v1.0.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/btree@v1.0.0" - }, - { - "group": "golang.org/x", - "name": "exp", - "version": "v0.0.0-20190510132918-efd6b22b2522", - "purl": "pkg:golang/golang.org/x/exp@v0.0.0-20190510132918-efd6b22b2522", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/exp@v0.0.0-20190510132918-efd6b22b2522" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20190628153133-6cdbf07be9d0", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20190628153133-6cdbf07be9d0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190628153133-6cdbf07be9d0" - }, - { - "group": "rsc.io", - "name": "binaryregexp", - "version": "v0.2.0", - "purl": "pkg:golang/rsc.io/binaryregexp@v0.2.0", - "type": "library", - "bom-ref": "pkg:golang/rsc.io/binaryregexp@v0.2.0" - }, - { - "group": "golang.org/x", - "name": "crypto", - "version": "v0.0.0-20190605123033-f99c8df09eb5", - "purl": "pkg:golang/golang.org/x/crypto@v0.0.0-20190605123033-f99c8df09eb5", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20190605123033-f99c8df09eb5" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20190606165138-5da285871e9c", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20190606165138-5da285871e9c", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190606165138-5da285871e9c" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20190606124116-d0a3d012864b", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20190606124116-d0a3d012864b", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190606124116-d0a3d012864b" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20190501004415-9ce7a6920f09", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20190501004415-9ce7a6920f09", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20190501004415-9ce7a6920f09" - }, - { - "group": "golang.org/x", - "name": "exp", - "version": "v0.0.0-20190829153037-c13cbed26979", - "purl": "pkg:golang/golang.org/x/exp@v0.0.0-20190829153037-c13cbed26979", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/exp@v0.0.0-20190829153037-c13cbed26979" - }, - { - "group": "golang.org/x", - "name": "lint", - "version": "v0.0.0-20190909230951-414d861bb4ac", - "purl": "pkg:golang/golang.org/x/lint@v0.0.0-20190909230951-414d861bb4ac", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/lint@v0.0.0-20190909230951-414d861bb4ac" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20190911174233-4f2ddba30aff", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20190911174233-4f2ddba30aff", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190911174233-4f2ddba30aff" - }, - { - "group": "github.com/go-gl", - "name": "glfw", - "version": "v0.0.0-20190409004039-e6da0acd62b1", - "purl": "pkg:golang/github.com/go-gl/glfw@v0.0.0-20190409004039-e6da0acd62b1", - "type": "library", - "bom-ref": "pkg:golang/github.com/go-gl/glfw@v0.0.0-20190409004039-e6da0acd62b1" - }, - { - "group": "github.com/golang", - "name": "protobuf", - "version": "v1.4.0-rc.2", - "purl": "pkg:golang/github.com/golang/protobuf@v1.4.0-rc.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/protobuf@v1.4.0-rc.2" - }, - { - "group": "github.com/golang", - "name": "mock", - "version": "v1.4.1", - "purl": "pkg:golang/github.com/golang/mock@v1.4.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/mock@v1.4.1" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20200301022130-244492dfa37a", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20200301022130-244492dfa37a", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20200301022130-244492dfa37a" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20200302150141-5c8b2ff67527", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20200302150141-5c8b2ff67527", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200302150141-5c8b2ff67527" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20200304193943-95d2e580d8eb", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20200304193943-95d2e580d8eb", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200304193943-95d2e580d8eb" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20200305110556-506484158171", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20200305110556-506484158171", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200305110556-506484158171" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20200227222343-706bc42d1f0d", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20200227222343-706bc42d1f0d", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200227222343-706bc42d1f0d" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.19.0", - "purl": "pkg:golang/google.golang.org/api@v0.19.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.19.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20200228133532-8c2c7df3a383", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20200228133532-8c2c7df3a383", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200228133532-8c2c7df3a383" - }, - { - "group": "github.com/golang", - "name": "mock", - "version": "v1.5.0", - "purl": "pkg:golang/github.com/golang/mock@v1.5.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/mock@v1.5.0" - }, - { - "group": "github.com/google", - "name": "pprof", - "version": "v0.0.0-20210601050228-01bbb1931b22", - "purl": "pkg:golang/github.com/google/pprof@v0.0.0-20210601050228-01bbb1931b22", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/pprof@v0.0.0-20210601050228-01bbb1931b22" - }, - { - "group": "golang.org/x", - "name": "oauth2", - "version": "v0.0.0-20210514164344-f6687ab2804c", - "purl": "pkg:golang/golang.org/x/oauth2@v0.0.0-20210514164344-f6687ab2804c", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20210514164344-f6687ab2804c" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.1.2", - "purl": "pkg:golang/golang.org/x/tools@v0.1.2", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.1.2" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.48.0", - "purl": "pkg:golang/google.golang.org/api@v0.48.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.48.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20210608205507-b6d2f5bf0d7d", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20210608205507-b6d2f5bf0d7d", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20210608205507-b6d2f5bf0d7d" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.1.3", - "purl": "pkg:golang/golang.org/x/tools@v0.1.3", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.1.3" - }, - { - "group": "golang.org/x", - "name": "mobile", - "version": "v0.0.0-20190312151609-d3739f865fa6", - "purl": "pkg:golang/golang.org/x/mobile@v0.0.0-20190312151609-d3739f865fa6", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/mobile@v0.0.0-20190312151609-d3739f865fa6" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20190312151545-0bb0c0a6e846", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20190312151545-0bb0c0a6e846", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190312151545-0bb0c0a6e846" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20190816200558-6889da9d5479", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20190816200558-6889da9d5479", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190816200558-6889da9d5479" - }, - { - "group": "google.golang.org", - "name": "protobuf", - "version": "v0.0.0-20200228230310-ab0ca4ff8a60", - "purl": "pkg:golang/google.golang.org/protobuf@v0.0.0-20200228230310-ab0ca4ff8a60", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/protobuf@v0.0.0-20200228230310-ab0ca4ff8a60" - }, - { - "group": "cloud.google.com", - "name": "go", - "version": "v0.83.0", - "purl": "pkg:golang/cloud.google.com/go@v0.83.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go@v0.83.0" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20210603125802-9665404d3644", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20210603125802-9665404d3644", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20210603125802-9665404d3644" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20210604141403-392c879c8b08", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20210604141403-392c879c8b08", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20210604141403-392c879c8b08" - }, - { - "group": "github.com/golang", - "name": "protobuf", - "version": "v1.4.0-rc.1.0.20200221234624-67d41d38c208", - "purl": "pkg:golang/github.com/golang/protobuf@v1.4.0-rc.1.0.20200221234624-67d41d38c208", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/protobuf@v1.4.0-rc.1.0.20200221234624-67d41d38c208" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.47.0", - "purl": "pkg:golang/google.golang.org/api@v0.47.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.47.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20210602131652-f16073e35f0c", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20210602131652-f16073e35f0c", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20210602131652-f16073e35f0c" - }, - { - "group": "google.golang.org", - "name": "protobuf", - "version": "v0.0.0-20200221191635-4d8936d0db64", - "purl": "pkg:golang/google.golang.org/protobuf@v0.0.0-20200221191635-4d8936d0db64", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/protobuf@v0.0.0-20200221191635-4d8936d0db64" - }, - { - "group": "cloud.google.com", - "name": "go", - "version": "v0.81.0", - "purl": "pkg:golang/cloud.google.com/go@v0.81.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go@v0.81.0" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20210514084401-e8d321eab015", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20210514084401-e8d321eab015", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20210514084401-e8d321eab015" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20210513213006-bf773b8c8384", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20210513213006-bf773b8c8384", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20210513213006-bf773b8c8384" - }, - { - "group": "google.golang.org", - "name": "grpc", - "version": "v1.37.1", - "purl": "pkg:golang/google.golang.org/grpc@v1.37.1", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/grpc@v1.37.1" - }, - { - "group": "github.com/golang", - "name": "protobuf", - "version": "v1.4.0-rc.1", - "purl": "pkg:golang/github.com/golang/protobuf@v1.4.0-rc.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/protobuf@v1.4.0-rc.1" - }, - { - "group": "github.com/google/martian", - "name": "v3", - "version": "v3.1.0", - "purl": "pkg:golang/github.com/google/martian/v3@v3.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/martian/v3@v3.1.0" - }, - { - "group": "github.com/google", - "name": "pprof", - "version": "v0.0.0-20210226084205-cbba55b83ad5", - "purl": "pkg:golang/github.com/google/pprof@v0.0.0-20210226084205-cbba55b83ad5", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/pprof@v0.0.0-20210226084205-cbba55b83ad5" - }, - { - "group": "golang.org/x", - "name": "oauth2", - "version": "v0.0.0-20210313182246-cd4f82c27b84", - "purl": "pkg:golang/golang.org/x/oauth2@v0.0.0-20210313182246-cd4f82c27b84", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20210313182246-cd4f82c27b84" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.43.0", - "purl": "pkg:golang/google.golang.org/api@v0.43.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.43.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20210402141018-6c239bbf2bb1", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20210402141018-6c239bbf2bb1", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20210402141018-6c239bbf2bb1" - }, - { - "group": "google.golang.org", - "name": "protobuf", - "version": "v0.0.0-20200109180630-ec00e32a8dfd", - "purl": "pkg:golang/google.golang.org/protobuf@v0.0.0-20200109180630-ec00e32a8dfd", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/protobuf@v0.0.0-20200109180630-ec00e32a8dfd" - }, - { - "group": "cloud.google.com", - "name": "go", - "version": "v0.79.0", - "purl": "pkg:golang/cloud.google.com/go@v0.79.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go@v0.79.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20210319143718-93e7006c17a6", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20210319143718-93e7006c17a6", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20210319143718-93e7006c17a6" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20210226172049-e18ecbb05110", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20210226172049-e18ecbb05110", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20210226172049-e18ecbb05110" - }, - { - "group": "golang.org/x", - "name": "oauth2", - "version": "v0.0.0-20210220000619-9bb904979d93", - "purl": "pkg:golang/golang.org/x/oauth2@v0.0.0-20210220000619-9bb904979d93", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20210220000619-9bb904979d93" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.41.0", - "purl": "pkg:golang/google.golang.org/api@v0.41.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.41.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20210310155132-4ce2db91004e", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20210310155132-4ce2db91004e", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20210310155132-4ce2db91004e" - }, - { - "group": "cloud.google.com", - "name": "go", - "version": "v0.78.0", - "purl": "pkg:golang/cloud.google.com/go@v0.78.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go@v0.78.0" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20210305230114-8fe3ee5dd75b", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20210305230114-8fe3ee5dd75b", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20210305230114-8fe3ee5dd75b" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20210303154014-9728d6b83eeb", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20210303154014-9728d6b83eeb", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20210303154014-9728d6b83eeb" - }, - { - "group": "github.com/google", - "name": "go-cmp", - "version": "v0.5.4", - "purl": "pkg:golang/github.com/google/go-cmp@v0.5.4", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/go-cmp@v0.5.4" - }, - { - "group": "github.com/google", - "name": "pprof", - "version": "v0.0.0-20210122040257-d980be63207e", - "purl": "pkg:golang/github.com/google/pprof@v0.0.0-20210122040257-d980be63207e", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/pprof@v0.0.0-20210122040257-d980be63207e" - }, - { - "name": "go.opencensus.io", - "version": "v0.22.5", - "purl": "pkg:golang/go.opencensus.io@v0.22.5", - "type": "library", - "bom-ref": "pkg:golang/go.opencensus.io@v0.22.5" - }, - { - "group": "golang.org/x", - "name": "mod", - "version": "v0.4.1", - "purl": "pkg:golang/golang.org/x/mod@v0.4.1", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/mod@v0.4.1" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20210119194325-5f4716e94777", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20210119194325-5f4716e94777", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20210119194325-5f4716e94777" - }, - { - "group": "golang.org/x", - "name": "oauth2", - "version": "v0.0.0-20210218202405-ba52d332ba99", - "purl": "pkg:golang/golang.org/x/oauth2@v0.0.0-20210218202405-ba52d332ba99", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20210218202405-ba52d332ba99" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20210220050731-9a76102bfb43", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20210220050731-9a76102bfb43", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20210220050731-9a76102bfb43" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.40.0", - "purl": "pkg:golang/google.golang.org/api@v0.40.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.40.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20210222152913-aa3ee6e6a81c", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20210222152913-aa3ee6e6a81c", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20210222152913-aa3ee6e6a81c" - }, - { - "group": "google.golang.org", - "name": "grpc", - "version": "v1.35.0", - "purl": "pkg:golang/google.golang.org/grpc@v1.35.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/grpc@v1.35.0" - }, - { - "group": "cloud.google.com", - "name": "go", - "version": "v0.74.0", - "purl": "pkg:golang/cloud.google.com/go@v0.74.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go@v0.74.0" - }, - { - "group": "golang.org/x", - "name": "oauth2", - "version": "v0.0.0-20201208152858-08078c50e5b5", - "purl": "pkg:golang/golang.org/x/oauth2@v0.0.0-20201208152858-08078c50e5b5", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20201208152858-08078c50e5b5" - }, - { - "group": "golang.org/x", - "name": "sync", - "version": "v0.0.0-20201207232520-09787c993a3a", - "purl": "pkg:golang/golang.org/x/sync@v0.0.0-20201207232520-09787c993a3a", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sync@v0.0.0-20201207232520-09787c993a3a" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20210104204734-6f8348627aad", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20210104204734-6f8348627aad", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20210104204734-6f8348627aad" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20210105154028-b0ab187a4818", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20210105154028-b0ab187a4818", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20210105154028-b0ab187a4818" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20201214200347-8c77b98c765d", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20201214200347-8c77b98c765d", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20201214200347-8c77b98c765d" - }, - { - "group": "google.golang.org", - "name": "grpc", - "version": "v1.34.0", - "purl": "pkg:golang/google.golang.org/grpc@v1.34.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/grpc@v1.34.0" - }, - { - "group": "github.com/google", - "name": "pprof", - "version": "v0.0.0-20201203190320-1bf35d6f28c2", - "purl": "pkg:golang/github.com/google/pprof@v0.0.0-20201203190320-1bf35d6f28c2", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/pprof@v0.0.0-20201203190320-1bf35d6f28c2" - }, - { - "group": "golang.org/x", - "name": "mod", - "version": "v0.4.0", - "purl": "pkg:golang/golang.org/x/mod@v0.4.0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/mod@v0.4.0" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20201209123823-ac852fbbde11", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20201209123823-ac852fbbde11", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20201209123823-ac852fbbde11" - }, - { - "group": "golang.org/x", - "name": "text", - "version": "v0.3.4", - "purl": "pkg:golang/golang.org/x/text@v0.3.4", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/text@v0.3.4" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20201208233053-a543418bbed2", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20201208233053-a543418bbed2", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20201208233053-a543418bbed2" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.36.0", - "purl": "pkg:golang/google.golang.org/api@v0.36.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.36.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20201210142538-e3217bee35cc", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20201210142538-e3217bee35cc", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20201210142538-e3217bee35cc" - }, - { - "group": "github.com/cncf/udpa", - "name": "go", - "version": "v0.0.0-20200629203442-efcf912fb354", - "purl": "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20200629203442-efcf912fb354", - "type": "library", - "bom-ref": "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20200629203442-efcf912fb354" - }, - { - "group": "github.com/envoyproxy", - "name": "go-control-plane", - "version": "v0.9.7", - "purl": "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.7", - "type": "library", - "bom-ref": "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.7" - }, - { - "group": "cloud.google.com", - "name": "go", - "version": "v0.72.0", - "purl": "pkg:golang/cloud.google.com/go@v0.72.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go@v0.72.0" - }, - { - "group": "golang.org/x", - "name": "oauth2", - "version": "v0.0.0-20201109201403-9fd604954f58", - "purl": "pkg:golang/golang.org/x/oauth2@v0.0.0-20201109201403-9fd604954f58", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20201109201403-9fd604954f58" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20201201145000-ef89a241ccb3", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20201201145000-ef89a241ccb3", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20201201145000-ef89a241ccb3" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20201201161351-ac6f37ff4c2a", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20201201161351-ac6f37ff4c2a", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20201201161351-ac6f37ff4c2a" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20201201144952-b05cb90ed32e", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20201201144952-b05cb90ed32e", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20201201144952-b05cb90ed32e" - }, - { - "group": "github.com/google", - "name": "go-cmp", - "version": "v0.5.2", - "purl": "pkg:golang/github.com/google/go-cmp@v0.5.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/go-cmp@v0.5.2" - }, - { - "group": "github.com/google", - "name": "pprof", - "version": "v0.0.0-20201023163331-3e6fc7fc9c4c", - "purl": "pkg:golang/github.com/google/pprof@v0.0.0-20201023163331-3e6fc7fc9c4c", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/pprof@v0.0.0-20201023163331-3e6fc7fc9c4c" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20201031054903-ff519b6c9102", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20201031054903-ff519b6c9102", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20201031054903-ff519b6c9102" - }, - { - "group": "golang.org/x", - "name": "oauth2", - "version": "v0.0.0-20200902213428-5d25da1a8d43", - "purl": "pkg:golang/golang.org/x/oauth2@v0.0.0-20200902213428-5d25da1a8d43", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20200902213428-5d25da1a8d43" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20201110124207-079ba7bd75cd", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20201110124207-079ba7bd75cd", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20201110124207-079ba7bd75cd" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.35.0", - "purl": "pkg:golang/google.golang.org/api@v0.35.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.35.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20201109203340-2640f1f9cdfb", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20201109203340-2640f1f9cdfb", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20201109203340-2640f1f9cdfb" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20200905004654-be1d3432aa8f", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20200905004654-be1d3432aa8f", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200905004654-be1d3432aa8f" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20200904185747-39188db58858", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20200904185747-39188db58858", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200904185747-39188db58858" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20200904004341-0bd0a958aa1d", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20200904004341-0bd0a958aa1d", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200904004341-0bd0a958aa1d" - }, - { - "group": "google.golang.org", - "name": "grpc", - "version": "v1.31.1", - "purl": "pkg:golang/google.golang.org/grpc@v1.31.1", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/grpc@v1.31.1" - } - ], - "dependencies": [ - { - "ref": "pkg:golang/github.com/GoogleCloudPlatform/microservices-demo/src/checkoutservice@v0.0.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.100.2", - "pkg:golang/cloud.google.com/go/compute@v1.6.1", - "pkg:golang/cloud.google.com/go/monitoring@v1.1.0", - "pkg:golang/cloud.google.com/go/profiler@v0.3.0", - "pkg:golang/cloud.google.com/go/trace@v1.0.0", - "pkg:golang/contrib.go.opencensus.io/exporter/jaeger@v0.2.1", - "pkg:golang/contrib.go.opencensus.io/exporter/stackdriver@v0.13.12", - "pkg:golang/github.com/aws/aws-sdk-go@v1.43.31", - "pkg:golang/github.com/census-instrumentation/opencensus-proto@v0.3.0", - "pkg:golang/github.com/cespare/xxhash@v1.1.0", - "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20210930031921-04548b0d99d4", - "pkg:golang/github.com/cncf/xds/go@v0.0.0-20211011173535-cb28da3451f1", - "pkg:golang/github.com/envoyproxy/go-control-plane@v0.10.2-0.20220325020618-49ff273808a1", - "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", - "pkg:golang/github.com/golang/groupcache@v0.0.0-20210331224755-41bb18bfe9da", - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/github.com/google/go-cmp@v0.5.8", - "pkg:golang/github.com/google/pprof@v0.0.0-20220412212628-83db2b799d1f", - "pkg:golang/github.com/google/uuid@v1.3.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.4.0", - "pkg:golang/github.com/jmespath/go-jmespath@v0.4.0", - "pkg:golang/github.com/prometheus/prometheus@v2.5.0%2Bincompatible", - "pkg:golang/github.com/sirupsen/logrus@v1.8.1", - "pkg:golang/github.com/uber/jaeger-client-go@v2.25.0%2Bincompatible", - "pkg:golang/golang.org/x/net@v0.0.0-20220802222814-0bcc04d9c69b", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20220411215720-9780585627b5", - "pkg:golang/golang.org/x/sync@v0.0.0-20210220032951-036812b2e83c", - "pkg:golang/golang.org/x/text@v0.3.7", - "pkg:golang/google.golang.org/api@v0.78.0", - "pkg:golang/google.golang.org/appengine@v1.6.7", - "pkg:golang/google.golang.org/genproto@v0.0.0-20220518221133-4f43b3371335", - "pkg:golang/google.golang.org/grpc@v1.48.0", - "pkg:golang/google.golang.org/protobuf@v1.28.0" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go@v0.100.2", - "dependsOn": [ - "pkg:golang/cloud.google.com/go/compute@v0.1.0", - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/github.com/google/go-cmp@v0.5.6", - "pkg:golang/github.com/google/martian/v3@v3.2.1", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.1.1", - "pkg:golang/go.opencensus.io@v0.23.0", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20211104180415-d3ed0bb246c8", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1", - "pkg:golang/google.golang.org/api@v0.63.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20211221195035-429b39de9b1c", - "pkg:golang/google.golang.org/grpc@v1.40.1", - "pkg:golang/google.golang.org/protobuf@v1.27.1" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go/compute@v1.6.1", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.100.2", - "pkg:golang/github.com/google/go-cmp@v0.5.7", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.3.0", - "pkg:golang/google.golang.org/api@v0.75.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20220421151946-72621c1f0bd3", - "pkg:golang/google.golang.org/grpc@v1.45.0", - "pkg:golang/google.golang.org/protobuf@v1.28.0" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go/monitoring@v1.1.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.97.0", - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.1.1", - "pkg:golang/google.golang.org/api@v0.58.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20211018162055-cf77aa76bad2", - "pkg:golang/google.golang.org/grpc@v1.40.0", - "pkg:golang/google.golang.org/protobuf@v1.27.1" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go/profiler@v0.3.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.100.2", - "pkg:golang/cloud.google.com/go/compute@v1.6.1", - "pkg:golang/cloud.google.com/go/storage@v1.22.1", - "pkg:golang/github.com/golang/mock@v1.6.0", - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/github.com/google/pprof@v0.0.0-20220412212628-83db2b799d1f", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.4.0", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20220411215720-9780585627b5", - "pkg:golang/google.golang.org/api@v0.78.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20220518221133-4f43b3371335", - "pkg:golang/google.golang.org/grpc@v1.46.0" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go/trace@v1.0.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.94.1", - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.1.0", - "pkg:golang/google.golang.org/api@v0.57.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20210921142501-181ce0d877f6", - "pkg:golang/google.golang.org/grpc@v1.40.0", - "pkg:golang/google.golang.org/protobuf@v1.27.1" - ] - }, - { - "ref": "pkg:golang/contrib.go.opencensus.io/exporter/jaeger@v0.2.1", - "dependsOn": [ - "pkg:golang/github.com/uber/jaeger-client-go@v2.25.0%2Bincompatible", - "pkg:golang/go.opencensus.io@v0.22.4", - "pkg:golang/golang.org/x/sync@v0.0.0-20200625203802-6e8e738ad208", - "pkg:golang/google.golang.org/api@v0.29.0" - ] - }, - { - "ref": "pkg:golang/contrib.go.opencensus.io/exporter/stackdriver@v0.13.12", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.97.0", - "pkg:golang/cloud.google.com/go/monitoring@v1.1.0", - "pkg:golang/cloud.google.com/go/trace@v1.0.0", - "pkg:golang/github.com/aws/aws-sdk-go@v1.37.0", - "pkg:golang/github.com/census-instrumentation/opencensus-proto@v0.3.0", - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/github.com/google/go-cmp@v0.5.6", - "pkg:golang/github.com/jstemmer/go-junit-report@v0.9.1", - "pkg:golang/github.com/prometheus/prometheus@v2.5.0%2Bincompatible", - "pkg:golang/go.opencensus.io@v0.23.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20210508222113-6edffad5e616", - "pkg:golang/golang.org/x/net@v0.0.0-20210503060351-7fd8e65b6420", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20211005180243-6b3c2da341f1", - "pkg:golang/golang.org/x/tools@v0.1.5", - "pkg:golang/google.golang.org/api@v0.59.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20211018162055-cf77aa76bad2", - "pkg:golang/google.golang.org/grpc@v1.40.0", - "pkg:golang/google.golang.org/protobuf@v1.27.1", - "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.4" - ] - }, - { - "ref": "pkg:golang/github.com/aws/aws-sdk-go@v1.43.31", - "dependsOn": [ - "pkg:golang/github.com/jmespath/go-jmespath@v0.4.0", - "pkg:golang/github.com/pkg/errors@v0.9.1", - "pkg:golang/golang.org/x/net@v0.0.0-20220127200216-cd36cc0744dd" - ] - }, - { - "ref": "pkg:golang/github.com/census-instrumentation/opencensus-proto@v0.3.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/cespare/xxhash@v1.1.0", - "dependsOn": [ - "pkg:golang/github.com/OneOfOne/xxhash@v1.2.2", - "pkg:golang/github.com/spaolacci/murmur3@v0.0.0-20180118202830-f09979ecbc72" - ] - }, - { - "ref": "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20210930031921-04548b0d99d4", - "dependsOn": [ - "pkg:golang/github.com/cncf/xds/go@v0.0.0-20210922020428-25de7278fc84" - ] - }, - { - "ref": "pkg:golang/github.com/cncf/xds/go@v0.0.0-20211011173535-cb28da3451f1", - "dependsOn": [ - "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/google.golang.org/grpc@v1.25.1" - ] - }, - { - "ref": "pkg:golang/github.com/envoyproxy/go-control-plane@v0.10.2-0.20220325020618-49ff273808a1", - "dependsOn": [ - "pkg:golang/github.com/census-instrumentation/opencensus-proto@v0.2.1", - "pkg:golang/github.com/cncf/xds/go@v0.0.0-20211001041855-01bcc9b48dfe", - "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", - "pkg:golang/github.com/golang/protobuf@v1.5.0", - "pkg:golang/github.com/google/go-cmp@v0.5.6", - "pkg:golang/github.com/prometheus/client_model@v0.0.0-20190812154241-14fe0d1b01d4", - "pkg:golang/github.com/stretchr/testify@v1.7.0", - "pkg:golang/go.opentelemetry.io/proto/otlp@v0.7.0", - "pkg:golang/golang.org/x/net@v0.0.0-20201021035429-f5854403a974", - "pkg:golang/golang.org/x/sys@v0.0.0-20210119212857-b64e53b001e4", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200526211855-cb27e3aa2013", - "pkg:golang/google.golang.org/grpc@v1.36.0", - "pkg:golang/google.golang.org/protobuf@v1.27.1" - ] - }, - { - "ref": "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/golang/groupcache@v0.0.0-20210331224755-41bb18bfe9da", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/golang/protobuf@v1.5.2", - "dependsOn": [ - "pkg:golang/github.com/google/go-cmp@v0.5.5", - "pkg:golang/google.golang.org/protobuf@v1.26.0" - ] - }, - { - "ref": "pkg:golang/github.com/google/go-cmp@v0.5.8", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/google/pprof@v0.0.0-20220412212628-83db2b799d1f", - "dependsOn": [ - "pkg:golang/github.com/chzyer/logex@v1.1.10", - "pkg:golang/github.com/chzyer/readline@v0.0.0-20180603132655-2972be24d48e", - "pkg:golang/github.com/chzyer/test@v0.0.0-20180213035817-a1ea475d72b1", - "pkg:golang/github.com/ianlancetaylor/demangle@v0.0.0-20210905161508-09a460cdf81d", - "pkg:golang/golang.org/x/sys@v0.0.0-20211007075335-d3039528d8ac" - ] - }, - { - "ref": "pkg:golang/github.com/google/uuid@v1.3.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/googleapis/gax-go/v2@v2.4.0", - "dependsOn": [ - "pkg:golang/github.com/google/go-cmp@v0.5.8", - "pkg:golang/google.golang.org/api@v0.78.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20220505152158-f39f71e6c8f3", - "pkg:golang/google.golang.org/grpc@v1.46.0", - "pkg:golang/google.golang.org/protobuf@v1.28.0" - ] - }, - { - "ref": "pkg:golang/github.com/jmespath/go-jmespath@v0.4.0", - "dependsOn": [ - "pkg:golang/github.com/jmespath/go-jmespath/internal/testify@v1.5.1" - ] - }, - { - "ref": "pkg:golang/github.com/prometheus/prometheus@v2.5.0%2Bincompatible", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/sirupsen/logrus@v1.8.1", - "dependsOn": [ - "pkg:golang/github.com/davecgh/go-spew@v1.1.1", - "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", - "pkg:golang/github.com/stretchr/testify@v1.2.2", - "pkg:golang/golang.org/x/sys@v0.0.0-20191026070338-33540a1f6037" - ] - }, - { - "ref": "pkg:golang/github.com/uber/jaeger-client-go@v2.25.0%2Bincompatible", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20220802222814-0bcc04d9c69b", - "dependsOn": [ - "pkg:golang/golang.org/x/term@v0.0.0-20210927222741-03fcf44c2211", - "pkg:golang/golang.org/x/text@v0.3.7" - ] - }, - { - "ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20220411215720-9780585627b5", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.65.0", - "pkg:golang/golang.org/x/net@v0.0.0-20220127200216-cd36cc0744dd", - "pkg:golang/google.golang.org/appengine@v1.6.6" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sync@v0.0.0-20210220032951-036812b2e83c", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/text@v0.3.7", - "dependsOn": [ - "pkg:golang/golang.org/x/tools@v0.0.0-20180917221912-90fa682c2a6e" - ] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.78.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go/compute@v1.6.1", - "pkg:golang/github.com/google/go-cmp@v0.5.8", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.3.0", - "pkg:golang/go.opencensus.io@v0.23.0", - "pkg:golang/golang.org/x/net@v0.0.0-20220425223048-2871e0cb64e4", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20220411215720-9780585627b5", - "pkg:golang/golang.org/x/sync@v0.0.0-20210220032951-036812b2e83c", - "pkg:golang/golang.org/x/sys@v0.0.0-20220502124256-b6088ccd6cba", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20220411194840-2f41105eb62f", - "pkg:golang/google.golang.org/appengine@v1.6.7", - "pkg:golang/google.golang.org/genproto@v0.0.0-20220429170224-98d788798c3e", - "pkg:golang/google.golang.org/grpc@v1.46.0" - ] - }, - { - "ref": "pkg:golang/google.golang.org/appengine@v1.6.7", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.1", - "pkg:golang/golang.org/x/net@v0.0.0-20190603091049-60506f45cf65", - "pkg:golang/golang.org/x/text@v0.3.2" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20220518221133-4f43b3371335", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/golang.org/x/net@v0.0.0-20210405180319-a5a99cb37ef4", - "pkg:golang/golang.org/x/sys@v0.0.0-20210510120138-977fb7262007", - "pkg:golang/golang.org/x/text@v0.3.5", - "pkg:golang/google.golang.org/grpc@v1.46.0", - "pkg:golang/google.golang.org/protobuf@v1.28.0" - ] - }, - { - "ref": "pkg:golang/google.golang.org/grpc@v1.48.0", - "dependsOn": [ - "pkg:golang/github.com/cespare/xxhash/v2@v2.1.1", - "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20210930031921-04548b0d99d4", - "pkg:golang/github.com/cncf/xds/go@v0.0.0-20211011173535-cb28da3451f1", - "pkg:golang/github.com/envoyproxy/go-control-plane@v0.10.2-0.20220325020618-49ff273808a1", - "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/github.com/google/go-cmp@v0.5.6", - "pkg:golang/github.com/google/uuid@v1.1.2", - "pkg:golang/golang.org/x/net@v0.0.0-20201021035429-f5854403a974", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "pkg:golang/golang.org/x/sys@v0.0.0-20210119212857-b64e53b001e4", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200526211855-cb27e3aa2013", - "pkg:golang/google.golang.org/protobuf@v1.27.1" - ] - }, - { - "ref": "pkg:golang/google.golang.org/protobuf@v1.28.0", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.5.0", - "pkg:golang/github.com/google/go-cmp@v0.5.5" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go/compute@v0.1.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.100.2", - "pkg:golang/github.com/google/go-cmp@v0.5.6", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.1.1", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1", - "pkg:golang/google.golang.org/api@v0.63.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20211221195035-429b39de9b1c", - "pkg:golang/google.golang.org/grpc@v1.40.1", - "pkg:golang/google.golang.org/protobuf@v1.27.1" - ] - }, - { - "ref": "pkg:golang/github.com/google/go-cmp@v0.5.6", - "dependsOn": [ - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543" - ] - }, - { - "ref": "pkg:golang/github.com/google/martian/v3@v3.2.1", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/github.com/golang/snappy@v0.0.3", - "pkg:golang/golang.org/x/net@v0.0.0-20190628185345-da137c7871d7", - "pkg:golang/google.golang.org/grpc@v1.37.0", - "pkg:golang/google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.1.0", - "pkg:golang/google.golang.org/protobuf@v1.26.0" - ] - }, - { - "ref": "pkg:golang/github.com/googleapis/gax-go/v2@v2.1.1", - "dependsOn": [ - "pkg:golang/github.com/google/go-cmp@v0.5.6", - "pkg:golang/google.golang.org/api@v0.56.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20210909211513-a8c4777a87af", - "pkg:golang/google.golang.org/grpc@v1.40.0", - "pkg:golang/google.golang.org/protobuf@v1.27.1" - ] - }, - { - "ref": "pkg:golang/go.opencensus.io@v0.23.0", - "dependsOn": [ - "pkg:golang/github.com/golang/groupcache@v0.0.0-20200121045136-8c9f03a8e57e", - "pkg:golang/github.com/golang/protobuf@v1.4.3", - "pkg:golang/github.com/google/go-cmp@v0.5.3", - "pkg:golang/github.com/stretchr/testify@v1.6.1", - "pkg:golang/golang.org/x/net@v0.0.0-20201110031124-69a78807bb2b", - "pkg:golang/google.golang.org/grpc@v1.33.2" - ] - }, - { - "ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20211104180415-d3ed0bb246c8", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.65.0", - "pkg:golang/golang.org/x/net@v0.0.0-20200822124328-c89045814202", - "pkg:golang/google.golang.org/appengine@v1.6.6" - ] - }, - { - "ref": "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.63.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.99.0", - "pkg:golang/github.com/google/go-cmp@v0.5.6", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.1.1", - "pkg:golang/go.opencensus.io@v0.23.0", - "pkg:golang/golang.org/x/net@v0.0.0-20210503060351-7fd8e65b6420", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20211104180415-d3ed0bb246c8", - "pkg:golang/golang.org/x/sync@v0.0.0-20210220032951-036812b2e83c", - "pkg:golang/golang.org/x/sys@v0.0.0-20211210111614-af8b64212486", - "pkg:golang/google.golang.org/appengine@v1.6.7", - "pkg:golang/google.golang.org/genproto@v0.0.0-20211208223120-3a66f561d7aa", - "pkg:golang/google.golang.org/grpc@v1.40.1" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20211221195035-429b39de9b1c", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/golang.org/x/net@v0.0.0-20210405180319-a5a99cb37ef4", - "pkg:golang/golang.org/x/sys@v0.0.0-20210510120138-977fb7262007", - "pkg:golang/golang.org/x/text@v0.3.5", - "pkg:golang/google.golang.org/grpc@v1.40.0", - "pkg:golang/google.golang.org/protobuf@v1.27.1" - ] - }, - { - "ref": "pkg:golang/google.golang.org/grpc@v1.40.1", - "dependsOn": [ - "pkg:golang/github.com/cespare/xxhash@v1.1.0", - "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20201120205902-5459f2c99403", - "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.9-0.20210512163311-63b5d3c536b0", - "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", - "pkg:golang/github.com/golang/protobuf@v1.4.3", - "pkg:golang/github.com/google/go-cmp@v0.5.0", - "pkg:golang/github.com/google/uuid@v1.1.2", - "pkg:golang/golang.org/x/net@v0.0.0-20200822124328-c89045814202", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "pkg:golang/golang.org/x/sys@v0.0.0-20200323222414-85ca7c5b95cd", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200526211855-cb27e3aa2013", - "pkg:golang/google.golang.org/protobuf@v1.25.0" - ] - }, - { - "ref": "pkg:golang/google.golang.org/protobuf@v1.27.1", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.5.0", - "pkg:golang/github.com/google/go-cmp@v0.5.5" - ] - }, - { - "ref": "pkg:golang/github.com/google/go-cmp@v0.5.7", - "dependsOn": [ - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543" - ] - }, - { - "ref": "pkg:golang/github.com/googleapis/gax-go/v2@v2.3.0", - "dependsOn": [ - "pkg:golang/github.com/google/go-cmp@v0.5.7", - "pkg:golang/google.golang.org/api@v0.74.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20220407144326-9054f6ed7bac", - "pkg:golang/google.golang.org/grpc@v1.45.0", - "pkg:golang/google.golang.org/protobuf@v1.28.0" - ] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.75.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go/compute@v1.6.0", - "pkg:golang/github.com/google/go-cmp@v0.5.7", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.3.0", - "pkg:golang/go.opencensus.io@v0.23.0", - "pkg:golang/golang.org/x/net@v0.0.0-20220412020605-290c469a71a5", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20220411215720-9780585627b5", - "pkg:golang/golang.org/x/sync@v0.0.0-20210220032951-036812b2e83c", - "pkg:golang/golang.org/x/sys@v0.0.0-20220412211240-33da011f77ad", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20220411194840-2f41105eb62f", - "pkg:golang/google.golang.org/appengine@v1.6.7", - "pkg:golang/google.golang.org/genproto@v0.0.0-20220414192740-2d67ff6cf2b4", - "pkg:golang/google.golang.org/grpc@v1.45.0" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20220421151946-72621c1f0bd3", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/golang.org/x/net@v0.0.0-20210405180319-a5a99cb37ef4", - "pkg:golang/golang.org/x/sys@v0.0.0-20210510120138-977fb7262007", - "pkg:golang/golang.org/x/text@v0.3.5", - "pkg:golang/google.golang.org/grpc@v1.45.0", - "pkg:golang/google.golang.org/protobuf@v1.28.0" - ] - }, - { - "ref": "pkg:golang/google.golang.org/grpc@v1.45.0", - "dependsOn": [ - "pkg:golang/github.com/cespare/xxhash/v2@v2.1.1", - "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20210930031921-04548b0d99d4", - "pkg:golang/github.com/cncf/xds/go@v0.0.0-20211011173535-cb28da3451f1", - "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.10-0.20210907150352-cf90f659a021", - "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/github.com/google/go-cmp@v0.5.5", - "pkg:golang/github.com/google/uuid@v1.1.2", - "pkg:golang/golang.org/x/net@v0.0.0-20200822124328-c89045814202", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "pkg:golang/golang.org/x/sys@v0.0.0-20200323222414-85ca7c5b95cd", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200526211855-cb27e3aa2013", - "pkg:golang/google.golang.org/protobuf@v1.26.0" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go@v0.97.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go/storage@v1.10.0", - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/github.com/google/go-cmp@v0.5.6", - "pkg:golang/github.com/google/martian/v3@v3.2.1", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.1.0", - "pkg:golang/go.opencensus.io@v0.23.0", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20210819190943-2bc19b11175f", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1", - "pkg:golang/google.golang.org/api@v0.57.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20210924002016-3dee208752a0", - "pkg:golang/google.golang.org/grpc@v1.40.0", - "pkg:golang/google.golang.org/protobuf@v1.27.1" - ] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.58.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.94.1", - "pkg:golang/github.com/google/go-cmp@v0.5.6", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.1.1", - "pkg:golang/go.opencensus.io@v0.23.0", - "pkg:golang/golang.org/x/net@v0.0.0-20210503060351-7fd8e65b6420", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20210819190943-2bc19b11175f", - "pkg:golang/golang.org/x/sync@v0.0.0-20210220032951-036812b2e83c", - "pkg:golang/golang.org/x/sys@v0.0.0-20210917161153-d61c044b1678", - "pkg:golang/google.golang.org/appengine@v1.6.7", - "pkg:golang/google.golang.org/genproto@v0.0.0-20210917145530-b395a37504d4", - "pkg:golang/google.golang.org/grpc@v1.40.0" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20211018162055-cf77aa76bad2", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/golang.org/x/net@v0.0.0-20210405180319-a5a99cb37ef4", - "pkg:golang/golang.org/x/sys@v0.0.0-20210510120138-977fb7262007", - "pkg:golang/golang.org/x/text@v0.3.5", - "pkg:golang/google.golang.org/grpc@v1.40.0", - "pkg:golang/google.golang.org/protobuf@v1.27.1" - ] - }, - { - "ref": "pkg:golang/google.golang.org/grpc@v1.40.0", - "dependsOn": [ - "pkg:golang/github.com/cespare/xxhash@v1.1.0", - "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20201120205902-5459f2c99403", - "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.9-0.20210512163311-63b5d3c536b0", - "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", - "pkg:golang/github.com/golang/protobuf@v1.4.3", - "pkg:golang/github.com/google/go-cmp@v0.5.0", - "pkg:golang/github.com/google/uuid@v1.1.2", - "pkg:golang/golang.org/x/net@v0.0.0-20200822124328-c89045814202", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "pkg:golang/golang.org/x/sys@v0.0.0-20200323222414-85ca7c5b95cd", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200526211855-cb27e3aa2013", - "pkg:golang/google.golang.org/protobuf@v1.25.0" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go/storage@v1.22.1", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.100.2", - "pkg:golang/cloud.google.com/go/compute@v1.6.0", - "pkg:golang/cloud.google.com/go/iam@v0.3.0", - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/github.com/google/go-cmp@v0.5.7", - "pkg:golang/github.com/google/uuid@v1.1.2", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.3.0", - "pkg:golang/github.com/googleapis/go-type-adapters@v1.0.0", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20220411215720-9780585627b5", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20220411194840-2f41105eb62f", - "pkg:golang/google.golang.org/api@v0.74.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20220518221133-4f43b3371335", - "pkg:golang/google.golang.org/grpc@v1.46.0", - "pkg:golang/google.golang.org/protobuf@v1.28.0" - ] - }, - { - "ref": "pkg:golang/github.com/golang/mock@v1.6.0", - "dependsOn": [ - "pkg:golang/golang.org/x/mod@v0.4.2", - "pkg:golang/golang.org/x/tools@v0.1.1" - ] - }, - { - "ref": "pkg:golang/google.golang.org/grpc@v1.46.0", - "dependsOn": [ - "pkg:golang/github.com/cespare/xxhash/v2@v2.1.1", - "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20210930031921-04548b0d99d4", - "pkg:golang/github.com/cncf/xds/go@v0.0.0-20211011173535-cb28da3451f1", - "pkg:golang/github.com/envoyproxy/go-control-plane@v0.10.2-0.20220325020618-49ff273808a1", - "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/github.com/google/go-cmp@v0.5.6", - "pkg:golang/github.com/google/uuid@v1.1.2", - "pkg:golang/golang.org/x/net@v0.0.0-20201021035429-f5854403a974", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "pkg:golang/golang.org/x/sys@v0.0.0-20210119212857-b64e53b001e4", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200526211855-cb27e3aa2013", - "pkg:golang/google.golang.org/protobuf@v1.27.1" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go@v0.94.1", - "dependsOn": [ - "pkg:golang/cloud.google.com/go/storage@v1.10.0", - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/github.com/google/go-cmp@v0.5.6", - "pkg:golang/github.com/google/martian/v3@v3.2.1", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.1.0", - "pkg:golang/go.opencensus.io@v0.23.0", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20210819190943-2bc19b11175f", - "pkg:golang/google.golang.org/api@v0.55.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20210831024726-fe130286e0e2", - "pkg:golang/google.golang.org/grpc@v1.40.0", - "pkg:golang/google.golang.org/protobuf@v1.27.1" - ] - }, - { - "ref": "pkg:golang/github.com/googleapis/gax-go/v2@v2.1.0", - "dependsOn": [ - "pkg:golang/github.com/google/go-cmp@v0.5.6", - "pkg:golang/google.golang.org/api@v0.54.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20210821163610-241b8fcbd6c8", - "pkg:golang/google.golang.org/grpc@v1.40.0", - "pkg:golang/google.golang.org/protobuf@v1.27.1" - ] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.57.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.94.1", - "pkg:golang/github.com/google/go-cmp@v0.5.6", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.1.0", - "pkg:golang/go.opencensus.io@v0.23.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20210508222113-6edffad5e616", - "pkg:golang/golang.org/x/net@v0.0.0-20210503060351-7fd8e65b6420", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20210819190943-2bc19b11175f", - "pkg:golang/golang.org/x/sync@v0.0.0-20210220032951-036812b2e83c", - "pkg:golang/golang.org/x/sys@v0.0.0-20210908233432-aa78b53d3365", - "pkg:golang/golang.org/x/tools@v0.1.5", - "pkg:golang/google.golang.org/appengine@v1.6.7", - "pkg:golang/google.golang.org/genproto@v0.0.0-20210903162649-d08c68adba83", - "pkg:golang/google.golang.org/grpc@v1.40.0" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20210921142501-181ce0d877f6", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/golang.org/x/net@v0.0.0-20210405180319-a5a99cb37ef4", - "pkg:golang/golang.org/x/sys@v0.0.0-20210510120138-977fb7262007", - "pkg:golang/golang.org/x/text@v0.3.5", - "pkg:golang/google.golang.org/grpc@v1.40.0", - "pkg:golang/google.golang.org/protobuf@v1.27.1" - ] - }, - { - "ref": "pkg:golang/go.opencensus.io@v0.22.4", - "dependsOn": [ - "pkg:golang/github.com/golang/groupcache@v0.0.0-20190702054246-869f871628b6", - "pkg:golang/github.com/golang/protobuf@v1.3.1", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/stretchr/testify@v1.4.0", - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sys@v0.0.0-20190502145724-3ef323f4f1fd", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190425155659-357c62f0e4bb", - "pkg:golang/google.golang.org/grpc@v1.20.1" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sync@v0.0.0-20200625203802-6e8e738ad208", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.29.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.56.0", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/go.opencensus.io@v0.22.3", - "pkg:golang/golang.org/x/lint@v0.0.0-20200302205851-738671d3881b", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "pkg:golang/golang.org/x/sync@v0.0.0-20200317015054-43a5402ce75a", - "pkg:golang/golang.org/x/sys@v0.0.0-20200331124033-c3d80250170d", - "pkg:golang/golang.org/x/tools@v0.0.0-20200331025713-a30bf2db82d4", - "pkg:golang/google.golang.org/appengine@v1.6.5", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200331122359-1ee6d9798940", - "pkg:golang/google.golang.org/grpc@v1.28.0" - ] - }, - { - "ref": "pkg:golang/github.com/aws/aws-sdk-go@v1.37.0", - "dependsOn": [ - "pkg:golang/github.com/jmespath/go-jmespath@v0.4.0", - "pkg:golang/github.com/pkg/errors@v0.9.1", - "pkg:golang/golang.org/x/net@v0.0.0-20201110031124-69a78807bb2b" - ] - }, - { - "ref": "pkg:golang/github.com/jstemmer/go-junit-report@v0.9.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/lint@v0.0.0-20210508222113-6edffad5e616", - "dependsOn": [ - "pkg:golang/golang.org/x/tools@v0.0.0-20200130002326-2f3ba24bd6e7" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20210503060351-7fd8e65b6420", - "dependsOn": [ - "pkg:golang/golang.org/x/sys@v0.0.0-20210423082822-04245dca01da", - "pkg:golang/golang.org/x/term@v0.0.0-20201126162022-7de9c90e9dd1", - "pkg:golang/golang.org/x/text@v0.3.6" - ] - }, - { - "ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20211005180243-6b3c2da341f1", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.65.0", - "pkg:golang/golang.org/x/net@v0.0.0-20200822124328-c89045814202", - "pkg:golang/google.golang.org/appengine@v1.6.6" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.1.5", - "dependsOn": [ - "pkg:golang/github.com/yuin/goldmark@v1.3.5", - "pkg:golang/golang.org/x/mod@v0.4.2", - "pkg:golang/golang.org/x/net@v0.0.0-20210405180319-a5a99cb37ef4", - "pkg:golang/golang.org/x/sync@v0.0.0-20210220032951-036812b2e83c", - "pkg:golang/golang.org/x/sys@v0.0.0-20210510120138-977fb7262007", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1" - ] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.59.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.97.0", - "pkg:golang/github.com/google/go-cmp@v0.5.6", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.1.1", - "pkg:golang/go.opencensus.io@v0.23.0", - "pkg:golang/golang.org/x/net@v0.0.0-20210503060351-7fd8e65b6420", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20211005180243-6b3c2da341f1", - "pkg:golang/golang.org/x/sync@v0.0.0-20210220032951-036812b2e83c", - "pkg:golang/golang.org/x/sys@v0.0.0-20211007075335-d3039528d8ac", - "pkg:golang/google.golang.org/appengine@v1.6.7", - "pkg:golang/google.golang.org/genproto@v0.0.0-20211008145708-270636b82663", - "pkg:golang/google.golang.org/grpc@v1.40.0" - ] - }, - { - "ref": "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.4", - "dependsOn": [ - "pkg:golang/github.com/BurntSushi/toml@v0.3.1", - "pkg:golang/github.com/google/renameio@v0.1.0", - "pkg:golang/github.com/kisielk/gotool@v1.0.0", - "pkg:golang/github.com/rogpeppe/go-internal@v1.3.0", - "pkg:golang/golang.org/x/mod@v0.0.0-20190513183733-4bf6d317e70e", - "pkg:golang/golang.org/x/tools@v0.0.0-20191130070609-6e064ea0cf2d" - ] - }, - { - "ref": "pkg:golang/github.com/pkg/errors@v0.9.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20220127200216-cd36cc0744dd", - "dependsOn": [ - "pkg:golang/golang.org/x/sys@v0.0.0-20211216021012-1d35b9e2eb4e", - "pkg:golang/golang.org/x/term@v0.0.0-20210927222741-03fcf44c2211", - "pkg:golang/golang.org/x/text@v0.3.7" - ] - }, - { - "ref": "pkg:golang/github.com/OneOfOne/xxhash@v1.2.2", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/spaolacci/murmur3@v0.0.0-20180118202830-f09979ecbc72", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/cncf/xds/go@v0.0.0-20210922020428-25de7278fc84", - "dependsOn": [ - "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/google.golang.org/grpc@v1.25.1" - ] - }, - { - "ref": "pkg:golang/github.com/golang/protobuf@v1.3.2", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/grpc@v1.25.1", - "dependsOn": [ - "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.0", - "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", - "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", - "pkg:golang/github.com/golang/mock@v1.1.1", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/google/go-cmp@v0.2.0", - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20180821212333-d2e6202438be", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55" - ] - }, - { - "ref": "pkg:golang/github.com/census-instrumentation/opencensus-proto@v0.2.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/cncf/xds/go@v0.0.0-20211001041855-01bcc9b48dfe", - "dependsOn": [ - "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/google.golang.org/grpc@v1.25.1" - ] - }, - { - "ref": "pkg:golang/github.com/golang/protobuf@v1.5.0", - "dependsOn": [ - "pkg:golang/github.com/google/go-cmp@v0.5.5", - "pkg:golang/google.golang.org/protobuf@v1.26.0-rc.1" - ] - }, - { - "ref": "pkg:golang/github.com/prometheus/client_model@v0.0.0-20190812154241-14fe0d1b01d4", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.2.0", - "pkg:golang/golang.org/x/sync@v0.0.0-20181108010431-42b317875d0f" - ] - }, - { - "ref": "pkg:golang/github.com/stretchr/testify@v1.7.0", - "dependsOn": [ - "pkg:golang/github.com/davecgh/go-spew@v1.1.0", - "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", - "pkg:golang/github.com/stretchr/objx@v0.1.0", - "pkg:golang/gopkg.in/yaml.v3@v3.0.0-20200313102051-9f266ea9e77c" - ] - }, - { - "ref": "pkg:golang/go.opentelemetry.io/proto/otlp@v0.7.0", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.4.3", - "pkg:golang/github.com/grpc-ecosystem/grpc-gateway@v1.16.0", - "pkg:golang/google.golang.org/grpc@v1.36.0", - "pkg:golang/google.golang.org/protobuf@v1.25.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20201021035429-f5854403a974", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20200622213623-75b288015ac9", - "pkg:golang/golang.org/x/sys@v0.0.0-20200930185726-fdedc70b468f", - "pkg:golang/golang.org/x/text@v0.3.3" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20210119212857-b64e53b001e4", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200526211855-cb27e3aa2013", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.4.1", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/google.golang.org/protobuf@v1.23.1-0.20200526195155-81db48ad09cc", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc" - ] - }, - { - "ref": "pkg:golang/google.golang.org/grpc@v1.36.0", - "dependsOn": [ - "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20201120205902-5459f2c99403", - "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.9-0.20201210154907-fd9021fe5dad", - "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", - "pkg:golang/github.com/golang/protobuf@v1.4.2", - "pkg:golang/github.com/google/go-cmp@v0.5.0", - "pkg:golang/github.com/google/uuid@v1.1.2", - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20180821212333-d2e6202438be", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200526211855-cb27e3aa2013", - "pkg:golang/google.golang.org/protobuf@v1.25.0" - ] - }, - { - "ref": "pkg:golang/github.com/google/go-cmp@v0.5.5", - "dependsOn": [ - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543" - ] - }, - { - "ref": "pkg:golang/google.golang.org/protobuf@v1.26.0", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.5.0", - "pkg:golang/github.com/google/go-cmp@v0.5.5" - ] - }, - { - "ref": "pkg:golang/github.com/chzyer/logex@v1.1.10", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/chzyer/readline@v0.0.0-20180603132655-2972be24d48e", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/chzyer/test@v0.0.0-20180213035817-a1ea475d72b1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/ianlancetaylor/demangle@v0.0.0-20210905161508-09a460cdf81d", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20211007075335-d3039528d8ac", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20220505152158-f39f71e6c8f3", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/golang.org/x/net@v0.0.0-20210405180319-a5a99cb37ef4", - "pkg:golang/golang.org/x/sys@v0.0.0-20210510120138-977fb7262007", - "pkg:golang/golang.org/x/text@v0.3.5", - "pkg:golang/google.golang.org/grpc@v1.46.0", - "pkg:golang/google.golang.org/protobuf@v1.28.0" - ] - }, - { - "ref": "pkg:golang/github.com/jmespath/go-jmespath/internal/testify@v1.5.1", - "dependsOn": [ - "pkg:golang/github.com/davecgh/go-spew@v1.1.0", - "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", - "pkg:golang/github.com/stretchr/objx@v0.1.0", - "pkg:golang/gopkg.in/yaml.v2@v2.2.8" - ] - }, - { - "ref": "pkg:golang/github.com/davecgh/go-spew@v1.1.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/stretchr/testify@v1.2.2", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20191026070338-33540a1f6037", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/term@v0.0.0-20210927222741-03fcf44c2211", - "dependsOn": [ - "pkg:golang/golang.org/x/sys@v0.0.0-20210615035016-665e8c7367d1" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go@v0.65.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go/storage@v1.10.0", - "pkg:golang/github.com/golang/mock@v1.4.4", - "pkg:golang/github.com/golang/protobuf@v1.4.2", - "pkg:golang/github.com/google/go-cmp@v0.5.1", - "pkg:golang/github.com/google/martian/v3@v3.0.0", - "pkg:golang/github.com/google/pprof@v0.0.0-20200708004538-1a94d8640e99", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/jstemmer/go-junit-report@v0.9.1", - "pkg:golang/go.opencensus.io@v0.22.4", - "pkg:golang/golang.org/x/lint@v0.0.0-20200302205851-738671d3881b", - "pkg:golang/golang.org/x/net@v0.0.0-20200822124328-c89045814202", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "pkg:golang/golang.org/x/text@v0.3.3", - "pkg:golang/golang.org/x/tools@v0.0.0-20200825202427-b303f430e36d", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1", - "pkg:golang/google.golang.org/api@v0.30.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200825200019-8632dd797987", - "pkg:golang/google.golang.org/grpc@v1.31.0" - ] - }, - { - "ref": "pkg:golang/google.golang.org/appengine@v1.6.6", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.1", - "pkg:golang/golang.org/x/net@v0.0.0-20190603091049-60506f45cf65", - "pkg:golang/golang.org/x/text@v0.3.2" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20180917221912-90fa682c2a6e", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20220425223048-2871e0cb64e4", - "dependsOn": [ - "pkg:golang/golang.org/x/sys@v0.0.0-20211216021012-1d35b9e2eb4e", - "pkg:golang/golang.org/x/term@v0.0.0-20210927222741-03fcf44c2211", - "pkg:golang/golang.org/x/text@v0.3.7" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20220502124256-b6088ccd6cba", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/xerrors@v0.0.0-20220411194840-2f41105eb62f", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20220429170224-98d788798c3e", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/golang.org/x/net@v0.0.0-20210405180319-a5a99cb37ef4", - "pkg:golang/golang.org/x/sys@v0.0.0-20210510120138-977fb7262007", - "pkg:golang/golang.org/x/text@v0.3.5", - "pkg:golang/google.golang.org/grpc@v1.45.0", - "pkg:golang/google.golang.org/protobuf@v1.28.0" - ] - }, - { - "ref": "pkg:golang/github.com/golang/protobuf@v1.3.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20190603091049-60506f45cf65", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/text@v0.3.2", - "dependsOn": [ - "pkg:golang/golang.org/x/tools@v0.0.0-20180917221912-90fa682c2a6e" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20210405180319-a5a99cb37ef4", - "dependsOn": [ - "pkg:golang/golang.org/x/sys@v0.0.0-20210330210617-4fbd30eecc44", - "pkg:golang/golang.org/x/term@v0.0.0-20201126162022-7de9c90e9dd1", - "pkg:golang/golang.org/x/text@v0.3.3" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20210510120138-977fb7262007", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/text@v0.3.5", - "dependsOn": [ - "pkg:golang/golang.org/x/tools@v0.0.0-20180917221912-90fa682c2a6e" - ] - }, - { - "ref": "pkg:golang/github.com/cespare/xxhash/v2@v2.1.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/google/uuid@v1.1.2", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.34.0", - "pkg:golang/golang.org/x/net@v0.0.0-20190108225652-1e06a53dbb7e", - "pkg:golang/golang.org/x/sync@v0.0.0-20181221193216-37e7f081c4d4", - "pkg:golang/google.golang.org/appengine@v1.4.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/golang/snappy@v0.0.3", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20190628185345-da137c7871d7", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/google.golang.org/grpc@v1.37.0", - "dependsOn": [ - "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20201120205902-5459f2c99403", - "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.9-0.20210217033140-668b12f5399d", - "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", - "pkg:golang/github.com/golang/protobuf@v1.4.2", - "pkg:golang/github.com/google/go-cmp@v0.5.0", - "pkg:golang/github.com/google/uuid@v1.1.2", - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20180821212333-d2e6202438be", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200526211855-cb27e3aa2013", - "pkg:golang/google.golang.org/protobuf@v1.25.0" - ] - }, - { - "ref": "pkg:golang/google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.1.0", - "dependsOn": [ - "pkg:golang/google.golang.org/protobuf@v1.23.0" - ] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.56.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.93.3", - "pkg:golang/github.com/google/go-cmp@v0.5.6", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.1.0", - "pkg:golang/go.opencensus.io@v0.23.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20210508222113-6edffad5e616", - "pkg:golang/golang.org/x/net@v0.0.0-20210503060351-7fd8e65b6420", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20210819190943-2bc19b11175f", - "pkg:golang/golang.org/x/sync@v0.0.0-20210220032951-036812b2e83c", - "pkg:golang/golang.org/x/sys@v0.0.0-20210823070655-63515b42dcdf", - "pkg:golang/golang.org/x/tools@v0.1.5", - "pkg:golang/google.golang.org/appengine@v1.6.7", - "pkg:golang/google.golang.org/genproto@v0.0.0-20210828152312-66f60bf46e71", - "pkg:golang/google.golang.org/grpc@v1.40.0" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20210909211513-a8c4777a87af", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/golang.org/x/lint@v0.0.0-20210508222113-6edffad5e616", - "pkg:golang/golang.org/x/text@v0.3.5", - "pkg:golang/golang.org/x/tools@v0.1.5", - "pkg:golang/google.golang.org/grpc@v1.40.0", - "pkg:golang/google.golang.org/protobuf@v1.27.1" - ] - }, - { - "ref": "pkg:golang/github.com/golang/groupcache@v0.0.0-20200121045136-8c9f03a8e57e", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/golang/protobuf@v1.4.3", - "dependsOn": [ - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/google.golang.org/protobuf@v1.23.0" - ] - }, - { - "ref": "pkg:golang/github.com/google/go-cmp@v0.5.3", - "dependsOn": [ - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543" - ] - }, - { - "ref": "pkg:golang/github.com/stretchr/testify@v1.6.1", - "dependsOn": [ - "pkg:golang/github.com/davecgh/go-spew@v1.1.0", - "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", - "pkg:golang/github.com/stretchr/objx@v0.1.0", - "pkg:golang/gopkg.in/yaml.v3@v3.0.0-20200313102051-9f266ea9e77c" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20201110031124-69a78807bb2b", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20200622213623-75b288015ac9", - "pkg:golang/golang.org/x/sys@v0.0.0-20200930185726-fdedc70b468f", - "pkg:golang/golang.org/x/text@v0.3.3" - ] - }, - { - "ref": "pkg:golang/google.golang.org/grpc@v1.33.2", - "dependsOn": [ - "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20191209042840-269d4d468f6f", - "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.4", - "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", - "pkg:golang/github.com/golang/protobuf@v1.4.1", - "pkg:golang/github.com/google/go-cmp@v0.5.0", - "pkg:golang/github.com/google/uuid@v1.1.2", - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20180821212333-d2e6202438be", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200526211855-cb27e3aa2013", - "pkg:golang/google.golang.org/protobuf@v1.25.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20200822124328-c89045814202", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20200622213623-75b288015ac9", - "pkg:golang/golang.org/x/sys@v0.0.0-20200323222414-85ca7c5b95cd", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go@v0.99.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go/storage@v1.10.0", - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/github.com/google/go-cmp@v0.5.6", - "pkg:golang/github.com/google/martian/v3@v3.2.1", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.1.1", - "pkg:golang/go.opencensus.io@v0.23.0", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20211104180415-d3ed0bb246c8", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1", - "pkg:golang/google.golang.org/api@v0.61.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20211206160659-862468c7d6e0", - "pkg:golang/google.golang.org/grpc@v1.40.0", - "pkg:golang/google.golang.org/protobuf@v1.27.1" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20211210111614-af8b64212486", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20211208223120-3a66f561d7aa", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/golang.org/x/net@v0.0.0-20210405180319-a5a99cb37ef4", - "pkg:golang/golang.org/x/sys@v0.0.0-20210510120138-977fb7262007", - "pkg:golang/golang.org/x/text@v0.3.5", - "pkg:golang/google.golang.org/grpc@v1.40.0", - "pkg:golang/google.golang.org/protobuf@v1.27.1" - ] - }, - { - "ref": "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20201120205902-5459f2c99403", - "dependsOn": [ - "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/google.golang.org/grpc@v1.25.1" - ] - }, - { - "ref": "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.9-0.20210512163311-63b5d3c536b0", - "dependsOn": [ - "pkg:golang/github.com/census-instrumentation/opencensus-proto@v0.2.1", - "pkg:golang/github.com/cncf/xds/go@v0.0.0-20210312221358-fbca930ec8ed", - "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", - "pkg:golang/github.com/golang/protobuf@v1.4.3", - "pkg:golang/github.com/google/go-cmp@v0.5.0", - "pkg:golang/github.com/prometheus/client_model@v0.0.0-20190812154241-14fe0d1b01d4", - "pkg:golang/github.com/stretchr/testify@v1.5.1", - "pkg:golang/go.opentelemetry.io/proto/otlp@v0.7.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200526211855-cb27e3aa2013", - "pkg:golang/google.golang.org/grpc@v1.36.0", - "pkg:golang/google.golang.org/protobuf@v1.25.0" - ] - }, - { - "ref": "pkg:golang/github.com/google/go-cmp@v0.5.0", - "dependsOn": [ - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200323222414-85ca7c5b95cd", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/protobuf@v1.25.0", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.4.1", - "pkg:golang/github.com/google/go-cmp@v0.5.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200526211855-cb27e3aa2013" - ] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.74.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go/compute@v1.5.0", - "pkg:golang/github.com/google/go-cmp@v0.5.7", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.2.0", - "pkg:golang/go.opencensus.io@v0.23.0", - "pkg:golang/golang.org/x/net@v0.0.0-20220325170049-de3da57026de", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20220309155454-6242fa91716a", - "pkg:golang/golang.org/x/sync@v0.0.0-20210220032951-036812b2e83c", - "pkg:golang/golang.org/x/sys@v0.0.0-20220328115105-d36c6a25d886", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1", - "pkg:golang/google.golang.org/appengine@v1.6.7", - "pkg:golang/google.golang.org/genproto@v0.0.0-20220324131243-acbaeb5b85eb", - "pkg:golang/google.golang.org/grpc@v1.45.0" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20220407144326-9054f6ed7bac", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/golang.org/x/net@v0.0.0-20210405180319-a5a99cb37ef4", - "pkg:golang/golang.org/x/sys@v0.0.0-20210510120138-977fb7262007", - "pkg:golang/golang.org/x/text@v0.3.5", - "pkg:golang/google.golang.org/grpc@v1.45.0", - "pkg:golang/google.golang.org/protobuf@v1.28.0" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go/compute@v1.6.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.100.2", - "pkg:golang/github.com/google/go-cmp@v0.5.7", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.3.0", - "pkg:golang/google.golang.org/api@v0.74.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20220413183235-5e96e2839df9", - "pkg:golang/google.golang.org/grpc@v1.45.0", - "pkg:golang/google.golang.org/protobuf@v1.28.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20220412020605-290c469a71a5", - "dependsOn": [ - "pkg:golang/golang.org/x/sys@v0.0.0-20211216021012-1d35b9e2eb4e", - "pkg:golang/golang.org/x/term@v0.0.0-20210927222741-03fcf44c2211", - "pkg:golang/golang.org/x/text@v0.3.7" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20220412211240-33da011f77ad", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20220414192740-2d67ff6cf2b4", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/golang.org/x/net@v0.0.0-20210405180319-a5a99cb37ef4", - "pkg:golang/golang.org/x/sys@v0.0.0-20210510120138-977fb7262007", - "pkg:golang/golang.org/x/text@v0.3.5", - "pkg:golang/google.golang.org/grpc@v1.45.0", - "pkg:golang/google.golang.org/protobuf@v1.28.0" - ] - }, - { - "ref": "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.10-0.20210907150352-cf90f659a021", - "dependsOn": [ - "pkg:golang/github.com/census-instrumentation/opencensus-proto@v0.2.1", - "pkg:golang/github.com/cncf/xds/go@v0.0.0-20210805033703-aa0b78936158", - "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", - "pkg:golang/github.com/golang/protobuf@v1.4.3", - "pkg:golang/github.com/google/go-cmp@v0.5.0", - "pkg:golang/github.com/prometheus/client_model@v0.0.0-20190812154241-14fe0d1b01d4", - "pkg:golang/github.com/stretchr/testify@v1.7.0", - "pkg:golang/go.opentelemetry.io/proto/otlp@v0.7.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200526211855-cb27e3aa2013", - "pkg:golang/google.golang.org/grpc@v1.36.0", - "pkg:golang/google.golang.org/protobuf@v1.25.0" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go/storage@v1.10.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.57.0", - "pkg:golang/cloud.google.com/go/bigquery@v1.8.0", - "pkg:golang/github.com/golang/protobuf@v1.4.2", - "pkg:golang/github.com/google/go-cmp@v0.4.1", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/golang.org/x/net@v0.0.0-20200520182314-0ba52f642ac2", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "pkg:golang/golang.org/x/sys@v0.0.0-20200523222454-059865788121", - "pkg:golang/golang.org/x/tools@v0.0.0-20200618134242-20370b0cb4b2", - "pkg:golang/google.golang.org/api@v0.28.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200618031413-b414f8b61790", - "pkg:golang/google.golang.org/grpc@v1.29.1" - ] - }, - { - "ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20210819190943-2bc19b11175f", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.65.0", - "pkg:golang/golang.org/x/net@v0.0.0-20200822124328-c89045814202", - "pkg:golang/google.golang.org/appengine@v1.6.6" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20210924002016-3dee208752a0", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/golang.org/x/net@v0.0.0-20210405180319-a5a99cb37ef4", - "pkg:golang/golang.org/x/sys@v0.0.0-20210510120138-977fb7262007", - "pkg:golang/golang.org/x/text@v0.3.5", - "pkg:golang/google.golang.org/grpc@v1.40.0", - "pkg:golang/google.golang.org/protobuf@v1.27.1" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20210917161153-d61c044b1678", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20210917145530-b395a37504d4", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/golang.org/x/lint@v0.0.0-20210508222113-6edffad5e616", - "pkg:golang/golang.org/x/text@v0.3.5", - "pkg:golang/golang.org/x/tools@v0.1.5", - "pkg:golang/google.golang.org/grpc@v1.40.0", - "pkg:golang/google.golang.org/protobuf@v1.27.1" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go/iam@v0.3.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.100.2", - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.1.1", - "pkg:golang/google.golang.org/api@v0.70.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20220222213610-43724f9ea8cf", - "pkg:golang/google.golang.org/grpc@v1.44.0" - ] - }, - { - "ref": "pkg:golang/github.com/googleapis/go-type-adapters@v1.0.0", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.5.1", - "pkg:golang/google.golang.org/genproto@v0.0.0-20210329143202-679c6ae281ee", - "pkg:golang/google.golang.org/protobuf@v1.26.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/mod@v0.4.2", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20191011191535-87dc89f01550", - "pkg:golang/golang.org/x/tools@v0.0.0-20191119224855-298f0cb1881e", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.1.1", - "dependsOn": [ - "pkg:golang/github.com/yuin/goldmark@v1.3.5", - "pkg:golang/golang.org/x/mod@v0.4.2", - "pkg:golang/golang.org/x/net@v0.0.0-20210405180319-a5a99cb37ef4", - "pkg:golang/golang.org/x/sync@v0.0.0-20210220032951-036812b2e83c", - "pkg:golang/golang.org/x/sys@v0.0.0-20210510120138-977fb7262007", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1" - ] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.55.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.93.3", - "pkg:golang/github.com/google/go-cmp@v0.5.6", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.1.0", - "pkg:golang/go.opencensus.io@v0.23.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20210508222113-6edffad5e616", - "pkg:golang/golang.org/x/net@v0.0.0-20210503060351-7fd8e65b6420", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20210819190943-2bc19b11175f", - "pkg:golang/golang.org/x/sync@v0.0.0-20210220032951-036812b2e83c", - "pkg:golang/golang.org/x/sys@v0.0.0-20210823070655-63515b42dcdf", - "pkg:golang/golang.org/x/tools@v0.1.5", - "pkg:golang/google.golang.org/appengine@v1.6.7", - "pkg:golang/google.golang.org/genproto@v0.0.0-20210828152312-66f60bf46e71", - "pkg:golang/google.golang.org/grpc@v1.40.0" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20210831024726-fe130286e0e2", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/golang.org/x/lint@v0.0.0-20210508222113-6edffad5e616", - "pkg:golang/golang.org/x/text@v0.3.5", - "pkg:golang/golang.org/x/tools@v0.1.5", - "pkg:golang/google.golang.org/grpc@v1.40.0", - "pkg:golang/google.golang.org/protobuf@v1.27.1" - ] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.54.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.90.0", - "pkg:golang/github.com/google/go-cmp@v0.5.6", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/go.opencensus.io@v0.23.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20210508222113-6edffad5e616", - "pkg:golang/golang.org/x/net@v0.0.0-20210503060351-7fd8e65b6420", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20210805134026-6f1e6394065a", - "pkg:golang/golang.org/x/sync@v0.0.0-20210220032951-036812b2e83c", - "pkg:golang/golang.org/x/sys@v0.0.0-20210806184541-e5e7981a1069", - "pkg:golang/golang.org/x/tools@v0.1.5", - "pkg:golang/google.golang.org/appengine@v1.6.7", - "pkg:golang/google.golang.org/genproto@v0.0.0-20210805201207-89edb61ffb67", - "pkg:golang/google.golang.org/grpc@v1.39.1" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20210821163610-241b8fcbd6c8", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/golang.org/x/lint@v0.0.0-20210508222113-6edffad5e616", - "pkg:golang/golang.org/x/text@v0.3.5", - "pkg:golang/golang.org/x/tools@v0.1.5", - "pkg:golang/google.golang.org/grpc@v1.40.0", - "pkg:golang/google.golang.org/protobuf@v1.27.1" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20210908233432-aa78b53d3365", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20210903162649-d08c68adba83", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/golang.org/x/lint@v0.0.0-20210508222113-6edffad5e616", - "pkg:golang/golang.org/x/text@v0.3.5", - "pkg:golang/golang.org/x/tools@v0.1.5", - "pkg:golang/google.golang.org/grpc@v1.40.0", - "pkg:golang/google.golang.org/protobuf@v1.27.1" - ] - }, - { - "ref": "pkg:golang/github.com/golang/groupcache@v0.0.0-20190702054246-869f871628b6", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/google/go-cmp@v0.3.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/stretchr/testify@v1.4.0", - "dependsOn": [ - "pkg:golang/github.com/davecgh/go-spew@v1.1.0", - "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", - "pkg:golang/github.com/stretchr/objx@v0.1.0", - "pkg:golang/gopkg.in/yaml.v2@v2.2.2" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190502145724-3ef323f4f1fd", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20190425155659-357c62f0e4bb", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.2.0", - "pkg:golang/golang.org/x/exp@v0.0.0-20190121172915-509febef88a4", - "pkg:golang/golang.org/x/lint@v0.0.0-20190227174305-5b3e6a55c961", - "pkg:golang/golang.org/x/net@v0.0.0-20190213061140-3a22650c66bd", - "pkg:golang/golang.org/x/sync@v0.0.0-20190227155943-e225da77a7e6", - "pkg:golang/golang.org/x/tools@v0.0.0-20190226205152-f727befe758c", - "pkg:golang/google.golang.org/grpc@v1.19.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190102054323-c2f93a96b099" - ] - }, - { - "ref": "pkg:golang/google.golang.org/grpc@v1.20.1", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.26.0", - "pkg:golang/github.com/BurntSushi/toml@v0.3.1", - "pkg:golang/github.com/client9/misspell@v0.3.4", - "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", - "pkg:golang/github.com/golang/mock@v1.1.1", - "pkg:golang/github.com/golang/protobuf@v1.2.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20180821212333-d2e6202438be", - "pkg:golang/golang.org/x/sync@v0.0.0-20180314180146-1d60e4601c6f", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/golang.org/x/tools@v0.0.0-20190311212946-11955173bddd", - "pkg:golang/google.golang.org/appengine@v1.1.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20180817151627-c66870c02cf8", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190102054323-c2f93a96b099" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go@v0.56.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go/bigquery@v1.4.0", - "pkg:golang/cloud.google.com/go/datastore@v1.1.0", - "pkg:golang/cloud.google.com/go/pubsub@v1.2.0", - "pkg:golang/cloud.google.com/go/storage@v1.6.0", - "pkg:golang/github.com/golang/mock@v1.4.3", - "pkg:golang/github.com/golang/protobuf@v1.3.5", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/github.com/google/martian@v2.1.0%2Bincompatible", - "pkg:golang/github.com/google/pprof@v0.0.0-20200229191704-1ebb73c60ed3", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/jstemmer/go-junit-report@v0.9.1", - "pkg:golang/go.opencensus.io@v0.22.3", - "pkg:golang/golang.org/x/lint@v0.0.0-20200302205851-738671d3881b", - "pkg:golang/golang.org/x/net@v0.0.0-20200324143707-d3edc9973b7e", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "pkg:golang/golang.org/x/sync@v0.0.0-20200317015054-43a5402ce75a", - "pkg:golang/golang.org/x/sys@v0.0.0-20200331124033-c3d80250170d", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/tools@v0.0.0-20200331025713-a30bf2db82d4", - "pkg:golang/google.golang.org/api@v0.20.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200331122359-1ee6d9798940", - "pkg:golang/google.golang.org/grpc@v1.28.0", - "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.3" - ] - }, - { - "ref": "pkg:golang/github.com/google/go-cmp@v0.4.0", - "dependsOn": [ - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543" - ] - }, - { - "ref": "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "dependsOn": [ - "pkg:golang/google.golang.org/grpc@v1.19.0" - ] - }, - { - "ref": "pkg:golang/go.opencensus.io@v0.22.3", - "dependsOn": [ - "pkg:golang/github.com/golang/groupcache@v0.0.0-20190702054246-869f871628b6", - "pkg:golang/github.com/golang/protobuf@v1.3.1", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/stretchr/testify@v1.4.0", - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sys@v0.0.0-20190502145724-3ef323f4f1fd", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190425155659-357c62f0e4bb", - "pkg:golang/google.golang.org/grpc@v1.20.1" - ] - }, - { - "ref": "pkg:golang/golang.org/x/lint@v0.0.0-20200302205851-738671d3881b", - "dependsOn": [ - "pkg:golang/golang.org/x/tools@v0.0.0-20200130002326-2f3ba24bd6e7" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sync@v0.0.0-20200317015054-43a5402ce75a", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200331124033-c3d80250170d", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200331025713-a30bf2db82d4", - "dependsOn": [ - "pkg:golang/github.com/yuin/goldmark@v1.1.25", - "pkg:golang/golang.org/x/mod@v0.2.0", - "pkg:golang/golang.org/x/net@v0.0.0-20200226121028-0de0cce0169b", - "pkg:golang/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543" - ] - }, - { - "ref": "pkg:golang/google.golang.org/appengine@v1.6.5", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.1", - "pkg:golang/golang.org/x/net@v0.0.0-20190603091049-60506f45cf65", - "pkg:golang/golang.org/x/text@v0.3.2" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200331122359-1ee6d9798940", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.3", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc" - ] - }, - { - "ref": "pkg:golang/google.golang.org/grpc@v1.28.0", - "dependsOn": [ - "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.4", - "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", - "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", - "pkg:golang/github.com/golang/mock@v1.1.1", - "pkg:golang/github.com/golang/protobuf@v1.3.3", - "pkg:golang/github.com/google/go-cmp@v0.2.0", - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20180821212333-d2e6202438be", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200130002326-2f3ba24bd6e7", - "dependsOn": [ - "pkg:golang/golang.org/x/mod@v0.1.1-0.20191105210325-c90efee705ee", - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20210423082822-04245dca01da", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/term@v0.0.0-20201126162022-7de9c90e9dd1", - "dependsOn": [ - "pkg:golang/golang.org/x/sys@v0.0.0-20201119102817-f84b799fce68" - ] - }, - { - "ref": "pkg:golang/golang.org/x/text@v0.3.6", - "dependsOn": [ - "pkg:golang/golang.org/x/tools@v0.0.0-20180917221912-90fa682c2a6e" - ] - }, - { - "ref": "pkg:golang/github.com/yuin/goldmark@v1.3.5", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20211008145708-270636b82663", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/golang.org/x/net@v0.0.0-20210405180319-a5a99cb37ef4", - "pkg:golang/golang.org/x/sys@v0.0.0-20210510120138-977fb7262007", - "pkg:golang/golang.org/x/text@v0.3.5", - "pkg:golang/google.golang.org/grpc@v1.40.0", - "pkg:golang/google.golang.org/protobuf@v1.27.1" - ] - }, - { - "ref": "pkg:golang/github.com/BurntSushi/toml@v0.3.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/google/renameio@v0.1.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/kisielk/gotool@v1.0.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/rogpeppe/go-internal@v1.3.0", - "dependsOn": [ - "pkg:golang/gopkg.in/errgo.v2@v2.1.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/mod@v0.0.0-20190513183733-4bf6d317e70e", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190510104115-cbcb75029529" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20191130070609-6e064ea0cf2d", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20190717185122-a985d3407aa7" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20211216021012-1d35b9e2eb4e", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.0", - "dependsOn": [ - "pkg:golang/github.com/census-instrumentation/opencensus-proto@v0.2.1", - "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/prometheus/client_model@v0.0.0-20190812154241-14fe0d1b01d4", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55", - "pkg:golang/google.golang.org/grpc@v1.23.0" - ] - }, - { - "ref": "pkg:golang/github.com/golang/mock@v1.1.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/google/go-cmp@v0.2.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20180821212333-d2e6202438be", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/golang.org/x/exp@v0.0.0-20190121172915-509febef88a4", - "pkg:golang/golang.org/x/lint@v0.0.0-20190227174305-5b3e6a55c961", - "pkg:golang/golang.org/x/tools@v0.0.0-20190226205152-f727befe758c", - "pkg:golang/google.golang.org/grpc@v1.19.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190102054323-c2f93a96b099" - ] - }, - { - "ref": "pkg:golang/google.golang.org/protobuf@v1.26.0-rc.1", - "dependsOn": [ - "pkg:golang/github.com/google/go-cmp@v0.5.5" - ] - }, - { - "ref": "pkg:golang/github.com/golang/protobuf@v1.2.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/sync@v0.0.0-20181108010431-42b317875d0f", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/davecgh/go-spew@v1.1.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/stretchr/objx@v0.1.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/gopkg.in/yaml.v3@v3.0.0-20200313102051-9f266ea9e77c", - "dependsOn": [ - "pkg:golang/gopkg.in/check.v1@v0.0.0-20161208181325-20d25e280405" - ] - }, - { - "ref": "pkg:golang/github.com/grpc-ecosystem/grpc-gateway@v1.16.0", - "dependsOn": [ - "pkg:golang/github.com/antihax/optional@v1.0.0", - "pkg:golang/github.com/ghodss/yaml@v1.0.0", - "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", - "pkg:golang/github.com/golang/protobuf@v1.3.3", - "pkg:golang/github.com/rogpeppe/fastuuid@v1.2.0", - "pkg:golang/golang.org/x/net@v0.0.0-20200822124328-c89045814202", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200513103714-09dca8ec2884", - "pkg:golang/google.golang.org/grpc@v1.33.1", - "pkg:golang/gopkg.in/yaml.v2@v2.2.3" - ] - }, - { - "ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20200622213623-75b288015ac9", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190404232315-eb5bcb51f2a3", - "pkg:golang/golang.org/x/sys@v0.0.0-20190412213103-97732733099d" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200930185726-fdedc70b468f", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/text@v0.3.3", - "dependsOn": [ - "pkg:golang/golang.org/x/tools@v0.0.0-20180917221912-90fa682c2a6e" - ] - }, - { - "ref": "pkg:golang/github.com/golang/protobuf@v1.4.1", - "dependsOn": [ - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/google.golang.org/protobuf@v1.22.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "dependsOn": [ - "pkg:golang/golang.org/x/tools@v0.0.0-20190311212946-11955173bddd" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58" - ] - }, - { - "ref": "pkg:golang/google.golang.org/grpc@v1.27.0", - "dependsOn": [ - "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.1-0.20191026205805-5f8ba28d4473", - "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", - "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", - "pkg:golang/github.com/golang/mock@v1.1.1", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/google/go-cmp@v0.2.0", - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20180821212333-d2e6202438be", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55" - ] - }, - { - "ref": "pkg:golang/google.golang.org/protobuf@v1.23.1-0.20200526195155-81db48ad09cc", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.4.0", - "pkg:golang/github.com/google/go-cmp@v0.4.0" - ] - }, - { - "ref": "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.9-0.20201210154907-fd9021fe5dad", - "dependsOn": [ - "pkg:golang/github.com/census-instrumentation/opencensus-proto@v0.2.1", - "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20201120205902-5459f2c99403", - "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", - "pkg:golang/github.com/golang/protobuf@v1.4.2", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/github.com/prometheus/client_model@v0.0.0-20190812154241-14fe0d1b01d4", - "pkg:golang/github.com/stretchr/testify@v1.5.1", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/google.golang.org/protobuf@v1.23.0" - ] - }, - { - "ref": "pkg:golang/github.com/golang/protobuf@v1.4.2", - "dependsOn": [ - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/google.golang.org/protobuf@v1.23.0" - ] - }, - { - "ref": "pkg:golang/gopkg.in/yaml.v2@v2.2.8", - "dependsOn": [ - "pkg:golang/gopkg.in/check.v1@v0.0.0-20161208181325-20d25e280405" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20210615035016-665e8c7367d1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/golang/mock@v1.4.4", - "dependsOn": [ - "pkg:golang/golang.org/x/tools@v0.0.0-20190425150028-36563e24a262" - ] - }, - { - "ref": "pkg:golang/github.com/google/go-cmp@v0.5.1", - "dependsOn": [ - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543" - ] - }, - { - "ref": "pkg:golang/github.com/google/martian/v3@v3.0.0", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190628185345-da137c7871d7" - ] - }, - { - "ref": "pkg:golang/github.com/google/pprof@v0.0.0-20200708004538-1a94d8640e99", - "dependsOn": [ - "pkg:golang/github.com/chzyer/logex@v1.1.10", - "pkg:golang/github.com/chzyer/readline@v0.0.0-20180603132655-2972be24d48e", - "pkg:golang/github.com/chzyer/test@v0.0.0-20180213035817-a1ea475d72b1", - "pkg:golang/github.com/ianlancetaylor/demangle@v0.0.0-20181102032728-5e5cf60278f6", - "pkg:golang/golang.org/x/sys@v0.0.0-20191204072324-ce4227a45e2e" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200825202427-b303f430e36d", - "dependsOn": [ - "pkg:golang/github.com/yuin/goldmark@v1.1.32", - "pkg:golang/golang.org/x/mod@v0.3.0", - "pkg:golang/golang.org/x/net@v0.0.0-20200625001655-4c5254603344", - "pkg:golang/golang.org/x/sync@v0.0.0-20200625203802-6e8e738ad208", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543" - ] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.30.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.62.0", - "pkg:golang/github.com/google/go-cmp@v0.5.1", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/go.opencensus.io@v0.22.4", - "pkg:golang/golang.org/x/lint@v0.0.0-20200302205851-738671d3881b", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "pkg:golang/golang.org/x/sync@v0.0.0-20200625203802-6e8e738ad208", - "pkg:golang/golang.org/x/sys@v0.0.0-20200803210538-64077c9b5642", - "pkg:golang/golang.org/x/tools@v0.0.0-20200804011535-6c149bb5ef0d", - "pkg:golang/google.golang.org/appengine@v1.6.6", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200804131852-c06518451d9c", - "pkg:golang/google.golang.org/grpc@v1.31.0" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200825200019-8632dd797987", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.4.1", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/google.golang.org/protobuf@v1.24.0" - ] - }, - { - "ref": "pkg:golang/google.golang.org/grpc@v1.31.0", - "dependsOn": [ - "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20191209042840-269d4d468f6f", - "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.4", - "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", - "pkg:golang/github.com/golang/protobuf@v1.3.3", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20180821212333-d2e6202438be", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55" - ] - }, - { - "ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "dependsOn": [ - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a" - ] - }, - { - "ref": "pkg:golang/golang.org/x/text@v0.3.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20210330210617-4fbd30eecc44", - "dependsOn": [] - }, - { - "ref": "pkg:golang/cloud.google.com/go@v0.34.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20190108225652-1e06a53dbb7e", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/sync@v0.0.0-20181221193216-37e7f081c4d4", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/appengine@v1.4.0", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.2.0", - "pkg:golang/golang.org/x/net@v0.0.0-20180724234803-3673e40ba225", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.9-0.20210217033140-668b12f5399d", - "dependsOn": [ - "pkg:golang/github.com/census-instrumentation/opencensus-proto@v0.2.1", - "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20201120205902-5459f2c99403", - "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", - "pkg:golang/github.com/golang/protobuf@v1.4.2", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/github.com/prometheus/client_model@v0.0.0-20190812154241-14fe0d1b01d4", - "pkg:golang/github.com/stretchr/testify@v1.5.1", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/google.golang.org/protobuf@v1.23.0" - ] - }, - { - "ref": "pkg:golang/google.golang.org/protobuf@v1.23.0", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.4.0", - "pkg:golang/github.com/google/go-cmp@v0.4.0" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go@v0.93.3", - "dependsOn": [ - "pkg:golang/cloud.google.com/go/storage@v1.10.0", - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/github.com/google/go-cmp@v0.5.6", - "pkg:golang/github.com/google/martian/v3@v3.2.1", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/go.opencensus.io@v0.23.0", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20210805134026-6f1e6394065a", - "pkg:golang/google.golang.org/api@v0.54.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20210813162853-db860fec028c", - "pkg:golang/google.golang.org/grpc@v1.39.1", - "pkg:golang/google.golang.org/protobuf@v1.27.1" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20210823070655-63515b42dcdf", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20210828152312-66f60bf46e71", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/golang.org/x/lint@v0.0.0-20210508222113-6edffad5e616", - "pkg:golang/golang.org/x/text@v0.3.5", - "pkg:golang/golang.org/x/tools@v0.1.5", - "pkg:golang/google.golang.org/grpc@v1.40.0", - "pkg:golang/google.golang.org/protobuf@v1.27.1" - ] - }, - { - "ref": "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20191209042840-269d4d468f6f", - "dependsOn": [ - "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/google.golang.org/grpc@v1.25.1" - ] - }, - { - "ref": "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.4", - "dependsOn": [ - "pkg:golang/github.com/census-instrumentation/opencensus-proto@v0.2.1", - "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20191209042840-269d4d468f6f", - "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/google/go-cmp@v0.2.0", - "pkg:golang/github.com/prometheus/client_model@v0.0.0-20190812154241-14fe0d1b01d4", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55", - "pkg:golang/google.golang.org/grpc@v1.25.1" - ] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.61.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.97.0", - "pkg:golang/github.com/google/go-cmp@v0.5.6", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.1.1", - "pkg:golang/go.opencensus.io@v0.23.0", - "pkg:golang/golang.org/x/net@v0.0.0-20210503060351-7fd8e65b6420", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20211104180415-d3ed0bb246c8", - "pkg:golang/golang.org/x/sync@v0.0.0-20210220032951-036812b2e83c", - "pkg:golang/golang.org/x/sys@v0.0.0-20211124211545-fe61309f8881", - "pkg:golang/google.golang.org/appengine@v1.6.7", - "pkg:golang/google.golang.org/genproto@v0.0.0-20211118181313-81c1377c94b1", - "pkg:golang/google.golang.org/grpc@v1.40.0" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20211206160659-862468c7d6e0", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/golang.org/x/net@v0.0.0-20210405180319-a5a99cb37ef4", - "pkg:golang/golang.org/x/sys@v0.0.0-20210510120138-977fb7262007", - "pkg:golang/golang.org/x/text@v0.3.5", - "pkg:golang/google.golang.org/grpc@v1.40.0", - "pkg:golang/google.golang.org/protobuf@v1.27.1" - ] - }, - { - "ref": "pkg:golang/github.com/cncf/xds/go@v0.0.0-20210312221358-fbca930ec8ed", - "dependsOn": [ - "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/google.golang.org/grpc@v1.25.1" - ] - }, - { - "ref": "pkg:golang/github.com/stretchr/testify@v1.5.1", - "dependsOn": [ - "pkg:golang/github.com/davecgh/go-spew@v1.1.0", - "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", - "pkg:golang/github.com/stretchr/objx@v0.1.0", - "pkg:golang/gopkg.in/yaml.v2@v2.2.2" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go/compute@v1.5.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.100.2", - "pkg:golang/github.com/google/go-cmp@v0.5.7", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.1.1", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1", - "pkg:golang/google.golang.org/api@v0.70.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20220222213610-43724f9ea8cf", - "pkg:golang/google.golang.org/grpc@v1.44.0", - "pkg:golang/google.golang.org/protobuf@v1.27.1" - ] - }, - { - "ref": "pkg:golang/github.com/googleapis/gax-go/v2@v2.2.0", - "dependsOn": [ - "pkg:golang/github.com/google/go-cmp@v0.5.7", - "pkg:golang/google.golang.org/api@v0.71.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20220310185008-1973136f34c6", - "pkg:golang/google.golang.org/grpc@v1.45.0", - "pkg:golang/google.golang.org/protobuf@v1.27.1" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20220325170049-de3da57026de", - "dependsOn": [ - "pkg:golang/golang.org/x/sys@v0.0.0-20211216021012-1d35b9e2eb4e", - "pkg:golang/golang.org/x/term@v0.0.0-20210927222741-03fcf44c2211", - "pkg:golang/golang.org/x/text@v0.3.7" - ] - }, - { - "ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20220309155454-6242fa91716a", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.65.0", - "pkg:golang/golang.org/x/net@v0.0.0-20220127200216-cd36cc0744dd", - "pkg:golang/google.golang.org/appengine@v1.6.6" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20220328115105-d36c6a25d886", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20220324131243-acbaeb5b85eb", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/golang.org/x/net@v0.0.0-20210405180319-a5a99cb37ef4", - "pkg:golang/golang.org/x/sys@v0.0.0-20210510120138-977fb7262007", - "pkg:golang/golang.org/x/text@v0.3.5", - "pkg:golang/google.golang.org/grpc@v1.45.0", - "pkg:golang/google.golang.org/protobuf@v1.27.1" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20220413183235-5e96e2839df9", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/golang.org/x/net@v0.0.0-20210405180319-a5a99cb37ef4", - "pkg:golang/golang.org/x/sys@v0.0.0-20210510120138-977fb7262007", - "pkg:golang/golang.org/x/text@v0.3.5", - "pkg:golang/google.golang.org/grpc@v1.45.0", - "pkg:golang/google.golang.org/protobuf@v1.28.0" - ] - }, - { - "ref": "pkg:golang/github.com/cncf/xds/go@v0.0.0-20210805033703-aa0b78936158", - "dependsOn": [ - "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/google.golang.org/grpc@v1.25.1" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go@v0.57.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go/bigquery@v1.4.0", - "pkg:golang/cloud.google.com/go/datastore@v1.1.0", - "pkg:golang/cloud.google.com/go/pubsub@v1.2.0", - "pkg:golang/cloud.google.com/go/storage@v1.6.0", - "pkg:golang/github.com/golang/mock@v1.4.3", - "pkg:golang/github.com/golang/protobuf@v1.4.0", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/github.com/google/martian@v2.1.0%2Bincompatible", - "pkg:golang/github.com/google/pprof@v0.0.0-20200430221834-fc25d7d30c6d", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/jstemmer/go-junit-report@v0.9.1", - "pkg:golang/go.opencensus.io@v0.22.3", - "pkg:golang/golang.org/x/lint@v0.0.0-20200302205851-738671d3881b", - "pkg:golang/golang.org/x/net@v0.0.0-20200501053045-e0ff5e5a1de5", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "pkg:golang/golang.org/x/sync@v0.0.0-20200317015054-43a5402ce75a", - "pkg:golang/golang.org/x/sys@v0.0.0-20200501052902-10377860bb8e", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/tools@v0.0.0-20200501065659-ab2804fb9c9d", - "pkg:golang/google.golang.org/api@v0.22.0", - "pkg:golang/google.golang.org/appengine@v1.6.6", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200430143042-b979b6f78d84", - "pkg:golang/google.golang.org/grpc@v1.29.1", - "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.3" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go/bigquery@v1.8.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.57.0", - "pkg:golang/cloud.google.com/go/storage@v1.8.0", - "pkg:golang/github.com/golang/protobuf@v1.4.2", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/golang.org/x/mod@v0.3.0", - "pkg:golang/golang.org/x/net@v0.0.0-20200513185701-a91f0712d120", - "pkg:golang/golang.org/x/sys@v0.0.0-20200515095857-1151b9dac4a9", - "pkg:golang/golang.org/x/tools@v0.0.0-20200515010526-7d3b6ebf133d", - "pkg:golang/google.golang.org/api@v0.24.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200515170657-fc4c6c6a6587", - "pkg:golang/google.golang.org/grpc@v1.29.1", - "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.4" - ] - }, - { - "ref": "pkg:golang/github.com/google/go-cmp@v0.4.1", - "dependsOn": [ - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20200520182314-0ba52f642ac2", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/sys@v0.0.0-20200323222414-85ca7c5b95cd", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200523222454-059865788121", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200618134242-20370b0cb4b2", - "dependsOn": [ - "pkg:golang/github.com/yuin/goldmark@v1.1.27", - "pkg:golang/golang.org/x/mod@v0.2.0", - "pkg:golang/golang.org/x/net@v0.0.0-20200226121028-0de0cce0169b", - "pkg:golang/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543" - ] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.28.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.56.0", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/go.opencensus.io@v0.22.3", - "pkg:golang/golang.org/x/lint@v0.0.0-20200302205851-738671d3881b", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "pkg:golang/golang.org/x/sync@v0.0.0-20200317015054-43a5402ce75a", - "pkg:golang/golang.org/x/sys@v0.0.0-20200331124033-c3d80250170d", - "pkg:golang/golang.org/x/tools@v0.0.0-20200331025713-a30bf2db82d4", - "pkg:golang/google.golang.org/appengine@v1.6.5", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200331122359-1ee6d9798940", - "pkg:golang/google.golang.org/grpc@v1.28.0", - "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.3" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200618031413-b414f8b61790", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.4.1", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/google.golang.org/protobuf@v1.24.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc" - ] - }, - { - "ref": "pkg:golang/google.golang.org/grpc@v1.29.1", - "dependsOn": [ - "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20191209042840-269d4d468f6f", - "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.4", - "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", - "pkg:golang/github.com/golang/mock@v1.1.1", - "pkg:golang/github.com/golang/protobuf@v1.3.3", - "pkg:golang/github.com/google/go-cmp@v0.2.0", - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20180821212333-d2e6202438be", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55" - ] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.70.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go/compute@v1.3.0", - "pkg:golang/github.com/google/go-cmp@v0.5.7", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.1.1", - "pkg:golang/go.opencensus.io@v0.23.0", - "pkg:golang/golang.org/x/net@v0.0.0-20220127200216-cd36cc0744dd", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20211104180415-d3ed0bb246c8", - "pkg:golang/golang.org/x/sync@v0.0.0-20210220032951-036812b2e83c", - "pkg:golang/golang.org/x/sys@v0.0.0-20220209214540-3681064d5158", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1", - "pkg:golang/google.golang.org/appengine@v1.6.7", - "pkg:golang/google.golang.org/genproto@v0.0.0-20220218161850-94dd64e39d7c", - "pkg:golang/google.golang.org/grpc@v1.44.0" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20220222213610-43724f9ea8cf", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/golang.org/x/net@v0.0.0-20210405180319-a5a99cb37ef4", - "pkg:golang/golang.org/x/sys@v0.0.0-20210510120138-977fb7262007", - "pkg:golang/golang.org/x/text@v0.3.5", - "pkg:golang/google.golang.org/grpc@v1.44.0", - "pkg:golang/google.golang.org/protobuf@v1.27.1" - ] - }, - { - "ref": "pkg:golang/google.golang.org/grpc@v1.44.0", - "dependsOn": [ - "pkg:golang/github.com/cespare/xxhash/v2@v2.1.1", - "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20210930031921-04548b0d99d4", - "pkg:golang/github.com/cncf/xds/go@v0.0.0-20211011173535-cb28da3451f1", - "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.10-0.20210907150352-cf90f659a021", - "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", - "pkg:golang/github.com/golang/protobuf@v1.4.3", - "pkg:golang/github.com/google/go-cmp@v0.5.0", - "pkg:golang/github.com/google/uuid@v1.1.2", - "pkg:golang/golang.org/x/net@v0.0.0-20200822124328-c89045814202", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "pkg:golang/golang.org/x/sys@v0.0.0-20200323222414-85ca7c5b95cd", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200526211855-cb27e3aa2013", - "pkg:golang/google.golang.org/protobuf@v1.25.0" - ] - }, - { - "ref": "pkg:golang/github.com/golang/protobuf@v1.5.1", - "dependsOn": [ - "pkg:golang/github.com/google/go-cmp@v0.5.5", - "pkg:golang/google.golang.org/protobuf@v1.26.0" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20210329143202-679c6ae281ee", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.5.1", - "pkg:golang/golang.org/x/lint@v0.0.0-20201208152925-83fdc39ff7b5", - "pkg:golang/golang.org/x/net@v0.0.0-20210316092652-d523dce5a7f4", - "pkg:golang/golang.org/x/sys@v0.0.0-20210320140829-1e4c9ba3b0c4", - "pkg:golang/golang.org/x/text@v0.3.5", - "pkg:golang/golang.org/x/tools@v0.1.0", - "pkg:golang/google.golang.org/grpc@v1.36.1", - "pkg:golang/google.golang.org/protobuf@v1.26.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20191011191535-87dc89f01550", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190404232315-eb5bcb51f2a3", - "pkg:golang/golang.org/x/sys@v0.0.0-20190412213103-97732733099d" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20191119224855-298f0cb1881e", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20190717185122-a985d3407aa7" - ] - }, - { - "ref": "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898", - "dependsOn": [] - }, - { - "ref": "pkg:golang/cloud.google.com/go@v0.90.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go/storage@v1.10.0", - "pkg:golang/github.com/golang/mock@v1.6.0", - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/github.com/google/go-cmp@v0.5.6", - "pkg:golang/github.com/google/martian/v3@v3.2.1", - "pkg:golang/github.com/google/pprof@v0.0.0-20210720184732-4bb14d4b1be1", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/jstemmer/go-junit-report@v0.9.1", - "pkg:golang/go.opencensus.io@v0.23.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20210508222113-6edffad5e616", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20210628180205-a41e5a781914", - "pkg:golang/golang.org/x/text@v0.3.6", - "pkg:golang/golang.org/x/tools@v0.1.5", - "pkg:golang/google.golang.org/api@v0.51.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20210728212813-7823e685a01f", - "pkg:golang/google.golang.org/grpc@v1.39.0", - "pkg:golang/google.golang.org/protobuf@v1.27.1" - ] - }, - { - "ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20210805134026-6f1e6394065a", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.65.0", - "pkg:golang/golang.org/x/net@v0.0.0-20200822124328-c89045814202", - "pkg:golang/google.golang.org/appengine@v1.6.6" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20210806184541-e5e7981a1069", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20210805201207-89edb61ffb67", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/golang.org/x/lint@v0.0.0-20210508222113-6edffad5e616", - "pkg:golang/golang.org/x/text@v0.3.5", - "pkg:golang/golang.org/x/tools@v0.1.5", - "pkg:golang/google.golang.org/grpc@v1.39.0", - "pkg:golang/google.golang.org/protobuf@v1.27.1" - ] - }, - { - "ref": "pkg:golang/google.golang.org/grpc@v1.39.1", - "dependsOn": [ - "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20201120205902-5459f2c99403", - "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.9-0.20210512163311-63b5d3c536b0", - "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", - "pkg:golang/github.com/golang/protobuf@v1.4.3", - "pkg:golang/github.com/google/go-cmp@v0.5.0", - "pkg:golang/github.com/google/uuid@v1.1.2", - "pkg:golang/golang.org/x/net@v0.0.0-20200822124328-c89045814202", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "pkg:golang/golang.org/x/sys@v0.0.0-20200323222414-85ca7c5b95cd", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200526211855-cb27e3aa2013", - "pkg:golang/google.golang.org/protobuf@v1.25.0" - ] - }, - { - "ref": "pkg:golang/gopkg.in/yaml.v2@v2.2.2", - "dependsOn": [ - "pkg:golang/gopkg.in/check.v1@v0.0.0-20161208181325-20d25e280405" - ] - }, - { - "ref": "pkg:golang/golang.org/x/exp@v0.0.0-20190121172915-509febef88a4", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/lint@v0.0.0-20190227174305-5b3e6a55c961", - "dependsOn": [ - "pkg:golang/golang.org/x/tools@v0.0.0-20190226205152-f727befe758c" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20190213061140-3a22650c66bd", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/sync@v0.0.0-20190227155943-e225da77a7e6", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190226205152-f727befe758c", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190213061140-3a22650c66bd", - "pkg:golang/golang.org/x/sync@v0.0.0-20181108010431-42b317875d0f", - "pkg:golang/google.golang.org/appengine@v1.4.0" - ] - }, - { - "ref": "pkg:golang/google.golang.org/grpc@v1.19.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.26.0", - "pkg:golang/github.com/BurntSushi/toml@v0.3.1", - "pkg:golang/github.com/client9/misspell@v0.3.4", - "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", - "pkg:golang/github.com/golang/mock@v1.1.1", - "pkg:golang/github.com/golang/protobuf@v1.2.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20181026193005-c67002cb31c3", - "pkg:golang/golang.org/x/net@v0.0.0-20180826012351-8a410e7b638d", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20180821212333-d2e6202438be", - "pkg:golang/golang.org/x/sync@v0.0.0-20180314180146-1d60e4601c6f", - "pkg:golang/golang.org/x/sys@v0.0.0-20180830151530-49385e6e1522", - "pkg:golang/golang.org/x/text@v0.3.0", - "pkg:golang/golang.org/x/tools@v0.0.0-20190114222345-bf090417da8b", - "pkg:golang/google.golang.org/appengine@v1.1.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20180817151627-c66870c02cf8", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190102054323-c2f93a96b099" - ] - }, - { - "ref": "pkg:golang/honnef.co/go/tools@v0.0.0-20190102054323-c2f93a96b099", - "dependsOn": [] - }, - { - "ref": "pkg:golang/cloud.google.com/go@v0.26.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/client9/misspell@v0.3.4", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/sync@v0.0.0-20180314180146-1d60e4601c6f", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190311212946-11955173bddd", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a" - ] - }, - { - "ref": "pkg:golang/google.golang.org/appengine@v1.1.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20180817151627-c66870c02cf8", - "dependsOn": [] - }, - { - "ref": "pkg:golang/cloud.google.com/go/bigquery@v1.4.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.52.0", - "pkg:golang/cloud.google.com/go/storage@v1.5.0", - "pkg:golang/github.com/golang/groupcache@v0.0.0-20200121045136-8c9f03a8e57e", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/golang.org/x/exp@v0.0.0-20200119233911-0405dc783f0a", - "pkg:golang/golang.org/x/sys@v0.0.0-20200122134326-e047566fdf82", - "pkg:golang/golang.org/x/tools@v0.0.0-20200122220014-bf1340f18c4a", - "pkg:golang/google.golang.org/api@v0.15.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200122232147-0452cf42e150", - "pkg:golang/google.golang.org/grpc@v1.26.0" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go/datastore@v1.1.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.52.0", - "pkg:golang/cloud.google.com/go/pubsub@v1.2.0", - "pkg:golang/github.com/golang/protobuf@v1.3.3", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/golang.org/x/exp@v0.0.0-20200207192155-f17229e696bd", - "pkg:golang/golang.org/x/sys@v0.0.0-20200212091648-12a6c2dcc1e4", - "pkg:golang/golang.org/x/tools@v0.0.0-20200212150539-ea181f53ac56", - "pkg:golang/google.golang.org/api@v0.17.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200212174721-66ed5ce911ce", - "pkg:golang/google.golang.org/grpc@v1.27.1" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go/pubsub@v1.2.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.52.0", - "pkg:golang/cloud.google.com/go/bigquery@v1.4.0", - "pkg:golang/github.com/golang/protobuf@v1.3.3", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/go.opencensus.io@v0.22.3", - "pkg:golang/golang.org/x/lint@v0.0.0-20200130185559-910be7a94367", - "pkg:golang/golang.org/x/mod@v0.2.0", - "pkg:golang/golang.org/x/net@v0.0.0-20200202094626-16171245cfb2", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "pkg:golang/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e", - "pkg:golang/golang.org/x/sys@v0.0.0-20200202164722-d101bd2416d5", - "pkg:golang/golang.org/x/time@v0.0.0-20191024005414-555d28b269f0", - "pkg:golang/golang.org/x/tools@v0.0.0-20200204074204-1cc6d1ef6c74", - "pkg:golang/google.golang.org/api@v0.15.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200204135345-fa8e72b47b90", - "pkg:golang/google.golang.org/grpc@v1.27.0" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go/storage@v1.6.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.53.0", - "pkg:golang/cloud.google.com/go/datastore@v1.1.0", - "pkg:golang/github.com/golang/protobuf@v1.3.3", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/golang.org/x/exp@v0.0.0-20200224162631-6cc2880d07d6", - "pkg:golang/golang.org/x/net@v0.0.0-20200222125558-5a598a2470a0", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "pkg:golang/golang.org/x/sys@v0.0.0-20200223170610-d5e6a3e2c0ae", - "pkg:golang/golang.org/x/tools@v0.0.0-20200224181240-023911ca70b2", - "pkg:golang/google.golang.org/api@v0.18.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200224152610-e50cd9704f63", - "pkg:golang/google.golang.org/grpc@v1.27.1", - "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.3" - ] - }, - { - "ref": "pkg:golang/github.com/golang/mock@v1.4.3", - "dependsOn": [ - "pkg:golang/golang.org/x/tools@v0.0.0-20190425150028-36563e24a262", - "pkg:golang/rsc.io/quote/v3@v3.1.0" - ] - }, - { - "ref": "pkg:golang/github.com/golang/protobuf@v1.3.5", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/google/martian@v2.1.0%2Bincompatible", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/google/pprof@v0.0.0-20200229191704-1ebb73c60ed3", - "dependsOn": [ - "pkg:golang/github.com/chzyer/logex@v1.1.10", - "pkg:golang/github.com/chzyer/readline@v0.0.0-20180603132655-2972be24d48e", - "pkg:golang/github.com/chzyer/test@v0.0.0-20180213035817-a1ea475d72b1", - "pkg:golang/github.com/ianlancetaylor/demangle@v0.0.0-20181102032728-5e5cf60278f6", - "pkg:golang/golang.org/x/sys@v0.0.0-20191204072324-ce4227a45e2e" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20200324143707-d3edc9973b7e", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/sys@v0.0.0-20200323222414-85ca7c5b95cd", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.20.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.38.0", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1", - "pkg:golang/go.opencensus.io@v0.21.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20190409202823-959b441ac422", - "pkg:golang/golang.org/x/net@v0.0.0-20190503192946-f4e77d36d62c", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/sys@v0.0.0-20190507160741-ecd444e8653b", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/appengine@v1.5.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc" - ] - }, - { - "ref": "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.3", - "dependsOn": [ - "pkg:golang/github.com/BurntSushi/toml@v0.3.1", - "pkg:golang/github.com/google/renameio@v0.1.0", - "pkg:golang/github.com/kisielk/gotool@v1.0.0", - "pkg:golang/github.com/rogpeppe/go-internal@v1.3.0", - "pkg:golang/golang.org/x/mod@v0.0.0-20190513183733-4bf6d317e70e", - "pkg:golang/golang.org/x/tools@v0.0.0-20191130070609-6e064ea0cf2d" - ] - }, - { - "ref": "pkg:golang/github.com/yuin/goldmark@v1.1.25", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/mod@v0.2.0", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20191011191535-87dc89f01550", - "pkg:golang/golang.org/x/tools@v0.0.0-20191119224855-298f0cb1881e", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20200226121028-0de0cce0169b", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/golang/protobuf@v1.3.3", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/mod@v0.1.1-0.20191105210325-c90efee705ee", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20191011191535-87dc89f01550", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20201119102817-f84b799fce68", - "dependsOn": [] - }, - { - "ref": "pkg:golang/gopkg.in/errgo.v2@v2.1.0", - "dependsOn": [ - "pkg:golang/github.com/kr/pretty@v0.1.0", - "pkg:golang/gopkg.in/check.v1@v1.0.0-20180628173108-788fd7840127" - ] - }, - { - "ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20190510104115-cbcb75029529", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190404232315-eb5bcb51f2a3", - "pkg:golang/golang.org/x/sys@v0.0.0-20190412213103-97732733099d" - ] - }, - { - "ref": "pkg:golang/golang.org/x/xerrors@v0.0.0-20190717185122-a985d3407aa7", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/grpc@v1.23.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.26.0", - "pkg:golang/github.com/BurntSushi/toml@v0.3.1", - "pkg:golang/github.com/client9/misspell@v0.3.4", - "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", - "pkg:golang/github.com/golang/mock@v1.1.1", - "pkg:golang/github.com/golang/protobuf@v1.2.0", - "pkg:golang/github.com/google/go-cmp@v0.2.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20180821212333-d2e6202438be", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/appengine@v1.1.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20180817151627-c66870c02cf8", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc" - ] - }, - { - "ref": "pkg:golang/gopkg.in/check.v1@v0.0.0-20161208181325-20d25e280405", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/antihax/optional@v1.0.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/ghodss/yaml@v1.0.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/rogpeppe/fastuuid@v1.2.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200513103714-09dca8ec2884", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.3", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc" - ] - }, - { - "ref": "pkg:golang/google.golang.org/grpc@v1.33.1", - "dependsOn": [ - "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20191209042840-269d4d468f6f", - "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.4", - "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", - "pkg:golang/github.com/golang/protobuf@v1.3.3", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/github.com/google/uuid@v1.1.2", - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20180821212333-d2e6202438be", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55" - ] - }, - { - "ref": "pkg:golang/gopkg.in/yaml.v2@v2.2.3", - "dependsOn": [ - "pkg:golang/gopkg.in/check.v1@v0.0.0-20161208181325-20d25e280405" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20190404232315-eb5bcb51f2a3", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190412213103-97732733099d", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/protobuf@v1.22.0", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.4.0", - "pkg:golang/github.com/google/go-cmp@v0.4.0" - ] - }, - { - "ref": "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.1-0.20191026205805-5f8ba28d4473", - "dependsOn": [ - "pkg:golang/github.com/census-instrumentation/opencensus-proto@v0.2.1", - "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/prometheus/client_model@v0.0.0-20190812154241-14fe0d1b01d4", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55", - "pkg:golang/google.golang.org/grpc@v1.23.0" - ] - }, - { - "ref": "pkg:golang/github.com/golang/protobuf@v1.4.0", - "dependsOn": [ - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/google.golang.org/protobuf@v1.21.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190425150028-36563e24a262", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58" - ] - }, - { - "ref": "pkg:golang/github.com/ianlancetaylor/demangle@v0.0.0-20181102032728-5e5cf60278f6", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20191204072324-ce4227a45e2e", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/yuin/goldmark@v1.1.32", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/mod@v0.3.0", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20191011191535-87dc89f01550", - "pkg:golang/golang.org/x/tools@v0.0.0-20191119224855-298f0cb1881e", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20200625001655-4c5254603344", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20200622213623-75b288015ac9", - "pkg:golang/golang.org/x/sys@v0.0.0-20200323222414-85ca7c5b95cd", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go@v0.62.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go/storage@v1.10.0", - "pkg:golang/github.com/golang/mock@v1.4.3", - "pkg:golang/github.com/golang/protobuf@v1.4.2", - "pkg:golang/github.com/google/go-cmp@v0.5.1", - "pkg:golang/github.com/google/martian/v3@v3.0.0", - "pkg:golang/github.com/google/pprof@v0.0.0-20200708004538-1a94d8640e99", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/jstemmer/go-junit-report@v0.9.1", - "pkg:golang/go.opencensus.io@v0.22.4", - "pkg:golang/golang.org/x/lint@v0.0.0-20200302205851-738671d3881b", - "pkg:golang/golang.org/x/net@v0.0.0-20200707034311-ab3426394381", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "pkg:golang/golang.org/x/text@v0.3.3", - "pkg:golang/golang.org/x/tools@v0.0.0-20200729194436-6467de6f59a7", - "pkg:golang/google.golang.org/api@v0.29.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200729003335-053ba62fc06f", - "pkg:golang/google.golang.org/grpc@v1.30.0", - "pkg:golang/google.golang.org/protobuf@v1.25.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200803210538-64077c9b5642", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200804011535-6c149bb5ef0d", - "dependsOn": [ - "pkg:golang/github.com/yuin/goldmark@v1.1.32", - "pkg:golang/golang.org/x/mod@v0.3.0", - "pkg:golang/golang.org/x/net@v0.0.0-20200625001655-4c5254603344", - "pkg:golang/golang.org/x/sync@v0.0.0-20200625203802-6e8e738ad208", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200804131852-c06518451d9c", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.4.1", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/google.golang.org/protobuf@v1.24.0" - ] - }, - { - "ref": "pkg:golang/google.golang.org/protobuf@v1.24.0", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.4.1", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200526211855-cb27e3aa2013" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20180724234803-3673e40ba225", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20210813162853-db860fec028c", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/golang.org/x/lint@v0.0.0-20210508222113-6edffad5e616", - "pkg:golang/golang.org/x/text@v0.3.5", - "pkg:golang/golang.org/x/tools@v0.1.5", - "pkg:golang/google.golang.org/grpc@v1.39.1", - "pkg:golang/google.golang.org/protobuf@v1.27.1" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20211124211545-fe61309f8881", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20211118181313-81c1377c94b1", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/golang.org/x/net@v0.0.0-20210405180319-a5a99cb37ef4", - "pkg:golang/golang.org/x/sys@v0.0.0-20210510120138-977fb7262007", - "pkg:golang/golang.org/x/text@v0.3.5", - "pkg:golang/google.golang.org/grpc@v1.40.0", - "pkg:golang/google.golang.org/protobuf@v1.27.1" - ] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.71.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go/compute@v1.5.0", - "pkg:golang/github.com/google/go-cmp@v0.5.7", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.1.1", - "pkg:golang/go.opencensus.io@v0.23.0", - "pkg:golang/golang.org/x/net@v0.0.0-20220225172249-27dd8689420f", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20220223155221-ee480838109b", - "pkg:golang/golang.org/x/sync@v0.0.0-20210220032951-036812b2e83c", - "pkg:golang/golang.org/x/sys@v0.0.0-20220227234510-4e6760a101f9", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1", - "pkg:golang/google.golang.org/appengine@v1.6.7", - "pkg:golang/google.golang.org/genproto@v0.0.0-20220304144024-325a89244dc8", - "pkg:golang/google.golang.org/grpc@v1.44.0" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20220310185008-1973136f34c6", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/golang.org/x/net@v0.0.0-20210405180319-a5a99cb37ef4", - "pkg:golang/golang.org/x/sys@v0.0.0-20210510120138-977fb7262007", - "pkg:golang/golang.org/x/text@v0.3.5", - "pkg:golang/google.golang.org/grpc@v1.44.0", - "pkg:golang/google.golang.org/protobuf@v1.27.1" - ] - }, - { - "ref": "pkg:golang/github.com/google/pprof@v0.0.0-20200430221834-fc25d7d30c6d", - "dependsOn": [ - "pkg:golang/github.com/chzyer/logex@v1.1.10", - "pkg:golang/github.com/chzyer/readline@v0.0.0-20180603132655-2972be24d48e", - "pkg:golang/github.com/chzyer/test@v0.0.0-20180213035817-a1ea475d72b1", - "pkg:golang/github.com/ianlancetaylor/demangle@v0.0.0-20181102032728-5e5cf60278f6", - "pkg:golang/golang.org/x/sys@v0.0.0-20191204072324-ce4227a45e2e" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20200501053045-e0ff5e5a1de5", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/sys@v0.0.0-20200323222414-85ca7c5b95cd", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200501052902-10377860bb8e", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200501065659-ab2804fb9c9d", - "dependsOn": [ - "pkg:golang/github.com/yuin/goldmark@v1.1.27", - "pkg:golang/golang.org/x/mod@v0.2.0", - "pkg:golang/golang.org/x/net@v0.0.0-20200226121028-0de0cce0169b", - "pkg:golang/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543" - ] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.22.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.38.0", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1", - "pkg:golang/go.opencensus.io@v0.21.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20190409202823-959b441ac422", - "pkg:golang/golang.org/x/net@v0.0.0-20190503192946-f4e77d36d62c", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/sys@v0.0.0-20190507160741-ecd444e8653b", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/appengine@v1.5.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200430143042-b979b6f78d84", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.3", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go/storage@v1.8.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.57.0", - "pkg:golang/cloud.google.com/go/bigquery@v1.7.0", - "pkg:golang/github.com/golang/protobuf@v1.4.1", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/golang.org/x/net@v0.0.0-20200506145744-7e3656a0809f", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "pkg:golang/golang.org/x/sys@v0.0.0-20200511232937-7e40ca221e25", - "pkg:golang/golang.org/x/tools@v0.0.0-20200512131952-2bc93b1c0c88", - "pkg:golang/google.golang.org/api@v0.24.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200511104702-f5ebc3bea380", - "pkg:golang/google.golang.org/grpc@v1.29.1" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20200513185701-a91f0712d120", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/sys@v0.0.0-20200323222414-85ca7c5b95cd", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200515095857-1151b9dac4a9", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200515010526-7d3b6ebf133d", - "dependsOn": [ - "pkg:golang/github.com/yuin/goldmark@v1.1.27", - "pkg:golang/golang.org/x/mod@v0.2.0", - "pkg:golang/golang.org/x/net@v0.0.0-20200226121028-0de0cce0169b", - "pkg:golang/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543" - ] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.24.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.56.0", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/go.opencensus.io@v0.22.3", - "pkg:golang/golang.org/x/lint@v0.0.0-20200302205851-738671d3881b", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "pkg:golang/golang.org/x/sync@v0.0.0-20200317015054-43a5402ce75a", - "pkg:golang/golang.org/x/sys@v0.0.0-20200331124033-c3d80250170d", - "pkg:golang/golang.org/x/tools@v0.0.0-20200331025713-a30bf2db82d4", - "pkg:golang/google.golang.org/appengine@v1.6.5", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200331122359-1ee6d9798940", - "pkg:golang/google.golang.org/grpc@v1.28.0", - "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.3" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200515170657-fc4c6c6a6587", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.4.1", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/google.golang.org/protobuf@v1.22.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc" - ] - }, - { - "ref": "pkg:golang/github.com/yuin/goldmark@v1.1.27", - "dependsOn": [] - }, - { - "ref": "pkg:golang/cloud.google.com/go/compute@v1.3.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.100.2", - "pkg:golang/github.com/google/go-cmp@v0.5.7", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.1.1", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1", - "pkg:golang/google.golang.org/api@v0.67.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20220207164111-0872dc986b00", - "pkg:golang/google.golang.org/grpc@v1.44.0", - "pkg:golang/google.golang.org/protobuf@v1.27.1" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20220209214540-3681064d5158", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20220218161850-94dd64e39d7c", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/golang.org/x/net@v0.0.0-20210405180319-a5a99cb37ef4", - "pkg:golang/golang.org/x/sys@v0.0.0-20210510120138-977fb7262007", - "pkg:golang/golang.org/x/text@v0.3.5", - "pkg:golang/google.golang.org/grpc@v1.44.0", - "pkg:golang/google.golang.org/protobuf@v1.27.1" - ] - }, - { - "ref": "pkg:golang/golang.org/x/lint@v0.0.0-20201208152925-83fdc39ff7b5", - "dependsOn": [ - "pkg:golang/golang.org/x/tools@v0.0.0-20200130002326-2f3ba24bd6e7" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20210316092652-d523dce5a7f4", - "dependsOn": [ - "pkg:golang/golang.org/x/sys@v0.0.0-20210315160823-c6e025ad8005", - "pkg:golang/golang.org/x/term@v0.0.0-20201126162022-7de9c90e9dd1", - "pkg:golang/golang.org/x/text@v0.3.3" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20210320140829-1e4c9ba3b0c4", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.1.0", - "dependsOn": [ - "pkg:golang/github.com/yuin/goldmark@v1.2.1", - "pkg:golang/golang.org/x/mod@v0.3.0", - "pkg:golang/golang.org/x/net@v0.0.0-20201021035429-f5854403a974", - "pkg:golang/golang.org/x/sync@v0.0.0-20201020160332-67f06af15bc9", - "pkg:golang/golang.org/x/sys@v0.0.0-20210119212857-b64e53b001e4", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1" - ] - }, - { - "ref": "pkg:golang/google.golang.org/grpc@v1.36.1", - "dependsOn": [ - "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20201120205902-5459f2c99403", - "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.9-0.20201210154907-fd9021fe5dad", - "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", - "pkg:golang/github.com/golang/protobuf@v1.4.2", - "pkg:golang/github.com/google/go-cmp@v0.5.0", - "pkg:golang/github.com/google/uuid@v1.1.2", - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20180821212333-d2e6202438be", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200526211855-cb27e3aa2013", - "pkg:golang/google.golang.org/protobuf@v1.25.0" - ] - }, - { - "ref": "pkg:golang/github.com/google/pprof@v0.0.0-20210720184732-4bb14d4b1be1", - "dependsOn": [ - "pkg:golang/github.com/chzyer/logex@v1.1.10", - "pkg:golang/github.com/chzyer/readline@v0.0.0-20180603132655-2972be24d48e", - "pkg:golang/github.com/chzyer/test@v0.0.0-20180213035817-a1ea475d72b1", - "pkg:golang/github.com/ianlancetaylor/demangle@v0.0.0-20200824232613-28f6c0f3b639", - "pkg:golang/golang.org/x/sys@v0.0.0-20191204072324-ce4227a45e2e" - ] - }, - { - "ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20210628180205-a41e5a781914", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.65.0", - "pkg:golang/golang.org/x/net@v0.0.0-20200822124328-c89045814202", - "pkg:golang/google.golang.org/appengine@v1.6.6" - ] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.51.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.87.0", - "pkg:golang/github.com/google/go-cmp@v0.5.6", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/go.opencensus.io@v0.23.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20210508222113-6edffad5e616", - "pkg:golang/golang.org/x/net@v0.0.0-20210503060351-7fd8e65b6420", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20210628180205-a41e5a781914", - "pkg:golang/golang.org/x/sync@v0.0.0-20210220032951-036812b2e83c", - "pkg:golang/golang.org/x/sys@v0.0.0-20210630005230-0f9fa26af87c", - "pkg:golang/golang.org/x/tools@v0.1.5", - "pkg:golang/google.golang.org/appengine@v1.6.7", - "pkg:golang/google.golang.org/genproto@v0.0.0-20210716133855-ce7ef5c701ea", - "pkg:golang/google.golang.org/grpc@v1.39.0" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20210728212813-7823e685a01f", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/golang.org/x/lint@v0.0.0-20210508222113-6edffad5e616", - "pkg:golang/golang.org/x/text@v0.3.5", - "pkg:golang/golang.org/x/tools@v0.1.5", - "pkg:golang/google.golang.org/grpc@v1.39.0", - "pkg:golang/google.golang.org/protobuf@v1.27.1" - ] - }, - { - "ref": "pkg:golang/google.golang.org/grpc@v1.39.0", - "dependsOn": [ - "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20201120205902-5459f2c99403", - "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.9-0.20210512163311-63b5d3c536b0", - "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", - "pkg:golang/github.com/golang/protobuf@v1.4.3", - "pkg:golang/github.com/google/go-cmp@v0.5.0", - "pkg:golang/github.com/google/uuid@v1.1.2", - "pkg:golang/golang.org/x/net@v0.0.0-20200822124328-c89045814202", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "pkg:golang/golang.org/x/sys@v0.0.0-20200323222414-85ca7c5b95cd", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200526211855-cb27e3aa2013", - "pkg:golang/google.golang.org/protobuf@v1.25.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/lint@v0.0.0-20181026193005-c67002cb31c3", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20180826012351-8a410e7b638d", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20180830151530-49385e6e1522", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190114222345-bf090417da8b", - "dependsOn": [] - }, - { - "ref": "pkg:golang/cloud.google.com/go@v0.52.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go/bigquery@v1.0.1", - "pkg:golang/cloud.google.com/go/datastore@v1.0.0", - "pkg:golang/cloud.google.com/go/pubsub@v1.0.1", - "pkg:golang/cloud.google.com/go/storage@v1.0.0", - "pkg:golang/github.com/golang/groupcache@v0.0.0-20191227052852-215e87163ea7", - "pkg:golang/github.com/golang/mock@v1.3.1", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/github.com/google/martian@v2.1.0%2Bincompatible", - "pkg:golang/github.com/google/pprof@v0.0.0-20191218002539-d4f498aebedc", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/jstemmer/go-junit-report@v0.9.1", - "pkg:golang/go.opencensus.io@v0.22.2", - "pkg:golang/golang.org/x/exp@v0.0.0-20191227195350-da58074b4299", - "pkg:golang/golang.org/x/lint@v0.0.0-20191125180803-fdd1cda4f05f", - "pkg:golang/golang.org/x/net@v0.0.0-20200114155413-6afb5195e5aa", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "pkg:golang/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e", - "pkg:golang/golang.org/x/sys@v0.0.0-20200113162924-86b910548bc1", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/tools@v0.0.0-20200117161641-43d50277825c", - "pkg:golang/google.golang.org/api@v0.15.0", - "pkg:golang/google.golang.org/appengine@v1.6.5", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200115191322-ca5a22157cba", - "pkg:golang/google.golang.org/grpc@v1.26.0", - "pkg:golang/honnef.co/go/tools@v0.0.1-2019.2.3" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go/storage@v1.5.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.50.0", - "pkg:golang/cloud.google.com/go/bigquery@v1.3.0", - "pkg:golang/cloud.google.com/go/pubsub@v1.1.0", - "pkg:golang/github.com/golang/groupcache@v0.0.0-20191227052852-215e87163ea7", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/google/go-cmp@v0.3.1", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/jstemmer/go-junit-report@v0.9.1", - "pkg:golang/go.opencensus.io@v0.22.2", - "pkg:golang/golang.org/x/exp@v0.0.0-20191227195350-da58074b4299", - "pkg:golang/golang.org/x/net@v0.0.0-20191209160850-c0dbc17a3553", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20191202225959-858c2ad4c8b6", - "pkg:golang/golang.org/x/sys@v0.0.0-20191228213918-04cbcbbfeed8", - "pkg:golang/golang.org/x/tools@v0.0.0-20191227053925-7b8e75db28f4", - "pkg:golang/google.golang.org/api@v0.15.0", - "pkg:golang/google.golang.org/appengine@v1.6.5", - "pkg:golang/google.golang.org/genproto@v0.0.0-20191230161307-f3c370f40bfb", - "pkg:golang/google.golang.org/grpc@v1.26.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/exp@v0.0.0-20200119233911-0405dc783f0a", - "dependsOn": [ - "pkg:golang/dmitri.shuralyov.com/gpu/mtl@v0.0.0-20190408044501-666a987793e9", - "pkg:golang/github.com/BurntSushi/xgb@v0.0.0-20160522181843-27f122750802", - "pkg:golang/github.com/go-gl/glfw/v3.3/glfw@v0.0.0-20191125211704-12ad95a8df72", - "pkg:golang/golang.org/x/image@v0.0.0-20190802002840-cff245a6509b", - "pkg:golang/golang.org/x/mobile@v0.0.0-20190719004257-d2bd2a29d028", - "pkg:golang/golang.org/x/mod@v0.1.0", - "pkg:golang/golang.org/x/sys@v0.0.0-20190412213103-97732733099d", - "pkg:golang/golang.org/x/tools@v0.0.0-20191012152004-8de300cfc20a" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200122134326-e047566fdf82", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200122220014-bf1340f18c4a", - "dependsOn": [ - "pkg:golang/golang.org/x/mod@v0.1.1-0.20191105210325-c90efee705ee", - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898" - ] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.15.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.38.0", - "pkg:golang/github.com/golang/protobuf@v1.3.1", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1", - "pkg:golang/go.opencensus.io@v0.21.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20190409202823-959b441ac422", - "pkg:golang/golang.org/x/net@v0.0.0-20190503192946-f4e77d36d62c", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/sys@v0.0.0-20190507160741-ecd444e8653b", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/tools@v0.0.0-20190506145303-2d16b83fe98c", - "pkg:golang/google.golang.org/appengine@v1.5.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190502173448-54afdca5d873", - "pkg:golang/google.golang.org/grpc@v1.20.1", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190418001031-e561f6794a2a" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200122232147-0452cf42e150", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/golang.org/x/exp@v0.0.0-20190121172915-509febef88a4", - "pkg:golang/golang.org/x/lint@v0.0.0-20190227174305-5b3e6a55c961", - "pkg:golang/golang.org/x/tools@v0.0.0-20190226205152-f727befe758c", - "pkg:golang/google.golang.org/grpc@v1.19.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190102054323-c2f93a96b099" - ] - }, - { - "ref": "pkg:golang/google.golang.org/grpc@v1.26.0", - "dependsOn": [ - "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.1-0.20191026205805-5f8ba28d4473", - "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", - "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", - "pkg:golang/github.com/golang/mock@v1.1.1", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/google/go-cmp@v0.2.0", - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20180821212333-d2e6202438be", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55" - ] - }, - { - "ref": "pkg:golang/golang.org/x/exp@v0.0.0-20200207192155-f17229e696bd", - "dependsOn": [ - "pkg:golang/dmitri.shuralyov.com/gpu/mtl@v0.0.0-20190408044501-666a987793e9", - "pkg:golang/github.com/BurntSushi/xgb@v0.0.0-20160522181843-27f122750802", - "pkg:golang/github.com/go-gl/glfw/v3.3/glfw@v0.0.0-20191125211704-12ad95a8df72", - "pkg:golang/golang.org/x/image@v0.0.0-20190802002840-cff245a6509b", - "pkg:golang/golang.org/x/mobile@v0.0.0-20190719004257-d2bd2a29d028", - "pkg:golang/golang.org/x/mod@v0.1.1-0.20191105210325-c90efee705ee", - "pkg:golang/golang.org/x/sys@v0.0.0-20190412213103-97732733099d", - "pkg:golang/golang.org/x/tools@v0.0.0-20200207183749-b753a1ba74fa" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200212091648-12a6c2dcc1e4", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200212150539-ea181f53ac56", - "dependsOn": [ - "pkg:golang/golang.org/x/mod@v0.1.1-0.20191105210325-c90efee705ee", - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898" - ] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.17.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.38.0", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1", - "pkg:golang/go.opencensus.io@v0.21.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20190409202823-959b441ac422", - "pkg:golang/golang.org/x/net@v0.0.0-20190503192946-f4e77d36d62c", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/sys@v0.0.0-20190507160741-ecd444e8653b", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/appengine@v1.5.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200212174721-66ed5ce911ce", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.3", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc" - ] - }, - { - "ref": "pkg:golang/google.golang.org/grpc@v1.27.1", - "dependsOn": [ - "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.1-0.20191026205805-5f8ba28d4473", - "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", - "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", - "pkg:golang/github.com/golang/mock@v1.1.1", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/google/go-cmp@v0.2.0", - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20180821212333-d2e6202438be", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55" - ] - }, - { - "ref": "pkg:golang/golang.org/x/lint@v0.0.0-20200130185559-910be7a94367", - "dependsOn": [ - "pkg:golang/golang.org/x/tools@v0.0.0-20200130002326-2f3ba24bd6e7" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20200202094626-16171245cfb2", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200202164722-d101bd2416d5", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/time@v0.0.0-20191024005414-555d28b269f0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200204074204-1cc6d1ef6c74", - "dependsOn": [ - "pkg:golang/golang.org/x/mod@v0.1.1-0.20191105210325-c90efee705ee", - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200204135345-fa8e72b47b90", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.3", - "pkg:golang/golang.org/x/exp@v0.0.0-20190121172915-509febef88a4", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go@v0.53.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go/bigquery@v1.3.0", - "pkg:golang/cloud.google.com/go/datastore@v1.0.0", - "pkg:golang/cloud.google.com/go/pubsub@v1.1.0", - "pkg:golang/cloud.google.com/go/storage@v1.5.0", - "pkg:golang/github.com/golang/groupcache@v0.0.0-20200121045136-8c9f03a8e57e", - "pkg:golang/github.com/golang/mock@v1.4.0", - "pkg:golang/github.com/golang/protobuf@v1.3.3", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/github.com/google/martian@v2.1.0%2Bincompatible", - "pkg:golang/github.com/google/pprof@v0.0.0-20200212024743-f11f1df84d12", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/jstemmer/go-junit-report@v0.9.1", - "pkg:golang/go.opencensus.io@v0.22.3", - "pkg:golang/golang.org/x/exp@v0.0.0-20200207192155-f17229e696bd", - "pkg:golang/golang.org/x/lint@v0.0.0-20200130185559-910be7a94367", - "pkg:golang/golang.org/x/mod@v0.2.0", - "pkg:golang/golang.org/x/net@v0.0.0-20200202094626-16171245cfb2", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "pkg:golang/golang.org/x/sys@v0.0.0-20200212091648-12a6c2dcc1e4", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/tools@v0.0.0-20200212150539-ea181f53ac56", - "pkg:golang/google.golang.org/api@v0.17.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200212174721-66ed5ce911ce", - "pkg:golang/google.golang.org/grpc@v1.27.1", - "pkg:golang/honnef.co/go/tools@v0.0.1-2019.2.3" - ] - }, - { - "ref": "pkg:golang/golang.org/x/exp@v0.0.0-20200224162631-6cc2880d07d6", - "dependsOn": [ - "pkg:golang/dmitri.shuralyov.com/gpu/mtl@v0.0.0-20190408044501-666a987793e9", - "pkg:golang/github.com/BurntSushi/xgb@v0.0.0-20160522181843-27f122750802", - "pkg:golang/github.com/go-gl/glfw/v3.3/glfw@v0.0.0-20200222043503-6f7a984d4dc4", - "pkg:golang/golang.org/x/image@v0.0.0-20190802002840-cff245a6509b", - "pkg:golang/golang.org/x/mobile@v0.0.0-20190719004257-d2bd2a29d028", - "pkg:golang/golang.org/x/mod@v0.1.1-0.20191107180719-034126e5016b", - "pkg:golang/golang.org/x/sys@v0.0.0-20191001151750-bb3f8db39f24", - "pkg:golang/golang.org/x/tools@v0.0.0-20200207183749-b753a1ba74fa", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20200222125558-5a598a2470a0", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200223170610-d5e6a3e2c0ae", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200224181240-023911ca70b2", - "dependsOn": [ - "pkg:golang/golang.org/x/mod@v0.1.1-0.20191105210325-c90efee705ee", - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898" - ] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.18.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.38.0", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1", - "pkg:golang/go.opencensus.io@v0.21.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20190409202823-959b441ac422", - "pkg:golang/golang.org/x/net@v0.0.0-20190503192946-f4e77d36d62c", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/sys@v0.0.0-20190507160741-ecd444e8653b", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/appengine@v1.5.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200224152610-e50cd9704f63", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.3", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc" - ] - }, - { - "ref": "pkg:golang/rsc.io/quote/v3@v3.1.0", - "dependsOn": [ - "pkg:golang/rsc.io/sampler@v1.3.0" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go@v0.38.0", - "dependsOn": [ - "pkg:golang/github.com/golang/mock@v1.2.0", - "pkg:golang/github.com/golang/protobuf@v1.2.0", - "pkg:golang/github.com/google/btree@v0.0.0-20180813153112-4030bb1f1f0c", - "pkg:golang/github.com/google/go-cmp@v0.2.0", - "pkg:golang/github.com/google/martian@v2.1.0%2Bincompatible", - "pkg:golang/github.com/google/pprof@v0.0.0-20181206194817-3ea8567a2e57", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.4", - "pkg:golang/github.com/jstemmer/go-junit-report@v0.0.0-20190106144839-af01ea7f8024", - "pkg:golang/go.opencensus.io@v0.21.0", - "pkg:golang/golang.org/x/exp@v0.0.0-20190121172915-509febef88a4", - "pkg:golang/golang.org/x/lint@v0.0.0-20190301231843-5614ed5bae6f", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190226205417-e64efc72b421", - "pkg:golang/golang.org/x/sync@v0.0.0-20190227155943-e225da77a7e6", - "pkg:golang/golang.org/x/text@v0.3.1-0.20180807135948-17ff2d5776d2", - "pkg:golang/golang.org/x/time@v0.0.0-20181108054448-85acf8d2951c", - "pkg:golang/golang.org/x/tools@v0.0.0-20190312170243-e65039ee4138", - "pkg:golang/google.golang.org/api@v0.4.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190418145605-e7d98fc518a7", - "pkg:golang/google.golang.org/grpc@v1.19.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190106161140-3f1c8253044a" - ] - }, - { - "ref": "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/go.opencensus.io@v0.21.0", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.2.0", - "pkg:golang/github.com/google/go-cmp@v0.2.0", - "pkg:golang/github.com/hashicorp/golang-lru@v0.5.0", - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190307195333-5fe7a883aa19", - "pkg:golang/google.golang.org/grpc@v1.19.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/lint@v0.0.0-20190409202823-959b441ac422", - "dependsOn": [ - "pkg:golang/golang.org/x/tools@v0.0.0-20190311212946-11955173bddd" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20190503192946-f4e77d36d62c", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.34.0", - "pkg:golang/golang.org/x/net@v0.0.0-20190108225652-1e06a53dbb7e", - "pkg:golang/golang.org/x/sync@v0.0.0-20181221193216-37e7f081c4d4", - "pkg:golang/google.golang.org/appengine@v1.4.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190507160741-ecd444e8653b", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/appengine@v1.5.0", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.2.0", - "pkg:golang/golang.org/x/net@v0.0.0-20180724234803-3673e40ba225", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/github.com/kr/pretty@v0.1.0", - "dependsOn": [ - "pkg:golang/github.com/kr/text@v0.1.0" - ] - }, - { - "ref": "pkg:golang/gopkg.in/check.v1@v1.0.0-20180628173108-788fd7840127", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/protobuf@v1.21.0", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.4.0-rc.4.0.20200313231945-b860323f09d0", - "pkg:golang/github.com/google/go-cmp@v0.4.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20200707034311-ab3426394381", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20200622213623-75b288015ac9", - "pkg:golang/golang.org/x/sys@v0.0.0-20200323222414-85ca7c5b95cd", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200729194436-6467de6f59a7", - "dependsOn": [ - "pkg:golang/github.com/yuin/goldmark@v1.1.32", - "pkg:golang/golang.org/x/mod@v0.3.0", - "pkg:golang/golang.org/x/net@v0.0.0-20200625001655-4c5254603344", - "pkg:golang/golang.org/x/sync@v0.0.0-20200625203802-6e8e738ad208", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200729003335-053ba62fc06f", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.4.1", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/google.golang.org/protobuf@v1.24.0" - ] - }, - { - "ref": "pkg:golang/google.golang.org/grpc@v1.30.0", - "dependsOn": [ - "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20191209042840-269d4d468f6f", - "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.4", - "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", - "pkg:golang/github.com/golang/protobuf@v1.3.3", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20180821212333-d2e6202438be", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20220225172249-27dd8689420f", - "dependsOn": [ - "pkg:golang/golang.org/x/sys@v0.0.0-20211216021012-1d35b9e2eb4e", - "pkg:golang/golang.org/x/term@v0.0.0-20210927222741-03fcf44c2211", - "pkg:golang/golang.org/x/text@v0.3.7" - ] - }, - { - "ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20220223155221-ee480838109b", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.65.0", - "pkg:golang/golang.org/x/net@v0.0.0-20220127200216-cd36cc0744dd", - "pkg:golang/google.golang.org/appengine@v1.6.6" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20220227234510-4e6760a101f9", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20220304144024-325a89244dc8", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/golang.org/x/net@v0.0.0-20210405180319-a5a99cb37ef4", - "pkg:golang/golang.org/x/sys@v0.0.0-20210510120138-977fb7262007", - "pkg:golang/golang.org/x/text@v0.3.5", - "pkg:golang/google.golang.org/grpc@v1.44.0", - "pkg:golang/google.golang.org/protobuf@v1.27.1" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go/bigquery@v1.7.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.56.0", - "pkg:golang/cloud.google.com/go/pubsub@v1.3.1", - "pkg:golang/cloud.google.com/go/storage@v1.6.0", - "pkg:golang/github.com/golang/protobuf@v1.4.0", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/golang.org/x/net@v0.0.0-20200501053045-e0ff5e5a1de5", - "pkg:golang/golang.org/x/sys@v0.0.0-20200501052902-10377860bb8e", - "pkg:golang/golang.org/x/tools@v0.0.0-20200501065659-ab2804fb9c9d", - "pkg:golang/google.golang.org/api@v0.22.0", - "pkg:golang/google.golang.org/appengine@v1.6.6", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200430143042-b979b6f78d84", - "pkg:golang/google.golang.org/grpc@v1.29.1" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20200506145744-7e3656a0809f", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/sys@v0.0.0-20200323222414-85ca7c5b95cd", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200511232937-7e40ca221e25", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200512131952-2bc93b1c0c88", - "dependsOn": [ - "pkg:golang/github.com/yuin/goldmark@v1.1.27", - "pkg:golang/golang.org/x/mod@v0.2.0", - "pkg:golang/golang.org/x/net@v0.0.0-20200226121028-0de0cce0169b", - "pkg:golang/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200511104702-f5ebc3bea380", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.3", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc" - ] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.67.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go/compute@v0.1.0", - "pkg:golang/github.com/google/go-cmp@v0.5.7", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.1.1", - "pkg:golang/go.opencensus.io@v0.23.0", - "pkg:golang/golang.org/x/net@v0.0.0-20210503060351-7fd8e65b6420", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20211104180415-d3ed0bb246c8", - "pkg:golang/golang.org/x/sync@v0.0.0-20210220032951-036812b2e83c", - "pkg:golang/golang.org/x/sys@v0.0.0-20220128215802-99c3d69c2c27", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1", - "pkg:golang/google.golang.org/appengine@v1.6.7", - "pkg:golang/google.golang.org/genproto@v0.0.0-20220126215142-9970aeb2e350", - "pkg:golang/google.golang.org/grpc@v1.40.1" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20220207164111-0872dc986b00", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/golang.org/x/net@v0.0.0-20210405180319-a5a99cb37ef4", - "pkg:golang/golang.org/x/sys@v0.0.0-20210510120138-977fb7262007", - "pkg:golang/golang.org/x/text@v0.3.5", - "pkg:golang/google.golang.org/grpc@v1.40.0", - "pkg:golang/google.golang.org/protobuf@v1.27.1" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20210315160823-c6e025ad8005", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/yuin/goldmark@v1.2.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/sync@v0.0.0-20201020160332-67f06af15bc9", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/ianlancetaylor/demangle@v0.0.0-20200824232613-28f6c0f3b639", - "dependsOn": [] - }, - { - "ref": "pkg:golang/cloud.google.com/go@v0.87.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go/storage@v1.10.0", - "pkg:golang/github.com/golang/mock@v1.6.0", - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/github.com/google/go-cmp@v0.5.6", - "pkg:golang/github.com/google/martian/v3@v3.2.1", - "pkg:golang/github.com/google/pprof@v0.0.0-20210609004039-a478d1d731e9", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/jstemmer/go-junit-report@v0.9.1", - "pkg:golang/go.opencensus.io@v0.23.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20210508222113-6edffad5e616", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20210628180205-a41e5a781914", - "pkg:golang/golang.org/x/text@v0.3.6", - "pkg:golang/golang.org/x/tools@v0.1.4", - "pkg:golang/google.golang.org/api@v0.50.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20210713002101-d411969a0d9a", - "pkg:golang/google.golang.org/grpc@v1.39.0", - "pkg:golang/google.golang.org/protobuf@v1.27.1" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20210630005230-0f9fa26af87c", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20210716133855-ce7ef5c701ea", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/golang.org/x/lint@v0.0.0-20210508222113-6edffad5e616", - "pkg:golang/golang.org/x/text@v0.3.5", - "pkg:golang/golang.org/x/tools@v0.1.4", - "pkg:golang/google.golang.org/grpc@v1.39.0", - "pkg:golang/google.golang.org/protobuf@v1.27.1" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go/bigquery@v1.0.1", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.44.2", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/google.golang.org/api@v0.8.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190801165951-fa694d86fc64", - "pkg:golang/google.golang.org/grpc@v1.21.1" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go/datastore@v1.0.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.44.1", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/golang.org/x/sys@v0.0.0-20190624142023-c5567b49c5d0", - "pkg:golang/google.golang.org/api@v0.7.0", - "pkg:golang/google.golang.org/appengine@v1.6.1", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190801165951-fa694d86fc64", - "pkg:golang/google.golang.org/grpc@v1.21.1" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go/pubsub@v1.0.1", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.45.1", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/go.opencensus.io@v0.22.0", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/time@v0.0.0-20190308202827-9d24e82272b4", - "pkg:golang/google.golang.org/api@v0.9.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55", - "pkg:golang/google.golang.org/grpc@v1.21.1" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go/storage@v1.0.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.46.3", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "pkg:golang/google.golang.org/api@v0.9.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190911173649-1774047e7e51", - "pkg:golang/google.golang.org/grpc@v1.21.1" - ] - }, - { - "ref": "pkg:golang/github.com/golang/groupcache@v0.0.0-20191227052852-215e87163ea7", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/golang/mock@v1.3.1", - "dependsOn": [ - "pkg:golang/golang.org/x/tools@v0.0.0-20190425150028-36563e24a262" - ] - }, - { - "ref": "pkg:golang/github.com/google/pprof@v0.0.0-20191218002539-d4f498aebedc", - "dependsOn": [ - "pkg:golang/github.com/chzyer/logex@v1.1.10", - "pkg:golang/github.com/chzyer/readline@v0.0.0-20180603132655-2972be24d48e", - "pkg:golang/github.com/chzyer/test@v0.0.0-20180213035817-a1ea475d72b1", - "pkg:golang/github.com/ianlancetaylor/demangle@v0.0.0-20181102032728-5e5cf60278f6", - "pkg:golang/golang.org/x/sys@v0.0.0-20191204072324-ce4227a45e2e" - ] - }, - { - "ref": "pkg:golang/go.opencensus.io@v0.22.2", - "dependsOn": [ - "pkg:golang/github.com/golang/groupcache@v0.0.0-20190702054246-869f871628b6", - "pkg:golang/github.com/golang/protobuf@v1.3.1", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/stretchr/testify@v1.4.0", - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sys@v0.0.0-20190502145724-3ef323f4f1fd", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190425155659-357c62f0e4bb", - "pkg:golang/google.golang.org/grpc@v1.20.1" - ] - }, - { - "ref": "pkg:golang/golang.org/x/exp@v0.0.0-20191227195350-da58074b4299", - "dependsOn": [ - "pkg:golang/dmitri.shuralyov.com/gpu/mtl@v0.0.0-20190408044501-666a987793e9", - "pkg:golang/github.com/BurntSushi/xgb@v0.0.0-20160522181843-27f122750802", - "pkg:golang/github.com/go-gl/glfw/v3.3/glfw@v0.0.0-20191125211704-12ad95a8df72", - "pkg:golang/golang.org/x/image@v0.0.0-20190802002840-cff245a6509b", - "pkg:golang/golang.org/x/mobile@v0.0.0-20190719004257-d2bd2a29d028", - "pkg:golang/golang.org/x/mod@v0.1.0", - "pkg:golang/golang.org/x/sys@v0.0.0-20190412213103-97732733099d", - "pkg:golang/golang.org/x/tools@v0.0.0-20191012152004-8de300cfc20a" - ] - }, - { - "ref": "pkg:golang/golang.org/x/lint@v0.0.0-20191125180803-fdd1cda4f05f", - "dependsOn": [ - "pkg:golang/golang.org/x/tools@v0.0.0-20191125144606-a911d9008d1f" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20200114155413-6afb5195e5aa", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200113162924-86b910548bc1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200117161641-43d50277825c", - "dependsOn": [ - "pkg:golang/golang.org/x/mod@v0.1.1-0.20191105210325-c90efee705ee", - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200115191322-ca5a22157cba", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/golang.org/x/exp@v0.0.0-20190121172915-509febef88a4", - "pkg:golang/golang.org/x/lint@v0.0.0-20190227174305-5b3e6a55c961", - "pkg:golang/golang.org/x/tools@v0.0.0-20190226205152-f727befe758c", - "pkg:golang/google.golang.org/grpc@v1.19.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190102054323-c2f93a96b099" - ] - }, - { - "ref": "pkg:golang/honnef.co/go/tools@v0.0.1-2019.2.3", - "dependsOn": [ - "pkg:golang/github.com/BurntSushi/toml@v0.3.1", - "pkg:golang/github.com/google/renameio@v0.1.0", - "pkg:golang/github.com/kisielk/gotool@v1.0.0", - "pkg:golang/github.com/rogpeppe/go-internal@v1.3.0", - "pkg:golang/golang.org/x/mod@v0.0.0-20190513183733-4bf6d317e70e", - "pkg:golang/golang.org/x/tools@v0.0.0-20190621195816-6e04913cbbac" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go@v0.50.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go/bigquery@v1.0.1", - "pkg:golang/cloud.google.com/go/datastore@v1.0.0", - "pkg:golang/cloud.google.com/go/pubsub@v1.0.1", - "pkg:golang/cloud.google.com/go/storage@v1.0.0", - "pkg:golang/github.com/golang/mock@v1.3.1", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/google/martian@v2.1.0%2Bincompatible", - "pkg:golang/github.com/google/pprof@v0.0.0-20190515194954-54271f7e092f", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/jstemmer/go-junit-report@v0.0.0-20190106144839-af01ea7f8024", - "pkg:golang/go.opencensus.io@v0.22.0", - "pkg:golang/golang.org/x/exp@v0.0.0-20191129062945-2f5052295587", - "pkg:golang/golang.org/x/lint@v0.0.0-20191125180803-fdd1cda4f05f", - "pkg:golang/golang.org/x/net@v0.0.0-20190724013045-ca1201d0de80", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "pkg:golang/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e", - "pkg:golang/golang.org/x/sys@v0.0.0-20190726091711-fc99dfbffb4e", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/tools@v0.0.0-20191216173652-a0e659d51361", - "pkg:golang/google.golang.org/api@v0.14.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20191216164720-4f79533eabd1", - "pkg:golang/google.golang.org/grpc@v1.21.1", - "pkg:golang/honnef.co/go/tools@v0.0.1-2019.2.3" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go/bigquery@v1.3.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.46.3", - "pkg:golang/cloud.google.com/go/storage@v1.0.0", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/golang.org/x/exp@v0.0.0-20191030013958-a1ab85dbe136", - "pkg:golang/golang.org/x/lint@v0.0.0-20190930215403-16217165b5de", - "pkg:golang/golang.org/x/tools@v0.0.0-20191113191852-77e3bb0ad9e7", - "pkg:golang/google.golang.org/api@v0.13.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20191108220845-16a3f7862a1a", - "pkg:golang/google.golang.org/grpc@v1.21.1" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go/pubsub@v1.1.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.46.3", - "pkg:golang/cloud.google.com/go/storage@v1.0.0", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/go.opencensus.io@v0.22.0", - "pkg:golang/golang.org/x/exp@v0.0.0-20191030013958-a1ab85dbe136", - "pkg:golang/golang.org/x/lint@v0.0.0-20190930215403-16217165b5de", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/time@v0.0.0-20190308202827-9d24e82272b4", - "pkg:golang/golang.org/x/tools@v0.0.0-20191115202509-3a792d9c32b2", - "pkg:golang/google.golang.org/api@v0.14.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20191115194625-c23dd37a84c9", - "pkg:golang/google.golang.org/grpc@v1.21.1" - ] - }, - { - "ref": "pkg:golang/github.com/google/go-cmp@v0.3.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20191209160850-c0dbc17a3553", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20191202225959-858c2ad4c8b6", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.34.0", - "pkg:golang/golang.org/x/net@v0.0.0-20190108225652-1e06a53dbb7e", - "pkg:golang/golang.org/x/sync@v0.0.0-20181221193216-37e7f081c4d4", - "pkg:golang/google.golang.org/appengine@v1.4.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20191228213918-04cbcbbfeed8", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20191227053925-7b8e75db28f4", - "dependsOn": [ - "pkg:golang/golang.org/x/mod@v0.1.1-0.20191105210325-c90efee705ee", - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20191230161307-f3c370f40bfb", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/golang.org/x/exp@v0.0.0-20190121172915-509febef88a4", - "pkg:golang/golang.org/x/lint@v0.0.0-20190227174305-5b3e6a55c961", - "pkg:golang/golang.org/x/tools@v0.0.0-20190226205152-f727befe758c", - "pkg:golang/google.golang.org/grpc@v1.19.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190102054323-c2f93a96b099" - ] - }, - { - "ref": "pkg:golang/dmitri.shuralyov.com/gpu/mtl@v0.0.0-20190408044501-666a987793e9", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/BurntSushi/xgb@v0.0.0-20160522181843-27f122750802", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/go-gl/glfw/v3.3/glfw@v0.0.0-20191125211704-12ad95a8df72", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/image@v0.0.0-20190802002840-cff245a6509b", - "dependsOn": [ - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/mobile@v0.0.0-20190719004257-d2bd2a29d028", - "dependsOn": [ - "pkg:golang/golang.org/x/exp@v0.0.0-20190306152737-a1d7652674e8", - "pkg:golang/golang.org/x/image@v0.0.0-20190227222117-0694c2d4d067", - "pkg:golang/golang.org/x/sys@v0.0.0-20190312061237-fead79001313" - ] - }, - { - "ref": "pkg:golang/golang.org/x/mod@v0.1.0", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190510104115-cbcb75029529" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20191012152004-8de300cfc20a", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20190717185122-a985d3407aa7" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190506145303-2d16b83fe98c", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20190502173448-54afdca5d873", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.2.0", - "pkg:golang/golang.org/x/exp@v0.0.0-20190121172915-509febef88a4", - "pkg:golang/golang.org/x/lint@v0.0.0-20190227174305-5b3e6a55c961", - "pkg:golang/golang.org/x/net@v0.0.0-20190213061140-3a22650c66bd", - "pkg:golang/golang.org/x/sync@v0.0.0-20190227155943-e225da77a7e6", - "pkg:golang/golang.org/x/tools@v0.0.0-20190226205152-f727befe758c", - "pkg:golang/google.golang.org/grpc@v1.19.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190102054323-c2f93a96b099" - ] - }, - { - "ref": "pkg:golang/honnef.co/go/tools@v0.0.0-20190418001031-e561f6794a2a", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200207183749-b753a1ba74fa", - "dependsOn": [ - "pkg:golang/golang.org/x/mod@v0.1.1-0.20191105210325-c90efee705ee", - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898" - ] - }, - { - "ref": "pkg:golang/github.com/golang/mock@v1.4.0", - "dependsOn": [ - "pkg:golang/golang.org/x/tools@v0.0.0-20190425150028-36563e24a262", - "pkg:golang/rsc.io/quote/v3@v3.1.0" - ] - }, - { - "ref": "pkg:golang/github.com/google/pprof@v0.0.0-20200212024743-f11f1df84d12", - "dependsOn": [ - "pkg:golang/github.com/chzyer/logex@v1.1.10", - "pkg:golang/github.com/chzyer/readline@v0.0.0-20180603132655-2972be24d48e", - "pkg:golang/github.com/chzyer/test@v0.0.0-20180213035817-a1ea475d72b1", - "pkg:golang/github.com/ianlancetaylor/demangle@v0.0.0-20181102032728-5e5cf60278f6", - "pkg:golang/golang.org/x/sys@v0.0.0-20191204072324-ce4227a45e2e" - ] - }, - { - "ref": "pkg:golang/github.com/go-gl/glfw/v3.3/glfw@v0.0.0-20200222043503-6f7a984d4dc4", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/mod@v0.1.1-0.20191107180719-034126e5016b", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20191011191535-87dc89f01550", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20191001151750-bb3f8db39f24", - "dependsOn": [] - }, - { - "ref": "pkg:golang/rsc.io/sampler@v1.3.0", - "dependsOn": [ - "pkg:golang/golang.org/x/text@v0.0.0-20170915032832-14c0d48ead0c" - ] - }, - { - "ref": "pkg:golang/github.com/golang/mock@v1.2.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/google/btree@v0.0.0-20180813153112-4030bb1f1f0c", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/google/pprof@v0.0.0-20181206194817-3ea8567a2e57", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.4", - "dependsOn": [ - "pkg:golang/google.golang.org/grpc@v1.19.0" - ] - }, - { - "ref": "pkg:golang/github.com/jstemmer/go-junit-report@v0.0.0-20190106144839-af01ea7f8024", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/lint@v0.0.0-20190301231843-5614ed5bae6f", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20190226205417-e64efc72b421", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.34.0", - "pkg:golang/golang.org/x/net@v0.0.0-20190108225652-1e06a53dbb7e", - "pkg:golang/golang.org/x/sync@v0.0.0-20181221193216-37e7f081c4d4", - "pkg:golang/google.golang.org/appengine@v1.4.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/text@v0.3.1-0.20180807135948-17ff2d5776d2", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/time@v0.0.0-20181108054448-85acf8d2951c", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190312170243-e65039ee4138", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a" - ] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.4.0", - "dependsOn": [ - "pkg:golang/github.com/google/go-cmp@v0.2.0", - "pkg:golang/go.opencensus.io@v0.21.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20190301231843-5614ed5bae6f", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190226205417-e64efc72b421", - "pkg:golang/golang.org/x/sync@v0.0.0-20190227155943-e225da77a7e6", - "pkg:golang/golang.org/x/tools@v0.0.0-20190312170243-e65039ee4138", - "pkg:golang/google.golang.org/appengine@v1.4.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190307195333-5fe7a883aa19", - "pkg:golang/google.golang.org/grpc@v1.19.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190102054323-c2f93a96b099" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20190418145605-e7d98fc518a7", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.2.0", - "pkg:golang/golang.org/x/exp@v0.0.0-20190121172915-509febef88a4", - "pkg:golang/golang.org/x/lint@v0.0.0-20190227174305-5b3e6a55c961", - "pkg:golang/golang.org/x/net@v0.0.0-20190213061140-3a22650c66bd", - "pkg:golang/golang.org/x/sync@v0.0.0-20190227155943-e225da77a7e6", - "pkg:golang/golang.org/x/tools@v0.0.0-20190226205152-f727befe758c", - "pkg:golang/google.golang.org/grpc@v1.19.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190102054323-c2f93a96b099" - ] - }, - { - "ref": "pkg:golang/honnef.co/go/tools@v0.0.0-20190106161140-3f1c8253044a", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/hashicorp/golang-lru@v0.5.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20190307195333-5fe7a883aa19", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.2.0", - "pkg:golang/golang.org/x/exp@v0.0.0-20190121172915-509febef88a4", - "pkg:golang/golang.org/x/lint@v0.0.0-20190227174305-5b3e6a55c961", - "pkg:golang/golang.org/x/net@v0.0.0-20190213061140-3a22650c66bd", - "pkg:golang/golang.org/x/sync@v0.0.0-20190227155943-e225da77a7e6", - "pkg:golang/golang.org/x/tools@v0.0.0-20190226205152-f727befe758c", - "pkg:golang/google.golang.org/grpc@v1.19.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190102054323-c2f93a96b099" - ] - }, - { - "ref": "pkg:golang/github.com/kr/text@v0.1.0", - "dependsOn": [ - "pkg:golang/github.com/kr/pty@v1.1.1" - ] - }, - { - "ref": "pkg:golang/github.com/golang/protobuf@v1.4.0-rc.4.0.20200313231945-b860323f09d0", - "dependsOn": [ - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/google.golang.org/protobuf@v1.20.1-0.20200309200217-e05f789c0967" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go/pubsub@v1.3.1", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.54.0", - "pkg:golang/cloud.google.com/go/bigquery@v1.5.0", - "pkg:golang/github.com/golang/protobuf@v1.3.4", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/go.opencensus.io@v0.22.3", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "pkg:golang/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e", - "pkg:golang/golang.org/x/time@v0.0.0-20191024005414-555d28b269f0", - "pkg:golang/golang.org/x/tools@v0.0.0-20200312045724-11d5b4c81c7d", - "pkg:golang/google.golang.org/api@v0.20.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200312145019-da6875a35672", - "pkg:golang/google.golang.org/grpc@v1.28.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20220128215802-99c3d69c2c27", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20220126215142-9970aeb2e350", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/golang.org/x/net@v0.0.0-20210405180319-a5a99cb37ef4", - "pkg:golang/golang.org/x/sys@v0.0.0-20210510120138-977fb7262007", - "pkg:golang/golang.org/x/text@v0.3.5", - "pkg:golang/google.golang.org/grpc@v1.40.0", - "pkg:golang/google.golang.org/protobuf@v1.27.1" - ] - }, - { - "ref": "pkg:golang/github.com/google/pprof@v0.0.0-20210609004039-a478d1d731e9", - "dependsOn": [ - "pkg:golang/github.com/chzyer/logex@v1.1.10", - "pkg:golang/github.com/chzyer/readline@v0.0.0-20180603132655-2972be24d48e", - "pkg:golang/github.com/chzyer/test@v0.0.0-20180213035817-a1ea475d72b1", - "pkg:golang/github.com/ianlancetaylor/demangle@v0.0.0-20200824232613-28f6c0f3b639", - "pkg:golang/golang.org/x/sys@v0.0.0-20191204072324-ce4227a45e2e" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.1.4", - "dependsOn": [ - "pkg:golang/github.com/yuin/goldmark@v1.3.5", - "pkg:golang/golang.org/x/mod@v0.4.2", - "pkg:golang/golang.org/x/net@v0.0.0-20210405180319-a5a99cb37ef4", - "pkg:golang/golang.org/x/sync@v0.0.0-20210220032951-036812b2e83c", - "pkg:golang/golang.org/x/sys@v0.0.0-20210510120138-977fb7262007", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1" - ] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.50.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.84.0", - "pkg:golang/github.com/google/go-cmp@v0.5.6", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/go.opencensus.io@v0.23.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20210508222113-6edffad5e616", - "pkg:golang/golang.org/x/net@v0.0.0-20210503060351-7fd8e65b6420", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20210628180205-a41e5a781914", - "pkg:golang/golang.org/x/sync@v0.0.0-20210220032951-036812b2e83c", - "pkg:golang/golang.org/x/sys@v0.0.0-20210616094352-59db8d763f22", - "pkg:golang/golang.org/x/tools@v0.1.4", - "pkg:golang/google.golang.org/appengine@v1.6.7", - "pkg:golang/google.golang.org/genproto@v0.0.0-20210624195500-8bfb893ecb84", - "pkg:golang/google.golang.org/grpc@v1.38.0" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20210713002101-d411969a0d9a", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/golang.org/x/lint@v0.0.0-20210508222113-6edffad5e616", - "pkg:golang/golang.org/x/text@v0.3.5", - "pkg:golang/golang.org/x/tools@v0.1.4", - "pkg:golang/google.golang.org/grpc@v1.39.0", - "pkg:golang/google.golang.org/protobuf@v1.27.1" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go@v0.44.2", - "dependsOn": [ - "pkg:golang/cloud.google.com/go/datastore@v1.0.0", - "pkg:golang/github.com/golang/mock@v1.3.1", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/google/btree@v1.0.0", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/google/martian@v2.1.0%2Bincompatible", - "pkg:golang/github.com/google/pprof@v0.0.0-20190515194954-54271f7e092f", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/jstemmer/go-junit-report@v0.0.0-20190106144839-af01ea7f8024", - "pkg:golang/go.opencensus.io@v0.22.0", - "pkg:golang/golang.org/x/exp@v0.0.0-20190510132918-efd6b22b2522", - "pkg:golang/golang.org/x/lint@v0.0.0-20190409202823-959b441ac422", - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/time@v0.0.0-20190308202827-9d24e82272b4", - "pkg:golang/golang.org/x/tools@v0.0.0-20190628153133-6cdbf07be9d0", - "pkg:golang/google.golang.org/api@v0.8.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190801165951-fa694d86fc64", - "pkg:golang/google.golang.org/grpc@v1.21.1", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190418001031-e561f6794a2a", - "pkg:golang/rsc.io/binaryregexp@v0.2.0" - ] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.8.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.38.0", - "pkg:golang/github.com/golang/protobuf@v1.3.1", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1", - "pkg:golang/go.opencensus.io@v0.21.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20190409202823-959b441ac422", - "pkg:golang/golang.org/x/net@v0.0.0-20190503192946-f4e77d36d62c", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/sys@v0.0.0-20190507160741-ecd444e8653b", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/tools@v0.0.0-20190506145303-2d16b83fe98c", - "pkg:golang/google.golang.org/appengine@v1.5.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190502173448-54afdca5d873", - "pkg:golang/google.golang.org/grpc@v1.20.1", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190418001031-e561f6794a2a" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20190801165951-fa694d86fc64", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/golang.org/x/exp@v0.0.0-20190121172915-509febef88a4", - "pkg:golang/golang.org/x/lint@v0.0.0-20190227174305-5b3e6a55c961", - "pkg:golang/golang.org/x/tools@v0.0.0-20190226205152-f727befe758c", - "pkg:golang/google.golang.org/grpc@v1.19.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190102054323-c2f93a96b099" - ] - }, - { - "ref": "pkg:golang/google.golang.org/grpc@v1.21.1", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.26.0", - "pkg:golang/github.com/BurntSushi/toml@v0.3.1", - "pkg:golang/github.com/client9/misspell@v0.3.4", - "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", - "pkg:golang/github.com/golang/mock@v1.1.1", - "pkg:golang/github.com/golang/protobuf@v1.2.0", - "pkg:golang/github.com/google/go-cmp@v0.2.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20180821212333-d2e6202438be", - "pkg:golang/golang.org/x/sync@v0.0.0-20180314180146-1d60e4601c6f", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/golang.org/x/tools@v0.0.0-20190311212946-11955173bddd", - "pkg:golang/google.golang.org/appengine@v1.1.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20180817151627-c66870c02cf8", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190102054323-c2f93a96b099" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go@v0.44.1", - "dependsOn": [ - "pkg:golang/github.com/golang/mock@v1.3.1", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/google/btree@v1.0.0", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/google/martian@v2.1.0%2Bincompatible", - "pkg:golang/github.com/google/pprof@v0.0.0-20190515194954-54271f7e092f", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/jstemmer/go-junit-report@v0.0.0-20190106144839-af01ea7f8024", - "pkg:golang/go.opencensus.io@v0.22.0", - "pkg:golang/golang.org/x/exp@v0.0.0-20190510132918-efd6b22b2522", - "pkg:golang/golang.org/x/lint@v0.0.0-20190409202823-959b441ac422", - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/sys@v0.0.0-20190624142023-c5567b49c5d0", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/time@v0.0.0-20190308202827-9d24e82272b4", - "pkg:golang/golang.org/x/tools@v0.0.0-20190628153133-6cdbf07be9d0", - "pkg:golang/google.golang.org/api@v0.8.0", - "pkg:golang/google.golang.org/appengine@v1.6.1", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190801165951-fa694d86fc64", - "pkg:golang/google.golang.org/grpc@v1.21.1", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190418001031-e561f6794a2a", - "pkg:golang/rsc.io/binaryregexp@v0.2.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190624142023-c5567b49c5d0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.7.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.38.0", - "pkg:golang/github.com/golang/protobuf@v1.3.1", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1", - "pkg:golang/go.opencensus.io@v0.21.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20190409202823-959b441ac422", - "pkg:golang/golang.org/x/net@v0.0.0-20190503192946-f4e77d36d62c", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/sys@v0.0.0-20190507160741-ecd444e8653b", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/tools@v0.0.0-20190506145303-2d16b83fe98c", - "pkg:golang/google.golang.org/appengine@v1.5.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190502173448-54afdca5d873", - "pkg:golang/google.golang.org/grpc@v1.20.1", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190418001031-e561f6794a2a" - ] - }, - { - "ref": "pkg:golang/google.golang.org/appengine@v1.6.1", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.1", - "pkg:golang/golang.org/x/crypto@v0.0.0-20190605123033-f99c8df09eb5", - "pkg:golang/golang.org/x/net@v0.0.0-20190603091049-60506f45cf65", - "pkg:golang/golang.org/x/sys@v0.0.0-20190606165138-5da285871e9c", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/tools@v0.0.0-20190606124116-d0a3d012864b" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go@v0.45.1", - "dependsOn": [ - "pkg:golang/cloud.google.com/go/bigquery@v1.0.1", - "pkg:golang/cloud.google.com/go/datastore@v1.0.0", - "pkg:golang/github.com/golang/mock@v1.3.1", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/google/martian@v2.1.0%2Bincompatible", - "pkg:golang/github.com/google/pprof@v0.0.0-20190515194954-54271f7e092f", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/jstemmer/go-junit-report@v0.0.0-20190106144839-af01ea7f8024", - "pkg:golang/go.opencensus.io@v0.22.0", - "pkg:golang/golang.org/x/exp@v0.0.0-20190510132918-efd6b22b2522", - "pkg:golang/golang.org/x/lint@v0.0.0-20190409202823-959b441ac422", - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/time@v0.0.0-20190308202827-9d24e82272b4", - "pkg:golang/golang.org/x/tools@v0.0.0-20190628153133-6cdbf07be9d0", - "pkg:golang/google.golang.org/api@v0.9.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55", - "pkg:golang/google.golang.org/grpc@v1.21.1", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190418001031-e561f6794a2a" - ] - }, - { - "ref": "pkg:golang/go.opencensus.io@v0.22.0", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.1", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1", - "pkg:golang/golang.org/x/net@v0.0.0-20190501004415-9ce7a6920f09", - "pkg:golang/golang.org/x/sys@v0.0.0-20190502145724-3ef323f4f1fd", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190425155659-357c62f0e4bb", - "pkg:golang/google.golang.org/grpc@v1.20.1" - ] - }, - { - "ref": "pkg:golang/golang.org/x/time@v0.0.0-20190308202827-9d24e82272b4", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.9.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.38.0", - "pkg:golang/github.com/golang/protobuf@v1.3.1", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1", - "pkg:golang/go.opencensus.io@v0.21.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20190409202823-959b441ac422", - "pkg:golang/golang.org/x/net@v0.0.0-20190503192946-f4e77d36d62c", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/sys@v0.0.0-20190507160741-ecd444e8653b", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/tools@v0.0.0-20190506145303-2d16b83fe98c", - "pkg:golang/google.golang.org/appengine@v1.5.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190502173448-54afdca5d873", - "pkg:golang/google.golang.org/grpc@v1.20.1", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190418001031-e561f6794a2a" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go@v0.46.3", - "dependsOn": [ - "pkg:golang/cloud.google.com/go/bigquery@v1.0.1", - "pkg:golang/cloud.google.com/go/datastore@v1.0.0", - "pkg:golang/cloud.google.com/go/pubsub@v1.0.1", - "pkg:golang/github.com/golang/mock@v1.3.1", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/google/martian@v2.1.0%2Bincompatible", - "pkg:golang/github.com/google/pprof@v0.0.0-20190515194954-54271f7e092f", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/jstemmer/go-junit-report@v0.0.0-20190106144839-af01ea7f8024", - "pkg:golang/go.opencensus.io@v0.22.0", - "pkg:golang/golang.org/x/exp@v0.0.0-20190829153037-c13cbed26979", - "pkg:golang/golang.org/x/lint@v0.0.0-20190909230951-414d861bb4ac", - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/tools@v0.0.0-20190911174233-4f2ddba30aff", - "pkg:golang/google.golang.org/api@v0.9.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190911173649-1774047e7e51", - "pkg:golang/google.golang.org/grpc@v1.21.1", - "pkg:golang/honnef.co/go/tools@v0.0.1-2019.2.3" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20190911173649-1774047e7e51", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/golang.org/x/exp@v0.0.0-20190121172915-509febef88a4", - "pkg:golang/golang.org/x/lint@v0.0.0-20190227174305-5b3e6a55c961", - "pkg:golang/golang.org/x/tools@v0.0.0-20190226205152-f727befe758c", - "pkg:golang/google.golang.org/grpc@v1.19.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190102054323-c2f93a96b099" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20191125144606-a911d9008d1f", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20190717185122-a985d3407aa7" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190621195816-6e04913cbbac", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58" - ] - }, - { - "ref": "pkg:golang/github.com/google/pprof@v0.0.0-20190515194954-54271f7e092f", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/exp@v0.0.0-20191129062945-2f5052295587", - "dependsOn": [ - "pkg:golang/dmitri.shuralyov.com/gpu/mtl@v0.0.0-20190408044501-666a987793e9", - "pkg:golang/github.com/BurntSushi/xgb@v0.0.0-20160522181843-27f122750802", - "pkg:golang/github.com/go-gl/glfw/v3.3/glfw@v0.0.0-20191125211704-12ad95a8df72", - "pkg:golang/golang.org/x/image@v0.0.0-20190802002840-cff245a6509b", - "pkg:golang/golang.org/x/mobile@v0.0.0-20190719004257-d2bd2a29d028", - "pkg:golang/golang.org/x/mod@v0.1.0", - "pkg:golang/golang.org/x/sys@v0.0.0-20190412213103-97732733099d", - "pkg:golang/golang.org/x/tools@v0.0.0-20191012152004-8de300cfc20a" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20190724013045-ca1201d0de80", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190726091711-fc99dfbffb4e", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20191216173652-a0e659d51361", - "dependsOn": [ - "pkg:golang/golang.org/x/mod@v0.1.1-0.20191105210325-c90efee705ee", - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898" - ] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.14.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.38.0", - "pkg:golang/github.com/golang/protobuf@v1.3.1", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1", - "pkg:golang/go.opencensus.io@v0.21.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20190409202823-959b441ac422", - "pkg:golang/golang.org/x/net@v0.0.0-20190503192946-f4e77d36d62c", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/sys@v0.0.0-20190507160741-ecd444e8653b", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/tools@v0.0.0-20190506145303-2d16b83fe98c", - "pkg:golang/google.golang.org/appengine@v1.5.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190502173448-54afdca5d873", - "pkg:golang/google.golang.org/grpc@v1.20.1", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190418001031-e561f6794a2a" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20191216164720-4f79533eabd1", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/golang.org/x/exp@v0.0.0-20190121172915-509febef88a4", - "pkg:golang/golang.org/x/lint@v0.0.0-20190227174305-5b3e6a55c961", - "pkg:golang/golang.org/x/tools@v0.0.0-20190226205152-f727befe758c", - "pkg:golang/google.golang.org/grpc@v1.19.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190102054323-c2f93a96b099" - ] - }, - { - "ref": "pkg:golang/golang.org/x/exp@v0.0.0-20191030013958-a1ab85dbe136", - "dependsOn": [ - "pkg:golang/dmitri.shuralyov.com/gpu/mtl@v0.0.0-20190408044501-666a987793e9", - "pkg:golang/github.com/BurntSushi/xgb@v0.0.0-20160522181843-27f122750802", - "pkg:golang/github.com/go-gl/glfw@v0.0.0-20190409004039-e6da0acd62b1", - "pkg:golang/golang.org/x/image@v0.0.0-20190802002840-cff245a6509b", - "pkg:golang/golang.org/x/mobile@v0.0.0-20190719004257-d2bd2a29d028", - "pkg:golang/golang.org/x/mod@v0.1.0", - "pkg:golang/golang.org/x/sys@v0.0.0-20190412213103-97732733099d", - "pkg:golang/golang.org/x/tools@v0.0.0-20191012152004-8de300cfc20a" - ] - }, - { - "ref": "pkg:golang/golang.org/x/lint@v0.0.0-20190930215403-16217165b5de", - "dependsOn": [ - "pkg:golang/golang.org/x/tools@v0.0.0-20190311212946-11955173bddd" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20191113191852-77e3bb0ad9e7", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20190717185122-a985d3407aa7" - ] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.13.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.38.0", - "pkg:golang/github.com/golang/protobuf@v1.3.1", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1", - "pkg:golang/go.opencensus.io@v0.21.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20190409202823-959b441ac422", - "pkg:golang/golang.org/x/net@v0.0.0-20190503192946-f4e77d36d62c", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/sys@v0.0.0-20190507160741-ecd444e8653b", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/tools@v0.0.0-20190506145303-2d16b83fe98c", - "pkg:golang/google.golang.org/appengine@v1.5.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190502173448-54afdca5d873", - "pkg:golang/google.golang.org/grpc@v1.20.1", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190418001031-e561f6794a2a" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20191108220845-16a3f7862a1a", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/golang.org/x/exp@v0.0.0-20190121172915-509febef88a4", - "pkg:golang/golang.org/x/lint@v0.0.0-20190227174305-5b3e6a55c961", - "pkg:golang/golang.org/x/tools@v0.0.0-20190226205152-f727befe758c", - "pkg:golang/google.golang.org/grpc@v1.19.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190102054323-c2f93a96b099" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20191115202509-3a792d9c32b2", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20190717185122-a985d3407aa7" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20191115194625-c23dd37a84c9", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/golang.org/x/exp@v0.0.0-20190121172915-509febef88a4", - "pkg:golang/golang.org/x/lint@v0.0.0-20190227174305-5b3e6a55c961", - "pkg:golang/golang.org/x/tools@v0.0.0-20190226205152-f727befe758c", - "pkg:golang/google.golang.org/grpc@v1.19.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190102054323-c2f93a96b099" - ] - }, - { - "ref": "pkg:golang/golang.org/x/exp@v0.0.0-20190306152737-a1d7652674e8", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/image@v0.0.0-20190227222117-0694c2d4d067", - "dependsOn": [ - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190312061237-fead79001313", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/text@v0.0.0-20170915032832-14c0d48ead0c", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/kr/pty@v1.1.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/protobuf@v1.20.1-0.20200309200217-e05f789c0967", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.4.0-rc.2", - "pkg:golang/github.com/google/go-cmp@v0.4.0" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go@v0.54.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go/bigquery@v1.4.0", - "pkg:golang/cloud.google.com/go/datastore@v1.1.0", - "pkg:golang/cloud.google.com/go/pubsub@v1.2.0", - "pkg:golang/cloud.google.com/go/storage@v1.6.0", - "pkg:golang/github.com/golang/mock@v1.4.1", - "pkg:golang/github.com/golang/protobuf@v1.3.4", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/github.com/google/martian@v2.1.0%2Bincompatible", - "pkg:golang/github.com/google/pprof@v0.0.0-20200229191704-1ebb73c60ed3", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/jstemmer/go-junit-report@v0.9.1", - "pkg:golang/go.opencensus.io@v0.22.3", - "pkg:golang/golang.org/x/lint@v0.0.0-20200302205851-738671d3881b", - "pkg:golang/golang.org/x/net@v0.0.0-20200301022130-244492dfa37a", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "pkg:golang/golang.org/x/sys@v0.0.0-20200302150141-5c8b2ff67527", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/tools@v0.0.0-20200304193943-95d2e580d8eb", - "pkg:golang/google.golang.org/api@v0.20.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200305110556-506484158171", - "pkg:golang/google.golang.org/grpc@v1.27.1", - "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.3" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go/bigquery@v1.5.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.53.0", - "pkg:golang/cloud.google.com/go/storage@v1.6.0", - "pkg:golang/github.com/golang/protobuf@v1.3.4", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/golang.org/x/net@v0.0.0-20200226121028-0de0cce0169b", - "pkg:golang/golang.org/x/tools@v0.0.0-20200227222343-706bc42d1f0d", - "pkg:golang/google.golang.org/api@v0.19.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200228133532-8c2c7df3a383", - "pkg:golang/google.golang.org/grpc@v1.27.1" - ] - }, - { - "ref": "pkg:golang/github.com/golang/protobuf@v1.3.4", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200312045724-11d5b4c81c7d", - "dependsOn": [ - "pkg:golang/golang.org/x/mod@v0.2.0", - "pkg:golang/golang.org/x/net@v0.0.0-20200226121028-0de0cce0169b", - "pkg:golang/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200312145019-da6875a35672", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.3", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go@v0.84.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go/storage@v1.10.0", - "pkg:golang/github.com/golang/mock@v1.5.0", - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/github.com/google/go-cmp@v0.5.6", - "pkg:golang/github.com/google/martian/v3@v3.2.1", - "pkg:golang/github.com/google/pprof@v0.0.0-20210601050228-01bbb1931b22", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/jstemmer/go-junit-report@v0.9.1", - "pkg:golang/go.opencensus.io@v0.23.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20210508222113-6edffad5e616", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20210514164344-f6687ab2804c", - "pkg:golang/golang.org/x/text@v0.3.6", - "pkg:golang/golang.org/x/tools@v0.1.2", - "pkg:golang/google.golang.org/api@v0.48.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20210608205507-b6d2f5bf0d7d", - "pkg:golang/google.golang.org/grpc@v1.38.0", - "pkg:golang/google.golang.org/protobuf@v1.26.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20210616094352-59db8d763f22", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20210624195500-8bfb893ecb84", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/golang.org/x/lint@v0.0.0-20210508222113-6edffad5e616", - "pkg:golang/golang.org/x/text@v0.3.5", - "pkg:golang/golang.org/x/tools@v0.1.3", - "pkg:golang/google.golang.org/grpc@v1.38.0", - "pkg:golang/google.golang.org/protobuf@v1.26.0" - ] - }, - { - "ref": "pkg:golang/google.golang.org/grpc@v1.38.0", - "dependsOn": [ - "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20201120205902-5459f2c99403", - "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.9-0.20210217033140-668b12f5399d", - "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", - "pkg:golang/github.com/golang/protobuf@v1.4.2", - "pkg:golang/github.com/google/go-cmp@v0.5.0", - "pkg:golang/github.com/google/uuid@v1.1.2", - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20180821212333-d2e6202438be", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200526211855-cb27e3aa2013", - "pkg:golang/google.golang.org/protobuf@v1.25.0" - ] - }, - { - "ref": "pkg:golang/github.com/google/btree@v1.0.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/exp@v0.0.0-20190510132918-efd6b22b2522", - "dependsOn": [ - "pkg:golang/github.com/BurntSushi/xgb@v0.0.0-20160522181843-27f122750802", - "pkg:golang/golang.org/x/image@v0.0.0-20190227222117-0694c2d4d067", - "pkg:golang/golang.org/x/mobile@v0.0.0-20190312151609-d3739f865fa6", - "pkg:golang/golang.org/x/sys@v0.0.0-20190312061237-fead79001313", - "pkg:golang/golang.org/x/tools@v0.0.0-20190312151545-0bb0c0a6e846" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190628153133-6cdbf07be9d0", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58" - ] - }, - { - "ref": "pkg:golang/rsc.io/binaryregexp@v0.2.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20190605123033-f99c8df09eb5", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190404232315-eb5bcb51f2a3", - "pkg:golang/golang.org/x/sys@v0.0.0-20190412213103-97732733099d" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190606165138-5da285871e9c", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190606124116-d0a3d012864b", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20190501004415-9ce7a6920f09", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/exp@v0.0.0-20190829153037-c13cbed26979", - "dependsOn": [ - "pkg:golang/github.com/BurntSushi/xgb@v0.0.0-20160522181843-27f122750802", - "pkg:golang/golang.org/x/image@v0.0.0-20190802002840-cff245a6509b", - "pkg:golang/golang.org/x/mobile@v0.0.0-20190719004257-d2bd2a29d028", - "pkg:golang/golang.org/x/mod@v0.1.0", - "pkg:golang/golang.org/x/sys@v0.0.0-20190412213103-97732733099d", - "pkg:golang/golang.org/x/tools@v0.0.0-20190816200558-6889da9d5479" - ] - }, - { - "ref": "pkg:golang/golang.org/x/lint@v0.0.0-20190909230951-414d861bb4ac", - "dependsOn": [ - "pkg:golang/golang.org/x/tools@v0.0.0-20190311212946-11955173bddd" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190911174233-4f2ddba30aff", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20190717185122-a985d3407aa7" - ] - }, - { - "ref": "pkg:golang/github.com/go-gl/glfw@v0.0.0-20190409004039-e6da0acd62b1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/golang/protobuf@v1.4.0-rc.2", - "dependsOn": [ - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/google.golang.org/protobuf@v0.0.0-20200228230310-ab0ca4ff8a60" - ] - }, - { - "ref": "pkg:golang/github.com/golang/mock@v1.4.1", - "dependsOn": [ - "pkg:golang/golang.org/x/tools@v0.0.0-20190425150028-36563e24a262", - "pkg:golang/rsc.io/quote/v3@v3.1.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20200301022130-244492dfa37a", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200302150141-5c8b2ff67527", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200304193943-95d2e580d8eb", - "dependsOn": [ - "pkg:golang/golang.org/x/mod@v0.2.0", - "pkg:golang/golang.org/x/net@v0.0.0-20200226121028-0de0cce0169b", - "pkg:golang/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200305110556-506484158171", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.3", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200227222343-706bc42d1f0d", - "dependsOn": [ - "pkg:golang/golang.org/x/mod@v0.1.1-0.20191105210325-c90efee705ee", - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898" - ] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.19.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.38.0", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1", - "pkg:golang/go.opencensus.io@v0.21.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20190409202823-959b441ac422", - "pkg:golang/golang.org/x/net@v0.0.0-20190503192946-f4e77d36d62c", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/sys@v0.0.0-20190507160741-ecd444e8653b", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/appengine@v1.5.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200228133532-8c2c7df3a383", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.3", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc" - ] - }, - { - "ref": "pkg:golang/github.com/golang/mock@v1.5.0", - "dependsOn": [ - "pkg:golang/golang.org/x/mod@v0.3.0", - "pkg:golang/golang.org/x/tools@v0.0.0-20191119224855-298f0cb1881e" - ] - }, - { - "ref": "pkg:golang/github.com/google/pprof@v0.0.0-20210601050228-01bbb1931b22", - "dependsOn": [ - "pkg:golang/github.com/chzyer/logex@v1.1.10", - "pkg:golang/github.com/chzyer/readline@v0.0.0-20180603132655-2972be24d48e", - "pkg:golang/github.com/chzyer/test@v0.0.0-20180213035817-a1ea475d72b1", - "pkg:golang/github.com/ianlancetaylor/demangle@v0.0.0-20200824232613-28f6c0f3b639", - "pkg:golang/golang.org/x/sys@v0.0.0-20191204072324-ce4227a45e2e" - ] - }, - { - "ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20210514164344-f6687ab2804c", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.65.0", - "pkg:golang/golang.org/x/net@v0.0.0-20200822124328-c89045814202", - "pkg:golang/google.golang.org/appengine@v1.6.6" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.1.2", - "dependsOn": [ - "pkg:golang/github.com/yuin/goldmark@v1.3.5", - "pkg:golang/golang.org/x/mod@v0.4.2", - "pkg:golang/golang.org/x/net@v0.0.0-20210405180319-a5a99cb37ef4", - "pkg:golang/golang.org/x/sync@v0.0.0-20210220032951-036812b2e83c", - "pkg:golang/golang.org/x/sys@v0.0.0-20210510120138-977fb7262007", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1" - ] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.48.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.83.0", - "pkg:golang/github.com/google/go-cmp@v0.5.6", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/go.opencensus.io@v0.23.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20210508222113-6edffad5e616", - "pkg:golang/golang.org/x/net@v0.0.0-20210503060351-7fd8e65b6420", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20210514164344-f6687ab2804c", - "pkg:golang/golang.org/x/sync@v0.0.0-20210220032951-036812b2e83c", - "pkg:golang/golang.org/x/sys@v0.0.0-20210603125802-9665404d3644", - "pkg:golang/golang.org/x/tools@v0.1.2", - "pkg:golang/google.golang.org/appengine@v1.6.7", - "pkg:golang/google.golang.org/genproto@v0.0.0-20210604141403-392c879c8b08", - "pkg:golang/google.golang.org/grpc@v1.38.0" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20210608205507-b6d2f5bf0d7d", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/golang.org/x/lint@v0.0.0-20210508222113-6edffad5e616", - "pkg:golang/golang.org/x/text@v0.3.5", - "pkg:golang/golang.org/x/tools@v0.1.2", - "pkg:golang/google.golang.org/grpc@v1.38.0", - "pkg:golang/google.golang.org/protobuf@v1.26.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.1.3", - "dependsOn": [ - "pkg:golang/github.com/yuin/goldmark@v1.3.5", - "pkg:golang/golang.org/x/mod@v0.4.2", - "pkg:golang/golang.org/x/net@v0.0.0-20210405180319-a5a99cb37ef4", - "pkg:golang/golang.org/x/sync@v0.0.0-20210220032951-036812b2e83c", - "pkg:golang/golang.org/x/sys@v0.0.0-20210510120138-977fb7262007", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1" - ] - }, - { - "ref": "pkg:golang/golang.org/x/mobile@v0.0.0-20190312151609-d3739f865fa6", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190312151545-0bb0c0a6e846", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190816200558-6889da9d5479", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20190717185122-a985d3407aa7" - ] - }, - { - "ref": "pkg:golang/google.golang.org/protobuf@v0.0.0-20200228230310-ab0ca4ff8a60", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.4.0-rc.1.0.20200221234624-67d41d38c208", - "pkg:golang/github.com/google/go-cmp@v0.4.0" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go@v0.83.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go/storage@v1.10.0", - "pkg:golang/github.com/golang/mock@v1.5.0", - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/github.com/google/go-cmp@v0.5.6", - "pkg:golang/github.com/google/martian/v3@v3.2.1", - "pkg:golang/github.com/google/pprof@v0.0.0-20210601050228-01bbb1931b22", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/jstemmer/go-junit-report@v0.9.1", - "pkg:golang/go.opencensus.io@v0.23.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20210508222113-6edffad5e616", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20210514164344-f6687ab2804c", - "pkg:golang/golang.org/x/text@v0.3.6", - "pkg:golang/golang.org/x/tools@v0.1.2", - "pkg:golang/google.golang.org/api@v0.47.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20210602131652-f16073e35f0c", - "pkg:golang/google.golang.org/grpc@v1.38.0", - "pkg:golang/google.golang.org/protobuf@v1.26.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20210603125802-9665404d3644", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20210604141403-392c879c8b08", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/golang.org/x/lint@v0.0.0-20210508222113-6edffad5e616", - "pkg:golang/golang.org/x/text@v0.3.5", - "pkg:golang/golang.org/x/tools@v0.1.2", - "pkg:golang/google.golang.org/grpc@v1.38.0", - "pkg:golang/google.golang.org/protobuf@v1.26.0" - ] - }, - { - "ref": "pkg:golang/github.com/golang/protobuf@v1.4.0-rc.1.0.20200221234624-67d41d38c208", - "dependsOn": [ - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/google.golang.org/protobuf@v0.0.0-20200221191635-4d8936d0db64" - ] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.47.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.81.0", - "pkg:golang/github.com/google/go-cmp@v0.5.5", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/go.opencensus.io@v0.23.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20210508222113-6edffad5e616", - "pkg:golang/golang.org/x/net@v0.0.0-20210503060351-7fd8e65b6420", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20210514164344-f6687ab2804c", - "pkg:golang/golang.org/x/sync@v0.0.0-20210220032951-036812b2e83c", - "pkg:golang/golang.org/x/sys@v0.0.0-20210514084401-e8d321eab015", - "pkg:golang/golang.org/x/tools@v0.1.1", - "pkg:golang/google.golang.org/appengine@v1.6.7", - "pkg:golang/google.golang.org/genproto@v0.0.0-20210513213006-bf773b8c8384", - "pkg:golang/google.golang.org/grpc@v1.37.1" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20210602131652-f16073e35f0c", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/golang.org/x/lint@v0.0.0-20210508222113-6edffad5e616", - "pkg:golang/golang.org/x/text@v0.3.5", - "pkg:golang/golang.org/x/tools@v0.1.2", - "pkg:golang/google.golang.org/grpc@v1.38.0", - "pkg:golang/google.golang.org/protobuf@v1.26.0" - ] - }, - { - "ref": "pkg:golang/google.golang.org/protobuf@v0.0.0-20200221191635-4d8936d0db64", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.4.0-rc.1", - "pkg:golang/github.com/google/go-cmp@v0.3.1" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go@v0.81.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go/storage@v1.10.0", - "pkg:golang/github.com/golang/mock@v1.5.0", - "pkg:golang/github.com/golang/protobuf@v1.5.1", - "pkg:golang/github.com/google/go-cmp@v0.5.5", - "pkg:golang/github.com/google/martian/v3@v3.1.0", - "pkg:golang/github.com/google/pprof@v0.0.0-20210226084205-cbba55b83ad5", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/jstemmer/go-junit-report@v0.9.1", - "pkg:golang/go.opencensus.io@v0.23.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20201208152925-83fdc39ff7b5", - "pkg:golang/golang.org/x/net@v0.0.0-20210316092652-d523dce5a7f4", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20210313182246-cd4f82c27b84", - "pkg:golang/golang.org/x/text@v0.3.5", - "pkg:golang/golang.org/x/tools@v0.1.0", - "pkg:golang/google.golang.org/api@v0.43.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20210402141018-6c239bbf2bb1", - "pkg:golang/google.golang.org/grpc@v1.36.1" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20210514084401-e8d321eab015", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20210513213006-bf773b8c8384", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/golang.org/x/lint@v0.0.0-20201208152925-83fdc39ff7b5", - "pkg:golang/golang.org/x/net@v0.0.0-20210316092652-d523dce5a7f4", - "pkg:golang/golang.org/x/sys@v0.0.0-20210320140829-1e4c9ba3b0c4", - "pkg:golang/golang.org/x/text@v0.3.5", - "pkg:golang/golang.org/x/tools@v0.1.0", - "pkg:golang/google.golang.org/grpc@v1.36.1", - "pkg:golang/google.golang.org/protobuf@v1.26.0" - ] - }, - { - "ref": "pkg:golang/google.golang.org/grpc@v1.37.1", - "dependsOn": [ - "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20201120205902-5459f2c99403", - "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.9-0.20210217033140-668b12f5399d", - "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", - "pkg:golang/github.com/golang/protobuf@v1.4.2", - "pkg:golang/github.com/google/go-cmp@v0.5.0", - "pkg:golang/github.com/google/uuid@v1.1.2", - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20180821212333-d2e6202438be", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200526211855-cb27e3aa2013", - "pkg:golang/google.golang.org/protobuf@v1.25.0" - ] - }, - { - "ref": "pkg:golang/github.com/golang/protobuf@v1.4.0-rc.1", - "dependsOn": [ - "pkg:golang/github.com/google/go-cmp@v0.3.1", - "pkg:golang/google.golang.org/protobuf@v0.0.0-20200109180630-ec00e32a8dfd" - ] - }, - { - "ref": "pkg:golang/github.com/google/martian/v3@v3.1.0", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190628185345-da137c7871d7" - ] - }, - { - "ref": "pkg:golang/github.com/google/pprof@v0.0.0-20210226084205-cbba55b83ad5", - "dependsOn": [ - "pkg:golang/github.com/chzyer/logex@v1.1.10", - "pkg:golang/github.com/chzyer/readline@v0.0.0-20180603132655-2972be24d48e", - "pkg:golang/github.com/chzyer/test@v0.0.0-20180213035817-a1ea475d72b1", - "pkg:golang/github.com/ianlancetaylor/demangle@v0.0.0-20200824232613-28f6c0f3b639", - "pkg:golang/golang.org/x/sys@v0.0.0-20191204072324-ce4227a45e2e" - ] - }, - { - "ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20210313182246-cd4f82c27b84", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.65.0", - "pkg:golang/golang.org/x/net@v0.0.0-20200822124328-c89045814202", - "pkg:golang/google.golang.org/appengine@v1.6.6" - ] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.43.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.79.0", - "pkg:golang/github.com/google/go-cmp@v0.5.5", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/go.opencensus.io@v0.23.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20201208152925-83fdc39ff7b5", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20210313182246-cd4f82c27b84", - "pkg:golang/golang.org/x/sync@v0.0.0-20210220032951-036812b2e83c", - "pkg:golang/golang.org/x/sys@v0.0.0-20210320140829-1e4c9ba3b0c4", - "pkg:golang/golang.org/x/tools@v0.1.0", - "pkg:golang/google.golang.org/appengine@v1.6.7", - "pkg:golang/google.golang.org/genproto@v0.0.0-20210319143718-93e7006c17a6", - "pkg:golang/google.golang.org/grpc@v1.36.0" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20210402141018-6c239bbf2bb1", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.5.1", - "pkg:golang/golang.org/x/lint@v0.0.0-20201208152925-83fdc39ff7b5", - "pkg:golang/golang.org/x/net@v0.0.0-20210316092652-d523dce5a7f4", - "pkg:golang/golang.org/x/sys@v0.0.0-20210320140829-1e4c9ba3b0c4", - "pkg:golang/golang.org/x/text@v0.3.5", - "pkg:golang/golang.org/x/tools@v0.1.0", - "pkg:golang/google.golang.org/grpc@v1.36.1", - "pkg:golang/google.golang.org/protobuf@v1.26.0" - ] - }, - { - "ref": "pkg:golang/google.golang.org/protobuf@v0.0.0-20200109180630-ec00e32a8dfd", - "dependsOn": [ - "pkg:golang/github.com/google/go-cmp@v0.3.0" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go@v0.79.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go/storage@v1.10.0", - "pkg:golang/github.com/golang/mock@v1.5.0", - "pkg:golang/github.com/golang/protobuf@v1.4.3", - "pkg:golang/github.com/google/go-cmp@v0.5.5", - "pkg:golang/github.com/google/martian/v3@v3.1.0", - "pkg:golang/github.com/google/pprof@v0.0.0-20210226084205-cbba55b83ad5", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/jstemmer/go-junit-report@v0.9.1", - "pkg:golang/go.opencensus.io@v0.23.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20201208152925-83fdc39ff7b5", - "pkg:golang/golang.org/x/net@v0.0.0-20210226172049-e18ecbb05110", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20210220000619-9bb904979d93", - "pkg:golang/golang.org/x/text@v0.3.5", - "pkg:golang/golang.org/x/tools@v0.1.0", - "pkg:golang/google.golang.org/api@v0.41.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20210310155132-4ce2db91004e", - "pkg:golang/google.golang.org/grpc@v1.36.0" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20210319143718-93e7006c17a6", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.4.1", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/google.golang.org/protobuf@v1.24.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20210226172049-e18ecbb05110", - "dependsOn": [ - "pkg:golang/golang.org/x/sys@v0.0.0-20201119102817-f84b799fce68", - "pkg:golang/golang.org/x/term@v0.0.0-20201126162022-7de9c90e9dd1", - "pkg:golang/golang.org/x/text@v0.3.3" - ] - }, - { - "ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20210220000619-9bb904979d93", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.65.0", - "pkg:golang/golang.org/x/net@v0.0.0-20200822124328-c89045814202", - "pkg:golang/google.golang.org/appengine@v1.6.6" - ] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.41.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.78.0", - "pkg:golang/github.com/google/go-cmp@v0.5.5", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/go.opencensus.io@v0.23.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20201208152925-83fdc39ff7b5", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20210220000619-9bb904979d93", - "pkg:golang/golang.org/x/sync@v0.0.0-20210220032951-036812b2e83c", - "pkg:golang/golang.org/x/sys@v0.0.0-20210305230114-8fe3ee5dd75b", - "pkg:golang/golang.org/x/tools@v0.1.0", - "pkg:golang/google.golang.org/appengine@v1.6.7", - "pkg:golang/google.golang.org/genproto@v0.0.0-20210303154014-9728d6b83eeb", - "pkg:golang/google.golang.org/grpc@v1.36.0" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20210310155132-4ce2db91004e", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.4.1", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/google.golang.org/protobuf@v1.24.0" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go@v0.78.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go/storage@v1.10.0", - "pkg:golang/github.com/golang/mock@v1.4.4", - "pkg:golang/github.com/golang/protobuf@v1.4.3", - "pkg:golang/github.com/google/go-cmp@v0.5.4", - "pkg:golang/github.com/google/martian/v3@v3.1.0", - "pkg:golang/github.com/google/pprof@v0.0.0-20210122040257-d980be63207e", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/jstemmer/go-junit-report@v0.9.1", - "pkg:golang/go.opencensus.io@v0.22.5", - "pkg:golang/golang.org/x/lint@v0.0.0-20201208152925-83fdc39ff7b5", - "pkg:golang/golang.org/x/mod@v0.4.1", - "pkg:golang/golang.org/x/net@v0.0.0-20210119194325-5f4716e94777", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20210218202405-ba52d332ba99", - "pkg:golang/golang.org/x/sys@v0.0.0-20210220050731-9a76102bfb43", - "pkg:golang/golang.org/x/text@v0.3.5", - "pkg:golang/golang.org/x/tools@v0.1.0", - "pkg:golang/google.golang.org/api@v0.40.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20210222152913-aa3ee6e6a81c", - "pkg:golang/google.golang.org/grpc@v1.35.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20210305230114-8fe3ee5dd75b", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20210303154014-9728d6b83eeb", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.4.1", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/google.golang.org/protobuf@v1.24.0" - ] - }, - { - "ref": "pkg:golang/github.com/google/go-cmp@v0.5.4", - "dependsOn": [ - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543" - ] - }, - { - "ref": "pkg:golang/github.com/google/pprof@v0.0.0-20210122040257-d980be63207e", - "dependsOn": [ - "pkg:golang/github.com/chzyer/logex@v1.1.10", - "pkg:golang/github.com/chzyer/readline@v0.0.0-20180603132655-2972be24d48e", - "pkg:golang/github.com/chzyer/test@v0.0.0-20180213035817-a1ea475d72b1", - "pkg:golang/github.com/ianlancetaylor/demangle@v0.0.0-20200824232613-28f6c0f3b639", - "pkg:golang/golang.org/x/sys@v0.0.0-20191204072324-ce4227a45e2e" - ] - }, - { - "ref": "pkg:golang/go.opencensus.io@v0.22.5", - "dependsOn": [ - "pkg:golang/github.com/golang/groupcache@v0.0.0-20190702054246-869f871628b6", - "pkg:golang/github.com/golang/protobuf@v1.3.1", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/stretchr/testify@v1.4.0", - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sys@v0.0.0-20190502145724-3ef323f4f1fd", - "pkg:golang/golang.org/x/text@v0.3.3", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190425155659-357c62f0e4bb", - "pkg:golang/google.golang.org/grpc@v1.20.1" - ] - }, - { - "ref": "pkg:golang/golang.org/x/mod@v0.4.1", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20191011191535-87dc89f01550", - "pkg:golang/golang.org/x/tools@v0.0.0-20191119224855-298f0cb1881e", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20210119194325-5f4716e94777", - "dependsOn": [ - "pkg:golang/golang.org/x/sys@v0.0.0-20201119102817-f84b799fce68", - "pkg:golang/golang.org/x/term@v0.0.0-20201126162022-7de9c90e9dd1", - "pkg:golang/golang.org/x/text@v0.3.3" - ] - }, - { - "ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20210218202405-ba52d332ba99", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.65.0", - "pkg:golang/golang.org/x/net@v0.0.0-20200822124328-c89045814202", - "pkg:golang/google.golang.org/appengine@v1.6.6" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20210220050731-9a76102bfb43", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.40.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.74.0", - "pkg:golang/github.com/google/go-cmp@v0.5.4", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/go.opencensus.io@v0.22.5", - "pkg:golang/golang.org/x/lint@v0.0.0-20201208152925-83fdc39ff7b5", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20201208152858-08078c50e5b5", - "pkg:golang/golang.org/x/sync@v0.0.0-20201207232520-09787c993a3a", - "pkg:golang/golang.org/x/sys@v0.0.0-20210104204734-6f8348627aad", - "pkg:golang/golang.org/x/tools@v0.0.0-20210105154028-b0ab187a4818", - "pkg:golang/google.golang.org/appengine@v1.6.7", - "pkg:golang/google.golang.org/genproto@v0.0.0-20201214200347-8c77b98c765d", - "pkg:golang/google.golang.org/grpc@v1.34.0" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20210222152913-aa3ee6e6a81c", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.4.1", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/google.golang.org/protobuf@v1.24.0" - ] - }, - { - "ref": "pkg:golang/google.golang.org/grpc@v1.35.0", - "dependsOn": [ - "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20201120205902-5459f2c99403", - "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.9-0.20201210154907-fd9021fe5dad", - "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", - "pkg:golang/github.com/golang/protobuf@v1.4.2", - "pkg:golang/github.com/google/go-cmp@v0.5.0", - "pkg:golang/github.com/google/uuid@v1.1.2", - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20180821212333-d2e6202438be", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200526211855-cb27e3aa2013", - "pkg:golang/google.golang.org/protobuf@v1.25.0" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go@v0.74.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go/storage@v1.10.0", - "pkg:golang/github.com/golang/mock@v1.4.4", - "pkg:golang/github.com/golang/protobuf@v1.4.3", - "pkg:golang/github.com/google/go-cmp@v0.5.4", - "pkg:golang/github.com/google/martian/v3@v3.1.0", - "pkg:golang/github.com/google/pprof@v0.0.0-20201203190320-1bf35d6f28c2", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/jstemmer/go-junit-report@v0.9.1", - "pkg:golang/go.opencensus.io@v0.22.5", - "pkg:golang/golang.org/x/lint@v0.0.0-20201208152925-83fdc39ff7b5", - "pkg:golang/golang.org/x/mod@v0.4.0", - "pkg:golang/golang.org/x/net@v0.0.0-20201209123823-ac852fbbde11", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20201208152858-08078c50e5b5", - "pkg:golang/golang.org/x/text@v0.3.4", - "pkg:golang/golang.org/x/tools@v0.0.0-20201208233053-a543418bbed2", - "pkg:golang/google.golang.org/api@v0.36.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20201210142538-e3217bee35cc", - "pkg:golang/google.golang.org/grpc@v1.34.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20201208152858-08078c50e5b5", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.65.0", - "pkg:golang/golang.org/x/net@v0.0.0-20200822124328-c89045814202", - "pkg:golang/google.golang.org/appengine@v1.6.6" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sync@v0.0.0-20201207232520-09787c993a3a", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20210104204734-6f8348627aad", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20210105154028-b0ab187a4818", - "dependsOn": [ - "pkg:golang/github.com/yuin/goldmark@v1.2.1", - "pkg:golang/golang.org/x/mod@v0.3.0", - "pkg:golang/golang.org/x/net@v0.0.0-20201021035429-f5854403a974", - "pkg:golang/golang.org/x/sync@v0.0.0-20201020160332-67f06af15bc9", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20201214200347-8c77b98c765d", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.4.1", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/google.golang.org/protobuf@v1.24.0" - ] - }, - { - "ref": "pkg:golang/google.golang.org/grpc@v1.34.0", - "dependsOn": [ - "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20200629203442-efcf912fb354", - "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.7", - "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", - "pkg:golang/github.com/golang/protobuf@v1.4.2", - "pkg:golang/github.com/google/go-cmp@v0.5.0", - "pkg:golang/github.com/google/uuid@v1.1.2", - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20180821212333-d2e6202438be", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200526211855-cb27e3aa2013", - "pkg:golang/google.golang.org/protobuf@v1.25.0" - ] - }, - { - "ref": "pkg:golang/github.com/google/pprof@v0.0.0-20201203190320-1bf35d6f28c2", - "dependsOn": [ - "pkg:golang/github.com/chzyer/logex@v1.1.10", - "pkg:golang/github.com/chzyer/readline@v0.0.0-20180603132655-2972be24d48e", - "pkg:golang/github.com/chzyer/test@v0.0.0-20180213035817-a1ea475d72b1", - "pkg:golang/github.com/ianlancetaylor/demangle@v0.0.0-20200824232613-28f6c0f3b639", - "pkg:golang/golang.org/x/sys@v0.0.0-20191204072324-ce4227a45e2e" - ] - }, - { - "ref": "pkg:golang/golang.org/x/mod@v0.4.0", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20191011191535-87dc89f01550", - "pkg:golang/golang.org/x/tools@v0.0.0-20191119224855-298f0cb1881e", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20201209123823-ac852fbbde11", - "dependsOn": [ - "pkg:golang/golang.org/x/sys@v0.0.0-20201119102817-f84b799fce68", - "pkg:golang/golang.org/x/term@v0.0.0-20201126162022-7de9c90e9dd1", - "pkg:golang/golang.org/x/text@v0.3.3" - ] - }, - { - "ref": "pkg:golang/golang.org/x/text@v0.3.4", - "dependsOn": [ - "pkg:golang/golang.org/x/tools@v0.0.0-20180917221912-90fa682c2a6e" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20201208233053-a543418bbed2", - "dependsOn": [ - "pkg:golang/github.com/yuin/goldmark@v1.2.1", - "pkg:golang/golang.org/x/mod@v0.3.0", - "pkg:golang/golang.org/x/net@v0.0.0-20201021035429-f5854403a974", - "pkg:golang/golang.org/x/sync@v0.0.0-20201020160332-67f06af15bc9", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1" - ] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.36.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.72.0", - "pkg:golang/github.com/google/go-cmp@v0.5.4", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/go.opencensus.io@v0.22.5", - "pkg:golang/golang.org/x/lint@v0.0.0-20200302205851-738671d3881b", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20201109201403-9fd604954f58", - "pkg:golang/golang.org/x/sync@v0.0.0-20201020160332-67f06af15bc9", - "pkg:golang/golang.org/x/sys@v0.0.0-20201201145000-ef89a241ccb3", - "pkg:golang/golang.org/x/tools@v0.0.0-20201201161351-ac6f37ff4c2a", - "pkg:golang/google.golang.org/appengine@v1.6.7", - "pkg:golang/google.golang.org/genproto@v0.0.0-20201201144952-b05cb90ed32e", - "pkg:golang/google.golang.org/grpc@v1.33.2" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20201210142538-e3217bee35cc", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.4.1", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/google.golang.org/protobuf@v1.24.0" - ] - }, - { - "ref": "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20200629203442-efcf912fb354", - "dependsOn": [ - "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/google.golang.org/grpc@v1.25.1" - ] - }, - { - "ref": "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.7", - "dependsOn": [ - "pkg:golang/github.com/census-instrumentation/opencensus-proto@v0.2.1", - "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20200629203442-efcf912fb354", - "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", - "pkg:golang/github.com/golang/protobuf@v1.4.2", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/github.com/prometheus/client_model@v0.0.0-20190812154241-14fe0d1b01d4", - "pkg:golang/github.com/stretchr/testify@v1.5.1", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/google.golang.org/protobuf@v1.23.0" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go@v0.72.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go/storage@v1.10.0", - "pkg:golang/github.com/golang/mock@v1.4.4", - "pkg:golang/github.com/golang/protobuf@v1.4.3", - "pkg:golang/github.com/google/go-cmp@v0.5.2", - "pkg:golang/github.com/google/martian/v3@v3.1.0", - "pkg:golang/github.com/google/pprof@v0.0.0-20201023163331-3e6fc7fc9c4c", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/jstemmer/go-junit-report@v0.9.1", - "pkg:golang/go.opencensus.io@v0.22.5", - "pkg:golang/golang.org/x/lint@v0.0.0-20200302205851-738671d3881b", - "pkg:golang/golang.org/x/net@v0.0.0-20201031054903-ff519b6c9102", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20200902213428-5d25da1a8d43", - "pkg:golang/golang.org/x/text@v0.3.4", - "pkg:golang/golang.org/x/tools@v0.0.0-20201110124207-079ba7bd75cd", - "pkg:golang/google.golang.org/api@v0.35.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20201109203340-2640f1f9cdfb", - "pkg:golang/google.golang.org/grpc@v1.33.2" - ] - }, - { - "ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20201109201403-9fd604954f58", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.65.0", - "pkg:golang/golang.org/x/net@v0.0.0-20200822124328-c89045814202", - "pkg:golang/google.golang.org/appengine@v1.6.6" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20201201145000-ef89a241ccb3", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20201201161351-ac6f37ff4c2a", - "dependsOn": [ - "pkg:golang/github.com/yuin/goldmark@v1.2.1", - "pkg:golang/golang.org/x/mod@v0.3.0", - "pkg:golang/golang.org/x/net@v0.0.0-20201021035429-f5854403a974", - "pkg:golang/golang.org/x/sync@v0.0.0-20201020160332-67f06af15bc9", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20201201144952-b05cb90ed32e", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.4.1", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/google.golang.org/protobuf@v1.24.0" - ] - }, - { - "ref": "pkg:golang/github.com/google/go-cmp@v0.5.2", - "dependsOn": [ - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543" - ] - }, - { - "ref": "pkg:golang/github.com/google/pprof@v0.0.0-20201023163331-3e6fc7fc9c4c", - "dependsOn": [ - "pkg:golang/github.com/chzyer/logex@v1.1.10", - "pkg:golang/github.com/chzyer/readline@v0.0.0-20180603132655-2972be24d48e", - "pkg:golang/github.com/chzyer/test@v0.0.0-20180213035817-a1ea475d72b1", - "pkg:golang/github.com/ianlancetaylor/demangle@v0.0.0-20200824232613-28f6c0f3b639", - "pkg:golang/golang.org/x/sys@v0.0.0-20191204072324-ce4227a45e2e" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20201031054903-ff519b6c9102", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20200622213623-75b288015ac9", - "pkg:golang/golang.org/x/sys@v0.0.0-20200930185726-fdedc70b468f", - "pkg:golang/golang.org/x/text@v0.3.3" - ] - }, - { - "ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20200902213428-5d25da1a8d43", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.65.0", - "pkg:golang/golang.org/x/net@v0.0.0-20200822124328-c89045814202", - "pkg:golang/google.golang.org/appengine@v1.6.6" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20201110124207-079ba7bd75cd", - "dependsOn": [ - "pkg:golang/github.com/yuin/goldmark@v1.2.1", - "pkg:golang/golang.org/x/mod@v0.3.0", - "pkg:golang/golang.org/x/net@v0.0.0-20201021035429-f5854403a974", - "pkg:golang/golang.org/x/sync@v0.0.0-20201020160332-67f06af15bc9", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1" - ] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.35.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.65.0", - "pkg:golang/github.com/google/go-cmp@v0.5.2", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/go.opencensus.io@v0.22.4", - "pkg:golang/golang.org/x/lint@v0.0.0-20200302205851-738671d3881b", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20200902213428-5d25da1a8d43", - "pkg:golang/golang.org/x/sync@v0.0.0-20200625203802-6e8e738ad208", - "pkg:golang/golang.org/x/sys@v0.0.0-20200905004654-be1d3432aa8f", - "pkg:golang/golang.org/x/tools@v0.0.0-20200904185747-39188db58858", - "pkg:golang/google.golang.org/appengine@v1.6.6", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200904004341-0bd0a958aa1d", - "pkg:golang/google.golang.org/grpc@v1.31.1" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20201109203340-2640f1f9cdfb", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.4.1", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/google.golang.org/protobuf@v1.24.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200905004654-be1d3432aa8f", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200904185747-39188db58858", - "dependsOn": [ - "pkg:golang/github.com/yuin/goldmark@v1.2.1", - "pkg:golang/golang.org/x/mod@v0.3.0", - "pkg:golang/golang.org/x/net@v0.0.0-20200822124328-c89045814202", - "pkg:golang/golang.org/x/sync@v0.0.0-20200625203802-6e8e738ad208", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200904004341-0bd0a958aa1d", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.4.1", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/google.golang.org/protobuf@v1.24.0" - ] - }, - { - "ref": "pkg:golang/google.golang.org/grpc@v1.31.1", - "dependsOn": [ - "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20191209042840-269d4d468f6f", - "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.4", - "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", - "pkg:golang/github.com/golang/protobuf@v1.3.3", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20180821212333-d2e6202438be", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55" - ] - } - ] + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-08-07T00:00:00.000Z", + "component": { + "group": "github.com/GoogleCloudPlatform/microservices-demo/src", + "name": "checkoutservice", + "version": "v0.0.0", + "purl": "pkg:golang/github.com/GoogleCloudPlatform/microservices-demo/src/checkoutservice@v0.0.0", + "type": "application", + "bom-ref": "pkg:golang/github.com/GoogleCloudPlatform/microservices-demo/src/checkoutservice@v0.0.0" + } + }, + "components": [ + { + "group": "cloud.google.com/go", + "name": "profiler", + "version": "v0.3.0", + "purl": "pkg:golang/cloud.google.com/go/profiler@v0.3.0", + "type": "library", + "bom-ref": "pkg:golang/cloud.google.com/go/profiler@v0.3.0" + }, + { + "group": "contrib.go.opencensus.io/exporter", + "name": "jaeger", + "version": "v0.2.1", + "purl": "pkg:golang/contrib.go.opencensus.io/exporter/jaeger@v0.2.1", + "type": "library", + "bom-ref": "pkg:golang/contrib.go.opencensus.io/exporter/jaeger@v0.2.1" + }, + { + "group": "contrib.go.opencensus.io/exporter", + "name": "stackdriver", + "version": "v0.13.12", + "purl": "pkg:golang/contrib.go.opencensus.io/exporter/stackdriver@v0.13.12", + "type": "library", + "bom-ref": "pkg:golang/contrib.go.opencensus.io/exporter/stackdriver@v0.13.12" + }, + { + "group": "github.com/golang", + "name": "protobuf", + "version": "v1.5.2", + "purl": "pkg:golang/github.com/golang/protobuf@v1.5.2", + "type": "library", + "bom-ref": "pkg:golang/github.com/golang/protobuf@v1.5.2" + }, + { + "group": "github.com/google", + "name": "uuid", + "version": "v1.3.0", + "purl": "pkg:golang/github.com/google/uuid@v1.3.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/google/uuid@v1.3.0" + }, + { + "group": "github.com/sirupsen", + "name": "logrus", + "version": "v1.8.1", + "purl": "pkg:golang/github.com/sirupsen/logrus@v1.8.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/sirupsen/logrus@v1.8.1" + }, + { + "group": "golang.org/x", + "name": "net", + "version": "v0.0.0-20220802222814-0bcc04d9c69b", + "purl": "pkg:golang/golang.org/x/net@v0.0.0-20220802222814-0bcc04d9c69b", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20220802222814-0bcc04d9c69b" + }, + { + "group": "google.golang.org", + "name": "grpc", + "version": "v1.48.0", + "purl": "pkg:golang/google.golang.org/grpc@v1.48.0", + "type": "library", + "bom-ref": "pkg:golang/google.golang.org/grpc@v1.48.0" + }, + { + "group": "cloud.google.com", + "name": "go", + "version": "v0.100.2", + "purl": "pkg:golang/cloud.google.com/go@v0.100.2", + "type": "library", + "bom-ref": "pkg:golang/cloud.google.com/go@v0.100.2" + }, + { + "group": "cloud.google.com/go", + "name": "compute", + "version": "v1.6.1", + "purl": "pkg:golang/cloud.google.com/go/compute@v1.6.1", + "type": "library", + "bom-ref": "pkg:golang/cloud.google.com/go/compute@v1.6.1" + }, + { + "group": "github.com/google", + "name": "go-cmp", + "version": "v0.5.8", + "purl": "pkg:golang/github.com/google/go-cmp@v0.5.8", + "type": "library", + "bom-ref": "pkg:golang/github.com/google/go-cmp@v0.5.8" + }, + { + "group": "github.com/google/martian", + "name": "v3", + "version": "v3.2.1", + "purl": "pkg:golang/github.com/google/martian/v3@v3.2.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/google/martian/v3@v3.2.1" + }, + { + "group": "github.com/googleapis/gax-go", + "name": "v2", + "version": "v2.4.0", + "purl": "pkg:golang/github.com/googleapis/gax-go/v2@v2.4.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/googleapis/gax-go/v2@v2.4.0" + }, + { + "name": "go.opencensus.io", + "version": "v0.23.0", + "purl": "pkg:golang/go.opencensus.io@v0.23.0", + "type": "library", + "bom-ref": "pkg:golang/go.opencensus.io@v0.23.0" + }, + { + "group": "golang.org/x", + "name": "oauth2", + "version": "v0.0.0-20220411215720-9780585627b5", + "purl": "pkg:golang/golang.org/x/oauth2@v0.0.0-20220411215720-9780585627b5", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20220411215720-9780585627b5" + }, + { + "group": "golang.org/x", + "name": "xerrors", + "version": "v0.0.0-20220411194840-2f41105eb62f", + "purl": "pkg:golang/golang.org/x/xerrors@v0.0.0-20220411194840-2f41105eb62f", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/xerrors@v0.0.0-20220411194840-2f41105eb62f" + }, + { + "group": "google.golang.org", + "name": "api", + "version": "v0.78.0", + "purl": "pkg:golang/google.golang.org/api@v0.78.0", + "type": "library", + "bom-ref": "pkg:golang/google.golang.org/api@v0.78.0" + }, + { + "group": "google.golang.org", + "name": "genproto", + "version": "v0.0.0-20220518221133-4f43b3371335", + "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20220518221133-4f43b3371335", + "type": "library", + "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20220518221133-4f43b3371335" + }, + { + "group": "google.golang.org", + "name": "protobuf", + "version": "v1.28.0", + "purl": "pkg:golang/google.golang.org/protobuf@v1.28.0", + "type": "library", + "bom-ref": "pkg:golang/google.golang.org/protobuf@v1.28.0" + }, + { + "group": "cloud.google.com/go", + "name": "monitoring", + "version": "v1.1.0", + "purl": "pkg:golang/cloud.google.com/go/monitoring@v1.1.0", + "type": "library", + "bom-ref": "pkg:golang/cloud.google.com/go/monitoring@v1.1.0" + }, + { + "group": "cloud.google.com/go", + "name": "storage", + "version": "v1.22.1", + "purl": "pkg:golang/cloud.google.com/go/storage@v1.22.1", + "type": "library", + "bom-ref": "pkg:golang/cloud.google.com/go/storage@v1.22.1" + }, + { + "group": "github.com/golang", + "name": "mock", + "version": "v1.6.0", + "purl": "pkg:golang/github.com/golang/mock@v1.6.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/golang/mock@v1.6.0" + }, + { + "group": "github.com/google", + "name": "pprof", + "version": "v0.0.0-20220412212628-83db2b799d1f", + "purl": "pkg:golang/github.com/google/pprof@v0.0.0-20220412212628-83db2b799d1f", + "type": "library", + "bom-ref": "pkg:golang/github.com/google/pprof@v0.0.0-20220412212628-83db2b799d1f" + }, + { + "group": "cloud.google.com/go", + "name": "trace", + "version": "v1.0.0", + "purl": "pkg:golang/cloud.google.com/go/trace@v1.0.0", + "type": "library", + "bom-ref": "pkg:golang/cloud.google.com/go/trace@v1.0.0" + }, + { + "group": "github.com/uber", + "name": "jaeger-client-go", + "version": "v2.25.0+incompatible", + "purl": "pkg:golang/github.com/uber/jaeger-client-go@v2.25.0%2Bincompatible", + "type": "library", + "bom-ref": "pkg:golang/github.com/uber/jaeger-client-go@v2.25.0%2Bincompatible" + }, + { + "group": "golang.org/x", + "name": "sync", + "version": "v0.0.0-20210220032951-036812b2e83c", + "purl": "pkg:golang/golang.org/x/sync@v0.0.0-20210220032951-036812b2e83c", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/sync@v0.0.0-20210220032951-036812b2e83c" + }, + { + "group": "github.com/aws", + "name": "aws-sdk-go", + "version": "v1.43.31", + "purl": "pkg:golang/github.com/aws/aws-sdk-go@v1.43.31", + "type": "library", + "bom-ref": "pkg:golang/github.com/aws/aws-sdk-go@v1.43.31" + }, + { + "group": "github.com/census-instrumentation", + "name": "opencensus-proto", + "version": "v0.3.0", + "purl": "pkg:golang/github.com/census-instrumentation/opencensus-proto@v0.3.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/census-instrumentation/opencensus-proto@v0.3.0" + }, + { + "group": "github.com/jstemmer", + "name": "go-junit-report", + "version": "v0.9.1", + "purl": "pkg:golang/github.com/jstemmer/go-junit-report@v0.9.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/jstemmer/go-junit-report@v0.9.1" + }, + { + "group": "github.com/prometheus", + "name": "prometheus", + "version": "v2.5.0+incompatible", + "purl": "pkg:golang/github.com/prometheus/prometheus@v2.5.0%2Bincompatible", + "type": "library", + "bom-ref": "pkg:golang/github.com/prometheus/prometheus@v2.5.0%2Bincompatible" + }, + { + "group": "golang.org/x", + "name": "lint", + "version": "v0.0.0-20210508222113-6edffad5e616", + "purl": "pkg:golang/golang.org/x/lint@v0.0.0-20210508222113-6edffad5e616", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/lint@v0.0.0-20210508222113-6edffad5e616" + }, + { + "group": "golang.org/x", + "name": "tools", + "version": "v0.1.5", + "purl": "pkg:golang/golang.org/x/tools@v0.1.5", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/tools@v0.1.5" + }, + { + "group": "honnef.co/go", + "name": "tools", + "version": "v0.0.1-2020.1.4", + "purl": "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.4", + "type": "library", + "bom-ref": "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.4" + }, + { + "group": "github.com/jmespath", + "name": "go-jmespath", + "version": "v0.4.0", + "purl": "pkg:golang/github.com/jmespath/go-jmespath@v0.4.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/jmespath/go-jmespath@v0.4.0" + }, + { + "group": "github.com/pkg", + "name": "errors", + "version": "v0.9.1", + "purl": "pkg:golang/github.com/pkg/errors@v0.9.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/pkg/errors@v0.9.1" + }, + { + "group": "github.com/cespare", + "name": "xxhash", + "version": "v1.1.0", + "purl": "pkg:golang/github.com/cespare/xxhash@v1.1.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/cespare/xxhash@v1.1.0" + }, + { + "group": "github.com/OneOfOne", + "name": "xxhash", + "version": "v1.2.2", + "purl": "pkg:golang/github.com/OneOfOne/xxhash@v1.2.2", + "type": "library", + "bom-ref": "pkg:golang/github.com/OneOfOne/xxhash@v1.2.2" + }, + { + "group": "github.com/spaolacci", + "name": "murmur3", + "version": "v0.0.0-20180118202830-f09979ecbc72", + "purl": "pkg:golang/github.com/spaolacci/murmur3@v0.0.0-20180118202830-f09979ecbc72", + "type": "library", + "bom-ref": "pkg:golang/github.com/spaolacci/murmur3@v0.0.0-20180118202830-f09979ecbc72" + }, + { + "group": "github.com/cncf/udpa", + "name": "go", + "version": "v0.0.0-20210930031921-04548b0d99d4", + "purl": "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20210930031921-04548b0d99d4", + "type": "library", + "bom-ref": "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20210930031921-04548b0d99d4" + }, + { + "group": "github.com/cncf/xds", + "name": "go", + "version": "v0.0.0-20211011173535-cb28da3451f1", + "purl": "pkg:golang/github.com/cncf/xds/go@v0.0.0-20211011173535-cb28da3451f1", + "type": "library", + "bom-ref": "pkg:golang/github.com/cncf/xds/go@v0.0.0-20211011173535-cb28da3451f1" + }, + { + "group": "github.com/envoyproxy", + "name": "protoc-gen-validate", + "version": "v0.1.0", + "purl": "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0" + }, + { + "group": "github.com/envoyproxy", + "name": "go-control-plane", + "version": "v0.10.2-0.20220325020618-49ff273808a1", + "purl": "pkg:golang/github.com/envoyproxy/go-control-plane@v0.10.2-0.20220325020618-49ff273808a1", + "type": "library", + "bom-ref": "pkg:golang/github.com/envoyproxy/go-control-plane@v0.10.2-0.20220325020618-49ff273808a1" + }, + { + "group": "github.com/prometheus", + "name": "client_model", + "version": "v0.0.0-20190812154241-14fe0d1b01d4", + "purl": "pkg:golang/github.com/prometheus/client_model@v0.0.0-20190812154241-14fe0d1b01d4", + "type": "library", + "bom-ref": "pkg:golang/github.com/prometheus/client_model@v0.0.0-20190812154241-14fe0d1b01d4" + }, + { + "group": "github.com/stretchr", + "name": "testify", + "version": "v1.7.0", + "purl": "pkg:golang/github.com/stretchr/testify@v1.7.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/stretchr/testify@v1.7.0" + }, + { + "group": "go.opentelemetry.io/proto", + "name": "otlp", + "version": "v0.7.0", + "purl": "pkg:golang/go.opentelemetry.io/proto/otlp@v0.7.0", + "type": "library", + "bom-ref": "pkg:golang/go.opentelemetry.io/proto/otlp@v0.7.0" + }, + { + "group": "github.com/chzyer", + "name": "logex", + "version": "v1.1.10", + "purl": "pkg:golang/github.com/chzyer/logex@v1.1.10", + "type": "library", + "bom-ref": "pkg:golang/github.com/chzyer/logex@v1.1.10" + }, + { + "group": "github.com/chzyer", + "name": "readline", + "version": "v0.0.0-20180603132655-2972be24d48e", + "purl": "pkg:golang/github.com/chzyer/readline@v0.0.0-20180603132655-2972be24d48e", + "type": "library", + "bom-ref": "pkg:golang/github.com/chzyer/readline@v0.0.0-20180603132655-2972be24d48e" + }, + { + "group": "github.com/chzyer", + "name": "test", + "version": "v0.0.0-20180213035817-a1ea475d72b1", + "purl": "pkg:golang/github.com/chzyer/test@v0.0.0-20180213035817-a1ea475d72b1", + "type": "library", + "bom-ref": "pkg:golang/github.com/chzyer/test@v0.0.0-20180213035817-a1ea475d72b1" + }, + { + "group": "github.com/ianlancetaylor", + "name": "demangle", + "version": "v0.0.0-20210905161508-09a460cdf81d", + "purl": "pkg:golang/github.com/ianlancetaylor/demangle@v0.0.0-20210905161508-09a460cdf81d", + "type": "library", + "bom-ref": "pkg:golang/github.com/ianlancetaylor/demangle@v0.0.0-20210905161508-09a460cdf81d" + }, + { + "group": "github.com/jmespath/go-jmespath/internal", + "name": "testify", + "version": "v1.5.1", + "purl": "pkg:golang/github.com/jmespath/go-jmespath/internal/testify@v1.5.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/jmespath/go-jmespath/internal/testify@v1.5.1" + }, + { + "group": "github.com/davecgh", + "name": "go-spew", + "version": "v1.1.1", + "purl": "pkg:golang/github.com/davecgh/go-spew@v1.1.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/davecgh/go-spew@v1.1.1" + }, + { + "group": "github.com/pmezard", + "name": "go-difflib", + "version": "v1.0.0", + "purl": "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/pmezard/go-difflib@v1.0.0" + }, + { + "group": "golang.org/x", + "name": "term", + "version": "v0.0.0-20210927222741-03fcf44c2211", + "purl": "pkg:golang/golang.org/x/term@v0.0.0-20210927222741-03fcf44c2211", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/term@v0.0.0-20210927222741-03fcf44c2211" + }, + { + "group": "golang.org/x", + "name": "text", + "version": "v0.3.7", + "purl": "pkg:golang/golang.org/x/text@v0.3.7", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/text@v0.3.7" + }, + { + "group": "google.golang.org", + "name": "appengine", + "version": "v1.6.7", + "purl": "pkg:golang/google.golang.org/appengine@v1.6.7", + "type": "library", + "bom-ref": "pkg:golang/google.golang.org/appengine@v1.6.7" + }, + { + "group": "github.com/cespare/xxhash", + "name": "v2", + "version": "v2.1.1", + "purl": "pkg:golang/github.com/cespare/xxhash/v2@v2.1.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/cespare/xxhash/v2@v2.1.1" + }, + { + "group": "github.com/golang", + "name": "glog", + "version": "v0.0.0-20160126235308-23def4e6c14b", + "purl": "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", + "type": "library", + "bom-ref": "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b" + }, + { + "group": "github.com/golang", + "name": "snappy", + "version": "v0.0.3", + "purl": "pkg:golang/github.com/golang/snappy@v0.0.3", + "type": "library", + "bom-ref": "pkg:golang/github.com/golang/snappy@v0.0.3" + }, + { + "group": "google.golang.org/grpc/cmd", + "name": "protoc-gen-go-grpc", + "version": "v1.1.0", + "purl": "pkg:golang/google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.1.0", + "type": "library", + "bom-ref": "pkg:golang/google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.1.0" + }, + { + "group": "github.com/golang", + "name": "groupcache", + "version": "v0.0.0-20210331224755-41bb18bfe9da", + "purl": "pkg:golang/github.com/golang/groupcache@v0.0.0-20210331224755-41bb18bfe9da", + "type": "library", + "bom-ref": "pkg:golang/github.com/golang/groupcache@v0.0.0-20210331224755-41bb18bfe9da" + }, + { + "group": "cloud.google.com/go", + "name": "iam", + "version": "v0.3.0", + "purl": "pkg:golang/cloud.google.com/go/iam@v0.3.0", + "type": "library", + "bom-ref": "pkg:golang/cloud.google.com/go/iam@v0.3.0" + }, + { + "group": "github.com/googleapis", + "name": "go-type-adapters", + "version": "v1.0.0", + "purl": "pkg:golang/github.com/googleapis/go-type-adapters@v1.0.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/googleapis/go-type-adapters@v1.0.0" + }, + { + "group": "golang.org/x", + "name": "mod", + "version": "v0.4.2", + "purl": "pkg:golang/golang.org/x/mod@v0.4.2", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/mod@v0.4.2" + }, + { + "group": "github.com/yuin", + "name": "goldmark", + "version": "v1.3.5", + "purl": "pkg:golang/github.com/yuin/goldmark@v1.3.5", + "type": "library", + "bom-ref": "pkg:golang/github.com/yuin/goldmark@v1.3.5" + }, + { + "group": "github.com/BurntSushi", + "name": "toml", + "version": "v0.3.1", + "purl": "pkg:golang/github.com/BurntSushi/toml@v0.3.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/BurntSushi/toml@v0.3.1" + }, + { + "group": "github.com/google", + "name": "renameio", + "version": "v0.1.0", + "purl": "pkg:golang/github.com/google/renameio@v0.1.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/google/renameio@v0.1.0" + }, + { + "group": "github.com/kisielk", + "name": "gotool", + "version": "v1.0.0", + "purl": "pkg:golang/github.com/kisielk/gotool@v1.0.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/kisielk/gotool@v1.0.0" + }, + { + "group": "github.com/rogpeppe", + "name": "go-internal", + "version": "v1.3.0", + "purl": "pkg:golang/github.com/rogpeppe/go-internal@v1.3.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/rogpeppe/go-internal@v1.3.0" + }, + { + "group": "github.com/stretchr", + "name": "objx", + "version": "v0.1.0", + "purl": "pkg:golang/github.com/stretchr/objx@v0.1.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/stretchr/objx@v0.1.0" + }, + { + "group": "gopkg.in", + "name": "yaml.v3", + "version": "v3.0.0-20200313102051-9f266ea9e77c", + "purl": "pkg:golang/gopkg.in/yaml.v3@v3.0.0-20200313102051-9f266ea9e77c", + "type": "library", + "bom-ref": "pkg:golang/gopkg.in/yaml.v3@v3.0.0-20200313102051-9f266ea9e77c" + }, + { + "group": "github.com/grpc-ecosystem", + "name": "grpc-gateway", + "version": "v1.16.0", + "purl": "pkg:golang/github.com/grpc-ecosystem/grpc-gateway@v1.16.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/grpc-ecosystem/grpc-gateway@v1.16.0" + }, + { + "group": "golang.org/x", + "name": "crypto", + "version": "v0.0.0-20200622213623-75b288015ac9", + "purl": "pkg:golang/golang.org/x/crypto@v0.0.0-20200622213623-75b288015ac9", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20200622213623-75b288015ac9" + }, + { + "group": "gopkg.in", + "name": "yaml.v2", + "version": "v2.2.8", + "purl": "pkg:golang/gopkg.in/yaml.v2@v2.2.8", + "type": "library", + "bom-ref": "pkg:golang/gopkg.in/yaml.v2@v2.2.8" + }, + { + "group": "cloud.google.com/go", + "name": "bigquery", + "version": "v1.8.0", + "purl": "pkg:golang/cloud.google.com/go/bigquery@v1.8.0", + "type": "library", + "bom-ref": "pkg:golang/cloud.google.com/go/bigquery@v1.8.0" + }, + { + "group": "golang.org/x", + "name": "exp", + "version": "v0.0.0-20200224162631-6cc2880d07d6", + "purl": "pkg:golang/golang.org/x/exp@v0.0.0-20200224162631-6cc2880d07d6", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/exp@v0.0.0-20200224162631-6cc2880d07d6" + }, + { + "group": "github.com/client9", + "name": "misspell", + "version": "v0.3.4", + "purl": "pkg:golang/github.com/client9/misspell@v0.3.4", + "type": "library", + "bom-ref": "pkg:golang/github.com/client9/misspell@v0.3.4" + }, + { + "group": "cloud.google.com/go", + "name": "datastore", + "version": "v1.1.0", + "purl": "pkg:golang/cloud.google.com/go/datastore@v1.1.0", + "type": "library", + "bom-ref": "pkg:golang/cloud.google.com/go/datastore@v1.1.0" + }, + { + "group": "cloud.google.com/go", + "name": "pubsub", + "version": "v1.3.1", + "purl": "pkg:golang/cloud.google.com/go/pubsub@v1.3.1", + "type": "library", + "bom-ref": "pkg:golang/cloud.google.com/go/pubsub@v1.3.1" + }, + { + "group": "github.com/google", + "name": "martian", + "version": "v2.1.0+incompatible", + "purl": "pkg:golang/github.com/google/martian@v2.1.0%2Bincompatible", + "type": "library", + "bom-ref": "pkg:golang/github.com/google/martian@v2.1.0%2Bincompatible" + }, + { + "group": "gopkg.in", + "name": "errgo.v2", + "version": "v2.1.0", + "purl": "pkg:golang/gopkg.in/errgo.v2@v2.1.0", + "type": "library", + "bom-ref": "pkg:golang/gopkg.in/errgo.v2@v2.1.0" + }, + { + "group": "gopkg.in", + "name": "check.v1", + "version": "v1.0.0-20180628173108-788fd7840127", + "purl": "pkg:golang/gopkg.in/check.v1@v1.0.0-20180628173108-788fd7840127", + "type": "library", + "bom-ref": "pkg:golang/gopkg.in/check.v1@v1.0.0-20180628173108-788fd7840127" + }, + { + "group": "github.com/antihax", + "name": "optional", + "version": "v1.0.0", + "purl": "pkg:golang/github.com/antihax/optional@v1.0.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/antihax/optional@v1.0.0" + }, + { + "group": "github.com/ghodss", + "name": "yaml", + "version": "v1.0.0", + "purl": "pkg:golang/github.com/ghodss/yaml@v1.0.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/ghodss/yaml@v1.0.0" + }, + { + "group": "github.com/rogpeppe", + "name": "fastuuid", + "version": "v1.2.0", + "purl": "pkg:golang/github.com/rogpeppe/fastuuid@v1.2.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/rogpeppe/fastuuid@v1.2.0" + }, + { + "group": "golang.org/x", + "name": "time", + "version": "v0.0.0-20191024005414-555d28b269f0", + "purl": "pkg:golang/golang.org/x/time@v0.0.0-20191024005414-555d28b269f0", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/time@v0.0.0-20191024005414-555d28b269f0" + }, + { + "group": "rsc.io/quote", + "name": "v3", + "version": "v3.1.0", + "purl": "pkg:golang/rsc.io/quote/v3@v3.1.0", + "type": "library", + "bom-ref": "pkg:golang/rsc.io/quote/v3@v3.1.0" + }, + { + "group": "github.com/hashicorp", + "name": "golang-lru", + "version": "v0.5.1", + "purl": "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1" + }, + { + "group": "github.com/kr", + "name": "pretty", + "version": "v0.1.0", + "purl": "pkg:golang/github.com/kr/pretty@v0.1.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/kr/pretty@v0.1.0" + }, + { + "group": "dmitri.shuralyov.com/gpu", + "name": "mtl", + "version": "v0.0.0-20190408044501-666a987793e9", + "purl": "pkg:golang/dmitri.shuralyov.com/gpu/mtl@v0.0.0-20190408044501-666a987793e9", + "type": "library", + "bom-ref": "pkg:golang/dmitri.shuralyov.com/gpu/mtl@v0.0.0-20190408044501-666a987793e9" + }, + { + "group": "github.com/BurntSushi", + "name": "xgb", + "version": "v0.0.0-20160522181843-27f122750802", + "purl": "pkg:golang/github.com/BurntSushi/xgb@v0.0.0-20160522181843-27f122750802", + "type": "library", + "bom-ref": "pkg:golang/github.com/BurntSushi/xgb@v0.0.0-20160522181843-27f122750802" + }, + { + "group": "github.com/go-gl/glfw/v3.3", + "name": "glfw", + "version": "v0.0.0-20200222043503-6f7a984d4dc4", + "purl": "pkg:golang/github.com/go-gl/glfw/v3.3/glfw@v0.0.0-20200222043503-6f7a984d4dc4", + "type": "library", + "bom-ref": "pkg:golang/github.com/go-gl/glfw/v3.3/glfw@v0.0.0-20200222043503-6f7a984d4dc4" + }, + { + "group": "golang.org/x", + "name": "image", + "version": "v0.0.0-20190802002840-cff245a6509b", + "purl": "pkg:golang/golang.org/x/image@v0.0.0-20190802002840-cff245a6509b", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/image@v0.0.0-20190802002840-cff245a6509b" + }, + { + "group": "golang.org/x", + "name": "mobile", + "version": "v0.0.0-20190719004257-d2bd2a29d028", + "purl": "pkg:golang/golang.org/x/mobile@v0.0.0-20190719004257-d2bd2a29d028", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/mobile@v0.0.0-20190719004257-d2bd2a29d028" + }, + { + "group": "rsc.io", + "name": "sampler", + "version": "v1.3.0", + "purl": "pkg:golang/rsc.io/sampler@v1.3.0", + "type": "library", + "bom-ref": "pkg:golang/rsc.io/sampler@v1.3.0" + }, + { + "group": "github.com/google", + "name": "btree", + "version": "v1.0.0", + "purl": "pkg:golang/github.com/google/btree@v1.0.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/google/btree@v1.0.0" + }, + { + "group": "github.com/kr", + "name": "text", + "version": "v0.1.0", + "purl": "pkg:golang/github.com/kr/text@v0.1.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/kr/text@v0.1.0" + }, + { + "group": "github.com/kr", + "name": "pty", + "version": "v1.1.1", + "purl": "pkg:golang/github.com/kr/pty@v1.1.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/kr/pty@v1.1.1" + }, + { + "group": "rsc.io", + "name": "binaryregexp", + "version": "v0.2.0", + "purl": "pkg:golang/rsc.io/binaryregexp@v0.2.0", + "type": "library", + "bom-ref": "pkg:golang/rsc.io/binaryregexp@v0.2.0" + }, + { + "group": "github.com/go-gl", + "name": "glfw", + "version": "v0.0.0-20190409004039-e6da0acd62b1", + "purl": "pkg:golang/github.com/go-gl/glfw@v0.0.0-20190409004039-e6da0acd62b1", + "type": "library", + "bom-ref": "pkg:golang/github.com/go-gl/glfw@v0.0.0-20190409004039-e6da0acd62b1" + } + ], + "dependencies": [ + { + "ref": "pkg:golang/github.com/GoogleCloudPlatform/microservices-demo/src/checkoutservice@v0.0.0", + "dependsOn": [ + "pkg:golang/cloud.google.com/go/profiler@v0.3.0", + "pkg:golang/contrib.go.opencensus.io/exporter/jaeger@v0.2.1", + "pkg:golang/contrib.go.opencensus.io/exporter/stackdriver@v0.13.12", + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/github.com/google/uuid@v1.3.0", + "pkg:golang/github.com/sirupsen/logrus@v1.8.1", + "pkg:golang/golang.org/x/net@v0.0.0-20220802222814-0bcc04d9c69b", + "pkg:golang/google.golang.org/grpc@v1.48.0" + ] + }, + { + "ref": "pkg:golang/cloud.google.com/go/profiler@v0.3.0", + "dependsOn": [ + "pkg:golang/cloud.google.com/go@v0.100.2", + "pkg:golang/cloud.google.com/go/compute@v1.6.1", + "pkg:golang/cloud.google.com/go/storage@v1.22.1", + "pkg:golang/github.com/golang/mock@v1.6.0", + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/github.com/google/pprof@v0.0.0-20220412212628-83db2b799d1f", + "pkg:golang/github.com/googleapis/gax-go/v2@v2.4.0", + "pkg:golang/golang.org/x/oauth2@v0.0.0-20220411215720-9780585627b5", + "pkg:golang/google.golang.org/api@v0.78.0", + "pkg:golang/google.golang.org/genproto@v0.0.0-20220518221133-4f43b3371335", + "pkg:golang/google.golang.org/grpc@v1.48.0" + ] + }, + { + "ref": "pkg:golang/contrib.go.opencensus.io/exporter/jaeger@v0.2.1", + "dependsOn": [ + "pkg:golang/github.com/uber/jaeger-client-go@v2.25.0%2Bincompatible", + "pkg:golang/go.opencensus.io@v0.23.0", + "pkg:golang/golang.org/x/sync@v0.0.0-20210220032951-036812b2e83c", + "pkg:golang/google.golang.org/api@v0.78.0" + ] + }, + { + "ref": "pkg:golang/contrib.go.opencensus.io/exporter/stackdriver@v0.13.12", + "dependsOn": [ + "pkg:golang/cloud.google.com/go@v0.100.2", + "pkg:golang/cloud.google.com/go/monitoring@v1.1.0", + "pkg:golang/cloud.google.com/go/trace@v1.0.0", + "pkg:golang/github.com/aws/aws-sdk-go@v1.43.31", + "pkg:golang/github.com/census-instrumentation/opencensus-proto@v0.3.0", + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/github.com/google/go-cmp@v0.5.8", + "pkg:golang/github.com/jstemmer/go-junit-report@v0.9.1", + "pkg:golang/github.com/prometheus/prometheus@v2.5.0%2Bincompatible", + "pkg:golang/go.opencensus.io@v0.23.0", + "pkg:golang/golang.org/x/lint@v0.0.0-20210508222113-6edffad5e616", + "pkg:golang/golang.org/x/net@v0.0.0-20220802222814-0bcc04d9c69b", + "pkg:golang/golang.org/x/oauth2@v0.0.0-20220411215720-9780585627b5", + "pkg:golang/golang.org/x/tools@v0.1.5", + "pkg:golang/google.golang.org/api@v0.78.0", + "pkg:golang/google.golang.org/genproto@v0.0.0-20220518221133-4f43b3371335", + "pkg:golang/google.golang.org/grpc@v1.48.0", + "pkg:golang/google.golang.org/protobuf@v1.28.0", + "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.4" + ] + }, + { + "ref": "pkg:golang/github.com/golang/protobuf@v1.5.2", + "dependsOn": [ + "pkg:golang/github.com/google/go-cmp@v0.5.8", + "pkg:golang/google.golang.org/protobuf@v1.28.0" + ] + }, + { + "ref": "pkg:golang/github.com/google/uuid@v1.3.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/sirupsen/logrus@v1.8.1", + "dependsOn": [ + "pkg:golang/github.com/davecgh/go-spew@v1.1.1", + "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", + "pkg:golang/github.com/stretchr/testify@v1.7.0" + ] + }, + { + "ref": "pkg:golang/golang.org/x/net@v0.0.0-20220802222814-0bcc04d9c69b", + "dependsOn": [ + "pkg:golang/golang.org/x/term@v0.0.0-20210927222741-03fcf44c2211", + "pkg:golang/golang.org/x/text@v0.3.7", + "pkg:golang/golang.org/x/crypto@v0.0.0-20200622213623-75b288015ac9" + ] + }, + { + "ref": "pkg:golang/google.golang.org/grpc@v1.48.0", + "dependsOn": [ + "pkg:golang/github.com/cespare/xxhash/v2@v2.1.1", + "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20210930031921-04548b0d99d4", + "pkg:golang/github.com/cncf/xds/go@v0.0.0-20211011173535-cb28da3451f1", + "pkg:golang/github.com/envoyproxy/go-control-plane@v0.10.2-0.20220325020618-49ff273808a1", + "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/github.com/google/go-cmp@v0.5.8", + "pkg:golang/github.com/google/uuid@v1.3.0", + "pkg:golang/golang.org/x/net@v0.0.0-20220802222814-0bcc04d9c69b", + "pkg:golang/golang.org/x/oauth2@v0.0.0-20220411215720-9780585627b5", + "pkg:golang/google.golang.org/genproto@v0.0.0-20220518221133-4f43b3371335", + "pkg:golang/google.golang.org/protobuf@v1.28.0", + "pkg:golang/github.com/cespare/xxhash@v1.1.0", + "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", + "pkg:golang/github.com/golang/mock@v1.6.0", + "pkg:golang/cloud.google.com/go@v0.100.2", + "pkg:golang/github.com/BurntSushi/toml@v0.3.1", + "pkg:golang/github.com/client9/misspell@v0.3.4", + "pkg:golang/golang.org/x/lint@v0.0.0-20210508222113-6edffad5e616", + "pkg:golang/golang.org/x/sync@v0.0.0-20210220032951-036812b2e83c", + "pkg:golang/golang.org/x/tools@v0.1.5", + "pkg:golang/google.golang.org/appengine@v1.6.7", + "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.4", + "pkg:golang/golang.org/x/text@v0.3.7" + ] + }, + { + "ref": "pkg:golang/cloud.google.com/go@v0.100.2", + "dependsOn": [ + "pkg:golang/cloud.google.com/go/compute@v1.6.1", + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/github.com/google/go-cmp@v0.5.8", + "pkg:golang/github.com/google/martian/v3@v3.2.1", + "pkg:golang/github.com/googleapis/gax-go/v2@v2.4.0", + "pkg:golang/go.opencensus.io@v0.23.0", + "pkg:golang/golang.org/x/oauth2@v0.0.0-20220411215720-9780585627b5", + "pkg:golang/golang.org/x/xerrors@v0.0.0-20220411194840-2f41105eb62f", + "pkg:golang/google.golang.org/api@v0.78.0", + "pkg:golang/google.golang.org/genproto@v0.0.0-20220518221133-4f43b3371335", + "pkg:golang/google.golang.org/grpc@v1.48.0", + "pkg:golang/google.golang.org/protobuf@v1.28.0", + "pkg:golang/cloud.google.com/go/storage@v1.22.1", + "pkg:golang/github.com/golang/mock@v1.6.0", + "pkg:golang/github.com/google/pprof@v0.0.0-20220412212628-83db2b799d1f", + "pkg:golang/github.com/jstemmer/go-junit-report@v0.9.1", + "pkg:golang/golang.org/x/lint@v0.0.0-20210508222113-6edffad5e616", + "pkg:golang/golang.org/x/net@v0.0.0-20220802222814-0bcc04d9c69b", + "pkg:golang/golang.org/x/text@v0.3.7", + "pkg:golang/golang.org/x/tools@v0.1.5", + "pkg:golang/cloud.google.com/go/bigquery@v1.8.0", + "pkg:golang/cloud.google.com/go/datastore@v1.1.0", + "pkg:golang/cloud.google.com/go/pubsub@v1.3.1", + "pkg:golang/github.com/google/martian@v2.1.0%2Bincompatible", + "pkg:golang/golang.org/x/sync@v0.0.0-20210220032951-036812b2e83c", + "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.4", + "pkg:golang/google.golang.org/appengine@v1.6.7", + "pkg:golang/github.com/golang/groupcache@v0.0.0-20210331224755-41bb18bfe9da", + "pkg:golang/golang.org/x/exp@v0.0.0-20200224162631-6cc2880d07d6", + "pkg:golang/golang.org/x/mod@v0.4.2", + "pkg:golang/github.com/google/btree@v1.0.0", + "pkg:golang/golang.org/x/time@v0.0.0-20191024005414-555d28b269f0", + "pkg:golang/rsc.io/binaryregexp@v0.2.0" + ] + }, + { + "ref": "pkg:golang/cloud.google.com/go/compute@v1.6.1", + "dependsOn": [ + "pkg:golang/cloud.google.com/go@v0.100.2", + "pkg:golang/github.com/google/go-cmp@v0.5.8", + "pkg:golang/github.com/googleapis/gax-go/v2@v2.4.0", + "pkg:golang/google.golang.org/api@v0.78.0", + "pkg:golang/google.golang.org/genproto@v0.0.0-20220518221133-4f43b3371335", + "pkg:golang/google.golang.org/grpc@v1.48.0", + "pkg:golang/google.golang.org/protobuf@v1.28.0", + "pkg:golang/golang.org/x/xerrors@v0.0.0-20220411194840-2f41105eb62f" + ] + }, + { + "ref": "pkg:golang/github.com/google/go-cmp@v0.5.8", + "dependsOn": [ + "pkg:golang/golang.org/x/xerrors@v0.0.0-20220411194840-2f41105eb62f" + ] + }, + { + "ref": "pkg:golang/github.com/google/martian/v3@v3.2.1", + "dependsOn": [ + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/github.com/golang/snappy@v0.0.3", + "pkg:golang/golang.org/x/net@v0.0.0-20220802222814-0bcc04d9c69b", + "pkg:golang/google.golang.org/grpc@v1.48.0", + "pkg:golang/google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.1.0", + "pkg:golang/google.golang.org/protobuf@v1.28.0" + ] + }, + { + "ref": "pkg:golang/github.com/googleapis/gax-go/v2@v2.4.0", + "dependsOn": [ + "pkg:golang/github.com/google/go-cmp@v0.5.8", + "pkg:golang/google.golang.org/api@v0.78.0", + "pkg:golang/google.golang.org/genproto@v0.0.0-20220518221133-4f43b3371335", + "pkg:golang/google.golang.org/grpc@v1.48.0", + "pkg:golang/google.golang.org/protobuf@v1.28.0" + ] + }, + { + "ref": "pkg:golang/go.opencensus.io@v0.23.0", + "dependsOn": [ + "pkg:golang/github.com/golang/groupcache@v0.0.0-20210331224755-41bb18bfe9da", + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/github.com/google/go-cmp@v0.5.8", + "pkg:golang/github.com/stretchr/testify@v1.7.0", + "pkg:golang/golang.org/x/net@v0.0.0-20220802222814-0bcc04d9c69b", + "pkg:golang/google.golang.org/grpc@v1.48.0", + "pkg:golang/golang.org/x/text@v0.3.7", + "pkg:golang/google.golang.org/genproto@v0.0.0-20220518221133-4f43b3371335", + "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1" + ] + }, + { + "ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20220411215720-9780585627b5", + "dependsOn": [ + "pkg:golang/cloud.google.com/go@v0.100.2", + "pkg:golang/golang.org/x/net@v0.0.0-20220802222814-0bcc04d9c69b", + "pkg:golang/google.golang.org/appengine@v1.6.7", + "pkg:golang/golang.org/x/sync@v0.0.0-20210220032951-036812b2e83c" + ] + }, + { + "ref": "pkg:golang/golang.org/x/xerrors@v0.0.0-20220411194840-2f41105eb62f", + "dependsOn": [] + }, + { + "ref": "pkg:golang/google.golang.org/api@v0.78.0", + "dependsOn": [ + "pkg:golang/cloud.google.com/go/compute@v1.6.1", + "pkg:golang/github.com/google/go-cmp@v0.5.8", + "pkg:golang/github.com/googleapis/gax-go/v2@v2.4.0", + "pkg:golang/go.opencensus.io@v0.23.0", + "pkg:golang/golang.org/x/net@v0.0.0-20220802222814-0bcc04d9c69b", + "pkg:golang/golang.org/x/oauth2@v0.0.0-20220411215720-9780585627b5", + "pkg:golang/golang.org/x/sync@v0.0.0-20210220032951-036812b2e83c", + "pkg:golang/golang.org/x/xerrors@v0.0.0-20220411194840-2f41105eb62f", + "pkg:golang/google.golang.org/appengine@v1.6.7", + "pkg:golang/google.golang.org/genproto@v0.0.0-20220518221133-4f43b3371335", + "pkg:golang/google.golang.org/grpc@v1.48.0", + "pkg:golang/cloud.google.com/go@v0.100.2", + "pkg:golang/golang.org/x/lint@v0.0.0-20210508222113-6edffad5e616", + "pkg:golang/golang.org/x/tools@v0.1.5", + "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.4", + "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1", + "pkg:golang/golang.org/x/text@v0.3.7", + "pkg:golang/github.com/golang/protobuf@v1.5.2" + ] + }, + { + "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20220518221133-4f43b3371335", + "dependsOn": [ + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/golang.org/x/net@v0.0.0-20220802222814-0bcc04d9c69b", + "pkg:golang/golang.org/x/text@v0.3.7", + "pkg:golang/google.golang.org/grpc@v1.48.0", + "pkg:golang/google.golang.org/protobuf@v1.28.0", + "pkg:golang/golang.org/x/lint@v0.0.0-20210508222113-6edffad5e616", + "pkg:golang/golang.org/x/tools@v0.1.5", + "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.4", + "pkg:golang/golang.org/x/exp@v0.0.0-20200224162631-6cc2880d07d6", + "pkg:golang/golang.org/x/sync@v0.0.0-20210220032951-036812b2e83c" + ] + }, + { + "ref": "pkg:golang/google.golang.org/protobuf@v1.28.0", + "dependsOn": [ + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/github.com/google/go-cmp@v0.5.8", + "pkg:golang/google.golang.org/genproto@v0.0.0-20220518221133-4f43b3371335" + ] + }, + { + "ref": "pkg:golang/cloud.google.com/go/monitoring@v1.1.0", + "dependsOn": [ + "pkg:golang/cloud.google.com/go@v0.100.2", + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/github.com/googleapis/gax-go/v2@v2.4.0", + "pkg:golang/google.golang.org/api@v0.78.0", + "pkg:golang/google.golang.org/genproto@v0.0.0-20220518221133-4f43b3371335", + "pkg:golang/google.golang.org/grpc@v1.48.0", + "pkg:golang/google.golang.org/protobuf@v1.28.0" + ] + }, + { + "ref": "pkg:golang/cloud.google.com/go/storage@v1.22.1", + "dependsOn": [ + "pkg:golang/cloud.google.com/go@v0.100.2", + "pkg:golang/cloud.google.com/go/compute@v1.6.1", + "pkg:golang/cloud.google.com/go/iam@v0.3.0", + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/github.com/google/go-cmp@v0.5.8", + "pkg:golang/github.com/google/uuid@v1.3.0", + "pkg:golang/github.com/googleapis/gax-go/v2@v2.4.0", + "pkg:golang/github.com/googleapis/go-type-adapters@v1.0.0", + "pkg:golang/golang.org/x/oauth2@v0.0.0-20220411215720-9780585627b5", + "pkg:golang/golang.org/x/xerrors@v0.0.0-20220411194840-2f41105eb62f", + "pkg:golang/google.golang.org/api@v0.78.0", + "pkg:golang/google.golang.org/genproto@v0.0.0-20220518221133-4f43b3371335", + "pkg:golang/google.golang.org/grpc@v1.48.0", + "pkg:golang/google.golang.org/protobuf@v1.28.0", + "pkg:golang/cloud.google.com/go/bigquery@v1.8.0", + "pkg:golang/golang.org/x/net@v0.0.0-20220802222814-0bcc04d9c69b", + "pkg:golang/golang.org/x/tools@v0.1.5", + "pkg:golang/cloud.google.com/go/datastore@v1.1.0", + "pkg:golang/golang.org/x/exp@v0.0.0-20200224162631-6cc2880d07d6", + "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.4", + "pkg:golang/cloud.google.com/go/pubsub@v1.3.1", + "pkg:golang/github.com/golang/groupcache@v0.0.0-20210331224755-41bb18bfe9da", + "pkg:golang/github.com/jstemmer/go-junit-report@v0.9.1", + "pkg:golang/go.opencensus.io@v0.23.0", + "pkg:golang/google.golang.org/appengine@v1.6.7" + ] + }, + { + "ref": "pkg:golang/github.com/golang/mock@v1.6.0", + "dependsOn": [ + "pkg:golang/golang.org/x/mod@v0.4.2", + "pkg:golang/golang.org/x/tools@v0.1.5", + "pkg:golang/rsc.io/quote/v3@v3.1.0" + ] + }, + { + "ref": "pkg:golang/github.com/google/pprof@v0.0.0-20220412212628-83db2b799d1f", + "dependsOn": [ + "pkg:golang/github.com/chzyer/logex@v1.1.10", + "pkg:golang/github.com/chzyer/readline@v0.0.0-20180603132655-2972be24d48e", + "pkg:golang/github.com/chzyer/test@v0.0.0-20180213035817-a1ea475d72b1", + "pkg:golang/github.com/ianlancetaylor/demangle@v0.0.0-20210905161508-09a460cdf81d" + ] + }, + { + "ref": "pkg:golang/cloud.google.com/go/trace@v1.0.0", + "dependsOn": [ + "pkg:golang/cloud.google.com/go@v0.100.2", + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/github.com/googleapis/gax-go/v2@v2.4.0", + "pkg:golang/google.golang.org/api@v0.78.0", + "pkg:golang/google.golang.org/genproto@v0.0.0-20220518221133-4f43b3371335", + "pkg:golang/google.golang.org/grpc@v1.48.0", + "pkg:golang/google.golang.org/protobuf@v1.28.0" + ] + }, + { + "ref": "pkg:golang/github.com/uber/jaeger-client-go@v2.25.0%2Bincompatible", + "dependsOn": [] + }, + { + "ref": "pkg:golang/golang.org/x/sync@v0.0.0-20210220032951-036812b2e83c", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/aws/aws-sdk-go@v1.43.31", + "dependsOn": [ + "pkg:golang/github.com/jmespath/go-jmespath@v0.4.0", + "pkg:golang/github.com/pkg/errors@v0.9.1", + "pkg:golang/golang.org/x/net@v0.0.0-20220802222814-0bcc04d9c69b" + ] + }, + { + "ref": "pkg:golang/github.com/census-instrumentation/opencensus-proto@v0.3.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/jstemmer/go-junit-report@v0.9.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/prometheus/prometheus@v2.5.0%2Bincompatible", + "dependsOn": [] + }, + { + "ref": "pkg:golang/golang.org/x/lint@v0.0.0-20210508222113-6edffad5e616", + "dependsOn": [ + "pkg:golang/golang.org/x/tools@v0.1.5" + ] + }, + { + "ref": "pkg:golang/golang.org/x/tools@v0.1.5", + "dependsOn": [ + "pkg:golang/github.com/yuin/goldmark@v1.3.5", + "pkg:golang/golang.org/x/mod@v0.4.2", + "pkg:golang/golang.org/x/net@v0.0.0-20220802222814-0bcc04d9c69b", + "pkg:golang/golang.org/x/sync@v0.0.0-20210220032951-036812b2e83c", + "pkg:golang/golang.org/x/xerrors@v0.0.0-20220411194840-2f41105eb62f", + "pkg:golang/google.golang.org/appengine@v1.6.7" + ] + }, + { + "ref": "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.4", + "dependsOn": [ + "pkg:golang/github.com/BurntSushi/toml@v0.3.1", + "pkg:golang/github.com/google/renameio@v0.1.0", + "pkg:golang/github.com/kisielk/gotool@v1.0.0", + "pkg:golang/github.com/rogpeppe/go-internal@v1.3.0", + "pkg:golang/golang.org/x/mod@v0.4.2", + "pkg:golang/golang.org/x/tools@v0.1.5" + ] + }, + { + "ref": "pkg:golang/github.com/jmespath/go-jmespath@v0.4.0", + "dependsOn": [ + "pkg:golang/github.com/jmespath/go-jmespath/internal/testify@v1.5.1" + ] + }, + { + "ref": "pkg:golang/github.com/pkg/errors@v0.9.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/cespare/xxhash@v1.1.0", + "dependsOn": [ + "pkg:golang/github.com/OneOfOne/xxhash@v1.2.2", + "pkg:golang/github.com/spaolacci/murmur3@v0.0.0-20180118202830-f09979ecbc72" + ] + }, + { + "ref": "pkg:golang/github.com/OneOfOne/xxhash@v1.2.2", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/spaolacci/murmur3@v0.0.0-20180118202830-f09979ecbc72", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20210930031921-04548b0d99d4", + "dependsOn": [ + "pkg:golang/github.com/cncf/xds/go@v0.0.0-20211011173535-cb28da3451f1", + "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/google.golang.org/grpc@v1.48.0" + ] + }, + { + "ref": "pkg:golang/github.com/cncf/xds/go@v0.0.0-20211011173535-cb28da3451f1", + "dependsOn": [ + "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/google.golang.org/grpc@v1.48.0" + ] + }, + { + "ref": "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/envoyproxy/go-control-plane@v0.10.2-0.20220325020618-49ff273808a1", + "dependsOn": [ + "pkg:golang/github.com/census-instrumentation/opencensus-proto@v0.3.0", + "pkg:golang/github.com/cncf/xds/go@v0.0.0-20211011173535-cb28da3451f1", + "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/github.com/google/go-cmp@v0.5.8", + "pkg:golang/github.com/prometheus/client_model@v0.0.0-20190812154241-14fe0d1b01d4", + "pkg:golang/github.com/stretchr/testify@v1.7.0", + "pkg:golang/go.opentelemetry.io/proto/otlp@v0.7.0", + "pkg:golang/golang.org/x/net@v0.0.0-20220802222814-0bcc04d9c69b", + "pkg:golang/google.golang.org/genproto@v0.0.0-20220518221133-4f43b3371335", + "pkg:golang/google.golang.org/grpc@v1.48.0", + "pkg:golang/google.golang.org/protobuf@v1.28.0", + "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20210930031921-04548b0d99d4" + ] + }, + { + "ref": "pkg:golang/github.com/prometheus/client_model@v0.0.0-20190812154241-14fe0d1b01d4", + "dependsOn": [ + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/golang.org/x/sync@v0.0.0-20210220032951-036812b2e83c" + ] + }, + { + "ref": "pkg:golang/github.com/stretchr/testify@v1.7.0", + "dependsOn": [ + "pkg:golang/github.com/davecgh/go-spew@v1.1.1", + "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", + "pkg:golang/github.com/stretchr/objx@v0.1.0", + "pkg:golang/gopkg.in/yaml.v3@v3.0.0-20200313102051-9f266ea9e77c", + "pkg:golang/gopkg.in/yaml.v2@v2.2.8" + ] + }, + { + "ref": "pkg:golang/go.opentelemetry.io/proto/otlp@v0.7.0", + "dependsOn": [ + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/github.com/grpc-ecosystem/grpc-gateway@v1.16.0", + "pkg:golang/google.golang.org/grpc@v1.48.0", + "pkg:golang/google.golang.org/protobuf@v1.28.0" + ] + }, + { + "ref": "pkg:golang/github.com/chzyer/logex@v1.1.10", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/chzyer/readline@v0.0.0-20180603132655-2972be24d48e", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/chzyer/test@v0.0.0-20180213035817-a1ea475d72b1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/ianlancetaylor/demangle@v0.0.0-20210905161508-09a460cdf81d", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/jmespath/go-jmespath/internal/testify@v1.5.1", + "dependsOn": [ + "pkg:golang/github.com/davecgh/go-spew@v1.1.1", + "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", + "pkg:golang/github.com/stretchr/objx@v0.1.0", + "pkg:golang/gopkg.in/yaml.v2@v2.2.8" + ] + }, + { + "ref": "pkg:golang/github.com/davecgh/go-spew@v1.1.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/golang.org/x/term@v0.0.0-20210927222741-03fcf44c2211", + "dependsOn": [] + }, + { + "ref": "pkg:golang/golang.org/x/text@v0.3.7", + "dependsOn": [ + "pkg:golang/golang.org/x/tools@v0.1.5" + ] + }, + { + "ref": "pkg:golang/google.golang.org/appengine@v1.6.7", + "dependsOn": [ + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/golang.org/x/net@v0.0.0-20220802222814-0bcc04d9c69b", + "pkg:golang/golang.org/x/text@v0.3.7", + "pkg:golang/golang.org/x/crypto@v0.0.0-20200622213623-75b288015ac9", + "pkg:golang/golang.org/x/tools@v0.1.5" + ] + }, + { + "ref": "pkg:golang/github.com/cespare/xxhash/v2@v2.1.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/golang/snappy@v0.0.3", + "dependsOn": [] + }, + { + "ref": "pkg:golang/google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.1.0", + "dependsOn": [ + "pkg:golang/google.golang.org/protobuf@v1.28.0" + ] + }, + { + "ref": "pkg:golang/github.com/golang/groupcache@v0.0.0-20210331224755-41bb18bfe9da", + "dependsOn": [] + }, + { + "ref": "pkg:golang/cloud.google.com/go/iam@v0.3.0", + "dependsOn": [ + "pkg:golang/cloud.google.com/go@v0.100.2", + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/github.com/googleapis/gax-go/v2@v2.4.0", + "pkg:golang/google.golang.org/api@v0.78.0", + "pkg:golang/google.golang.org/genproto@v0.0.0-20220518221133-4f43b3371335", + "pkg:golang/google.golang.org/grpc@v1.48.0" + ] + }, + { + "ref": "pkg:golang/github.com/googleapis/go-type-adapters@v1.0.0", + "dependsOn": [ + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/google.golang.org/genproto@v0.0.0-20220518221133-4f43b3371335", + "pkg:golang/google.golang.org/protobuf@v1.28.0" + ] + }, + { + "ref": "pkg:golang/golang.org/x/mod@v0.4.2", + "dependsOn": [ + "pkg:golang/golang.org/x/crypto@v0.0.0-20200622213623-75b288015ac9", + "pkg:golang/golang.org/x/tools@v0.1.5", + "pkg:golang/golang.org/x/xerrors@v0.0.0-20220411194840-2f41105eb62f" + ] + }, + { + "ref": "pkg:golang/github.com/yuin/goldmark@v1.3.5", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/BurntSushi/toml@v0.3.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/google/renameio@v0.1.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/kisielk/gotool@v1.0.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/rogpeppe/go-internal@v1.3.0", + "dependsOn": [ + "pkg:golang/gopkg.in/errgo.v2@v2.1.0" + ] + }, + { + "ref": "pkg:golang/github.com/stretchr/objx@v0.1.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/gopkg.in/yaml.v3@v3.0.0-20200313102051-9f266ea9e77c", + "dependsOn": [ + "pkg:golang/gopkg.in/check.v1@v1.0.0-20180628173108-788fd7840127" + ] + }, + { + "ref": "pkg:golang/github.com/grpc-ecosystem/grpc-gateway@v1.16.0", + "dependsOn": [ + "pkg:golang/github.com/antihax/optional@v1.0.0", + "pkg:golang/github.com/ghodss/yaml@v1.0.0", + "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/github.com/rogpeppe/fastuuid@v1.2.0", + "pkg:golang/golang.org/x/net@v0.0.0-20220802222814-0bcc04d9c69b", + "pkg:golang/golang.org/x/oauth2@v0.0.0-20220411215720-9780585627b5", + "pkg:golang/golang.org/x/xerrors@v0.0.0-20220411194840-2f41105eb62f", + "pkg:golang/google.golang.org/genproto@v0.0.0-20220518221133-4f43b3371335", + "pkg:golang/google.golang.org/grpc@v1.48.0", + "pkg:golang/gopkg.in/yaml.v2@v2.2.8" + ] + }, + { + "ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20200622213623-75b288015ac9", + "dependsOn": [ + "pkg:golang/golang.org/x/net@v0.0.0-20220802222814-0bcc04d9c69b" + ] + }, + { + "ref": "pkg:golang/gopkg.in/yaml.v2@v2.2.8", + "dependsOn": [ + "pkg:golang/gopkg.in/check.v1@v1.0.0-20180628173108-788fd7840127" + ] + }, + { + "ref": "pkg:golang/cloud.google.com/go/bigquery@v1.8.0", + "dependsOn": [ + "pkg:golang/cloud.google.com/go@v0.100.2", + "pkg:golang/cloud.google.com/go/storage@v1.22.1", + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/github.com/google/go-cmp@v0.5.8", + "pkg:golang/github.com/googleapis/gax-go/v2@v2.4.0", + "pkg:golang/golang.org/x/mod@v0.4.2", + "pkg:golang/golang.org/x/net@v0.0.0-20220802222814-0bcc04d9c69b", + "pkg:golang/golang.org/x/tools@v0.1.5", + "pkg:golang/google.golang.org/api@v0.78.0", + "pkg:golang/google.golang.org/genproto@v0.0.0-20220518221133-4f43b3371335", + "pkg:golang/google.golang.org/grpc@v1.48.0", + "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.4", + "pkg:golang/github.com/golang/groupcache@v0.0.0-20210331224755-41bb18bfe9da", + "pkg:golang/golang.org/x/exp@v0.0.0-20200224162631-6cc2880d07d6", + "pkg:golang/cloud.google.com/go/pubsub@v1.3.1", + "pkg:golang/google.golang.org/appengine@v1.6.7", + "pkg:golang/golang.org/x/lint@v0.0.0-20210508222113-6edffad5e616" + ] + }, + { + "ref": "pkg:golang/golang.org/x/exp@v0.0.0-20200224162631-6cc2880d07d6", + "dependsOn": [ + "pkg:golang/dmitri.shuralyov.com/gpu/mtl@v0.0.0-20190408044501-666a987793e9", + "pkg:golang/github.com/BurntSushi/xgb@v0.0.0-20160522181843-27f122750802", + "pkg:golang/github.com/go-gl/glfw/v3.3/glfw@v0.0.0-20200222043503-6f7a984d4dc4", + "pkg:golang/golang.org/x/image@v0.0.0-20190802002840-cff245a6509b", + "pkg:golang/golang.org/x/mobile@v0.0.0-20190719004257-d2bd2a29d028", + "pkg:golang/golang.org/x/mod@v0.4.2", + "pkg:golang/golang.org/x/tools@v0.1.5", + "pkg:golang/golang.org/x/xerrors@v0.0.0-20220411194840-2f41105eb62f", + "pkg:golang/github.com/go-gl/glfw@v0.0.0-20190409004039-e6da0acd62b1" + ] + }, + { + "ref": "pkg:golang/github.com/client9/misspell@v0.3.4", + "dependsOn": [] + }, + { + "ref": "pkg:golang/cloud.google.com/go/datastore@v1.1.0", + "dependsOn": [ + "pkg:golang/cloud.google.com/go@v0.100.2", + "pkg:golang/cloud.google.com/go/pubsub@v1.3.1", + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/github.com/google/go-cmp@v0.5.8", + "pkg:golang/github.com/googleapis/gax-go/v2@v2.4.0", + "pkg:golang/golang.org/x/exp@v0.0.0-20200224162631-6cc2880d07d6", + "pkg:golang/golang.org/x/tools@v0.1.5", + "pkg:golang/google.golang.org/api@v0.78.0", + "pkg:golang/google.golang.org/genproto@v0.0.0-20220518221133-4f43b3371335", + "pkg:golang/google.golang.org/grpc@v1.48.0", + "pkg:golang/google.golang.org/appengine@v1.6.7" + ] + }, + { + "ref": "pkg:golang/cloud.google.com/go/pubsub@v1.3.1", + "dependsOn": [ + "pkg:golang/cloud.google.com/go@v0.100.2", + "pkg:golang/cloud.google.com/go/bigquery@v1.8.0", + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/github.com/google/go-cmp@v0.5.8", + "pkg:golang/github.com/googleapis/gax-go/v2@v2.4.0", + "pkg:golang/go.opencensus.io@v0.23.0", + "pkg:golang/golang.org/x/lint@v0.0.0-20210508222113-6edffad5e616", + "pkg:golang/golang.org/x/mod@v0.4.2", + "pkg:golang/golang.org/x/net@v0.0.0-20220802222814-0bcc04d9c69b", + "pkg:golang/golang.org/x/oauth2@v0.0.0-20220411215720-9780585627b5", + "pkg:golang/golang.org/x/sync@v0.0.0-20210220032951-036812b2e83c", + "pkg:golang/golang.org/x/time@v0.0.0-20191024005414-555d28b269f0", + "pkg:golang/golang.org/x/tools@v0.1.5", + "pkg:golang/google.golang.org/api@v0.78.0", + "pkg:golang/google.golang.org/genproto@v0.0.0-20220518221133-4f43b3371335", + "pkg:golang/google.golang.org/grpc@v1.48.0", + "pkg:golang/cloud.google.com/go/storage@v1.22.1", + "pkg:golang/golang.org/x/exp@v0.0.0-20200224162631-6cc2880d07d6" + ] + }, + { + "ref": "pkg:golang/github.com/google/martian@v2.1.0%2Bincompatible", + "dependsOn": [] + }, + { + "ref": "pkg:golang/gopkg.in/errgo.v2@v2.1.0", + "dependsOn": [ + "pkg:golang/github.com/kr/pretty@v0.1.0", + "pkg:golang/gopkg.in/check.v1@v1.0.0-20180628173108-788fd7840127" + ] + }, + { + "ref": "pkg:golang/gopkg.in/check.v1@v1.0.0-20180628173108-788fd7840127", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/antihax/optional@v1.0.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/ghodss/yaml@v1.0.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/rogpeppe/fastuuid@v1.2.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/golang.org/x/time@v0.0.0-20191024005414-555d28b269f0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/rsc.io/quote/v3@v3.1.0", + "dependsOn": [ + "pkg:golang/rsc.io/sampler@v1.3.0" + ] + }, + { + "ref": "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/kr/pretty@v0.1.0", + "dependsOn": [ + "pkg:golang/github.com/kr/text@v0.1.0" + ] + }, + { + "ref": "pkg:golang/dmitri.shuralyov.com/gpu/mtl@v0.0.0-20190408044501-666a987793e9", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/BurntSushi/xgb@v0.0.0-20160522181843-27f122750802", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/go-gl/glfw/v3.3/glfw@v0.0.0-20200222043503-6f7a984d4dc4", + "dependsOn": [] + }, + { + "ref": "pkg:golang/golang.org/x/image@v0.0.0-20190802002840-cff245a6509b", + "dependsOn": [ + "pkg:golang/golang.org/x/text@v0.3.7" + ] + }, + { + "ref": "pkg:golang/golang.org/x/mobile@v0.0.0-20190719004257-d2bd2a29d028", + "dependsOn": [ + "pkg:golang/golang.org/x/exp@v0.0.0-20200224162631-6cc2880d07d6", + "pkg:golang/golang.org/x/image@v0.0.0-20190802002840-cff245a6509b" + ] + }, + { + "ref": "pkg:golang/rsc.io/sampler@v1.3.0", + "dependsOn": [ + "pkg:golang/golang.org/x/text@v0.3.7" + ] + }, + { + "ref": "pkg:golang/github.com/google/btree@v1.0.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/kr/text@v0.1.0", + "dependsOn": [ + "pkg:golang/github.com/kr/pty@v1.1.1" + ] + }, + { + "ref": "pkg:golang/github.com/kr/pty@v1.1.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/rsc.io/binaryregexp@v0.2.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/go-gl/glfw@v0.0.0-20190409004039-e6da0acd62b1", + "dependsOn": [] + } + ] } diff --git a/test/providers/tst_manifests/golang/go_mod_with_all_ignore/expected_sbom_component_analysis.json b/test/providers/tst_manifests/golang/go_mod_with_all_ignore/expected_sbom_component_analysis.json index 4f4ff2e6..f58ffd68 100644 --- a/test/providers/tst_manifests/golang/go_mod_with_all_ignore/expected_sbom_component_analysis.json +++ b/test/providers/tst_manifests/golang/go_mod_with_all_ignore/expected_sbom_component_analysis.json @@ -1,27 +1,18 @@ { - "bomFormat": "CycloneDX", - "specVersion": "1.4", - "version": 1, - "metadata": { - "timestamp": "2023-08-07T00:00:00.000Z", - "component": { - "group": "github.com/devfile-samples", - "name": "devfile-sample-go-basic", - "version": "v0.0.0", - "purl": "pkg:golang/github.com/devfile-samples/devfile-sample-go-basic@v0.0.0", - "type": "application", - "bom-ref": "pkg:golang/github.com/devfile-samples/devfile-sample-go-basic@v0.0.0" - } - }, - "components": [ - { - "group": "github.com/devfile-samples", - "name": "devfile-sample-go-basic", - "version": "v0.0.0", - "purl": "pkg:golang/github.com/devfile-samples/devfile-sample-go-basic@v0.0.0", - "type": "application", - "bom-ref": "pkg:golang/github.com/devfile-samples/devfile-sample-go-basic@v0.0.0" - } - ], - "dependencies": [] + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-08-07T00:00:00.000Z", + "component": { + "group": "github.com/devfile-samples", + "name": "devfile-sample-go-basic", + "version": "v0.0.0", + "purl": "pkg:golang/github.com/devfile-samples/devfile-sample-go-basic@v0.0.0", + "type": "application", + "bom-ref": "pkg:golang/github.com/devfile-samples/devfile-sample-go-basic@v0.0.0" + } + }, + "components": [], + "dependencies": [] } diff --git a/test/providers/tst_manifests/golang/go_mod_with_all_ignore/expected_sbom_stack_analysis.json b/test/providers/tst_manifests/golang/go_mod_with_all_ignore/expected_sbom_stack_analysis.json index 2436085b..bcc12eba 100644 --- a/test/providers/tst_manifests/golang/go_mod_with_all_ignore/expected_sbom_stack_analysis.json +++ b/test/providers/tst_manifests/golang/go_mod_with_all_ignore/expected_sbom_stack_analysis.json @@ -1,4656 +1,2897 @@ { - "bomFormat": "CycloneDX", - "specVersion": "1.4", - "version": 1, - "metadata": { - "timestamp": "2023-08-07T00:00:00.000Z", - "component": { - "group": "github.com/devfile-samples", - "name": "devfile-sample-go-basic", - "version": "v0.0.0", - "purl": "pkg:golang/github.com/devfile-samples/devfile-sample-go-basic@v0.0.0", - "type": "application", - "bom-ref": "pkg:golang/github.com/devfile-samples/devfile-sample-go-basic@v0.0.0" - } - }, - "components": [ - { - "group": "github.com/devfile-samples", - "name": "devfile-sample-go-basic", - "version": "v0.0.0", - "purl": "pkg:golang/github.com/devfile-samples/devfile-sample-go-basic@v0.0.0", - "type": "application", - "bom-ref": "pkg:golang/github.com/devfile-samples/devfile-sample-go-basic@v0.0.0" - }, - { - "group": "github.com/gin-contrib", - "name": "sse", - "version": "v0.1.0", - "purl": "pkg:golang/github.com/gin-contrib/sse@v0.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/gin-contrib/sse@v0.1.0" - }, - { - "group": "github.com/go-playground/validator", - "name": "v10", - "version": "v10.2.0", - "purl": "pkg:golang/github.com/go-playground/validator/v10@v10.2.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/go-playground/validator/v10@v10.2.0" - }, - { - "group": "github.com/golang", - "name": "protobuf", - "version": "v1.3.3", - "purl": "pkg:golang/github.com/golang/protobuf@v1.3.3", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/protobuf@v1.3.3" - }, - { - "group": "github.com/json-iterator", - "name": "go", - "version": "v1.1.9", - "purl": "pkg:golang/github.com/json-iterator/go@v1.1.9", - "type": "library", - "bom-ref": "pkg:golang/github.com/json-iterator/go@v1.1.9" - }, - { - "group": "github.com/mattn", - "name": "go-isatty", - "version": "v0.0.12", - "purl": "pkg:golang/github.com/mattn/go-isatty@v0.0.12", - "type": "library", - "bom-ref": "pkg:golang/github.com/mattn/go-isatty@v0.0.12" - }, - { - "group": "github.com/stretchr", - "name": "testify", - "version": "v1.4.0", - "purl": "pkg:golang/github.com/stretchr/testify@v1.4.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/stretchr/testify@v1.4.0" - }, - { - "group": "github.com/ugorji/go", - "name": "codec", - "version": "v1.1.7", - "purl": "pkg:golang/github.com/ugorji/go/codec@v1.1.7", - "type": "library", - "bom-ref": "pkg:golang/github.com/ugorji/go/codec@v1.1.7" - }, - { - "group": "gopkg.in", - "name": "yaml.v2", - "version": "v2.2.8", - "purl": "pkg:golang/gopkg.in/yaml.v2@v2.2.8", - "type": "library", - "bom-ref": "pkg:golang/gopkg.in/yaml.v2@v2.2.8" - }, - { - "group": "github.com/ipfs", - "name": "go-block-format", - "version": "v0.0.3", - "purl": "pkg:golang/github.com/ipfs/go-block-format@v0.0.3", - "type": "library", - "bom-ref": "pkg:golang/github.com/ipfs/go-block-format@v0.0.3" - }, - { - "group": "github.com/ipfs", - "name": "go-cid", - "version": "v0.0.7", - "purl": "pkg:golang/github.com/ipfs/go-cid@v0.0.7", - "type": "library", - "bom-ref": "pkg:golang/github.com/ipfs/go-cid@v0.0.7" - }, - { - "group": "github.com/ipfs", - "name": "go-ipld-cbor", - "version": "v0.0.5", - "purl": "pkg:golang/github.com/ipfs/go-ipld-cbor@v0.0.5", - "type": "library", - "bom-ref": "pkg:golang/github.com/ipfs/go-ipld-cbor@v0.0.5" - }, - { - "group": "github.com/ipfs", - "name": "go-ipld-format", - "version": "v0.2.0", - "purl": "pkg:golang/github.com/ipfs/go-ipld-format@v0.2.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/ipfs/go-ipld-format@v0.2.0" - }, - { - "group": "github.com/ipfs", - "name": "go-merkledag", - "version": "v0.3.2", - "purl": "pkg:golang/github.com/ipfs/go-merkledag@v0.3.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/ipfs/go-merkledag@v0.3.2" - }, - { - "group": "github.com/ipld", - "name": "go-codec-dagpb", - "version": "v1.2.0", - "purl": "pkg:golang/github.com/ipld/go-codec-dagpb@v1.2.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/ipld/go-codec-dagpb@v1.2.0" - }, - { - "group": "github.com/ipld", - "name": "go-ipld-prime", - "version": "v0.9.0", - "purl": "pkg:golang/github.com/ipld/go-ipld-prime@v0.9.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/ipld/go-ipld-prime@v0.9.0" - }, - { - "group": "github.com/multiformats", - "name": "go-multihash", - "version": "v0.0.15", - "purl": "pkg:golang/github.com/multiformats/go-multihash@v0.0.15", - "type": "library", - "bom-ref": "pkg:golang/github.com/multiformats/go-multihash@v0.0.15" - }, - { - "group": "github.com/stretchr", - "name": "testify", - "version": "v1.7.0", - "purl": "pkg:golang/github.com/stretchr/testify@v1.7.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/stretchr/testify@v1.7.0" - }, - { - "group": "github.com/dgrijalva", - "name": "jwt-go", - "version": "v3.2.0+incompatible", - "purl": "pkg:golang/github.com/dgrijalva/jwt-go@v3.2.0%2Bincompatible", - "type": "library", - "bom-ref": "pkg:golang/github.com/dgrijalva/jwt-go@v3.2.0%2Bincompatible" - }, - { - "group": "github.com/labstack", - "name": "gommon", - "version": "v0.3.0", - "purl": "pkg:golang/github.com/labstack/gommon@v0.3.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/labstack/gommon@v0.3.0" - }, - { - "group": "github.com/mattn", - "name": "go-colorable", - "version": "v0.1.7", - "purl": "pkg:golang/github.com/mattn/go-colorable@v0.1.7", - "type": "library", - "bom-ref": "pkg:golang/github.com/mattn/go-colorable@v0.1.7" - }, - { - "group": "github.com/valyala", - "name": "fasttemplate", - "version": "v1.2.1", - "purl": "pkg:golang/github.com/valyala/fasttemplate@v1.2.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/valyala/fasttemplate@v1.2.1" - }, - { - "group": "golang.org/x", - "name": "crypto", - "version": "v0.0.0-20200820211705-5c72a883971a", - "purl": "pkg:golang/golang.org/x/crypto@v0.0.0-20200820211705-5c72a883971a", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20200820211705-5c72a883971a" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20200822124328-c89045814202", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20200822124328-c89045814202", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20200822124328-c89045814202" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20200826173525-f9321e4c35a6", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20200826173525-f9321e4c35a6", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200826173525-f9321e4c35a6" - }, - { - "group": "golang.org/x", - "name": "text", - "version": "v0.3.3", - "purl": "pkg:golang/golang.org/x/text@v0.3.3", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/text@v0.3.3" - }, - { - "group": "github.com/beevik", - "name": "etree", - "version": "v1.1.0", - "purl": "pkg:golang/github.com/beevik/etree@v1.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/beevik/etree@v1.1.0" - }, - { - "group": "github.com/jonboulle", - "name": "clockwork", - "version": "v0.2.0", - "purl": "pkg:golang/github.com/jonboulle/clockwork@v0.2.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/jonboulle/clockwork@v0.2.0" - }, - { - "group": "github.com/stretchr", - "name": "testify", - "version": "v1.6.1", - "purl": "pkg:golang/github.com/stretchr/testify@v1.6.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/stretchr/testify@v1.6.1" - }, - { - "group": "github.com/armon", - "name": "go-radix", - "version": "v1.0.0", - "purl": "pkg:golang/github.com/armon/go-radix@v1.0.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/armon/go-radix@v1.0.0" - }, - { - "group": "github.com/cucumber", - "name": "godog", - "version": "v0.8.1", - "purl": "pkg:golang/github.com/cucumber/godog@v0.8.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/cucumber/godog@v0.8.1" - }, - { - "group": "github.com/davecgh", - "name": "go-spew", - "version": "v1.1.1", - "purl": "pkg:golang/github.com/davecgh/go-spew@v1.1.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/davecgh/go-spew@v1.1.1" - }, - { - "group": "github.com/elastic", - "name": "go-sysinfo", - "version": "v1.1.1", - "purl": "pkg:golang/github.com/elastic/go-sysinfo@v1.1.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/elastic/go-sysinfo@v1.1.1" - }, - { - "group": "github.com/google", - "name": "go-cmp", - "version": "v0.3.1", - "purl": "pkg:golang/github.com/google/go-cmp@v0.3.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/go-cmp@v0.3.1" - }, - { - "group": "github.com/pkg", - "name": "errors", - "version": "v0.8.1", - "purl": "pkg:golang/github.com/pkg/errors@v0.8.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/pkg/errors@v0.8.1" - }, - { - "group": "github.com/prometheus", - "name": "procfs", - "version": "v0.0.3", - "purl": "pkg:golang/github.com/prometheus/procfs@v0.0.3", - "type": "library", - "bom-ref": "pkg:golang/github.com/prometheus/procfs@v0.0.3" - }, - { - "group": "github.com/santhosh-tekuri", - "name": "jsonschema", - "version": "v1.2.4", - "purl": "pkg:golang/github.com/santhosh-tekuri/jsonschema@v1.2.4", - "type": "library", - "bom-ref": "pkg:golang/github.com/santhosh-tekuri/jsonschema@v1.2.4" - }, - { - "group": "go.elastic.co", - "name": "fastjson", - "version": "v1.1.0", - "purl": "pkg:golang/go.elastic.co/fastjson@v1.1.0", - "type": "library", - "bom-ref": "pkg:golang/go.elastic.co/fastjson@v1.1.0" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20191204072324-ce4227a45e2e", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20191204072324-ce4227a45e2e", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20191204072324-ce4227a45e2e" - }, - { - "group": "gopkg.in", - "name": "check.v1", - "version": "v0.0.0-20161208181325-20d25e280405", - "purl": "pkg:golang/gopkg.in/check.v1@v0.0.0-20161208181325-20d25e280405", - "type": "library", - "bom-ref": "pkg:golang/gopkg.in/check.v1@v0.0.0-20161208181325-20d25e280405" - }, - { - "group": "github.com/stretchr", - "name": "testify", - "version": "v1.3.0", - "purl": "pkg:golang/github.com/stretchr/testify@v1.3.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/stretchr/testify@v1.3.0" - }, - { - "group": "github.com/go-playground/assert", - "name": "v2", - "version": "v2.0.1", - "purl": "pkg:golang/github.com/go-playground/assert/v2@v2.0.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/go-playground/assert/v2@v2.0.1" - }, - { - "group": "github.com/go-playground", - "name": "locales", - "version": "v0.13.0", - "purl": "pkg:golang/github.com/go-playground/locales@v0.13.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/go-playground/locales@v0.13.0" - }, - { - "group": "github.com/go-playground", - "name": "universal-translator", - "version": "v0.17.0", - "purl": "pkg:golang/github.com/go-playground/universal-translator@v0.17.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/go-playground/universal-translator@v0.17.0" - }, - { - "group": "github.com/leodido", - "name": "go-urn", - "version": "v1.2.0", - "purl": "pkg:golang/github.com/leodido/go-urn@v1.2.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/leodido/go-urn@v1.2.0" - }, - { - "group": "github.com/google", - "name": "gofuzz", - "version": "v1.0.0", - "purl": "pkg:golang/github.com/google/gofuzz@v1.0.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/gofuzz@v1.0.0" - }, - { - "group": "github.com/modern-go", - "name": "concurrent", - "version": "v0.0.0-20180228061459-e0a39a4cb421", - "purl": "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180228061459-e0a39a4cb421", - "type": "library", - "bom-ref": "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180228061459-e0a39a4cb421" - }, - { - "group": "github.com/modern-go", - "name": "reflect2", - "version": "v0.0.0-20180701023420-4b7aa43c6742", - "purl": "pkg:golang/github.com/modern-go/reflect2@v0.0.0-20180701023420-4b7aa43c6742", - "type": "library", - "bom-ref": "pkg:golang/github.com/modern-go/reflect2@v0.0.0-20180701023420-4b7aa43c6742" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20200116001909-b77594299b42", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20200116001909-b77594299b42", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200116001909-b77594299b42" - }, - { - "group": "github.com/davecgh", - "name": "go-spew", - "version": "v1.1.0", - "purl": "pkg:golang/github.com/davecgh/go-spew@v1.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/davecgh/go-spew@v1.1.0" - }, - { - "group": "github.com/pmezard", - "name": "go-difflib", - "version": "v1.0.0", - "purl": "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/pmezard/go-difflib@v1.0.0" - }, - { - "group": "github.com/stretchr", - "name": "objx", - "version": "v0.1.0", - "purl": "pkg:golang/github.com/stretchr/objx@v0.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/stretchr/objx@v0.1.0" - }, - { - "group": "gopkg.in", - "name": "yaml.v2", - "version": "v2.2.2", - "purl": "pkg:golang/gopkg.in/yaml.v2@v2.2.2", - "type": "library", - "bom-ref": "pkg:golang/gopkg.in/yaml.v2@v2.2.2" - }, - { - "group": "github.com/ugorji", - "name": "go", - "version": "v1.1.7", - "purl": "pkg:golang/github.com/ugorji/go@v1.1.7", - "type": "library", - "bom-ref": "pkg:golang/github.com/ugorji/go@v1.1.7" - }, - { - "group": "github.com/ipfs", - "name": "go-ipfs-util", - "version": "v0.0.2", - "purl": "pkg:golang/github.com/ipfs/go-ipfs-util@v0.0.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/ipfs/go-ipfs-util@v0.0.2" - }, - { - "group": "github.com/multiformats", - "name": "go-multihash", - "version": "v0.0.14", - "purl": "pkg:golang/github.com/multiformats/go-multihash@v0.0.14", - "type": "library", - "bom-ref": "pkg:golang/github.com/multiformats/go-multihash@v0.0.14" - }, - { - "group": "github.com/multiformats", - "name": "go-multibase", - "version": "v0.0.3", - "purl": "pkg:golang/github.com/multiformats/go-multibase@v0.0.3", - "type": "library", - "bom-ref": "pkg:golang/github.com/multiformats/go-multibase@v0.0.3" - }, - { - "group": "github.com/multiformats", - "name": "go-multihash", - "version": "v0.0.13", - "purl": "pkg:golang/github.com/multiformats/go-multihash@v0.0.13", - "type": "library", - "bom-ref": "pkg:golang/github.com/multiformats/go-multihash@v0.0.13" - }, - { - "group": "github.com/multiformats", - "name": "go-varint", - "version": "v0.0.5", - "purl": "pkg:golang/github.com/multiformats/go-varint@v0.0.5", - "type": "library", - "bom-ref": "pkg:golang/github.com/multiformats/go-varint@v0.0.5" - }, - { - "group": "github.com/ipfs", - "name": "go-block-format", - "version": "v0.0.2", - "purl": "pkg:golang/github.com/ipfs/go-block-format@v0.0.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/ipfs/go-block-format@v0.0.2" - }, - { - "group": "github.com/ipfs", - "name": "go-cid", - "version": "v0.0.3", - "purl": "pkg:golang/github.com/ipfs/go-cid@v0.0.3", - "type": "library", - "bom-ref": "pkg:golang/github.com/ipfs/go-cid@v0.0.3" - }, - { - "group": "github.com/ipfs", - "name": "go-ipfs-util", - "version": "v0.0.1", - "purl": "pkg:golang/github.com/ipfs/go-ipfs-util@v0.0.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/ipfs/go-ipfs-util@v0.0.1" - }, - { - "group": "github.com/ipfs", - "name": "go-ipld-format", - "version": "v0.0.1", - "purl": "pkg:golang/github.com/ipfs/go-ipld-format@v0.0.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/ipfs/go-ipld-format@v0.0.1" - }, - { - "group": "github.com/multiformats", - "name": "go-multihash", - "version": "v0.0.10", - "purl": "pkg:golang/github.com/multiformats/go-multihash@v0.0.10", - "type": "library", - "bom-ref": "pkg:golang/github.com/multiformats/go-multihash@v0.0.10" - }, - { - "group": "github.com/polydawn", - "name": "refmt", - "version": "v0.0.0-20190221155625-df39d6c2d992", - "purl": "pkg:golang/github.com/polydawn/refmt@v0.0.0-20190221155625-df39d6c2d992", - "type": "library", - "bom-ref": "pkg:golang/github.com/polydawn/refmt@v0.0.0-20190221155625-df39d6c2d992" - }, - { - "group": "github.com/smartystreets", - "name": "goconvey", - "version": "v0.0.0-20190222223459-a17d461953aa", - "purl": "pkg:golang/github.com/smartystreets/goconvey@v0.0.0-20190222223459-a17d461953aa", - "type": "library", - "bom-ref": "pkg:golang/github.com/smartystreets/goconvey@v0.0.0-20190222223459-a17d461953aa" - }, - { - "group": "github.com/warpfork", - "name": "go-wish", - "version": "v0.0.0-20180510122957-5ad1f5abf436", - "purl": "pkg:golang/github.com/warpfork/go-wish@v0.0.0-20180510122957-5ad1f5abf436", - "type": "library", - "bom-ref": "pkg:golang/github.com/warpfork/go-wish@v0.0.0-20180510122957-5ad1f5abf436" - }, - { - "group": "github.com/whyrusleeping", - "name": "cbor-gen", - "version": "v0.0.0-20200123233031-1cdf64d27158", - "purl": "pkg:golang/github.com/whyrusleeping/cbor-gen@v0.0.0-20200123233031-1cdf64d27158", - "type": "library", - "bom-ref": "pkg:golang/github.com/whyrusleeping/cbor-gen@v0.0.0-20200123233031-1cdf64d27158" - }, - { - "group": "github.com/ipfs", - "name": "go-cid", - "version": "v0.0.2", - "purl": "pkg:golang/github.com/ipfs/go-cid@v0.0.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/ipfs/go-cid@v0.0.2" - }, - { - "group": "github.com/libp2p", - "name": "go-buffer-pool", - "version": "v0.0.2", - "purl": "pkg:golang/github.com/libp2p/go-buffer-pool@v0.0.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/libp2p/go-buffer-pool@v0.0.2" - }, - { - "group": "github.com/multiformats", - "name": "go-multihash", - "version": "v0.0.1", - "purl": "pkg:golang/github.com/multiformats/go-multihash@v0.0.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/multiformats/go-multihash@v0.0.1" - }, - { - "group": "github.com/gogo", - "name": "protobuf", - "version": "v1.3.1", - "purl": "pkg:golang/github.com/gogo/protobuf@v1.3.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/gogo/protobuf@v1.3.1" - }, - { - "group": "github.com/ipfs", - "name": "go-blockservice", - "version": "v0.1.0", - "purl": "pkg:golang/github.com/ipfs/go-blockservice@v0.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/ipfs/go-blockservice@v0.1.0" - }, - { - "group": "github.com/ipfs", - "name": "go-datastore", - "version": "v0.3.1", - "purl": "pkg:golang/github.com/ipfs/go-datastore@v0.3.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/ipfs/go-datastore@v0.3.1" - }, - { - "group": "github.com/ipfs", - "name": "go-ipfs-blockstore", - "version": "v0.1.0", - "purl": "pkg:golang/github.com/ipfs/go-ipfs-blockstore@v0.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/ipfs/go-ipfs-blockstore@v0.1.0" - }, - { - "group": "github.com/ipfs", - "name": "go-ipfs-exchange-offline", - "version": "v0.0.1", - "purl": "pkg:golang/github.com/ipfs/go-ipfs-exchange-offline@v0.0.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/ipfs/go-ipfs-exchange-offline@v0.0.1" - }, - { - "group": "github.com/ipfs", - "name": "go-ipld-cbor", - "version": "v0.0.3", - "purl": "pkg:golang/github.com/ipfs/go-ipld-cbor@v0.0.3", - "type": "library", - "bom-ref": "pkg:golang/github.com/ipfs/go-ipld-cbor@v0.0.3" - }, - { - "group": "github.com/ipfs", - "name": "go-ipld-format", - "version": "v0.0.2", - "purl": "pkg:golang/github.com/ipfs/go-ipld-format@v0.0.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/ipfs/go-ipld-format@v0.0.2" - }, - { - "group": "github.com/mr-tron", - "name": "base58", - "version": "v1.2.0", - "purl": "pkg:golang/github.com/mr-tron/base58@v1.2.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/mr-tron/base58@v1.2.0" - }, - { - "group": "github.com/multiformats", - "name": "go-varint", - "version": "v0.0.6", - "purl": "pkg:golang/github.com/multiformats/go-varint@v0.0.6", - "type": "library", - "bom-ref": "pkg:golang/github.com/multiformats/go-varint@v0.0.6" - }, - { - "group": "github.com/polydawn", - "name": "refmt", - "version": "v0.0.0-20201211092308-30ac6d18308e", - "purl": "pkg:golang/github.com/polydawn/refmt@v0.0.0-20201211092308-30ac6d18308e", - "type": "library", - "bom-ref": "pkg:golang/github.com/polydawn/refmt@v0.0.0-20201211092308-30ac6d18308e" - }, - { - "group": "golang.org/x", - "name": "xerrors", - "version": "v0.0.0-20200804184101-5ec99f83aff1", - "purl": "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1" - }, - { - "group": "github.com/frankban", - "name": "quicktest", - "version": "v1.11.3", - "purl": "pkg:golang/github.com/frankban/quicktest@v1.11.3", - "type": "library", - "bom-ref": "pkg:golang/github.com/frankban/quicktest@v1.11.3" - }, - { - "group": "github.com/ipfs", - "name": "go-cid", - "version": "v0.0.4", - "purl": "pkg:golang/github.com/ipfs/go-cid@v0.0.4", - "type": "library", - "bom-ref": "pkg:golang/github.com/ipfs/go-cid@v0.0.4" - }, - { - "group": "github.com/polydawn", - "name": "refmt", - "version": "v0.0.0-20190807091052-3d65705ee9f1", - "purl": "pkg:golang/github.com/polydawn/refmt@v0.0.0-20190807091052-3d65705ee9f1", - "type": "library", - "bom-ref": "pkg:golang/github.com/polydawn/refmt@v0.0.0-20190807091052-3d65705ee9f1" - }, - { - "group": "github.com/smartystreets", - "name": "goconvey", - "version": "v1.6.4", - "purl": "pkg:golang/github.com/smartystreets/goconvey@v1.6.4", - "type": "library", - "bom-ref": "pkg:golang/github.com/smartystreets/goconvey@v1.6.4" - }, - { - "group": "github.com/warpfork", - "name": "go-wish", - "version": "v0.0.0-20200122115046-b9ea61034e4a", - "purl": "pkg:golang/github.com/warpfork/go-wish@v0.0.0-20200122115046-b9ea61034e4a", - "type": "library", - "bom-ref": "pkg:golang/github.com/warpfork/go-wish@v0.0.0-20200122115046-b9ea61034e4a" - }, - { - "group": "github.com/minio", - "name": "blake2b-simd", - "version": "v0.0.0-20160723061019-3f5f724cb5b1", - "purl": "pkg:golang/github.com/minio/blake2b-simd@v0.0.0-20160723061019-3f5f724cb5b1", - "type": "library", - "bom-ref": "pkg:golang/github.com/minio/blake2b-simd@v0.0.0-20160723061019-3f5f724cb5b1" - }, - { - "group": "github.com/minio", - "name": "sha256-simd", - "version": "v1.0.0", - "purl": "pkg:golang/github.com/minio/sha256-simd@v1.0.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/minio/sha256-simd@v1.0.0" - }, - { - "group": "golang.org/x", - "name": "crypto", - "version": "v0.0.0-20210220033148-5ea612d1eb83", - "purl": "pkg:golang/golang.org/x/crypto@v0.0.0-20210220033148-5ea612d1eb83", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20210220033148-5ea612d1eb83" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20210309074719-68d13333faf2", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20210309074719-68d13333faf2", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20210309074719-68d13333faf2" - }, - { - "group": "gopkg.in", - "name": "yaml.v3", - "version": "v3.0.0-20200313102051-9f266ea9e77c", - "purl": "pkg:golang/gopkg.in/yaml.v3@v3.0.0-20200313102051-9f266ea9e77c", - "type": "library", - "bom-ref": "pkg:golang/gopkg.in/yaml.v3@v3.0.0-20200313102051-9f266ea9e77c" - }, - { - "group": "github.com/mattn", - "name": "go-colorable", - "version": "v0.1.2", - "purl": "pkg:golang/github.com/mattn/go-colorable@v0.1.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/mattn/go-colorable@v0.1.2" - }, - { - "group": "github.com/mattn", - "name": "go-isatty", - "version": "v0.0.9", - "purl": "pkg:golang/github.com/mattn/go-isatty@v0.0.9", - "type": "library", - "bom-ref": "pkg:golang/github.com/mattn/go-isatty@v0.0.9" - }, - { - "group": "github.com/valyala", - "name": "fasttemplate", - "version": "v1.0.1", - "purl": "pkg:golang/github.com/valyala/fasttemplate@v1.0.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/valyala/fasttemplate@v1.0.1" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20200223170610-d5e6a3e2c0ae", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20200223170610-d5e6a3e2c0ae", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200223170610-d5e6a3e2c0ae" - }, - { - "group": "github.com/valyala", - "name": "bytebufferpool", - "version": "v1.0.0", - "purl": "pkg:golang/github.com/valyala/bytebufferpool@v1.0.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/valyala/bytebufferpool@v1.0.0" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20190404232315-eb5bcb51f2a3", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20190404232315-eb5bcb51f2a3", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20190404232315-eb5bcb51f2a3" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20190412213103-97732733099d", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20190412213103-97732733099d", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190412213103-97732733099d" - }, - { - "group": "golang.org/x", - "name": "crypto", - "version": "v0.0.0-20200622213623-75b288015ac9", - "purl": "pkg:golang/golang.org/x/crypto@v0.0.0-20200622213623-75b288015ac9", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20200622213623-75b288015ac9" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20200323222414-85ca7c5b95cd", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20200323222414-85ca7c5b95cd", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200323222414-85ca7c5b95cd" - }, - { - "group": "golang.org/x", - "name": "text", - "version": "v0.3.0", - "purl": "pkg:golang/golang.org/x/text@v0.3.0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/text@v0.3.0" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20180917221912-90fa682c2a6e", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20180917221912-90fa682c2a6e", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20180917221912-90fa682c2a6e" - }, - { - "group": "github.com/elastic", - "name": "go-windows", - "version": "v1.0.0", - "purl": "pkg:golang/github.com/elastic/go-windows@v1.0.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/elastic/go-windows@v1.0.0" - }, - { - "group": "github.com/joeshaw", - "name": "multierror", - "version": "v0.0.0-20140124173710-69b34d4ec901", - "purl": "pkg:golang/github.com/joeshaw/multierror@v0.0.0-20140124173710-69b34d4ec901", - "type": "library", - "bom-ref": "pkg:golang/github.com/joeshaw/multierror@v0.0.0-20140124173710-69b34d4ec901" - }, - { - "group": "github.com/prometheus", - "name": "procfs", - "version": "v0.0.0-20190425082905-87a4384529e0", - "purl": "pkg:golang/github.com/prometheus/procfs@v0.0.0-20190425082905-87a4384529e0", - "type": "library", - "bom-ref": "pkg:golang/github.com/prometheus/procfs@v0.0.0-20190425082905-87a4384529e0" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20191025021431-6c3a3bfe00ae", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20191025021431-6c3a3bfe00ae", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20191025021431-6c3a3bfe00ae" - }, - { - "group": "howett.net", - "name": "plist", - "version": "v0.0.0-20181124034731-591f970eefbb", - "purl": "pkg:golang/howett.net/plist@v0.0.0-20181124034731-591f970eefbb", - "type": "library", - "bom-ref": "pkg:golang/howett.net/plist@v0.0.0-20181124034731-591f970eefbb" - }, - { - "group": "github.com/google", - "name": "go-cmp", - "version": "v0.3.0", - "purl": "pkg:golang/github.com/google/go-cmp@v0.3.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/go-cmp@v0.3.0" - }, - { - "group": "golang.org/x", - "name": "sync", - "version": "v0.0.0-20181221193216-37e7f081c4d4", - "purl": "pkg:golang/golang.org/x/sync@v0.0.0-20181221193216-37e7f081c4d4", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sync@v0.0.0-20181221193216-37e7f081c4d4" - }, - { - "group": "github.com/pkg", - "name": "errors", - "version": "v0.8.0", - "purl": "pkg:golang/github.com/pkg/errors@v0.8.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/pkg/errors@v0.8.0" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20200509030707-2212a7e161a5", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20200509030707-2212a7e161a5", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200509030707-2212a7e161a5" - }, - { - "group": "golang.org/x", - "name": "text", - "version": "v0.3.2", - "purl": "pkg:golang/golang.org/x/text@v0.3.2", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/text@v0.3.2" - }, - { - "group": "github.com/mr-tron", - "name": "base58", - "version": "v1.1.3", - "purl": "pkg:golang/github.com/mr-tron/base58@v1.1.3", - "type": "library", - "bom-ref": "pkg:golang/github.com/mr-tron/base58@v1.1.3" - }, - { - "group": "github.com/minio", - "name": "sha256-simd", - "version": "v0.1.1-0.20190913151208-6de447530771", - "purl": "pkg:golang/github.com/minio/sha256-simd@v0.1.1-0.20190913151208-6de447530771", - "type": "library", - "bom-ref": "pkg:golang/github.com/minio/sha256-simd@v0.1.1-0.20190913151208-6de447530771" - }, - { - "group": "github.com/spaolacci", - "name": "murmur3", - "version": "v1.1.0", - "purl": "pkg:golang/github.com/spaolacci/murmur3@v1.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/spaolacci/murmur3@v1.1.0" - }, - { - "group": "golang.org/x", - "name": "crypto", - "version": "v0.0.0-20190611184440-5c40567a22f8", - "purl": "pkg:golang/golang.org/x/crypto@v0.0.0-20190611184440-5c40567a22f8", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20190611184440-5c40567a22f8" - }, - { - "group": "github.com/mr-tron", - "name": "base58", - "version": "v1.1.0", - "purl": "pkg:golang/github.com/mr-tron/base58@v1.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/mr-tron/base58@v1.1.0" - }, - { - "group": "github.com/multiformats", - "name": "go-base32", - "version": "v0.0.3", - "purl": "pkg:golang/github.com/multiformats/go-base32@v0.0.3", - "type": "library", - "bom-ref": "pkg:golang/github.com/multiformats/go-base32@v0.0.3" - }, - { - "group": "github.com/multiformats", - "name": "go-base36", - "version": "v0.1.0", - "purl": "pkg:golang/github.com/multiformats/go-base36@v0.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/multiformats/go-base36@v0.1.0" - }, - { - "group": "github.com/ipfs", - "name": "go-cid", - "version": "v0.0.1", - "purl": "pkg:golang/github.com/ipfs/go-cid@v0.0.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/ipfs/go-cid@v0.0.1" - }, - { - "group": "github.com/multiformats", - "name": "go-multibase", - "version": "v0.0.1", - "purl": "pkg:golang/github.com/multiformats/go-multibase@v0.0.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/multiformats/go-multibase@v0.0.1" - }, - { - "group": "github.com/mr-tron", - "name": "base58", - "version": "v1.1.2", - "purl": "pkg:golang/github.com/mr-tron/base58@v1.1.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/mr-tron/base58@v1.1.2" - }, - { - "group": "github.com/gopherjs", - "name": "gopherjs", - "version": "v0.0.0-20181017120253-0766667cb4d1", - "purl": "pkg:golang/github.com/gopherjs/gopherjs@v0.0.0-20181017120253-0766667cb4d1", - "type": "library", - "bom-ref": "pkg:golang/github.com/gopherjs/gopherjs@v0.0.0-20181017120253-0766667cb4d1" - }, - { - "group": "github.com/jtolds", - "name": "gls", - "version": "v4.2.1+incompatible", - "purl": "pkg:golang/github.com/jtolds/gls@v4.2.1%2Bincompatible", - "type": "library", - "bom-ref": "pkg:golang/github.com/jtolds/gls@v4.2.1%2Bincompatible" - }, - { - "group": "github.com/smartystreets", - "name": "assertions", - "version": "v0.0.0-20180927180507-b2de0cb4f26d", - "purl": "pkg:golang/github.com/smartystreets/assertions@v0.0.0-20180927180507-b2de0cb4f26d", - "type": "library", - "bom-ref": "pkg:golang/github.com/smartystreets/assertions@v0.0.0-20180927180507-b2de0cb4f26d" - }, - { - "group": "github.com/google", - "name": "go-cmp", - "version": "v0.4.0", - "purl": "pkg:golang/github.com/google/go-cmp@v0.4.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/go-cmp@v0.4.0" - }, - { - "group": "golang.org/x", - "name": "xerrors", - "version": "v0.0.0-20191204190536-9bdfabe68543", - "purl": "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543" - }, - { - "group": "github.com/gxed/hashland", - "name": "keccakpg", - "version": "v0.0.1", - "purl": "pkg:golang/github.com/gxed/hashland/keccakpg@v0.0.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/gxed/hashland/keccakpg@v0.0.1" - }, - { - "group": "github.com/gxed/hashland", - "name": "murmur3", - "version": "v0.0.1", - "purl": "pkg:golang/github.com/gxed/hashland/murmur3@v0.0.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/gxed/hashland/murmur3@v0.0.1" - }, - { - "group": "github.com/minio", - "name": "sha256-simd", - "version": "v0.0.0-20190131020904-2d45a736cd16", - "purl": "pkg:golang/github.com/minio/sha256-simd@v0.0.0-20190131020904-2d45a736cd16", - "type": "library", - "bom-ref": "pkg:golang/github.com/minio/sha256-simd@v0.0.0-20190131020904-2d45a736cd16" - }, - { - "group": "golang.org/x", - "name": "crypto", - "version": "v0.0.0-20190211182817-74369b46fc67", - "purl": "pkg:golang/golang.org/x/crypto@v0.0.0-20190211182817-74369b46fc67", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20190211182817-74369b46fc67" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20190219092855-153ac476189d", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20190219092855-153ac476189d", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190219092855-153ac476189d" - }, - { - "group": "github.com/kisielk", - "name": "errcheck", - "version": "v1.2.0", - "purl": "pkg:golang/github.com/kisielk/errcheck@v1.2.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/kisielk/errcheck@v1.2.0" - }, - { - "group": "github.com/kisielk", - "name": "gotool", - "version": "v1.0.0", - "purl": "pkg:golang/github.com/kisielk/gotool@v1.0.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/kisielk/gotool@v1.0.0" - }, - { - "group": "github.com/ipfs", - "name": "go-bitswap", - "version": "v0.1.0", - "purl": "pkg:golang/github.com/ipfs/go-bitswap@v0.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/ipfs/go-bitswap@v0.1.0" - }, - { - "group": "github.com/ipfs", - "name": "go-datastore", - "version": "v0.0.5", - "purl": "pkg:golang/github.com/ipfs/go-datastore@v0.0.5", - "type": "library", - "bom-ref": "pkg:golang/github.com/ipfs/go-datastore@v0.0.5" - }, - { - "group": "github.com/ipfs", - "name": "go-ipfs-blockstore", - "version": "v0.0.1", - "purl": "pkg:golang/github.com/ipfs/go-ipfs-blockstore@v0.0.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/ipfs/go-ipfs-blockstore@v0.0.1" - }, - { - "group": "github.com/ipfs", - "name": "go-ipfs-blocksutil", - "version": "v0.0.1", - "purl": "pkg:golang/github.com/ipfs/go-ipfs-blocksutil@v0.0.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/ipfs/go-ipfs-blocksutil@v0.0.1" - }, - { - "group": "github.com/ipfs", - "name": "go-ipfs-delay", - "version": "v0.0.1", - "purl": "pkg:golang/github.com/ipfs/go-ipfs-delay@v0.0.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/ipfs/go-ipfs-delay@v0.0.1" - }, - { - "group": "github.com/ipfs", - "name": "go-ipfs-exchange-interface", - "version": "v0.0.1", - "purl": "pkg:golang/github.com/ipfs/go-ipfs-exchange-interface@v0.0.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/ipfs/go-ipfs-exchange-interface@v0.0.1" - }, - { - "group": "github.com/ipfs", - "name": "go-ipfs-routing", - "version": "v0.1.0", - "purl": "pkg:golang/github.com/ipfs/go-ipfs-routing@v0.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/ipfs/go-ipfs-routing@v0.1.0" - }, - { - "group": "github.com/ipfs", - "name": "go-log", - "version": "v0.0.1", - "purl": "pkg:golang/github.com/ipfs/go-log@v0.0.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/ipfs/go-log@v0.0.1" - }, - { - "group": "github.com/ipfs", - "name": "go-verifcid", - "version": "v0.0.1", - "purl": "pkg:golang/github.com/ipfs/go-verifcid@v0.0.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/ipfs/go-verifcid@v0.0.1" - }, - { - "group": "github.com/go-check", - "name": "check", - "version": "v0.0.0-20180628173108-788fd7840127", - "purl": "pkg:golang/github.com/go-check/check@v0.0.0-20180628173108-788fd7840127", - "type": "library", - "bom-ref": "pkg:golang/github.com/go-check/check@v0.0.0-20180628173108-788fd7840127" - }, - { - "group": "github.com/google", - "name": "uuid", - "version": "v1.1.1", - "purl": "pkg:golang/github.com/google/uuid@v1.1.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/uuid@v1.1.1" - }, - { - "group": "github.com/ipfs", - "name": "go-ipfs-delay", - "version": "v0.0.0-20181109222059-70721b86a9a8", - "purl": "pkg:golang/github.com/ipfs/go-ipfs-delay@v0.0.0-20181109222059-70721b86a9a8", - "type": "library", - "bom-ref": "pkg:golang/github.com/ipfs/go-ipfs-delay@v0.0.0-20181109222059-70721b86a9a8" - }, - { - "group": "github.com/jbenet", - "name": "goprocess", - "version": "v0.0.0-20160826012719-b497e2f366b8", - "purl": "pkg:golang/github.com/jbenet/goprocess@v0.0.0-20160826012719-b497e2f366b8", - "type": "library", - "bom-ref": "pkg:golang/github.com/jbenet/goprocess@v0.0.0-20160826012719-b497e2f366b8" - }, - { - "group": "github.com/kr", - "name": "pretty", - "version": "v0.1.0", - "purl": "pkg:golang/github.com/kr/pretty@v0.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/kr/pretty@v0.1.0" - }, - { - "group": "golang.org/x", - "name": "xerrors", - "version": "v0.0.0-20190717185122-a985d3407aa7", - "purl": "pkg:golang/golang.org/x/xerrors@v0.0.0-20190717185122-a985d3407aa7", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/xerrors@v0.0.0-20190717185122-a985d3407aa7" - }, - { - "group": "gopkg.in", - "name": "check.v1", - "version": "v1.0.0-20180628173108-788fd7840127", - "purl": "pkg:golang/gopkg.in/check.v1@v1.0.0-20180628173108-788fd7840127", - "type": "library", - "bom-ref": "pkg:golang/gopkg.in/check.v1@v1.0.0-20180628173108-788fd7840127" - }, - { - "group": "github.com/hashicorp", - "name": "golang-lru", - "version": "v0.5.1", - "purl": "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1" - }, - { - "group": "github.com/ipfs", - "name": "bbloom", - "version": "v0.0.4", - "purl": "pkg:golang/github.com/ipfs/bbloom@v0.0.4", - "type": "library", - "bom-ref": "pkg:golang/github.com/ipfs/bbloom@v0.0.4" - }, - { - "group": "github.com/ipfs", - "name": "go-block-format", - "version": "v0.0.1", - "purl": "pkg:golang/github.com/ipfs/go-block-format@v0.0.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/ipfs/go-block-format@v0.0.1" - }, - { - "group": "github.com/ipfs", - "name": "go-datastore", - "version": "v0.1.0", - "purl": "pkg:golang/github.com/ipfs/go-datastore@v0.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/ipfs/go-datastore@v0.1.0" - }, - { - "group": "github.com/ipfs", - "name": "go-ipfs-ds-help", - "version": "v0.0.1", - "purl": "pkg:golang/github.com/ipfs/go-ipfs-ds-help@v0.0.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/ipfs/go-ipfs-ds-help@v0.0.1" - }, - { - "group": "github.com/ipfs", - "name": "go-metrics-interface", - "version": "v0.0.1", - "purl": "pkg:golang/github.com/ipfs/go-metrics-interface@v0.0.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/ipfs/go-metrics-interface@v0.0.1" - }, - { - "group": "github.com/ipfs", - "name": "go-datastore", - "version": "v0.0.1", - "purl": "pkg:golang/github.com/ipfs/go-datastore@v0.0.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/ipfs/go-datastore@v0.0.1" - }, - { - "group": "github.com/google", - "name": "go-cmp", - "version": "v0.5.4", - "purl": "pkg:golang/github.com/google/go-cmp@v0.5.4", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/go-cmp@v0.5.4" - }, - { - "group": "github.com/kr", - "name": "pretty", - "version": "v0.2.1", - "purl": "pkg:golang/github.com/kr/pretty@v0.2.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/kr/pretty@v0.2.1" - }, - { - "group": "github.com/jtolds", - "name": "gls", - "version": "v4.20.0+incompatible", - "purl": "pkg:golang/github.com/jtolds/gls@v4.20.0%2Bincompatible", - "type": "library", - "bom-ref": "pkg:golang/github.com/jtolds/gls@v4.20.0%2Bincompatible" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20190328211700-ab21143f2384", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20190328211700-ab21143f2384", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190328211700-ab21143f2384" - }, - { - "group": "github.com/klauspost/cpuid", - "name": "v2", - "version": "v2.0.4", - "purl": "pkg:golang/github.com/klauspost/cpuid/v2@v2.0.4", - "type": "library", - "bom-ref": "pkg:golang/github.com/klauspost/cpuid/v2@v2.0.4" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20191026070338-33540a1f6037", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20191026070338-33540a1f6037", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20191026070338-33540a1f6037" - }, - { - "group": "golang.org/x", - "name": "term", - "version": "v0.0.0-20201117132131-f5c789dd3221", - "purl": "pkg:golang/golang.org/x/term@v0.0.0-20201117132131-f5c789dd3221", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/term@v0.0.0-20201117132131-f5c789dd3221" - }, - { - "group": "github.com/mattn", - "name": "go-isatty", - "version": "v0.0.8", - "purl": "pkg:golang/github.com/mattn/go-isatty@v0.0.8", - "type": "library", - "bom-ref": "pkg:golang/github.com/mattn/go-isatty@v0.0.8" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20190813064441-fde4db37ae7a", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20190813064441-fde4db37ae7a", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190813064441-fde4db37ae7a" - }, - { - "group": "golang.org/x", - "name": "crypto", - "version": "v0.0.0-20190308221718-c2843e01d9a2", - "purl": "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2" - }, - { - "group": "github.com/jessevdk", - "name": "go-flags", - "version": "v1.4.0", - "purl": "pkg:golang/github.com/jessevdk/go-flags@v1.4.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/jessevdk/go-flags@v1.4.0" - }, - { - "group": "gopkg.in", - "name": "yaml.v2", - "version": "v2.2.1", - "purl": "pkg:golang/gopkg.in/yaml.v2@v2.2.1", - "type": "library", - "bom-ref": "pkg:golang/gopkg.in/yaml.v2@v2.2.1" - }, - { - "group": "github.com/yuin", - "name": "goldmark", - "version": "v1.1.27", - "purl": "pkg:golang/github.com/yuin/goldmark@v1.1.27", - "type": "library", - "bom-ref": "pkg:golang/github.com/yuin/goldmark@v1.1.27" - }, - { - "group": "golang.org/x", - "name": "mod", - "version": "v0.2.0", - "purl": "pkg:golang/golang.org/x/mod@v0.2.0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/mod@v0.2.0" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20200226121028-0de0cce0169b", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20200226121028-0de0cce0169b", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20200226121028-0de0cce0169b" - }, - { - "group": "golang.org/x", - "name": "sync", - "version": "v0.0.0-20190911185100-cd5d95a43a6e", - "purl": "pkg:golang/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20181030221726-6c7e314b6563", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20181030221726-6c7e314b6563", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20181030221726-6c7e314b6563" - }, - { - "group": "github.com/cskr", - "name": "pubsub", - "version": "v1.0.2", - "purl": "pkg:golang/github.com/cskr/pubsub@v1.0.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/cskr/pubsub@v1.0.2" - }, - { - "group": "github.com/gogo", - "name": "protobuf", - "version": "v1.2.1", - "purl": "pkg:golang/github.com/gogo/protobuf@v1.2.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/gogo/protobuf@v1.2.1" - }, - { - "group": "github.com/golang", - "name": "protobuf", - "version": "v1.3.1", - "purl": "pkg:golang/github.com/golang/protobuf@v1.3.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/protobuf@v1.3.1" - }, - { - "group": "github.com/ipfs", - "name": "go-detect-race", - "version": "v0.0.1", - "purl": "pkg:golang/github.com/ipfs/go-detect-race@v0.0.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/ipfs/go-detect-race@v0.0.1" - }, - { - "group": "github.com/ipfs", - "name": "go-peertaskqueue", - "version": "v0.1.0", - "purl": "pkg:golang/github.com/ipfs/go-peertaskqueue@v0.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/ipfs/go-peertaskqueue@v0.1.0" - }, - { - "group": "github.com/jbenet", - "name": "goprocess", - "version": "v0.1.3", - "purl": "pkg:golang/github.com/jbenet/goprocess@v0.1.3", - "type": "library", - "bom-ref": "pkg:golang/github.com/jbenet/goprocess@v0.1.3" - }, - { - "group": "github.com/libp2p", - "name": "go-libp2p", - "version": "v0.1.0", - "purl": "pkg:golang/github.com/libp2p/go-libp2p@v0.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/libp2p/go-libp2p@v0.1.0" - }, - { - "group": "github.com/libp2p", - "name": "go-libp2p-core", - "version": "v0.0.2", - "purl": "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.2" - }, - { - "group": "github.com/libp2p", - "name": "go-libp2p-loggables", - "version": "v0.1.0", - "purl": "pkg:golang/github.com/libp2p/go-libp2p-loggables@v0.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/libp2p/go-libp2p-loggables@v0.1.0" - }, - { - "group": "github.com/libp2p", - "name": "go-libp2p-netutil", - "version": "v0.1.0", - "purl": "pkg:golang/github.com/libp2p/go-libp2p-netutil@v0.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/libp2p/go-libp2p-netutil@v0.1.0" - }, - { - "group": "github.com/libp2p", - "name": "go-libp2p-testing", - "version": "v0.0.3", - "purl": "pkg:golang/github.com/libp2p/go-libp2p-testing@v0.0.3", - "type": "library", - "bom-ref": "pkg:golang/github.com/libp2p/go-libp2p-testing@v0.0.3" - }, - { - "group": "github.com/libp2p", - "name": "go-testutil", - "version": "v0.1.0", - "purl": "pkg:golang/github.com/libp2p/go-testutil@v0.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/libp2p/go-testutil@v0.1.0" - }, - { - "group": "github.com/multiformats", - "name": "go-multiaddr", - "version": "v0.0.4", - "purl": "pkg:golang/github.com/multiformats/go-multiaddr@v0.0.4", - "type": "library", - "bom-ref": "pkg:golang/github.com/multiformats/go-multiaddr@v0.0.4" - }, - { - "group": "github.com/opentracing", - "name": "opentracing-go", - "version": "v1.1.0", - "purl": "pkg:golang/github.com/opentracing/opentracing-go@v1.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/opentracing/opentracing-go@v1.1.0" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20190522155817-f3200d17e092", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20190522155817-f3200d17e092", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20190522155817-f3200d17e092" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20190524122548-abf6ff778158", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20190524122548-abf6ff778158", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190524122548-abf6ff778158" - }, - { - "group": "github.com/ipfs", - "name": "bbloom", - "version": "v0.0.1", - "purl": "pkg:golang/github.com/ipfs/bbloom@v0.0.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/ipfs/bbloom@v0.0.1" - }, - { - "group": "github.com/libp2p", - "name": "go-libp2p-record", - "version": "v0.1.0", - "purl": "pkg:golang/github.com/libp2p/go-libp2p-record@v0.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/libp2p/go-libp2p-record@v0.1.0" - }, - { - "group": "github.com/multiformats", - "name": "go-multihash", - "version": "v0.0.5", - "purl": "pkg:golang/github.com/multiformats/go-multihash@v0.0.5", - "type": "library", - "bom-ref": "pkg:golang/github.com/multiformats/go-multihash@v0.0.5" - }, - { - "group": "github.com/mattn", - "name": "go-colorable", - "version": "v0.1.1", - "purl": "pkg:golang/github.com/mattn/go-colorable@v0.1.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/mattn/go-colorable@v0.1.1" - }, - { - "group": "github.com/opentracing", - "name": "opentracing-go", - "version": "v1.0.2", - "purl": "pkg:golang/github.com/opentracing/opentracing-go@v1.0.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/opentracing/opentracing-go@v1.0.2" - }, - { - "group": "github.com/whyrusleeping", - "name": "go-logging", - "version": "v0.0.0-20170515211332-0457bb6b88fc", - "purl": "pkg:golang/github.com/whyrusleeping/go-logging@v0.0.0-20170515211332-0457bb6b88fc", - "type": "library", - "bom-ref": "pkg:golang/github.com/whyrusleeping/go-logging@v0.0.0-20170515211332-0457bb6b88fc" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20190227160552-c95aed5357e7", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20190227160552-c95aed5357e7", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20190227160552-c95aed5357e7" - }, - { - "group": "github.com/kr", - "name": "text", - "version": "v0.1.0", - "purl": "pkg:golang/github.com/kr/text@v0.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/kr/text@v0.1.0" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20190311183353-d8887717615a", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20190222072716-a9d3bda3a223", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20190222072716-a9d3bda3a223", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190222072716-a9d3bda3a223" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20190215142949-d0b11bdaac8a", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a" - }, - { - "group": "golang.org/x", - "name": "crypto", - "version": "v0.0.0-20191011191535-87dc89f01550", - "purl": "pkg:golang/golang.org/x/crypto@v0.0.0-20191011191535-87dc89f01550", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20191011191535-87dc89f01550" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20191119224855-298f0cb1881e", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20191119224855-298f0cb1881e", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20191119224855-298f0cb1881e" - }, - { - "group": "golang.org/x", - "name": "xerrors", - "version": "v0.0.0-20191011141410-1b5146add898", - "purl": "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898" - }, - { - "group": "github.com/kisielk", - "name": "errcheck", - "version": "v1.1.0", - "purl": "pkg:golang/github.com/kisielk/errcheck@v1.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/kisielk/errcheck@v1.1.0" - }, - { - "group": "github.com/ipfs", - "name": "go-ipfs-pq", - "version": "v0.0.1", - "purl": "pkg:golang/github.com/ipfs/go-ipfs-pq@v0.0.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/ipfs/go-ipfs-pq@v0.0.1" - }, - { - "group": "github.com/libp2p", - "name": "go-libp2p-core", - "version": "v0.0.1", - "purl": "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.1" - }, - { - "group": "github.com/jbenet", - "name": "go-cienv", - "version": "v0.1.0", - "purl": "pkg:golang/github.com/jbenet/go-cienv@v0.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/jbenet/go-cienv@v0.1.0" - }, - { - "group": "github.com/libp2p", - "name": "go-conn-security-multistream", - "version": "v0.1.0", - "purl": "pkg:golang/github.com/libp2p/go-conn-security-multistream@v0.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/libp2p/go-conn-security-multistream@v0.1.0" - }, - { - "group": "github.com/libp2p", - "name": "go-libp2p-autonat", - "version": "v0.1.0", - "purl": "pkg:golang/github.com/libp2p/go-libp2p-autonat@v0.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/libp2p/go-libp2p-autonat@v0.1.0" - }, - { - "group": "github.com/libp2p", - "name": "go-libp2p-blankhost", - "version": "v0.1.1", - "purl": "pkg:golang/github.com/libp2p/go-libp2p-blankhost@v0.1.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/libp2p/go-libp2p-blankhost@v0.1.1" - }, - { - "group": "github.com/libp2p", - "name": "go-libp2p-circuit", - "version": "v0.1.0", - "purl": "pkg:golang/github.com/libp2p/go-libp2p-circuit@v0.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/libp2p/go-libp2p-circuit@v0.1.0" - }, - { - "group": "github.com/libp2p", - "name": "go-libp2p-discovery", - "version": "v0.1.0", - "purl": "pkg:golang/github.com/libp2p/go-libp2p-discovery@v0.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/libp2p/go-libp2p-discovery@v0.1.0" - }, - { - "group": "github.com/libp2p", - "name": "go-libp2p-mplex", - "version": "v0.2.1", - "purl": "pkg:golang/github.com/libp2p/go-libp2p-mplex@v0.2.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/libp2p/go-libp2p-mplex@v0.2.1" - }, - { - "group": "github.com/libp2p", - "name": "go-libp2p-nat", - "version": "v0.0.4", - "purl": "pkg:golang/github.com/libp2p/go-libp2p-nat@v0.0.4", - "type": "library", - "bom-ref": "pkg:golang/github.com/libp2p/go-libp2p-nat@v0.0.4" - }, - { - "group": "github.com/libp2p", - "name": "go-libp2p-peerstore", - "version": "v0.1.0", - "purl": "pkg:golang/github.com/libp2p/go-libp2p-peerstore@v0.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/libp2p/go-libp2p-peerstore@v0.1.0" - }, - { - "group": "github.com/libp2p", - "name": "go-libp2p-secio", - "version": "v0.1.0", - "purl": "pkg:golang/github.com/libp2p/go-libp2p-secio@v0.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/libp2p/go-libp2p-secio@v0.1.0" - }, - { - "group": "github.com/libp2p", - "name": "go-libp2p-swarm", - "version": "v0.1.0", - "purl": "pkg:golang/github.com/libp2p/go-libp2p-swarm@v0.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/libp2p/go-libp2p-swarm@v0.1.0" - }, - { - "group": "github.com/libp2p", - "name": "go-libp2p-transport-upgrader", - "version": "v0.1.1", - "purl": "pkg:golang/github.com/libp2p/go-libp2p-transport-upgrader@v0.1.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/libp2p/go-libp2p-transport-upgrader@v0.1.1" - }, - { - "group": "github.com/libp2p", - "name": "go-libp2p-yamux", - "version": "v0.2.0", - "purl": "pkg:golang/github.com/libp2p/go-libp2p-yamux@v0.2.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/libp2p/go-libp2p-yamux@v0.2.0" - }, - { - "group": "github.com/libp2p", - "name": "go-maddr-filter", - "version": "v0.0.4", - "purl": "pkg:golang/github.com/libp2p/go-maddr-filter@v0.0.4", - "type": "library", - "bom-ref": "pkg:golang/github.com/libp2p/go-maddr-filter@v0.0.4" - }, - { - "group": "github.com/libp2p", - "name": "go-stream-muxer-multistream", - "version": "v0.2.0", - "purl": "pkg:golang/github.com/libp2p/go-stream-muxer-multistream@v0.2.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/libp2p/go-stream-muxer-multistream@v0.2.0" - }, - { - "group": "github.com/libp2p", - "name": "go-tcp-transport", - "version": "v0.1.0", - "purl": "pkg:golang/github.com/libp2p/go-tcp-transport@v0.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/libp2p/go-tcp-transport@v0.1.0" - }, - { - "group": "github.com/libp2p", - "name": "go-ws-transport", - "version": "v0.1.0", - "purl": "pkg:golang/github.com/libp2p/go-ws-transport@v0.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/libp2p/go-ws-transport@v0.1.0" - }, - { - "group": "github.com/multiformats", - "name": "go-multiaddr-dns", - "version": "v0.0.2", - "purl": "pkg:golang/github.com/multiformats/go-multiaddr-dns@v0.0.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/multiformats/go-multiaddr-dns@v0.0.2" - }, - { - "group": "github.com/multiformats", - "name": "go-multiaddr-net", - "version": "v0.0.1", - "purl": "pkg:golang/github.com/multiformats/go-multiaddr-net@v0.0.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/multiformats/go-multiaddr-net@v0.0.1" - }, - { - "group": "github.com/multiformats", - "name": "go-multistream", - "version": "v0.1.0", - "purl": "pkg:golang/github.com/multiformats/go-multistream@v0.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/multiformats/go-multistream@v0.1.0" - }, - { - "group": "github.com/whyrusleeping", - "name": "mdns", - "version": "v0.0.0-20180901202407-ef14215e6b30", - "purl": "pkg:golang/github.com/whyrusleeping/mdns@v0.0.0-20180901202407-ef14215e6b30", - "type": "library", - "bom-ref": "pkg:golang/github.com/whyrusleeping/mdns@v0.0.0-20180901202407-ef14215e6b30" - }, - { - "group": "github.com/btcsuite", - "name": "btcd", - "version": "v0.0.0-20190523000118-16327141da8c", - "purl": "pkg:golang/github.com/btcsuite/btcd@v0.0.0-20190523000118-16327141da8c", - "type": "library", - "bom-ref": "pkg:golang/github.com/btcsuite/btcd@v0.0.0-20190523000118-16327141da8c" - }, - { - "group": "github.com/coreos", - "name": "go-semver", - "version": "v0.3.0", - "purl": "pkg:golang/github.com/coreos/go-semver@v0.3.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/coreos/go-semver@v0.3.0" - }, - { - "group": "github.com/libp2p", - "name": "go-flow-metrics", - "version": "v0.0.1", - "purl": "pkg:golang/github.com/libp2p/go-flow-metrics@v0.0.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/libp2p/go-flow-metrics@v0.0.1" - }, - { - "group": "github.com/minio", - "name": "sha256-simd", - "version": "v0.0.0-20190328051042-05b4dd3047e5", - "purl": "pkg:golang/github.com/minio/sha256-simd@v0.0.0-20190328051042-05b4dd3047e5", - "type": "library", - "bom-ref": "pkg:golang/github.com/minio/sha256-simd@v0.0.0-20190328051042-05b4dd3047e5" - }, - { - "group": "github.com/spacemonkeygo", - "name": "openssl", - "version": "v0.0.0-20181017203307-c2dcc5cca94a", - "purl": "pkg:golang/github.com/spacemonkeygo/openssl@v0.0.0-20181017203307-c2dcc5cca94a", - "type": "library", - "bom-ref": "pkg:golang/github.com/spacemonkeygo/openssl@v0.0.0-20181017203307-c2dcc5cca94a" - }, - { - "group": "golang.org/x", - "name": "crypto", - "version": "v0.0.0-20190513172903-22d7a77e9e5f", - "purl": "pkg:golang/golang.org/x/crypto@v0.0.0-20190513172903-22d7a77e9e5f", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20190513172903-22d7a77e9e5f" - }, - { - "group": "github.com/multiformats", - "name": "go-multiaddr", - "version": "v0.0.2", - "purl": "pkg:golang/github.com/multiformats/go-multiaddr@v0.0.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/multiformats/go-multiaddr@v0.0.2" - }, - { - "group": "github.com/libp2p", - "name": "go-libp2p-testing", - "version": "v0.0.2", - "purl": "pkg:golang/github.com/libp2p/go-libp2p-testing@v0.0.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/libp2p/go-libp2p-testing@v0.0.2" - }, - { - "group": "golang.org/x", - "name": "crypto", - "version": "v0.0.0-20190426145343-a29dc8fdc734", - "purl": "pkg:golang/golang.org/x/crypto@v0.0.0-20190426145343-a29dc8fdc734", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20190426145343-a29dc8fdc734" - }, - { - "group": "github.com/mattn", - "name": "go-isatty", - "version": "v0.0.5", - "purl": "pkg:golang/github.com/mattn/go-isatty@v0.0.5", - "type": "library", - "bom-ref": "pkg:golang/github.com/mattn/go-isatty@v0.0.5" - }, - { - "group": "github.com/kr", - "name": "pty", - "version": "v1.1.1", - "purl": "pkg:golang/github.com/kr/pty@v1.1.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/kr/pty@v1.1.1" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20190620200207-3b0461eec859", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859" - }, - { - "group": "golang.org/x", - "name": "sync", - "version": "v0.0.0-20190423024810-112230192c58", - "purl": "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20180221164845-07fd8470d635", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20180221164845-07fd8470d635", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20180221164845-07fd8470d635" - }, - { - "group": "github.com/btcsuite", - "name": "btcd", - "version": "v0.0.0-20190213025234-306aecffea32", - "purl": "pkg:golang/github.com/btcsuite/btcd@v0.0.0-20190213025234-306aecffea32", - "type": "library", - "bom-ref": "pkg:golang/github.com/btcsuite/btcd@v0.0.0-20190213025234-306aecffea32" - }, - { - "group": "github.com/mr-tron", - "name": "base58", - "version": "v1.1.1", - "purl": "pkg:golang/github.com/mr-tron/base58@v1.1.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/mr-tron/base58@v1.1.1" - }, - { - "group": "golang.org/x", - "name": "crypto", - "version": "v0.0.0-20190225124518-7f87c0fbb88b", - "purl": "pkg:golang/golang.org/x/crypto@v0.0.0-20190225124518-7f87c0fbb88b", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20190225124518-7f87c0fbb88b" - }, - { - "group": "github.com/libp2p", - "name": "go-mplex", - "version": "v0.1.0", - "purl": "pkg:golang/github.com/libp2p/go-mplex@v0.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/libp2p/go-mplex@v0.1.0" - }, - { - "group": "github.com/jbenet", - "name": "go-cienv", - "version": "v0.0.0-20150120210510-1bb1476777ec", - "purl": "pkg:golang/github.com/jbenet/go-cienv@v0.0.0-20150120210510-1bb1476777ec", - "type": "library", - "bom-ref": "pkg:golang/github.com/jbenet/go-cienv@v0.0.0-20150120210510-1bb1476777ec" - }, - { - "group": "github.com/libp2p", - "name": "go-nat", - "version": "v0.0.3", - "purl": "pkg:golang/github.com/libp2p/go-nat@v0.0.3", - "type": "library", - "bom-ref": "pkg:golang/github.com/libp2p/go-nat@v0.0.3" - }, - { - "group": "github.com/whyrusleeping", - "name": "go-notifier", - "version": "v0.0.0-20170827234753-097c5d47330f", - "purl": "pkg:golang/github.com/whyrusleeping/go-notifier@v0.0.0-20170827234753-097c5d47330f", - "type": "library", - "bom-ref": "pkg:golang/github.com/whyrusleeping/go-notifier@v0.0.0-20170827234753-097c5d47330f" - }, - { - "group": "github.com/ipfs", - "name": "go-ds-badger", - "version": "v0.0.2", - "purl": "pkg:golang/github.com/ipfs/go-ds-badger@v0.0.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/ipfs/go-ds-badger@v0.0.2" - }, - { - "group": "github.com/ipfs", - "name": "go-ds-leveldb", - "version": "v0.0.1", - "purl": "pkg:golang/github.com/ipfs/go-ds-leveldb@v0.0.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/ipfs/go-ds-leveldb@v0.0.1" - }, - { - "group": "github.com/libp2p", - "name": "go-buffer-pool", - "version": "v0.0.1", - "purl": "pkg:golang/github.com/libp2p/go-buffer-pool@v0.0.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/libp2p/go-buffer-pool@v0.0.1" - }, - { - "group": "github.com/libp2p", - "name": "go-libp2p-crypto", - "version": "v0.1.0", - "purl": "pkg:golang/github.com/libp2p/go-libp2p-crypto@v0.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/libp2p/go-libp2p-crypto@v0.1.0" - }, - { - "group": "github.com/libp2p", - "name": "go-libp2p-peer", - "version": "v0.2.0", - "purl": "pkg:golang/github.com/libp2p/go-libp2p-peer@v0.2.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/libp2p/go-libp2p-peer@v0.2.0" - }, - { - "group": "github.com/whyrusleeping", - "name": "go-keyspace", - "version": "v0.0.0-20160322163242-5b898ac5add1", - "purl": "pkg:golang/github.com/whyrusleeping/go-keyspace@v0.0.0-20160322163242-5b898ac5add1", - "type": "library", - "bom-ref": "pkg:golang/github.com/whyrusleeping/go-keyspace@v0.0.0-20160322163242-5b898ac5add1" - }, - { - "group": "github.com/whyrusleeping", - "name": "mafmt", - "version": "v1.2.8", - "purl": "pkg:golang/github.com/whyrusleeping/mafmt@v1.2.8", - "type": "library", - "bom-ref": "pkg:golang/github.com/whyrusleeping/mafmt@v1.2.8" - }, - { - "group": "github.com/libp2p", - "name": "go-msgio", - "version": "v0.0.2", - "purl": "pkg:golang/github.com/libp2p/go-msgio@v0.0.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/libp2p/go-msgio@v0.0.2" - }, - { - "group": "github.com/minio", - "name": "sha256-simd", - "version": "v0.1.0", - "purl": "pkg:golang/github.com/minio/sha256-simd@v0.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/minio/sha256-simd@v0.1.0" - }, - { - "group": "github.com/libp2p", - "name": "go-addr-util", - "version": "v0.0.1", - "purl": "pkg:golang/github.com/libp2p/go-addr-util@v0.0.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/libp2p/go-addr-util@v0.0.1" - }, - { - "group": "github.com/whyrusleeping", - "name": "multiaddr-filter", - "version": "v0.0.0-20160516205228-e903e4adabd7", - "purl": "pkg:golang/github.com/whyrusleeping/multiaddr-filter@v0.0.0-20160516205228-e903e4adabd7", - "type": "library", - "bom-ref": "pkg:golang/github.com/whyrusleeping/multiaddr-filter@v0.0.0-20160516205228-e903e4adabd7" - }, - { - "group": "github.com/jbenet", - "name": "go-temp-err-catcher", - "version": "v0.0.0-20150120210811-aac704a3f4f2", - "purl": "pkg:golang/github.com/jbenet/go-temp-err-catcher@v0.0.0-20150120210811-aac704a3f4f2", - "type": "library", - "bom-ref": "pkg:golang/github.com/jbenet/go-temp-err-catcher@v0.0.0-20150120210811-aac704a3f4f2" - }, - { - "group": "github.com/libp2p", - "name": "go-libp2p-mplex", - "version": "v0.2.0", - "purl": "pkg:golang/github.com/libp2p/go-libp2p-mplex@v0.2.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/libp2p/go-libp2p-mplex@v0.2.0" - }, - { - "group": "github.com/onsi", - "name": "ginkgo", - "version": "v1.8.0", - "purl": "pkg:golang/github.com/onsi/ginkgo@v1.8.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/onsi/ginkgo@v1.8.0" - }, - { - "group": "github.com/onsi", - "name": "gomega", - "version": "v1.5.0", - "purl": "pkg:golang/github.com/onsi/gomega@v1.5.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/onsi/gomega@v1.5.0" - }, - { - "group": "github.com/libp2p", - "name": "go-yamux", - "version": "v1.2.2", - "purl": "pkg:golang/github.com/libp2p/go-yamux@v1.2.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/libp2p/go-yamux@v1.2.2" - }, - { - "group": "github.com/multiformats", - "name": "go-multiaddr", - "version": "v0.0.1", - "purl": "pkg:golang/github.com/multiformats/go-multiaddr@v0.0.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/multiformats/go-multiaddr@v0.0.1" - }, - { - "group": "github.com/libp2p", - "name": "go-reuseport", - "version": "v0.0.1", - "purl": "pkg:golang/github.com/libp2p/go-reuseport@v0.0.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/libp2p/go-reuseport@v0.0.1" - }, - { - "group": "github.com/libp2p", - "name": "go-reuseport-transport", - "version": "v0.0.2", - "purl": "pkg:golang/github.com/libp2p/go-reuseport-transport@v0.0.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/libp2p/go-reuseport-transport@v0.0.2" - }, - { - "group": "github.com/multiformats", - "name": "go-multiaddr-fmt", - "version": "v0.0.1", - "purl": "pkg:golang/github.com/multiformats/go-multiaddr-fmt@v0.0.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/multiformats/go-multiaddr-fmt@v0.0.1" - }, - { - "group": "github.com/gorilla", - "name": "websocket", - "version": "v1.4.0", - "purl": "pkg:golang/github.com/gorilla/websocket@v1.4.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/gorilla/websocket@v1.4.0" - }, - { - "group": "github.com/multiformats", - "name": "go-multiaddr-dns", - "version": "v0.0.1", - "purl": "pkg:golang/github.com/multiformats/go-multiaddr-dns@v0.0.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/multiformats/go-multiaddr-dns@v0.0.1" - }, - { - "group": "github.com/aead", - "name": "siphash", - "version": "v1.0.1", - "purl": "pkg:golang/github.com/aead/siphash@v1.0.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/aead/siphash@v1.0.1" - }, - { - "group": "github.com/btcsuite", - "name": "btclog", - "version": "v0.0.0-20170628155309-84c8d2346e9f", - "purl": "pkg:golang/github.com/btcsuite/btclog@v0.0.0-20170628155309-84c8d2346e9f", - "type": "library", - "bom-ref": "pkg:golang/github.com/btcsuite/btclog@v0.0.0-20170628155309-84c8d2346e9f" - }, - { - "group": "github.com/btcsuite", - "name": "btcutil", - "version": "v0.0.0-20190425235716-9e5f4b9a998d", - "purl": "pkg:golang/github.com/btcsuite/btcutil@v0.0.0-20190425235716-9e5f4b9a998d", - "type": "library", - "bom-ref": "pkg:golang/github.com/btcsuite/btcutil@v0.0.0-20190425235716-9e5f4b9a998d" - }, - { - "group": "github.com/btcsuite", - "name": "go-socks", - "version": "v0.0.0-20170105172521-4720035b7bfd", - "purl": "pkg:golang/github.com/btcsuite/go-socks@v0.0.0-20170105172521-4720035b7bfd", - "type": "library", - "bom-ref": "pkg:golang/github.com/btcsuite/go-socks@v0.0.0-20170105172521-4720035b7bfd" - }, - { - "group": "github.com/btcsuite", - "name": "goleveldb", - "version": "v0.0.0-20160330041536-7834afc9e8cd", - "purl": "pkg:golang/github.com/btcsuite/goleveldb@v0.0.0-20160330041536-7834afc9e8cd", - "type": "library", - "bom-ref": "pkg:golang/github.com/btcsuite/goleveldb@v0.0.0-20160330041536-7834afc9e8cd" - }, - { - "group": "github.com/btcsuite", - "name": "snappy-go", - "version": "v0.0.0-20151229074030-0bdef8d06723", - "purl": "pkg:golang/github.com/btcsuite/snappy-go@v0.0.0-20151229074030-0bdef8d06723", - "type": "library", - "bom-ref": "pkg:golang/github.com/btcsuite/snappy-go@v0.0.0-20151229074030-0bdef8d06723" - }, - { - "group": "github.com/btcsuite", - "name": "websocket", - "version": "v0.0.0-20150119174127-31079b680792", - "purl": "pkg:golang/github.com/btcsuite/websocket@v0.0.0-20150119174127-31079b680792", - "type": "library", - "bom-ref": "pkg:golang/github.com/btcsuite/websocket@v0.0.0-20150119174127-31079b680792" - }, - { - "group": "github.com/btcsuite", - "name": "winsvc", - "version": "v1.0.0", - "purl": "pkg:golang/github.com/btcsuite/winsvc@v1.0.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/btcsuite/winsvc@v1.0.0" - }, - { - "group": "github.com/davecgh", - "name": "go-spew", - "version": "v0.0.0-20171005155431-ecdeabc65495", - "purl": "pkg:golang/github.com/davecgh/go-spew@v0.0.0-20171005155431-ecdeabc65495", - "type": "library", - "bom-ref": "pkg:golang/github.com/davecgh/go-spew@v0.0.0-20171005155431-ecdeabc65495" - }, - { - "group": "github.com/jessevdk", - "name": "go-flags", - "version": "v0.0.0-20141203071132-1679536dcc89", - "purl": "pkg:golang/github.com/jessevdk/go-flags@v0.0.0-20141203071132-1679536dcc89", - "type": "library", - "bom-ref": "pkg:golang/github.com/jessevdk/go-flags@v0.0.0-20141203071132-1679536dcc89" - }, - { - "group": "github.com/jrick", - "name": "logrotate", - "version": "v1.0.0", - "purl": "pkg:golang/github.com/jrick/logrotate@v1.0.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/jrick/logrotate@v1.0.0" - }, - { - "group": "github.com/kkdai", - "name": "bstream", - "version": "v0.0.0-20161212061736-f391b8402d23", - "purl": "pkg:golang/github.com/kkdai/bstream@v0.0.0-20161212061736-f391b8402d23", - "type": "library", - "bom-ref": "pkg:golang/github.com/kkdai/bstream@v0.0.0-20161212061736-f391b8402d23" - }, - { - "group": "github.com/onsi", - "name": "ginkgo", - "version": "v1.7.0", - "purl": "pkg:golang/github.com/onsi/ginkgo@v1.7.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/onsi/ginkgo@v1.7.0" - }, - { - "group": "github.com/onsi", - "name": "gomega", - "version": "v1.4.3", - "purl": "pkg:golang/github.com/onsi/gomega@v1.4.3", - "type": "library", - "bom-ref": "pkg:golang/github.com/onsi/gomega@v1.4.3" - }, - { - "group": "golang.org/x", - "name": "crypto", - "version": "v0.0.0-20170930174604-9419663f5a44", - "purl": "pkg:golang/golang.org/x/crypto@v0.0.0-20170930174604-9419663f5a44", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20170930174604-9419663f5a44" - }, - { - "group": "github.com/spacemonkeygo", - "name": "spacelog", - "version": "v0.0.0-20180420211403-2296661a0572", - "purl": "pkg:golang/github.com/spacemonkeygo/spacelog@v0.0.0-20180420211403-2296661a0572", - "type": "library", - "bom-ref": "pkg:golang/github.com/spacemonkeygo/spacelog@v0.0.0-20180420211403-2296661a0572" - }, - { - "group": "github.com/btcsuite", - "name": "btcutil", - "version": "v0.0.0-20190207003914-4c204d697803", - "purl": "pkg:golang/github.com/btcsuite/btcutil@v0.0.0-20190207003914-4c204d697803", - "type": "library", - "bom-ref": "pkg:golang/github.com/btcsuite/btcutil@v0.0.0-20190207003914-4c204d697803" - }, - { - "group": "github.com/huin", - "name": "goupnp", - "version": "v1.0.0", - "purl": "pkg:golang/github.com/huin/goupnp@v1.0.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/huin/goupnp@v1.0.0" - }, - { - "group": "github.com/jackpal", - "name": "gateway", - "version": "v1.0.5", - "purl": "pkg:golang/github.com/jackpal/gateway@v1.0.5", - "type": "library", - "bom-ref": "pkg:golang/github.com/jackpal/gateway@v1.0.5" - }, - { - "group": "github.com/jackpal", - "name": "go-nat-pmp", - "version": "v1.0.1", - "purl": "pkg:golang/github.com/jackpal/go-nat-pmp@v1.0.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/jackpal/go-nat-pmp@v1.0.1" - }, - { - "group": "github.com/koron", - "name": "go-ssdp", - "version": "v0.0.0-20180514024734-4a0ed625a78b", - "purl": "pkg:golang/github.com/koron/go-ssdp@v0.0.0-20180514024734-4a0ed625a78b", - "type": "library", - "bom-ref": "pkg:golang/github.com/koron/go-ssdp@v0.0.0-20180514024734-4a0ed625a78b" - }, - { - "group": "github.com/AndreasBriese", - "name": "bbloom", - "version": "v0.0.0-20180913140656-343706a395b7", - "purl": "pkg:golang/github.com/AndreasBriese/bbloom@v0.0.0-20180913140656-343706a395b7", - "type": "library", - "bom-ref": "pkg:golang/github.com/AndreasBriese/bbloom@v0.0.0-20180913140656-343706a395b7" - }, - { - "group": "github.com/Kubuxu", - "name": "go-os-helper", - "version": "v0.0.1", - "purl": "pkg:golang/github.com/Kubuxu/go-os-helper@v0.0.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/Kubuxu/go-os-helper@v0.0.1" - }, - { - "group": "github.com/dgraph-io", - "name": "badger", - "version": "v1.5.5-0.20190226225317-8115aed38f8f", - "purl": "pkg:golang/github.com/dgraph-io/badger@v1.5.5-0.20190226225317-8115aed38f8f", - "type": "library", - "bom-ref": "pkg:golang/github.com/dgraph-io/badger@v1.5.5-0.20190226225317-8115aed38f8f" - }, - { - "group": "github.com/dgryski", - "name": "go-farm", - "version": "v0.0.0-20190104051053-3adb47b1fb0f", - "purl": "pkg:golang/github.com/dgryski/go-farm@v0.0.0-20190104051053-3adb47b1fb0f", - "type": "library", - "bom-ref": "pkg:golang/github.com/dgryski/go-farm@v0.0.0-20190104051053-3adb47b1fb0f" - }, - { - "group": "github.com/dustin", - "name": "go-humanize", - "version": "v1.0.0", - "purl": "pkg:golang/github.com/dustin/go-humanize@v1.0.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/dustin/go-humanize@v1.0.0" - }, - { - "group": "github.com/golang", - "name": "protobuf", - "version": "v1.3.0", - "purl": "pkg:golang/github.com/golang/protobuf@v1.3.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/protobuf@v1.3.0" - }, - { - "group": "github.com/syndtr", - "name": "goleveldb", - "version": "v1.0.0", - "purl": "pkg:golang/github.com/syndtr/goleveldb@v1.0.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/syndtr/goleveldb@v1.0.0" - }, - { - "group": "github.com/libp2p", - "name": "go-mplex", - "version": "v0.0.3", - "purl": "pkg:golang/github.com/libp2p/go-mplex@v0.0.3", - "type": "library", - "bom-ref": "pkg:golang/github.com/libp2p/go-mplex@v0.0.3" - }, - { - "group": "github.com/fsnotify", - "name": "fsnotify", - "version": "v1.4.7", - "purl": "pkg:golang/github.com/fsnotify/fsnotify@v1.4.7", - "type": "library", - "bom-ref": "pkg:golang/github.com/fsnotify/fsnotify@v1.4.7" - }, - { - "group": "github.com/golang", - "name": "protobuf", - "version": "v1.2.0", - "purl": "pkg:golang/github.com/golang/protobuf@v1.2.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/protobuf@v1.2.0" - }, - { - "group": "github.com/hpcloud", - "name": "tail", - "version": "v1.0.0", - "purl": "pkg:golang/github.com/hpcloud/tail@v1.0.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/hpcloud/tail@v1.0.0" - }, - { - "group": "github.com/onsi", - "name": "ginkgo", - "version": "v1.6.0", - "purl": "pkg:golang/github.com/onsi/ginkgo@v1.6.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/onsi/ginkgo@v1.6.0" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20180906233101-161cd47e91fd", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20180906233101-161cd47e91fd", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20180906233101-161cd47e91fd" - }, - { - "group": "golang.org/x", - "name": "sync", - "version": "v0.0.0-20180314180146-1d60e4601c6f", - "purl": "pkg:golang/golang.org/x/sync@v0.0.0-20180314180146-1d60e4601c6f", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sync@v0.0.0-20180314180146-1d60e4601c6f" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20180909124046-d0be0721c37e", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20180909124046-d0be0721c37e", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20180909124046-d0be0721c37e" - }, - { - "group": "gopkg.in", - "name": "fsnotify.v1", - "version": "v1.4.7", - "purl": "pkg:golang/gopkg.in/fsnotify.v1@v1.4.7", - "type": "library", - "bom-ref": "pkg:golang/gopkg.in/fsnotify.v1@v1.4.7" - }, - { - "group": "gopkg.in", - "name": "tomb.v1", - "version": "v1.0.0-20141024135613-dd632973f1e7", - "purl": "pkg:golang/gopkg.in/tomb.v1@v1.0.0-20141024135613-dd632973f1e7", - "type": "library", - "bom-ref": "pkg:golang/gopkg.in/tomb.v1@v1.0.0-20141024135613-dd632973f1e7" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20190228124157-a34e9553db1e", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20190228124157-a34e9553db1e", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190228124157-a34e9553db1e" - }, - { - "group": "github.com/huin", - "name": "goutil", - "version": "v0.0.0-20170803182201-1ca381bf3150", - "purl": "pkg:golang/github.com/huin/goutil@v0.0.0-20170803182201-1ca381bf3150", - "type": "library", - "bom-ref": "pkg:golang/github.com/huin/goutil@v0.0.0-20170803182201-1ca381bf3150" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20181011144130-49bb7cea24b1", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20181011144130-49bb7cea24b1", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20181011144130-49bb7cea24b1" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20180831171423-11092d34479b", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20180831171423-11092d34479b", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20180831171423-11092d34479b" - }, - { - "group": "github.com/golang", - "name": "snappy", - "version": "v0.0.0-20180518054509-2e65f85255db", - "purl": "pkg:golang/github.com/golang/snappy@v0.0.0-20180518054509-2e65f85255db", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/snappy@v0.0.0-20180518054509-2e65f85255db" - }, - { - "group": "github.com/libp2p", - "name": "go-stream-muxer", - "version": "v0.0.1", - "purl": "pkg:golang/github.com/libp2p/go-stream-muxer@v0.0.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/libp2p/go-stream-muxer@v0.0.1" - } - ], - "dependencies": [ - { - "ref": "pkg:golang/github.com/devfile-samples/devfile-sample-go-basic@v0.0.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/gin-contrib/sse@v0.1.0", - "dependsOn": [ - "pkg:golang/github.com/stretchr/testify@v1.3.0" - ] - }, - { - "ref": "pkg:golang/github.com/go-playground/validator/v10@v10.2.0", - "dependsOn": [ - "pkg:golang/github.com/go-playground/assert/v2@v2.0.1", - "pkg:golang/github.com/go-playground/locales@v0.13.0", - "pkg:golang/github.com/go-playground/universal-translator@v0.17.0", - "pkg:golang/github.com/leodido/go-urn@v1.2.0" - ] - }, - { - "ref": "pkg:golang/github.com/golang/protobuf@v1.3.3", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/json-iterator/go@v1.1.9", - "dependsOn": [ - "pkg:golang/github.com/davecgh/go-spew@v1.1.1", - "pkg:golang/github.com/google/gofuzz@v1.0.0", - "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180228061459-e0a39a4cb421", - "pkg:golang/github.com/modern-go/reflect2@v0.0.0-20180701023420-4b7aa43c6742", - "pkg:golang/github.com/stretchr/testify@v1.3.0" - ] - }, - { - "ref": "pkg:golang/github.com/mattn/go-isatty@v0.0.12", - "dependsOn": [ - "pkg:golang/golang.org/x/sys@v0.0.0-20200116001909-b77594299b42" - ] - }, - { - "ref": "pkg:golang/github.com/stretchr/testify@v1.4.0", - "dependsOn": [ - "pkg:golang/github.com/davecgh/go-spew@v1.1.0", - "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", - "pkg:golang/github.com/stretchr/objx@v0.1.0", - "pkg:golang/gopkg.in/yaml.v2@v2.2.2" - ] - }, - { - "ref": "pkg:golang/github.com/ugorji/go/codec@v1.1.7", - "dependsOn": [ - "pkg:golang/github.com/ugorji/go@v1.1.7" - ] - }, - { - "ref": "pkg:golang/gopkg.in/yaml.v2@v2.2.8", - "dependsOn": [ - "pkg:golang/gopkg.in/check.v1@v0.0.0-20161208181325-20d25e280405" - ] - }, - { - "ref": "pkg:golang/github.com/ipfs/go-block-format@v0.0.3", - "dependsOn": [ - "pkg:golang/github.com/ipfs/go-cid@v0.0.7", - "pkg:golang/github.com/ipfs/go-ipfs-util@v0.0.2", - "pkg:golang/github.com/multiformats/go-multihash@v0.0.14" - ] - }, - { - "ref": "pkg:golang/github.com/ipfs/go-cid@v0.0.7", - "dependsOn": [ - "pkg:golang/github.com/multiformats/go-multibase@v0.0.3", - "pkg:golang/github.com/multiformats/go-multihash@v0.0.13", - "pkg:golang/github.com/multiformats/go-varint@v0.0.5" - ] - }, - { - "ref": "pkg:golang/github.com/ipfs/go-ipld-cbor@v0.0.5", - "dependsOn": [ - "pkg:golang/github.com/ipfs/go-block-format@v0.0.2", - "pkg:golang/github.com/ipfs/go-cid@v0.0.3", - "pkg:golang/github.com/ipfs/go-ipfs-util@v0.0.1", - "pkg:golang/github.com/ipfs/go-ipld-format@v0.0.1", - "pkg:golang/github.com/multiformats/go-multihash@v0.0.10", - "pkg:golang/github.com/polydawn/refmt@v0.0.0-20190221155625-df39d6c2d992", - "pkg:golang/github.com/smartystreets/goconvey@v0.0.0-20190222223459-a17d461953aa", - "pkg:golang/github.com/warpfork/go-wish@v0.0.0-20180510122957-5ad1f5abf436", - "pkg:golang/github.com/whyrusleeping/cbor-gen@v0.0.0-20200123233031-1cdf64d27158" - ] - }, - { - "ref": "pkg:golang/github.com/ipfs/go-ipld-format@v0.2.0", - "dependsOn": [ - "pkg:golang/github.com/ipfs/go-block-format@v0.0.2", - "pkg:golang/github.com/ipfs/go-cid@v0.0.2", - "pkg:golang/github.com/libp2p/go-buffer-pool@v0.0.2", - "pkg:golang/github.com/multiformats/go-multihash@v0.0.1" - ] - }, - { - "ref": "pkg:golang/github.com/ipfs/go-merkledag@v0.3.2", - "dependsOn": [ - "pkg:golang/github.com/gogo/protobuf@v1.3.1", - "pkg:golang/github.com/ipfs/go-block-format@v0.0.2", - "pkg:golang/github.com/ipfs/go-blockservice@v0.1.0", - "pkg:golang/github.com/ipfs/go-cid@v0.0.3", - "pkg:golang/github.com/ipfs/go-datastore@v0.3.1", - "pkg:golang/github.com/ipfs/go-ipfs-blockstore@v0.1.0", - "pkg:golang/github.com/ipfs/go-ipfs-exchange-offline@v0.0.1", - "pkg:golang/github.com/ipfs/go-ipfs-util@v0.0.1", - "pkg:golang/github.com/ipfs/go-ipld-cbor@v0.0.3", - "pkg:golang/github.com/ipfs/go-ipld-format@v0.0.2", - "pkg:golang/github.com/multiformats/go-multihash@v0.0.10" - ] - }, - { - "ref": "pkg:golang/github.com/ipld/go-codec-dagpb@v1.2.0", - "dependsOn": [ - "pkg:golang/github.com/ipfs/go-cid@v0.0.7", - "pkg:golang/github.com/ipld/go-ipld-prime@v0.9.0", - "pkg:golang/github.com/mr-tron/base58@v1.2.0", - "pkg:golang/github.com/multiformats/go-varint@v0.0.6", - "pkg:golang/github.com/polydawn/refmt@v0.0.0-20201211092308-30ac6d18308e", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1" - ] - }, - { - "ref": "pkg:golang/github.com/ipld/go-ipld-prime@v0.9.0", - "dependsOn": [ - "pkg:golang/github.com/frankban/quicktest@v1.11.3", - "pkg:golang/github.com/ipfs/go-cid@v0.0.4", - "pkg:golang/github.com/multiformats/go-multihash@v0.0.15", - "pkg:golang/github.com/polydawn/refmt@v0.0.0-20190807091052-3d65705ee9f1", - "pkg:golang/github.com/smartystreets/goconvey@v1.6.4", - "pkg:golang/github.com/warpfork/go-wish@v0.0.0-20200122115046-b9ea61034e4a" - ] - }, - { - "ref": "pkg:golang/github.com/multiformats/go-multihash@v0.0.15", - "dependsOn": [ - "pkg:golang/github.com/minio/blake2b-simd@v0.0.0-20160723061019-3f5f724cb5b1", - "pkg:golang/github.com/minio/sha256-simd@v1.0.0", - "pkg:golang/github.com/mr-tron/base58@v1.2.0", - "pkg:golang/github.com/multiformats/go-varint@v0.0.6", - "pkg:golang/golang.org/x/crypto@v0.0.0-20210220033148-5ea612d1eb83", - "pkg:golang/golang.org/x/sys@v0.0.0-20210309074719-68d13333faf2" - ] - }, - { - "ref": "pkg:golang/github.com/stretchr/testify@v1.7.0", - "dependsOn": [ - "pkg:golang/github.com/davecgh/go-spew@v1.1.0", - "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", - "pkg:golang/github.com/stretchr/objx@v0.1.0", - "pkg:golang/gopkg.in/yaml.v3@v3.0.0-20200313102051-9f266ea9e77c" - ] - }, - { - "ref": "pkg:golang/github.com/dgrijalva/jwt-go@v3.2.0%2Bincompatible", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/labstack/gommon@v0.3.0", - "dependsOn": [ - "pkg:golang/github.com/mattn/go-colorable@v0.1.2", - "pkg:golang/github.com/mattn/go-isatty@v0.0.9", - "pkg:golang/github.com/stretchr/testify@v1.4.0", - "pkg:golang/github.com/valyala/fasttemplate@v1.0.1" - ] - }, - { - "ref": "pkg:golang/github.com/mattn/go-colorable@v0.1.7", - "dependsOn": [ - "pkg:golang/github.com/mattn/go-isatty@v0.0.12", - "pkg:golang/golang.org/x/sys@v0.0.0-20200223170610-d5e6a3e2c0ae" - ] - }, - { - "ref": "pkg:golang/github.com/valyala/fasttemplate@v1.2.1", - "dependsOn": [ - "pkg:golang/github.com/valyala/bytebufferpool@v1.0.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20200820211705-5c72a883971a", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190404232315-eb5bcb51f2a3", - "pkg:golang/golang.org/x/sys@v0.0.0-20190412213103-97732733099d" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20200822124328-c89045814202", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20200622213623-75b288015ac9", - "pkg:golang/golang.org/x/sys@v0.0.0-20200323222414-85ca7c5b95cd", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200826173525-f9321e4c35a6", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/text@v0.3.3", - "dependsOn": [ - "pkg:golang/golang.org/x/tools@v0.0.0-20180917221912-90fa682c2a6e" - ] - }, - { - "ref": "pkg:golang/github.com/beevik/etree@v1.1.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/jonboulle/clockwork@v0.2.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/stretchr/testify@v1.6.1", - "dependsOn": [ - "pkg:golang/github.com/davecgh/go-spew@v1.1.0", - "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", - "pkg:golang/github.com/stretchr/objx@v0.1.0", - "pkg:golang/gopkg.in/yaml.v3@v3.0.0-20200313102051-9f266ea9e77c" - ] - }, - { - "ref": "pkg:golang/github.com/armon/go-radix@v1.0.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/cucumber/godog@v0.8.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/davecgh/go-spew@v1.1.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/elastic/go-sysinfo@v1.1.1", - "dependsOn": [ - "pkg:golang/github.com/elastic/go-windows@v1.0.0", - "pkg:golang/github.com/joeshaw/multierror@v0.0.0-20140124173710-69b34d4ec901", - "pkg:golang/github.com/pkg/errors@v0.8.1", - "pkg:golang/github.com/prometheus/procfs@v0.0.0-20190425082905-87a4384529e0", - "pkg:golang/github.com/stretchr/testify@v1.3.0", - "pkg:golang/golang.org/x/sys@v0.0.0-20191025021431-6c3a3bfe00ae", - "pkg:golang/howett.net/plist@v0.0.0-20181124034731-591f970eefbb" - ] - }, - { - "ref": "pkg:golang/github.com/google/go-cmp@v0.3.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/pkg/errors@v0.8.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/prometheus/procfs@v0.0.3", - "dependsOn": [ - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/golang.org/x/sync@v0.0.0-20181221193216-37e7f081c4d4" - ] - }, - { - "ref": "pkg:golang/github.com/santhosh-tekuri/jsonschema@v1.2.4", - "dependsOn": [] - }, - { - "ref": "pkg:golang/go.elastic.co/fastjson@v1.1.0", - "dependsOn": [ - "pkg:golang/github.com/pkg/errors@v0.8.0", - "pkg:golang/golang.org/x/tools@v0.0.0-20200509030707-2212a7e161a5" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20191204072324-ce4227a45e2e", - "dependsOn": [] - }, - { - "ref": "pkg:golang/gopkg.in/check.v1@v0.0.0-20161208181325-20d25e280405", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/stretchr/testify@v1.3.0", - "dependsOn": [ - "pkg:golang/github.com/davecgh/go-spew@v1.1.0", - "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", - "pkg:golang/github.com/stretchr/objx@v0.1.0" - ] - }, - { - "ref": "pkg:golang/github.com/go-playground/assert/v2@v2.0.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/go-playground/locales@v0.13.0", - "dependsOn": [ - "pkg:golang/golang.org/x/text@v0.3.2" - ] - }, - { - "ref": "pkg:golang/github.com/go-playground/universal-translator@v0.17.0", - "dependsOn": [ - "pkg:golang/github.com/go-playground/locales@v0.13.0" - ] - }, - { - "ref": "pkg:golang/github.com/leodido/go-urn@v1.2.0", - "dependsOn": [ - "pkg:golang/github.com/stretchr/testify@v1.4.0" - ] - }, - { - "ref": "pkg:golang/github.com/google/gofuzz@v1.0.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180228061459-e0a39a4cb421", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/modern-go/reflect2@v0.0.0-20180701023420-4b7aa43c6742", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200116001909-b77594299b42", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/davecgh/go-spew@v1.1.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/stretchr/objx@v0.1.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/gopkg.in/yaml.v2@v2.2.2", - "dependsOn": [ - "pkg:golang/gopkg.in/check.v1@v0.0.0-20161208181325-20d25e280405" - ] - }, - { - "ref": "pkg:golang/github.com/ugorji/go@v1.1.7", - "dependsOn": [ - "pkg:golang/github.com/ugorji/go/codec@v1.1.7" - ] - }, - { - "ref": "pkg:golang/github.com/ipfs/go-ipfs-util@v0.0.2", - "dependsOn": [ - "pkg:golang/github.com/mr-tron/base58@v1.1.3", - "pkg:golang/github.com/multiformats/go-multihash@v0.0.13" - ] - }, - { - "ref": "pkg:golang/github.com/multiformats/go-multihash@v0.0.14", - "dependsOn": [ - "pkg:golang/github.com/minio/blake2b-simd@v0.0.0-20160723061019-3f5f724cb5b1", - "pkg:golang/github.com/minio/sha256-simd@v0.1.1-0.20190913151208-6de447530771", - "pkg:golang/github.com/mr-tron/base58@v1.1.3", - "pkg:golang/github.com/multiformats/go-varint@v0.0.5", - "pkg:golang/github.com/spaolacci/murmur3@v1.1.0", - "pkg:golang/golang.org/x/crypto@v0.0.0-20190611184440-5c40567a22f8" - ] - }, - { - "ref": "pkg:golang/github.com/multiformats/go-multibase@v0.0.3", - "dependsOn": [ - "pkg:golang/github.com/mr-tron/base58@v1.1.0", - "pkg:golang/github.com/multiformats/go-base32@v0.0.3", - "pkg:golang/github.com/multiformats/go-base36@v0.1.0" - ] - }, - { - "ref": "pkg:golang/github.com/multiformats/go-multihash@v0.0.13", - "dependsOn": [ - "pkg:golang/github.com/minio/blake2b-simd@v0.0.0-20160723061019-3f5f724cb5b1", - "pkg:golang/github.com/minio/sha256-simd@v0.1.1-0.20190913151208-6de447530771", - "pkg:golang/github.com/mr-tron/base58@v1.1.3", - "pkg:golang/github.com/multiformats/go-varint@v0.0.5", - "pkg:golang/github.com/spaolacci/murmur3@v1.1.0", - "pkg:golang/golang.org/x/crypto@v0.0.0-20190611184440-5c40567a22f8" - ] - }, - { - "ref": "pkg:golang/github.com/multiformats/go-varint@v0.0.5", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/ipfs/go-block-format@v0.0.2", - "dependsOn": [ - "pkg:golang/github.com/ipfs/go-cid@v0.0.1", - "pkg:golang/github.com/ipfs/go-ipfs-util@v0.0.1", - "pkg:golang/github.com/multiformats/go-multihash@v0.0.1" - ] - }, - { - "ref": "pkg:golang/github.com/ipfs/go-cid@v0.0.3", - "dependsOn": [ - "pkg:golang/github.com/multiformats/go-multibase@v0.0.1", - "pkg:golang/github.com/multiformats/go-multihash@v0.0.1" - ] - }, - { - "ref": "pkg:golang/github.com/ipfs/go-ipfs-util@v0.0.1", - "dependsOn": [ - "pkg:golang/github.com/mr-tron/base58@v1.1.0", - "pkg:golang/github.com/multiformats/go-multihash@v0.0.1" - ] - }, - { - "ref": "pkg:golang/github.com/ipfs/go-ipld-format@v0.0.1", - "dependsOn": [ - "pkg:golang/github.com/ipfs/go-block-format@v0.0.2", - "pkg:golang/github.com/ipfs/go-cid@v0.0.1", - "pkg:golang/github.com/multiformats/go-multihash@v0.0.1" - ] - }, - { - "ref": "pkg:golang/github.com/multiformats/go-multihash@v0.0.10", - "dependsOn": [ - "pkg:golang/github.com/minio/blake2b-simd@v0.0.0-20160723061019-3f5f724cb5b1", - "pkg:golang/github.com/minio/sha256-simd@v0.1.1-0.20190913151208-6de447530771", - "pkg:golang/github.com/mr-tron/base58@v1.1.2", - "pkg:golang/github.com/spaolacci/murmur3@v1.1.0", - "pkg:golang/golang.org/x/crypto@v0.0.0-20190611184440-5c40567a22f8" - ] - }, - { - "ref": "pkg:golang/github.com/polydawn/refmt@v0.0.0-20190221155625-df39d6c2d992", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/smartystreets/goconvey@v0.0.0-20190222223459-a17d461953aa", - "dependsOn": [ - "pkg:golang/github.com/gopherjs/gopherjs@v0.0.0-20181017120253-0766667cb4d1", - "pkg:golang/github.com/jtolds/gls@v4.2.1%2Bincompatible", - "pkg:golang/github.com/smartystreets/assertions@v0.0.0-20180927180507-b2de0cb4f26d" - ] - }, - { - "ref": "pkg:golang/github.com/warpfork/go-wish@v0.0.0-20180510122957-5ad1f5abf436", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/whyrusleeping/cbor-gen@v0.0.0-20200123233031-1cdf64d27158", - "dependsOn": [ - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/github.com/ipfs/go-cid@v0.0.3", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543" - ] - }, - { - "ref": "pkg:golang/github.com/ipfs/go-cid@v0.0.2", - "dependsOn": [ - "pkg:golang/github.com/multiformats/go-multibase@v0.0.1", - "pkg:golang/github.com/multiformats/go-multihash@v0.0.1" - ] - }, - { - "ref": "pkg:golang/github.com/libp2p/go-buffer-pool@v0.0.2", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/multiformats/go-multihash@v0.0.1", - "dependsOn": [ - "pkg:golang/github.com/gxed/hashland/keccakpg@v0.0.1", - "pkg:golang/github.com/gxed/hashland/murmur3@v0.0.1", - "pkg:golang/github.com/minio/blake2b-simd@v0.0.0-20160723061019-3f5f724cb5b1", - "pkg:golang/github.com/minio/sha256-simd@v0.0.0-20190131020904-2d45a736cd16", - "pkg:golang/github.com/mr-tron/base58@v1.1.0", - "pkg:golang/golang.org/x/crypto@v0.0.0-20190211182817-74369b46fc67", - "pkg:golang/golang.org/x/sys@v0.0.0-20190219092855-153ac476189d" - ] - }, - { - "ref": "pkg:golang/github.com/gogo/protobuf@v1.3.1", - "dependsOn": [ - "pkg:golang/github.com/kisielk/errcheck@v1.2.0", - "pkg:golang/github.com/kisielk/gotool@v1.0.0" - ] - }, - { - "ref": "pkg:golang/github.com/ipfs/go-blockservice@v0.1.0", - "dependsOn": [ - "pkg:golang/github.com/ipfs/go-bitswap@v0.1.0", - "pkg:golang/github.com/ipfs/go-block-format@v0.0.2", - "pkg:golang/github.com/ipfs/go-cid@v0.0.2", - "pkg:golang/github.com/ipfs/go-datastore@v0.0.5", - "pkg:golang/github.com/ipfs/go-ipfs-blockstore@v0.0.1", - "pkg:golang/github.com/ipfs/go-ipfs-blocksutil@v0.0.1", - "pkg:golang/github.com/ipfs/go-ipfs-delay@v0.0.1", - "pkg:golang/github.com/ipfs/go-ipfs-exchange-interface@v0.0.1", - "pkg:golang/github.com/ipfs/go-ipfs-exchange-offline@v0.0.1", - "pkg:golang/github.com/ipfs/go-ipfs-routing@v0.1.0", - "pkg:golang/github.com/ipfs/go-ipfs-util@v0.0.1", - "pkg:golang/github.com/ipfs/go-log@v0.0.1", - "pkg:golang/github.com/ipfs/go-verifcid@v0.0.1" - ] - }, - { - "ref": "pkg:golang/github.com/ipfs/go-datastore@v0.3.1", - "dependsOn": [ - "pkg:golang/github.com/go-check/check@v0.0.0-20180628173108-788fd7840127", - "pkg:golang/github.com/google/uuid@v1.1.1", - "pkg:golang/github.com/ipfs/go-ipfs-delay@v0.0.0-20181109222059-70721b86a9a8", - "pkg:golang/github.com/jbenet/goprocess@v0.0.0-20160826012719-b497e2f366b8", - "pkg:golang/github.com/kr/pretty@v0.1.0", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20190717185122-a985d3407aa7", - "pkg:golang/gopkg.in/check.v1@v1.0.0-20180628173108-788fd7840127" - ] - }, - { - "ref": "pkg:golang/github.com/ipfs/go-ipfs-blockstore@v0.1.0", - "dependsOn": [ - "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1", - "pkg:golang/github.com/ipfs/bbloom@v0.0.4", - "pkg:golang/github.com/ipfs/go-block-format@v0.0.1", - "pkg:golang/github.com/ipfs/go-cid@v0.0.1", - "pkg:golang/github.com/ipfs/go-datastore@v0.1.0", - "pkg:golang/github.com/ipfs/go-ipfs-ds-help@v0.0.1", - "pkg:golang/github.com/ipfs/go-ipfs-util@v0.0.1", - "pkg:golang/github.com/ipfs/go-log@v0.0.1", - "pkg:golang/github.com/ipfs/go-metrics-interface@v0.0.1", - "pkg:golang/github.com/multiformats/go-multihash@v0.0.1" - ] - }, - { - "ref": "pkg:golang/github.com/ipfs/go-ipfs-exchange-offline@v0.0.1", - "dependsOn": [ - "pkg:golang/github.com/ipfs/go-block-format@v0.0.2", - "pkg:golang/github.com/ipfs/go-cid@v0.0.1", - "pkg:golang/github.com/ipfs/go-datastore@v0.0.1", - "pkg:golang/github.com/ipfs/go-ipfs-blockstore@v0.0.1", - "pkg:golang/github.com/ipfs/go-ipfs-blocksutil@v0.0.1", - "pkg:golang/github.com/ipfs/go-ipfs-exchange-interface@v0.0.1", - "pkg:golang/github.com/ipfs/go-ipfs-util@v0.0.1" - ] - }, - { - "ref": "pkg:golang/github.com/ipfs/go-ipld-cbor@v0.0.3", - "dependsOn": [ - "pkg:golang/github.com/ipfs/go-block-format@v0.0.2", - "pkg:golang/github.com/ipfs/go-cid@v0.0.2", - "pkg:golang/github.com/ipfs/go-ipfs-util@v0.0.1", - "pkg:golang/github.com/ipfs/go-ipld-format@v0.0.1", - "pkg:golang/github.com/multiformats/go-multihash@v0.0.1", - "pkg:golang/github.com/polydawn/refmt@v0.0.0-20190221155625-df39d6c2d992", - "pkg:golang/github.com/smartystreets/goconvey@v0.0.0-20190222223459-a17d461953aa", - "pkg:golang/github.com/warpfork/go-wish@v0.0.0-20180510122957-5ad1f5abf436" - ] - }, - { - "ref": "pkg:golang/github.com/ipfs/go-ipld-format@v0.0.2", - "dependsOn": [ - "pkg:golang/github.com/ipfs/go-block-format@v0.0.2", - "pkg:golang/github.com/ipfs/go-cid@v0.0.2", - "pkg:golang/github.com/multiformats/go-multihash@v0.0.1" - ] - }, - { - "ref": "pkg:golang/github.com/mr-tron/base58@v1.2.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/multiformats/go-varint@v0.0.6", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/polydawn/refmt@v0.0.0-20201211092308-30ac6d18308e", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/frankban/quicktest@v1.11.3", - "dependsOn": [ - "pkg:golang/github.com/google/go-cmp@v0.5.4", - "pkg:golang/github.com/kr/pretty@v0.2.1" - ] - }, - { - "ref": "pkg:golang/github.com/ipfs/go-cid@v0.0.4", - "dependsOn": [ - "pkg:golang/github.com/multiformats/go-multibase@v0.0.1", - "pkg:golang/github.com/multiformats/go-multihash@v0.0.10" - ] - }, - { - "ref": "pkg:golang/github.com/polydawn/refmt@v0.0.0-20190807091052-3d65705ee9f1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/smartystreets/goconvey@v1.6.4", - "dependsOn": [ - "pkg:golang/github.com/gopherjs/gopherjs@v0.0.0-20181017120253-0766667cb4d1", - "pkg:golang/github.com/jtolds/gls@v4.20.0%2Bincompatible", - "pkg:golang/github.com/smartystreets/assertions@v0.0.0-20180927180507-b2de0cb4f26d", - "pkg:golang/golang.org/x/tools@v0.0.0-20190328211700-ab21143f2384" - ] - }, - { - "ref": "pkg:golang/github.com/warpfork/go-wish@v0.0.0-20200122115046-b9ea61034e4a", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/minio/blake2b-simd@v0.0.0-20160723061019-3f5f724cb5b1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/minio/sha256-simd@v1.0.0", - "dependsOn": [ - "pkg:golang/github.com/klauspost/cpuid/v2@v2.0.4" - ] - }, - { - "ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20210220033148-5ea612d1eb83", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190404232315-eb5bcb51f2a3", - "pkg:golang/golang.org/x/sys@v0.0.0-20191026070338-33540a1f6037", - "pkg:golang/golang.org/x/term@v0.0.0-20201117132131-f5c789dd3221" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20210309074719-68d13333faf2", - "dependsOn": [] - }, - { - "ref": "pkg:golang/gopkg.in/yaml.v3@v3.0.0-20200313102051-9f266ea9e77c", - "dependsOn": [ - "pkg:golang/gopkg.in/check.v1@v0.0.0-20161208181325-20d25e280405" - ] - }, - { - "ref": "pkg:golang/github.com/mattn/go-colorable@v0.1.2", - "dependsOn": [ - "pkg:golang/github.com/mattn/go-isatty@v0.0.8" - ] - }, - { - "ref": "pkg:golang/github.com/mattn/go-isatty@v0.0.9", - "dependsOn": [ - "pkg:golang/golang.org/x/sys@v0.0.0-20190813064441-fde4db37ae7a" - ] - }, - { - "ref": "pkg:golang/github.com/valyala/fasttemplate@v1.0.1", - "dependsOn": [ - "pkg:golang/github.com/valyala/bytebufferpool@v1.0.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200223170610-d5e6a3e2c0ae", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/valyala/bytebufferpool@v1.0.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20190404232315-eb5bcb51f2a3", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190412213103-97732733099d", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20200622213623-75b288015ac9", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190404232315-eb5bcb51f2a3", - "pkg:golang/golang.org/x/sys@v0.0.0-20190412213103-97732733099d" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200323222414-85ca7c5b95cd", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/text@v0.3.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20180917221912-90fa682c2a6e", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/elastic/go-windows@v1.0.0", - "dependsOn": [ - "pkg:golang/github.com/pkg/errors@v0.8.1", - "pkg:golang/github.com/stretchr/testify@v1.3.0" - ] - }, - { - "ref": "pkg:golang/github.com/joeshaw/multierror@v0.0.0-20140124173710-69b34d4ec901", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/prometheus/procfs@v0.0.0-20190425082905-87a4384529e0", - "dependsOn": [ - "pkg:golang/golang.org/x/sync@v0.0.0-20181221193216-37e7f081c4d4" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20191025021431-6c3a3bfe00ae", - "dependsOn": [] - }, - { - "ref": "pkg:golang/howett.net/plist@v0.0.0-20181124034731-591f970eefbb", - "dependsOn": [ - "pkg:golang/github.com/jessevdk/go-flags@v1.4.0", - "pkg:golang/github.com/kr/pretty@v0.1.0", - "pkg:golang/gopkg.in/check.v1@v1.0.0-20180628173108-788fd7840127", - "pkg:golang/gopkg.in/yaml.v2@v2.2.1" - ] - }, - { - "ref": "pkg:golang/github.com/google/go-cmp@v0.3.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/sync@v0.0.0-20181221193216-37e7f081c4d4", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/pkg/errors@v0.8.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200509030707-2212a7e161a5", - "dependsOn": [ - "pkg:golang/github.com/yuin/goldmark@v1.1.27", - "pkg:golang/golang.org/x/mod@v0.2.0", - "pkg:golang/golang.org/x/net@v0.0.0-20200226121028-0de0cce0169b", - "pkg:golang/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543" - ] - }, - { - "ref": "pkg:golang/golang.org/x/text@v0.3.2", - "dependsOn": [ - "pkg:golang/golang.org/x/tools@v0.0.0-20180917221912-90fa682c2a6e" - ] - }, - { - "ref": "pkg:golang/github.com/mr-tron/base58@v1.1.3", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/minio/sha256-simd@v0.1.1-0.20190913151208-6de447530771", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/spaolacci/murmur3@v1.1.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20190611184440-5c40567a22f8", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190404232315-eb5bcb51f2a3", - "pkg:golang/golang.org/x/sys@v0.0.0-20190412213103-97732733099d" - ] - }, - { - "ref": "pkg:golang/github.com/mr-tron/base58@v1.1.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/multiformats/go-base32@v0.0.3", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/multiformats/go-base36@v0.1.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/ipfs/go-cid@v0.0.1", - "dependsOn": [ - "pkg:golang/github.com/multiformats/go-multibase@v0.0.1", - "pkg:golang/github.com/multiformats/go-multihash@v0.0.1" - ] - }, - { - "ref": "pkg:golang/github.com/multiformats/go-multibase@v0.0.1", - "dependsOn": [ - "pkg:golang/github.com/mr-tron/base58@v1.1.0", - "pkg:golang/github.com/multiformats/go-base32@v0.0.3" - ] - }, - { - "ref": "pkg:golang/github.com/mr-tron/base58@v1.1.2", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/gopherjs/gopherjs@v0.0.0-20181017120253-0766667cb4d1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/jtolds/gls@v4.2.1%2Bincompatible", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/smartystreets/assertions@v0.0.0-20180927180507-b2de0cb4f26d", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/google/go-cmp@v0.4.0", - "dependsOn": [ - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543" - ] - }, - { - "ref": "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/gxed/hashland/keccakpg@v0.0.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/gxed/hashland/murmur3@v0.0.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/minio/sha256-simd@v0.0.0-20190131020904-2d45a736cd16", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20190211182817-74369b46fc67", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190219092855-153ac476189d", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/kisielk/errcheck@v1.2.0", - "dependsOn": [ - "pkg:golang/golang.org/x/tools@v0.0.0-20181030221726-6c7e314b6563" - ] - }, - { - "ref": "pkg:golang/github.com/kisielk/gotool@v1.0.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/ipfs/go-bitswap@v0.1.0", - "dependsOn": [ - "pkg:golang/github.com/cskr/pubsub@v1.0.2", - "pkg:golang/github.com/davecgh/go-spew@v1.1.1", - "pkg:golang/github.com/gogo/protobuf@v1.2.1", - "pkg:golang/github.com/golang/protobuf@v1.3.1", - "pkg:golang/github.com/google/uuid@v1.1.1", - "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1", - "pkg:golang/github.com/ipfs/go-block-format@v0.0.2", - "pkg:golang/github.com/ipfs/go-cid@v0.0.2", - "pkg:golang/github.com/ipfs/go-datastore@v0.0.5", - "pkg:golang/github.com/ipfs/go-detect-race@v0.0.1", - "pkg:golang/github.com/ipfs/go-ipfs-blockstore@v0.0.1", - "pkg:golang/github.com/ipfs/go-ipfs-blocksutil@v0.0.1", - "pkg:golang/github.com/ipfs/go-ipfs-delay@v0.0.1", - "pkg:golang/github.com/ipfs/go-ipfs-exchange-interface@v0.0.1", - "pkg:golang/github.com/ipfs/go-ipfs-routing@v0.1.0", - "pkg:golang/github.com/ipfs/go-ipfs-util@v0.0.1", - "pkg:golang/github.com/ipfs/go-log@v0.0.1", - "pkg:golang/github.com/ipfs/go-metrics-interface@v0.0.1", - "pkg:golang/github.com/ipfs/go-peertaskqueue@v0.1.0", - "pkg:golang/github.com/jbenet/goprocess@v0.1.3", - "pkg:golang/github.com/libp2p/go-libp2p@v0.1.0", - "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.2", - "pkg:golang/github.com/libp2p/go-libp2p-loggables@v0.1.0", - "pkg:golang/github.com/libp2p/go-libp2p-netutil@v0.1.0", - "pkg:golang/github.com/libp2p/go-libp2p-testing@v0.0.3", - "pkg:golang/github.com/libp2p/go-testutil@v0.1.0", - "pkg:golang/github.com/mattn/go-colorable@v0.1.2", - "pkg:golang/github.com/multiformats/go-multiaddr@v0.0.4", - "pkg:golang/github.com/opentracing/opentracing-go@v1.1.0", - "pkg:golang/golang.org/x/net@v0.0.0-20190522155817-f3200d17e092", - "pkg:golang/golang.org/x/sys@v0.0.0-20190524122548-abf6ff778158", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/gopkg.in/yaml.v2@v2.2.2" - ] - }, - { - "ref": "pkg:golang/github.com/ipfs/go-datastore@v0.0.5", - "dependsOn": [ - "pkg:golang/github.com/go-check/check@v0.0.0-20180628173108-788fd7840127", - "pkg:golang/github.com/google/uuid@v1.1.1", - "pkg:golang/github.com/ipfs/go-ipfs-delay@v0.0.0-20181109222059-70721b86a9a8", - "pkg:golang/github.com/jbenet/goprocess@v0.0.0-20160826012719-b497e2f366b8", - "pkg:golang/github.com/kr/pretty@v0.1.0", - "pkg:golang/gopkg.in/check.v1@v1.0.0-20180628173108-788fd7840127" - ] - }, - { - "ref": "pkg:golang/github.com/ipfs/go-ipfs-blockstore@v0.0.1", - "dependsOn": [ - "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1", - "pkg:golang/github.com/ipfs/bbloom@v0.0.1", - "pkg:golang/github.com/ipfs/go-block-format@v0.0.1", - "pkg:golang/github.com/ipfs/go-cid@v0.0.1", - "pkg:golang/github.com/ipfs/go-datastore@v0.0.1", - "pkg:golang/github.com/ipfs/go-ipfs-ds-help@v0.0.1", - "pkg:golang/github.com/ipfs/go-ipfs-util@v0.0.1", - "pkg:golang/github.com/ipfs/go-log@v0.0.1", - "pkg:golang/github.com/ipfs/go-metrics-interface@v0.0.1", - "pkg:golang/github.com/multiformats/go-multihash@v0.0.1" - ] - }, - { - "ref": "pkg:golang/github.com/ipfs/go-ipfs-blocksutil@v0.0.1", - "dependsOn": [ - "pkg:golang/github.com/ipfs/go-block-format@v0.0.2" - ] - }, - { - "ref": "pkg:golang/github.com/ipfs/go-ipfs-delay@v0.0.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/ipfs/go-ipfs-exchange-interface@v0.0.1", - "dependsOn": [ - "pkg:golang/github.com/ipfs/go-block-format@v0.0.2", - "pkg:golang/github.com/ipfs/go-cid@v0.0.1" - ] - }, - { - "ref": "pkg:golang/github.com/ipfs/go-ipfs-routing@v0.1.0", - "dependsOn": [ - "pkg:golang/github.com/gogo/protobuf@v1.2.1", - "pkg:golang/github.com/ipfs/go-cid@v0.0.2", - "pkg:golang/github.com/ipfs/go-datastore@v0.0.1", - "pkg:golang/github.com/ipfs/go-ipfs-delay@v0.0.1", - "pkg:golang/github.com/ipfs/go-ipfs-ds-help@v0.0.1", - "pkg:golang/github.com/ipfs/go-ipfs-util@v0.0.1", - "pkg:golang/github.com/ipfs/go-log@v0.0.1", - "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.2", - "pkg:golang/github.com/libp2p/go-libp2p-record@v0.1.0", - "pkg:golang/github.com/libp2p/go-libp2p-testing@v0.0.3", - "pkg:golang/github.com/multiformats/go-multiaddr@v0.0.4", - "pkg:golang/github.com/multiformats/go-multihash@v0.0.5" - ] - }, - { - "ref": "pkg:golang/github.com/ipfs/go-log@v0.0.1", - "dependsOn": [ - "pkg:golang/github.com/gogo/protobuf@v1.2.1", - "pkg:golang/github.com/mattn/go-colorable@v0.1.1", - "pkg:golang/github.com/opentracing/opentracing-go@v1.0.2", - "pkg:golang/github.com/stretchr/testify@v1.3.0", - "pkg:golang/github.com/whyrusleeping/go-logging@v0.0.0-20170515211332-0457bb6b88fc", - "pkg:golang/golang.org/x/net@v0.0.0-20190227160552-c95aed5357e7" - ] - }, - { - "ref": "pkg:golang/github.com/ipfs/go-verifcid@v0.0.1", - "dependsOn": [ - "pkg:golang/github.com/ipfs/go-cid@v0.0.1", - "pkg:golang/github.com/multiformats/go-multihash@v0.0.1" - ] - }, - { - "ref": "pkg:golang/github.com/go-check/check@v0.0.0-20180628173108-788fd7840127", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/google/uuid@v1.1.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/ipfs/go-ipfs-delay@v0.0.0-20181109222059-70721b86a9a8", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/jbenet/goprocess@v0.0.0-20160826012719-b497e2f366b8", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/kr/pretty@v0.1.0", - "dependsOn": [ - "pkg:golang/github.com/kr/text@v0.1.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/xerrors@v0.0.0-20190717185122-a985d3407aa7", - "dependsOn": [] - }, - { - "ref": "pkg:golang/gopkg.in/check.v1@v1.0.0-20180628173108-788fd7840127", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/ipfs/bbloom@v0.0.4", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/ipfs/go-block-format@v0.0.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/ipfs/go-datastore@v0.1.0", - "dependsOn": [ - "pkg:golang/github.com/go-check/check@v0.0.0-20180628173108-788fd7840127", - "pkg:golang/github.com/google/uuid@v1.1.1", - "pkg:golang/github.com/ipfs/go-ipfs-delay@v0.0.0-20181109222059-70721b86a9a8", - "pkg:golang/github.com/jbenet/goprocess@v0.0.0-20160826012719-b497e2f366b8", - "pkg:golang/github.com/kr/pretty@v0.1.0", - "pkg:golang/gopkg.in/check.v1@v1.0.0-20180628173108-788fd7840127" - ] - }, - { - "ref": "pkg:golang/github.com/ipfs/go-ipfs-ds-help@v0.0.1", - "dependsOn": [ - "pkg:golang/github.com/ipfs/go-cid@v0.0.1", - "pkg:golang/github.com/ipfs/go-datastore@v0.0.1", - "pkg:golang/github.com/multiformats/go-base32@v0.0.3" - ] - }, - { - "ref": "pkg:golang/github.com/ipfs/go-metrics-interface@v0.0.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/ipfs/go-datastore@v0.0.1", - "dependsOn": [ - "pkg:golang/github.com/go-check/check@v0.0.0-20180628173108-788fd7840127", - "pkg:golang/github.com/google/uuid@v1.1.1", - "pkg:golang/github.com/ipfs/go-ipfs-delay@v0.0.0-20181109222059-70721b86a9a8", - "pkg:golang/github.com/jbenet/goprocess@v0.0.0-20160826012719-b497e2f366b8", - "pkg:golang/github.com/kr/pretty@v0.1.0", - "pkg:golang/gopkg.in/check.v1@v1.0.0-20180628173108-788fd7840127" - ] - }, - { - "ref": "pkg:golang/github.com/google/go-cmp@v0.5.4", - "dependsOn": [ - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543" - ] - }, - { - "ref": "pkg:golang/github.com/kr/pretty@v0.2.1", - "dependsOn": [ - "pkg:golang/github.com/kr/text@v0.1.0" - ] - }, - { - "ref": "pkg:golang/github.com/jtolds/gls@v4.20.0%2Bincompatible", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190328211700-ab21143f2384", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a" - ] - }, - { - "ref": "pkg:golang/github.com/klauspost/cpuid/v2@v2.0.4", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20191026070338-33540a1f6037", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/term@v0.0.0-20201117132131-f5c789dd3221", - "dependsOn": [ - "pkg:golang/golang.org/x/sys@v0.0.0-20191026070338-33540a1f6037" - ] - }, - { - "ref": "pkg:golang/github.com/mattn/go-isatty@v0.0.8", - "dependsOn": [ - "pkg:golang/golang.org/x/sys@v0.0.0-20190222072716-a9d3bda3a223" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190813064441-fde4db37ae7a", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "dependsOn": [ - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a" - ] - }, - { - "ref": "pkg:golang/github.com/jessevdk/go-flags@v1.4.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/gopkg.in/yaml.v2@v2.2.1", - "dependsOn": [ - "pkg:golang/gopkg.in/check.v1@v0.0.0-20161208181325-20d25e280405" - ] - }, - { - "ref": "pkg:golang/github.com/yuin/goldmark@v1.1.27", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/mod@v0.2.0", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20191011191535-87dc89f01550", - "pkg:golang/golang.org/x/tools@v0.0.0-20191119224855-298f0cb1881e", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20200226121028-0de0cce0169b", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20181030221726-6c7e314b6563", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/cskr/pubsub@v1.0.2", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/gogo/protobuf@v1.2.1", - "dependsOn": [ - "pkg:golang/github.com/kisielk/errcheck@v1.1.0" - ] - }, - { - "ref": "pkg:golang/github.com/golang/protobuf@v1.3.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/ipfs/go-detect-race@v0.0.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/ipfs/go-peertaskqueue@v0.1.0", - "dependsOn": [ - "pkg:golang/github.com/ipfs/go-ipfs-pq@v0.0.1", - "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.1", - "pkg:golang/github.com/multiformats/go-multihash@v0.0.5" - ] - }, - { - "ref": "pkg:golang/github.com/jbenet/goprocess@v0.1.3", - "dependsOn": [ - "pkg:golang/github.com/jbenet/go-cienv@v0.1.0" - ] - }, - { - "ref": "pkg:golang/github.com/libp2p/go-libp2p@v0.1.0", - "dependsOn": [ - "pkg:golang/github.com/gogo/protobuf@v1.2.1", - "pkg:golang/github.com/ipfs/go-cid@v0.0.2", - "pkg:golang/github.com/ipfs/go-detect-race@v0.0.1", - "pkg:golang/github.com/ipfs/go-ipfs-util@v0.0.1", - "pkg:golang/github.com/ipfs/go-log@v0.0.1", - "pkg:golang/github.com/jbenet/go-cienv@v0.1.0", - "pkg:golang/github.com/jbenet/goprocess@v0.1.3", - "pkg:golang/github.com/libp2p/go-conn-security-multistream@v0.1.0", - "pkg:golang/github.com/libp2p/go-libp2p-autonat@v0.1.0", - "pkg:golang/github.com/libp2p/go-libp2p-blankhost@v0.1.1", - "pkg:golang/github.com/libp2p/go-libp2p-circuit@v0.1.0", - "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.1", - "pkg:golang/github.com/libp2p/go-libp2p-discovery@v0.1.0", - "pkg:golang/github.com/libp2p/go-libp2p-loggables@v0.1.0", - "pkg:golang/github.com/libp2p/go-libp2p-mplex@v0.2.1", - "pkg:golang/github.com/libp2p/go-libp2p-nat@v0.0.4", - "pkg:golang/github.com/libp2p/go-libp2p-netutil@v0.1.0", - "pkg:golang/github.com/libp2p/go-libp2p-peerstore@v0.1.0", - "pkg:golang/github.com/libp2p/go-libp2p-secio@v0.1.0", - "pkg:golang/github.com/libp2p/go-libp2p-swarm@v0.1.0", - "pkg:golang/github.com/libp2p/go-libp2p-testing@v0.0.3", - "pkg:golang/github.com/libp2p/go-libp2p-transport-upgrader@v0.1.1", - "pkg:golang/github.com/libp2p/go-libp2p-yamux@v0.2.0", - "pkg:golang/github.com/libp2p/go-maddr-filter@v0.0.4", - "pkg:golang/github.com/libp2p/go-stream-muxer-multistream@v0.2.0", - "pkg:golang/github.com/libp2p/go-tcp-transport@v0.1.0", - "pkg:golang/github.com/libp2p/go-ws-transport@v0.1.0", - "pkg:golang/github.com/multiformats/go-multiaddr@v0.0.4", - "pkg:golang/github.com/multiformats/go-multiaddr-dns@v0.0.2", - "pkg:golang/github.com/multiformats/go-multiaddr-net@v0.0.1", - "pkg:golang/github.com/multiformats/go-multistream@v0.1.0", - "pkg:golang/github.com/whyrusleeping/mdns@v0.0.0-20180901202407-ef14215e6b30" - ] - }, - { - "ref": "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.2", - "dependsOn": [ - "pkg:golang/github.com/btcsuite/btcd@v0.0.0-20190523000118-16327141da8c", - "pkg:golang/github.com/coreos/go-semver@v0.3.0", - "pkg:golang/github.com/gogo/protobuf@v1.2.1", - "pkg:golang/github.com/ipfs/go-cid@v0.0.2", - "pkg:golang/github.com/jbenet/goprocess@v0.1.3", - "pkg:golang/github.com/libp2p/go-flow-metrics@v0.0.1", - "pkg:golang/github.com/minio/sha256-simd@v0.0.0-20190328051042-05b4dd3047e5", - "pkg:golang/github.com/mr-tron/base58@v1.1.2", - "pkg:golang/github.com/multiformats/go-multiaddr@v0.0.4", - "pkg:golang/github.com/multiformats/go-multihash@v0.0.5", - "pkg:golang/github.com/spacemonkeygo/openssl@v0.0.0-20181017203307-c2dcc5cca94a", - "pkg:golang/golang.org/x/crypto@v0.0.0-20190513172903-22d7a77e9e5f" - ] - }, - { - "ref": "pkg:golang/github.com/libp2p/go-libp2p-loggables@v0.1.0", - "dependsOn": [ - "pkg:golang/github.com/google/uuid@v1.1.1", - "pkg:golang/github.com/ipfs/go-log@v0.0.1", - "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.1", - "pkg:golang/github.com/multiformats/go-multiaddr@v0.0.2" - ] - }, - { - "ref": "pkg:golang/github.com/libp2p/go-libp2p-netutil@v0.1.0", - "dependsOn": [ - "pkg:golang/github.com/ipfs/go-log@v0.0.1", - "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.1", - "pkg:golang/github.com/libp2p/go-libp2p-testing@v0.0.3", - "pkg:golang/github.com/multiformats/go-multiaddr@v0.0.2" - ] - }, - { - "ref": "pkg:golang/github.com/libp2p/go-libp2p-testing@v0.0.3", - "dependsOn": [ - "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.1", - "pkg:golang/github.com/multiformats/go-multiaddr@v0.0.2" - ] - }, - { - "ref": "pkg:golang/github.com/libp2p/go-testutil@v0.1.0", - "dependsOn": [ - "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.1", - "pkg:golang/github.com/libp2p/go-libp2p-testing@v0.0.2", - "pkg:golang/github.com/multiformats/go-multiaddr@v0.0.2", - "pkg:golang/golang.org/x/sys@v0.0.0-20190222072716-a9d3bda3a223" - ] - }, - { - "ref": "pkg:golang/github.com/multiformats/go-multiaddr@v0.0.4", - "dependsOn": [ - "pkg:golang/github.com/multiformats/go-multihash@v0.0.1" - ] - }, - { - "ref": "pkg:golang/github.com/opentracing/opentracing-go@v1.1.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20190522155817-f3200d17e092", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190524122548-abf6ff778158", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/ipfs/bbloom@v0.0.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/libp2p/go-libp2p-record@v0.1.0", - "dependsOn": [ - "pkg:golang/github.com/gogo/protobuf@v1.2.1", - "pkg:golang/github.com/ipfs/go-ipfs-util@v0.0.1", - "pkg:golang/github.com/ipfs/go-log@v0.0.1", - "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.1", - "pkg:golang/github.com/multiformats/go-multihash@v0.0.5" - ] - }, - { - "ref": "pkg:golang/github.com/multiformats/go-multihash@v0.0.5", - "dependsOn": [ - "pkg:golang/github.com/minio/blake2b-simd@v0.0.0-20160723061019-3f5f724cb5b1", - "pkg:golang/github.com/minio/sha256-simd@v0.0.0-20190328051042-05b4dd3047e5", - "pkg:golang/github.com/mr-tron/base58@v1.1.2", - "pkg:golang/github.com/spaolacci/murmur3@v1.1.0", - "pkg:golang/golang.org/x/crypto@v0.0.0-20190426145343-a29dc8fdc734" - ] - }, - { - "ref": "pkg:golang/github.com/mattn/go-colorable@v0.1.1", - "dependsOn": [ - "pkg:golang/github.com/mattn/go-isatty@v0.0.5" - ] - }, - { - "ref": "pkg:golang/github.com/opentracing/opentracing-go@v1.0.2", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/whyrusleeping/go-logging@v0.0.0-20170515211332-0457bb6b88fc", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20190227160552-c95aed5357e7", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/kr/text@v0.1.0", - "dependsOn": [ - "pkg:golang/github.com/kr/pty@v1.1.1" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190222072716-a9d3bda3a223", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20191011191535-87dc89f01550", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190404232315-eb5bcb51f2a3", - "pkg:golang/golang.org/x/sys@v0.0.0-20190412213103-97732733099d" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20191119224855-298f0cb1881e", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20190717185122-a985d3407aa7" - ] - }, - { - "ref": "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/kisielk/errcheck@v1.1.0", - "dependsOn": [ - "pkg:golang/github.com/kisielk/gotool@v1.0.0", - "pkg:golang/golang.org/x/tools@v0.0.0-20180221164845-07fd8470d635" - ] - }, - { - "ref": "pkg:golang/github.com/ipfs/go-ipfs-pq@v0.0.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.1", - "dependsOn": [ - "pkg:golang/github.com/btcsuite/btcd@v0.0.0-20190213025234-306aecffea32", - "pkg:golang/github.com/coreos/go-semver@v0.3.0", - "pkg:golang/github.com/gogo/protobuf@v1.2.1", - "pkg:golang/github.com/ipfs/go-cid@v0.0.1", - "pkg:golang/github.com/jbenet/goprocess@v0.0.0-20160826012719-b497e2f366b8", - "pkg:golang/github.com/libp2p/go-flow-metrics@v0.0.1", - "pkg:golang/github.com/minio/sha256-simd@v0.0.0-20190131020904-2d45a736cd16", - "pkg:golang/github.com/mr-tron/base58@v1.1.1", - "pkg:golang/github.com/multiformats/go-multiaddr@v0.0.2", - "pkg:golang/github.com/multiformats/go-multihash@v0.0.1", - "pkg:golang/github.com/spacemonkeygo/openssl@v0.0.0-20181017203307-c2dcc5cca94a", - "pkg:golang/golang.org/x/crypto@v0.0.0-20190225124518-7f87c0fbb88b" - ] - }, - { - "ref": "pkg:golang/github.com/jbenet/go-cienv@v0.1.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/libp2p/go-conn-security-multistream@v0.1.0", - "dependsOn": [ - "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.1", - "pkg:golang/github.com/libp2p/go-libp2p-testing@v0.0.2", - "pkg:golang/github.com/multiformats/go-multistream@v0.1.0" - ] - }, - { - "ref": "pkg:golang/github.com/libp2p/go-libp2p-autonat@v0.1.0", - "dependsOn": [ - "pkg:golang/github.com/gogo/protobuf@v1.2.1", - "pkg:golang/github.com/ipfs/go-log@v0.0.1", - "pkg:golang/github.com/libp2p/go-libp2p-blankhost@v0.1.1", - "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.1", - "pkg:golang/github.com/libp2p/go-libp2p-swarm@v0.1.0", - "pkg:golang/github.com/multiformats/go-multiaddr@v0.0.4" - ] - }, - { - "ref": "pkg:golang/github.com/libp2p/go-libp2p-blankhost@v0.1.1", - "dependsOn": [ - "pkg:golang/github.com/ipfs/go-log@v0.0.1", - "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.1", - "pkg:golang/github.com/multiformats/go-multiaddr@v0.0.2", - "pkg:golang/github.com/multiformats/go-multistream@v0.1.0" - ] - }, - { - "ref": "pkg:golang/github.com/libp2p/go-libp2p-circuit@v0.1.0", - "dependsOn": [ - "pkg:golang/github.com/gogo/protobuf@v1.2.1", - "pkg:golang/github.com/ipfs/go-log@v0.0.1", - "pkg:golang/github.com/libp2p/go-buffer-pool@v0.0.2", - "pkg:golang/github.com/libp2p/go-libp2p-blankhost@v0.1.1", - "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.1", - "pkg:golang/github.com/libp2p/go-libp2p-swarm@v0.1.0", - "pkg:golang/github.com/libp2p/go-libp2p-transport-upgrader@v0.1.1", - "pkg:golang/github.com/multiformats/go-multiaddr@v0.0.4", - "pkg:golang/github.com/multiformats/go-multiaddr-net@v0.0.1" - ] - }, - { - "ref": "pkg:golang/github.com/libp2p/go-libp2p-discovery@v0.1.0", - "dependsOn": [ - "pkg:golang/github.com/ipfs/go-cid@v0.0.2", - "pkg:golang/github.com/ipfs/go-log@v0.0.1", - "pkg:golang/github.com/libp2p/go-libp2p-blankhost@v0.1.1", - "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.1", - "pkg:golang/github.com/libp2p/go-libp2p-swarm@v0.1.0", - "pkg:golang/github.com/multiformats/go-multihash@v0.0.5" - ] - }, - { - "ref": "pkg:golang/github.com/libp2p/go-libp2p-mplex@v0.2.1", - "dependsOn": [ - "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.1", - "pkg:golang/github.com/libp2p/go-libp2p-testing@v0.0.3", - "pkg:golang/github.com/libp2p/go-mplex@v0.1.0" - ] - }, - { - "ref": "pkg:golang/github.com/libp2p/go-libp2p-nat@v0.0.4", - "dependsOn": [ - "pkg:golang/github.com/ipfs/go-log@v0.0.1", - "pkg:golang/github.com/jbenet/go-cienv@v0.0.0-20150120210510-1bb1476777ec", - "pkg:golang/github.com/jbenet/goprocess@v0.0.0-20160826012719-b497e2f366b8", - "pkg:golang/github.com/libp2p/go-nat@v0.0.3", - "pkg:golang/github.com/whyrusleeping/go-notifier@v0.0.0-20170827234753-097c5d47330f" - ] - }, - { - "ref": "pkg:golang/github.com/libp2p/go-libp2p-peerstore@v0.1.0", - "dependsOn": [ - "pkg:golang/github.com/gogo/protobuf@v1.2.1", - "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1", - "pkg:golang/github.com/ipfs/go-datastore@v0.0.1", - "pkg:golang/github.com/ipfs/go-ds-badger@v0.0.2", - "pkg:golang/github.com/ipfs/go-ds-leveldb@v0.0.1", - "pkg:golang/github.com/ipfs/go-log@v0.0.1", - "pkg:golang/github.com/libp2p/go-buffer-pool@v0.0.1", - "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.1", - "pkg:golang/github.com/libp2p/go-libp2p-crypto@v0.1.0", - "pkg:golang/github.com/libp2p/go-libp2p-peer@v0.2.0", - "pkg:golang/github.com/multiformats/go-base32@v0.0.3", - "pkg:golang/github.com/multiformats/go-multiaddr@v0.0.2", - "pkg:golang/github.com/multiformats/go-multiaddr-net@v0.0.1", - "pkg:golang/github.com/multiformats/go-multihash@v0.0.1", - "pkg:golang/github.com/pkg/errors@v0.8.1", - "pkg:golang/github.com/whyrusleeping/go-keyspace@v0.0.0-20160322163242-5b898ac5add1", - "pkg:golang/github.com/whyrusleeping/mafmt@v1.2.8" - ] - }, - { - "ref": "pkg:golang/github.com/libp2p/go-libp2p-secio@v0.1.0", - "dependsOn": [ - "pkg:golang/github.com/gogo/protobuf@v1.2.1", - "pkg:golang/github.com/ipfs/go-log@v0.0.1", - "pkg:golang/github.com/libp2p/go-buffer-pool@v0.0.2", - "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.1", - "pkg:golang/github.com/libp2p/go-libp2p-testing@v0.0.2", - "pkg:golang/github.com/libp2p/go-msgio@v0.0.2", - "pkg:golang/github.com/minio/sha256-simd@v0.1.0", - "pkg:golang/github.com/multiformats/go-multihash@v0.0.5", - "pkg:golang/golang.org/x/crypto@v0.0.0-20190513172903-22d7a77e9e5f" - ] - }, - { - "ref": "pkg:golang/github.com/libp2p/go-libp2p-swarm@v0.1.0", - "dependsOn": [ - "pkg:golang/github.com/ipfs/go-log@v0.0.1", - "pkg:golang/github.com/jbenet/goprocess@v0.1.3", - "pkg:golang/github.com/libp2p/go-addr-util@v0.0.1", - "pkg:golang/github.com/libp2p/go-conn-security-multistream@v0.1.0", - "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.1", - "pkg:golang/github.com/libp2p/go-libp2p-loggables@v0.1.0", - "pkg:golang/github.com/libp2p/go-libp2p-peerstore@v0.1.0", - "pkg:golang/github.com/libp2p/go-libp2p-secio@v0.1.0", - "pkg:golang/github.com/libp2p/go-libp2p-testing@v0.0.3", - "pkg:golang/github.com/libp2p/go-libp2p-transport-upgrader@v0.1.1", - "pkg:golang/github.com/libp2p/go-libp2p-yamux@v0.2.0", - "pkg:golang/github.com/libp2p/go-maddr-filter@v0.0.4", - "pkg:golang/github.com/libp2p/go-stream-muxer-multistream@v0.2.0", - "pkg:golang/github.com/libp2p/go-tcp-transport@v0.1.0", - "pkg:golang/github.com/multiformats/go-multiaddr@v0.0.4", - "pkg:golang/github.com/multiformats/go-multiaddr-net@v0.0.1", - "pkg:golang/github.com/whyrusleeping/mafmt@v1.2.8", - "pkg:golang/github.com/whyrusleeping/multiaddr-filter@v0.0.0-20160516205228-e903e4adabd7" - ] - }, - { - "ref": "pkg:golang/github.com/libp2p/go-libp2p-transport-upgrader@v0.1.1", - "dependsOn": [ - "pkg:golang/github.com/ipfs/go-log@v0.0.1", - "pkg:golang/github.com/jbenet/go-temp-err-catcher@v0.0.0-20150120210811-aac704a3f4f2", - "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.1", - "pkg:golang/github.com/libp2p/go-libp2p-mplex@v0.2.0", - "pkg:golang/github.com/libp2p/go-maddr-filter@v0.0.4", - "pkg:golang/github.com/multiformats/go-multiaddr@v0.0.4", - "pkg:golang/github.com/multiformats/go-multiaddr-net@v0.0.1", - "pkg:golang/github.com/onsi/ginkgo@v1.8.0", - "pkg:golang/github.com/onsi/gomega@v1.5.0" - ] - }, - { - "ref": "pkg:golang/github.com/libp2p/go-libp2p-yamux@v0.2.0", - "dependsOn": [ - "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.1", - "pkg:golang/github.com/libp2p/go-libp2p-testing@v0.0.3", - "pkg:golang/github.com/libp2p/go-yamux@v1.2.2" - ] - }, - { - "ref": "pkg:golang/github.com/libp2p/go-maddr-filter@v0.0.4", - "dependsOn": [ - "pkg:golang/github.com/multiformats/go-multiaddr@v0.0.1", - "pkg:golang/github.com/multiformats/go-multiaddr-net@v0.0.1" - ] - }, - { - "ref": "pkg:golang/github.com/libp2p/go-stream-muxer-multistream@v0.2.0", - "dependsOn": [ - "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.1", - "pkg:golang/github.com/multiformats/go-multistream@v0.1.0" - ] - }, - { - "ref": "pkg:golang/github.com/libp2p/go-tcp-transport@v0.1.0", - "dependsOn": [ - "pkg:golang/github.com/ipfs/go-log@v0.0.1", - "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.1", - "pkg:golang/github.com/libp2p/go-libp2p-mplex@v0.2.1", - "pkg:golang/github.com/libp2p/go-libp2p-testing@v0.0.3", - "pkg:golang/github.com/libp2p/go-libp2p-transport-upgrader@v0.1.1", - "pkg:golang/github.com/libp2p/go-reuseport@v0.0.1", - "pkg:golang/github.com/libp2p/go-reuseport-transport@v0.0.2", - "pkg:golang/github.com/multiformats/go-multiaddr@v0.0.4", - "pkg:golang/github.com/multiformats/go-multiaddr-fmt@v0.0.1", - "pkg:golang/github.com/multiformats/go-multiaddr-net@v0.0.1", - "pkg:golang/github.com/multiformats/go-multihash@v0.0.5" - ] - }, - { - "ref": "pkg:golang/github.com/libp2p/go-ws-transport@v0.1.0", - "dependsOn": [ - "pkg:golang/github.com/gorilla/websocket@v1.4.0", - "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.1", - "pkg:golang/github.com/libp2p/go-libp2p-mplex@v0.2.0", - "pkg:golang/github.com/libp2p/go-libp2p-testing@v0.0.3", - "pkg:golang/github.com/libp2p/go-libp2p-transport-upgrader@v0.1.1", - "pkg:golang/github.com/multiformats/go-multiaddr@v0.0.4", - "pkg:golang/github.com/multiformats/go-multiaddr-net@v0.0.1", - "pkg:golang/github.com/whyrusleeping/mafmt@v1.2.8" - ] - }, - { - "ref": "pkg:golang/github.com/multiformats/go-multiaddr-dns@v0.0.2", - "dependsOn": [ - "pkg:golang/github.com/multiformats/go-multiaddr@v0.0.1" - ] - }, - { - "ref": "pkg:golang/github.com/multiformats/go-multiaddr-net@v0.0.1", - "dependsOn": [ - "pkg:golang/github.com/multiformats/go-multiaddr@v0.0.1", - "pkg:golang/github.com/multiformats/go-multiaddr-dns@v0.0.1" - ] - }, - { - "ref": "pkg:golang/github.com/multiformats/go-multistream@v0.1.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/whyrusleeping/mdns@v0.0.0-20180901202407-ef14215e6b30", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/btcsuite/btcd@v0.0.0-20190523000118-16327141da8c", - "dependsOn": [ - "pkg:golang/github.com/aead/siphash@v1.0.1", - "pkg:golang/github.com/btcsuite/btclog@v0.0.0-20170628155309-84c8d2346e9f", - "pkg:golang/github.com/btcsuite/btcutil@v0.0.0-20190425235716-9e5f4b9a998d", - "pkg:golang/github.com/btcsuite/go-socks@v0.0.0-20170105172521-4720035b7bfd", - "pkg:golang/github.com/btcsuite/goleveldb@v0.0.0-20160330041536-7834afc9e8cd", - "pkg:golang/github.com/btcsuite/snappy-go@v0.0.0-20151229074030-0bdef8d06723", - "pkg:golang/github.com/btcsuite/websocket@v0.0.0-20150119174127-31079b680792", - "pkg:golang/github.com/btcsuite/winsvc@v1.0.0", - "pkg:golang/github.com/davecgh/go-spew@v0.0.0-20171005155431-ecdeabc65495", - "pkg:golang/github.com/jessevdk/go-flags@v0.0.0-20141203071132-1679536dcc89", - "pkg:golang/github.com/jrick/logrotate@v1.0.0", - "pkg:golang/github.com/kkdai/bstream@v0.0.0-20161212061736-f391b8402d23", - "pkg:golang/github.com/onsi/ginkgo@v1.7.0", - "pkg:golang/github.com/onsi/gomega@v1.4.3", - "pkg:golang/golang.org/x/crypto@v0.0.0-20170930174604-9419663f5a44" - ] - }, - { - "ref": "pkg:golang/github.com/coreos/go-semver@v0.3.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/libp2p/go-flow-metrics@v0.0.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/minio/sha256-simd@v0.0.0-20190328051042-05b4dd3047e5", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/spacemonkeygo/openssl@v0.0.0-20181017203307-c2dcc5cca94a", - "dependsOn": [ - "pkg:golang/github.com/spacemonkeygo/spacelog@v0.0.0-20180420211403-2296661a0572" - ] - }, - { - "ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20190513172903-22d7a77e9e5f", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190404232315-eb5bcb51f2a3", - "pkg:golang/golang.org/x/sys@v0.0.0-20190412213103-97732733099d" - ] - }, - { - "ref": "pkg:golang/github.com/multiformats/go-multiaddr@v0.0.2", - "dependsOn": [ - "pkg:golang/github.com/multiformats/go-multihash@v0.0.1" - ] - }, - { - "ref": "pkg:golang/github.com/libp2p/go-libp2p-testing@v0.0.2", - "dependsOn": [ - "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.1", - "pkg:golang/github.com/multiformats/go-multiaddr@v0.0.2" - ] - }, - { - "ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20190426145343-a29dc8fdc734", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190404232315-eb5bcb51f2a3", - "pkg:golang/golang.org/x/sys@v0.0.0-20190412213103-97732733099d" - ] - }, - { - "ref": "pkg:golang/github.com/mattn/go-isatty@v0.0.5", - "dependsOn": [ - "pkg:golang/golang.org/x/sys@v0.0.0-20190222072716-a9d3bda3a223" - ] - }, - { - "ref": "pkg:golang/github.com/kr/pty@v1.1.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20180221164845-07fd8470d635", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/btcsuite/btcd@v0.0.0-20190213025234-306aecffea32", - "dependsOn": [ - "pkg:golang/github.com/aead/siphash@v1.0.1", - "pkg:golang/github.com/btcsuite/btclog@v0.0.0-20170628155309-84c8d2346e9f", - "pkg:golang/github.com/btcsuite/btcutil@v0.0.0-20190207003914-4c204d697803", - "pkg:golang/github.com/btcsuite/go-socks@v0.0.0-20170105172521-4720035b7bfd", - "pkg:golang/github.com/btcsuite/goleveldb@v0.0.0-20160330041536-7834afc9e8cd", - "pkg:golang/github.com/btcsuite/snappy-go@v0.0.0-20151229074030-0bdef8d06723", - "pkg:golang/github.com/btcsuite/websocket@v0.0.0-20150119174127-31079b680792", - "pkg:golang/github.com/btcsuite/winsvc@v1.0.0", - "pkg:golang/github.com/davecgh/go-spew@v0.0.0-20171005155431-ecdeabc65495", - "pkg:golang/github.com/jessevdk/go-flags@v0.0.0-20141203071132-1679536dcc89", - "pkg:golang/github.com/jrick/logrotate@v1.0.0", - "pkg:golang/github.com/kkdai/bstream@v0.0.0-20161212061736-f391b8402d23", - "pkg:golang/github.com/onsi/ginkgo@v1.7.0", - "pkg:golang/github.com/onsi/gomega@v1.4.3", - "pkg:golang/golang.org/x/crypto@v0.0.0-20170930174604-9419663f5a44" - ] - }, - { - "ref": "pkg:golang/github.com/mr-tron/base58@v1.1.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20190225124518-7f87c0fbb88b", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/libp2p/go-mplex@v0.1.0", - "dependsOn": [ - "pkg:golang/github.com/ipfs/go-log@v0.0.1", - "pkg:golang/github.com/libp2p/go-buffer-pool@v0.0.1", - "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.1" - ] - }, - { - "ref": "pkg:golang/github.com/jbenet/go-cienv@v0.0.0-20150120210510-1bb1476777ec", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/libp2p/go-nat@v0.0.3", - "dependsOn": [ - "pkg:golang/github.com/huin/goupnp@v1.0.0", - "pkg:golang/github.com/jackpal/gateway@v1.0.5", - "pkg:golang/github.com/jackpal/go-nat-pmp@v1.0.1", - "pkg:golang/github.com/koron/go-ssdp@v0.0.0-20180514024734-4a0ed625a78b" - ] - }, - { - "ref": "pkg:golang/github.com/whyrusleeping/go-notifier@v0.0.0-20170827234753-097c5d47330f", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/ipfs/go-ds-badger@v0.0.2", - "dependsOn": [ - "pkg:golang/github.com/AndreasBriese/bbloom@v0.0.0-20180913140656-343706a395b7", - "pkg:golang/github.com/Kubuxu/go-os-helper@v0.0.1", - "pkg:golang/github.com/dgraph-io/badger@v1.5.5-0.20190226225317-8115aed38f8f", - "pkg:golang/github.com/dgryski/go-farm@v0.0.0-20190104051053-3adb47b1fb0f", - "pkg:golang/github.com/dustin/go-humanize@v1.0.0", - "pkg:golang/github.com/golang/protobuf@v1.3.0", - "pkg:golang/github.com/ipfs/go-datastore@v0.0.1", - "pkg:golang/github.com/ipfs/go-log@v0.0.1", - "pkg:golang/github.com/jbenet/goprocess@v0.0.0-20160826012719-b497e2f366b8", - "pkg:golang/github.com/pkg/errors@v0.8.1" - ] - }, - { - "ref": "pkg:golang/github.com/ipfs/go-ds-leveldb@v0.0.1", - "dependsOn": [ - "pkg:golang/github.com/ipfs/go-datastore@v0.0.1", - "pkg:golang/github.com/jbenet/goprocess@v0.0.0-20160826012719-b497e2f366b8", - "pkg:golang/github.com/syndtr/goleveldb@v1.0.0" - ] - }, - { - "ref": "pkg:golang/github.com/libp2p/go-buffer-pool@v0.0.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/libp2p/go-libp2p-crypto@v0.1.0", - "dependsOn": [ - "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.1" - ] - }, - { - "ref": "pkg:golang/github.com/libp2p/go-libp2p-peer@v0.2.0", - "dependsOn": [ - "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.1", - "pkg:golang/github.com/libp2p/go-libp2p-crypto@v0.1.0", - "pkg:golang/golang.org/x/sys@v0.0.0-20190222072716-a9d3bda3a223" - ] - }, - { - "ref": "pkg:golang/github.com/whyrusleeping/go-keyspace@v0.0.0-20160322163242-5b898ac5add1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/whyrusleeping/mafmt@v1.2.8", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/libp2p/go-msgio@v0.0.2", - "dependsOn": [ - "pkg:golang/github.com/libp2p/go-buffer-pool@v0.0.1" - ] - }, - { - "ref": "pkg:golang/github.com/minio/sha256-simd@v0.1.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/libp2p/go-addr-util@v0.0.1", - "dependsOn": [ - "pkg:golang/github.com/ipfs/go-log@v0.0.1", - "pkg:golang/github.com/multiformats/go-multiaddr@v0.0.1", - "pkg:golang/github.com/multiformats/go-multiaddr-net@v0.0.1", - "pkg:golang/github.com/whyrusleeping/mafmt@v1.2.8" - ] - }, - { - "ref": "pkg:golang/github.com/whyrusleeping/multiaddr-filter@v0.0.0-20160516205228-e903e4adabd7", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/jbenet/go-temp-err-catcher@v0.0.0-20150120210811-aac704a3f4f2", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/libp2p/go-libp2p-mplex@v0.2.0", - "dependsOn": [ - "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.1", - "pkg:golang/github.com/libp2p/go-libp2p-testing@v0.0.3", - "pkg:golang/github.com/libp2p/go-mplex@v0.0.3" - ] - }, - { - "ref": "pkg:golang/github.com/onsi/ginkgo@v1.8.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/onsi/gomega@v1.5.0", - "dependsOn": [ - "pkg:golang/github.com/fsnotify/fsnotify@v1.4.7", - "pkg:golang/github.com/golang/protobuf@v1.2.0", - "pkg:golang/github.com/hpcloud/tail@v1.0.0", - "pkg:golang/github.com/onsi/ginkgo@v1.6.0", - "pkg:golang/golang.org/x/net@v0.0.0-20180906233101-161cd47e91fd", - "pkg:golang/golang.org/x/sync@v0.0.0-20180314180146-1d60e4601c6f", - "pkg:golang/golang.org/x/sys@v0.0.0-20180909124046-d0be0721c37e", - "pkg:golang/golang.org/x/text@v0.3.0", - "pkg:golang/gopkg.in/fsnotify.v1@v1.4.7", - "pkg:golang/gopkg.in/tomb.v1@v1.0.0-20141024135613-dd632973f1e7", - "pkg:golang/gopkg.in/yaml.v2@v2.2.1" - ] - }, - { - "ref": "pkg:golang/github.com/libp2p/go-yamux@v1.2.2", - "dependsOn": [ - "pkg:golang/github.com/libp2p/go-buffer-pool@v0.0.2" - ] - }, - { - "ref": "pkg:golang/github.com/multiformats/go-multiaddr@v0.0.1", - "dependsOn": [ - "pkg:golang/github.com/multiformats/go-multihash@v0.0.1" - ] - }, - { - "ref": "pkg:golang/github.com/libp2p/go-reuseport@v0.0.1", - "dependsOn": [ - "pkg:golang/github.com/pkg/errors@v0.8.1", - "pkg:golang/github.com/stretchr/testify@v1.3.0", - "pkg:golang/golang.org/x/sys@v0.0.0-20190228124157-a34e9553db1e" - ] - }, - { - "ref": "pkg:golang/github.com/libp2p/go-reuseport-transport@v0.0.2", - "dependsOn": [ - "pkg:golang/github.com/ipfs/go-log@v0.0.1", - "pkg:golang/github.com/libp2p/go-reuseport@v0.0.1", - "pkg:golang/github.com/multiformats/go-multiaddr@v0.0.1", - "pkg:golang/github.com/multiformats/go-multiaddr-net@v0.0.1" - ] - }, - { - "ref": "pkg:golang/github.com/multiformats/go-multiaddr-fmt@v0.0.1", - "dependsOn": [ - "pkg:golang/github.com/multiformats/go-multiaddr@v0.0.1", - "pkg:golang/github.com/multiformats/go-multiaddr-dns@v0.0.2" - ] - }, - { - "ref": "pkg:golang/github.com/gorilla/websocket@v1.4.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/multiformats/go-multiaddr-dns@v0.0.1", - "dependsOn": [ - "pkg:golang/github.com/multiformats/go-multiaddr@v0.0.1" - ] - }, - { - "ref": "pkg:golang/github.com/aead/siphash@v1.0.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/btcsuite/btclog@v0.0.0-20170628155309-84c8d2346e9f", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/btcsuite/btcutil@v0.0.0-20190425235716-9e5f4b9a998d", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/btcsuite/go-socks@v0.0.0-20170105172521-4720035b7bfd", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/btcsuite/goleveldb@v0.0.0-20160330041536-7834afc9e8cd", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/btcsuite/snappy-go@v0.0.0-20151229074030-0bdef8d06723", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/btcsuite/websocket@v0.0.0-20150119174127-31079b680792", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/btcsuite/winsvc@v1.0.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/davecgh/go-spew@v0.0.0-20171005155431-ecdeabc65495", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/jessevdk/go-flags@v0.0.0-20141203071132-1679536dcc89", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/jrick/logrotate@v1.0.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/kkdai/bstream@v0.0.0-20161212061736-f391b8402d23", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/onsi/ginkgo@v1.7.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/onsi/gomega@v1.4.3", - "dependsOn": [ - "pkg:golang/github.com/fsnotify/fsnotify@v1.4.7", - "pkg:golang/github.com/golang/protobuf@v1.2.0", - "pkg:golang/github.com/hpcloud/tail@v1.0.0", - "pkg:golang/github.com/onsi/ginkgo@v1.6.0", - "pkg:golang/golang.org/x/net@v0.0.0-20180906233101-161cd47e91fd", - "pkg:golang/golang.org/x/sync@v0.0.0-20180314180146-1d60e4601c6f", - "pkg:golang/golang.org/x/sys@v0.0.0-20180909124046-d0be0721c37e", - "pkg:golang/golang.org/x/text@v0.3.0", - "pkg:golang/gopkg.in/fsnotify.v1@v1.4.7", - "pkg:golang/gopkg.in/tomb.v1@v1.0.0-20141024135613-dd632973f1e7", - "pkg:golang/gopkg.in/yaml.v2@v2.2.1" - ] - }, - { - "ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20170930174604-9419663f5a44", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/spacemonkeygo/spacelog@v0.0.0-20180420211403-2296661a0572", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/btcsuite/btcutil@v0.0.0-20190207003914-4c204d697803", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/huin/goupnp@v1.0.0", - "dependsOn": [ - "pkg:golang/github.com/huin/goutil@v0.0.0-20170803182201-1ca381bf3150", - "pkg:golang/golang.org/x/net@v0.0.0-20181011144130-49bb7cea24b1", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/github.com/jackpal/gateway@v1.0.5", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/jackpal/go-nat-pmp@v1.0.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/koron/go-ssdp@v0.0.0-20180514024734-4a0ed625a78b", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/AndreasBriese/bbloom@v0.0.0-20180913140656-343706a395b7", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/Kubuxu/go-os-helper@v0.0.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/dgraph-io/badger@v1.5.5-0.20190226225317-8115aed38f8f", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/dgryski/go-farm@v0.0.0-20190104051053-3adb47b1fb0f", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/dustin/go-humanize@v1.0.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/golang/protobuf@v1.3.0", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20180906233101-161cd47e91fd", - "pkg:golang/golang.org/x/sync@v0.0.0-20180314180146-1d60e4601c6f", - "pkg:golang/google.golang.org/genproto@v0.0.0-20180831171423-11092d34479b" - ] - }, - { - "ref": "pkg:golang/github.com/syndtr/goleveldb@v1.0.0", - "dependsOn": [ - "pkg:golang/github.com/golang/snappy@v0.0.0-20180518054509-2e65f85255db", - "pkg:golang/github.com/onsi/ginkgo@v1.7.0", - "pkg:golang/github.com/onsi/gomega@v1.4.3" - ] - }, - { - "ref": "pkg:golang/github.com/libp2p/go-mplex@v0.0.3", - "dependsOn": [ - "pkg:golang/github.com/ipfs/go-log@v0.0.1", - "pkg:golang/github.com/libp2p/go-buffer-pool@v0.0.1", - "pkg:golang/github.com/libp2p/go-stream-muxer@v0.0.1" - ] - }, - { - "ref": "pkg:golang/github.com/fsnotify/fsnotify@v1.4.7", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/golang/protobuf@v1.2.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/hpcloud/tail@v1.0.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/onsi/ginkgo@v1.6.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20180906233101-161cd47e91fd", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/sync@v0.0.0-20180314180146-1d60e4601c6f", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20180909124046-d0be0721c37e", - "dependsOn": [] - }, - { - "ref": "pkg:golang/gopkg.in/fsnotify.v1@v1.4.7", - "dependsOn": [] - }, - { - "ref": "pkg:golang/gopkg.in/tomb.v1@v1.0.0-20141024135613-dd632973f1e7", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190228124157-a34e9553db1e", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/huin/goutil@v0.0.0-20170803182201-1ca381bf3150", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20181011144130-49bb7cea24b1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20180831171423-11092d34479b", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/golang/snappy@v0.0.0-20180518054509-2e65f85255db", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/libp2p/go-stream-muxer@v0.0.1", - "dependsOn": [] - } - ] + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-08-07T00:00:00.000Z", + "component": { + "group": "github.com/devfile-samples", + "name": "devfile-sample-go-basic", + "version": "v0.0.0", + "purl": "pkg:golang/github.com/devfile-samples/devfile-sample-go-basic@v0.0.0", + "type": "application", + "bom-ref": "pkg:golang/github.com/devfile-samples/devfile-sample-go-basic@v0.0.0" + } + }, + "components": [ + { + "group": "github.com/gin-contrib", + "name": "sse", + "version": "v0.1.0", + "purl": "pkg:golang/github.com/gin-contrib/sse@v0.1.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/gin-contrib/sse@v0.1.0" + }, + { + "group": "github.com/go-playground/validator", + "name": "v10", + "version": "v10.2.0", + "purl": "pkg:golang/github.com/go-playground/validator/v10@v10.2.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/go-playground/validator/v10@v10.2.0" + }, + { + "group": "github.com/golang", + "name": "protobuf", + "version": "v1.3.3", + "purl": "pkg:golang/github.com/golang/protobuf@v1.3.3", + "type": "library", + "bom-ref": "pkg:golang/github.com/golang/protobuf@v1.3.3" + }, + { + "group": "github.com/json-iterator", + "name": "go", + "version": "v1.1.9", + "purl": "pkg:golang/github.com/json-iterator/go@v1.1.9", + "type": "library", + "bom-ref": "pkg:golang/github.com/json-iterator/go@v1.1.9" + }, + { + "group": "github.com/mattn", + "name": "go-isatty", + "version": "v0.0.12", + "purl": "pkg:golang/github.com/mattn/go-isatty@v0.0.12", + "type": "library", + "bom-ref": "pkg:golang/github.com/mattn/go-isatty@v0.0.12" + }, + { + "group": "github.com/stretchr", + "name": "testify", + "version": "v1.7.0", + "purl": "pkg:golang/github.com/stretchr/testify@v1.7.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/stretchr/testify@v1.7.0" + }, + { + "group": "github.com/ugorji/go", + "name": "codec", + "version": "v1.1.7", + "purl": "pkg:golang/github.com/ugorji/go/codec@v1.1.7", + "type": "library", + "bom-ref": "pkg:golang/github.com/ugorji/go/codec@v1.1.7" + }, + { + "group": "gopkg.in", + "name": "yaml.v2", + "version": "v2.2.8", + "purl": "pkg:golang/gopkg.in/yaml.v2@v2.2.8", + "type": "library", + "bom-ref": "pkg:golang/gopkg.in/yaml.v2@v2.2.8" + }, + { + "group": "github.com/ipfs", + "name": "go-block-format", + "version": "v0.0.3", + "purl": "pkg:golang/github.com/ipfs/go-block-format@v0.0.3", + "type": "library", + "bom-ref": "pkg:golang/github.com/ipfs/go-block-format@v0.0.3" + }, + { + "group": "github.com/ipfs", + "name": "go-cid", + "version": "v0.0.7", + "purl": "pkg:golang/github.com/ipfs/go-cid@v0.0.7", + "type": "library", + "bom-ref": "pkg:golang/github.com/ipfs/go-cid@v0.0.7" + }, + { + "group": "github.com/ipfs", + "name": "go-ipld-cbor", + "version": "v0.0.5", + "purl": "pkg:golang/github.com/ipfs/go-ipld-cbor@v0.0.5", + "type": "library", + "bom-ref": "pkg:golang/github.com/ipfs/go-ipld-cbor@v0.0.5" + }, + { + "group": "github.com/ipfs", + "name": "go-ipld-format", + "version": "v0.2.0", + "purl": "pkg:golang/github.com/ipfs/go-ipld-format@v0.2.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/ipfs/go-ipld-format@v0.2.0" + }, + { + "group": "github.com/ipfs", + "name": "go-merkledag", + "version": "v0.3.2", + "purl": "pkg:golang/github.com/ipfs/go-merkledag@v0.3.2", + "type": "library", + "bom-ref": "pkg:golang/github.com/ipfs/go-merkledag@v0.3.2" + }, + { + "group": "github.com/ipld", + "name": "go-codec-dagpb", + "version": "v1.2.0", + "purl": "pkg:golang/github.com/ipld/go-codec-dagpb@v1.2.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/ipld/go-codec-dagpb@v1.2.0" + }, + { + "group": "github.com/ipld", + "name": "go-ipld-prime", + "version": "v0.9.0", + "purl": "pkg:golang/github.com/ipld/go-ipld-prime@v0.9.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/ipld/go-ipld-prime@v0.9.0" + }, + { + "group": "github.com/multiformats", + "name": "go-multihash", + "version": "v0.0.15", + "purl": "pkg:golang/github.com/multiformats/go-multihash@v0.0.15", + "type": "library", + "bom-ref": "pkg:golang/github.com/multiformats/go-multihash@v0.0.15" + }, + { + "group": "github.com/dgrijalva", + "name": "jwt-go", + "version": "v3.2.0+incompatible", + "purl": "pkg:golang/github.com/dgrijalva/jwt-go@v3.2.0%2Bincompatible", + "type": "library", + "bom-ref": "pkg:golang/github.com/dgrijalva/jwt-go@v3.2.0%2Bincompatible" + }, + { + "group": "github.com/labstack", + "name": "gommon", + "version": "v0.3.0", + "purl": "pkg:golang/github.com/labstack/gommon@v0.3.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/labstack/gommon@v0.3.0" + }, + { + "group": "github.com/mattn", + "name": "go-colorable", + "version": "v0.1.7", + "purl": "pkg:golang/github.com/mattn/go-colorable@v0.1.7", + "type": "library", + "bom-ref": "pkg:golang/github.com/mattn/go-colorable@v0.1.7" + }, + { + "group": "github.com/valyala", + "name": "fasttemplate", + "version": "v1.2.1", + "purl": "pkg:golang/github.com/valyala/fasttemplate@v1.2.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/valyala/fasttemplate@v1.2.1" + }, + { + "group": "golang.org/x", + "name": "crypto", + "version": "v0.0.0-20210220033148-5ea612d1eb83", + "purl": "pkg:golang/golang.org/x/crypto@v0.0.0-20210220033148-5ea612d1eb83", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20210220033148-5ea612d1eb83" + }, + { + "group": "golang.org/x", + "name": "net", + "version": "v0.0.0-20200822124328-c89045814202", + "purl": "pkg:golang/golang.org/x/net@v0.0.0-20200822124328-c89045814202", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20200822124328-c89045814202" + }, + { + "group": "golang.org/x", + "name": "sys", + "version": "v0.0.0-20210309074719-68d13333faf2", + "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20210309074719-68d13333faf2", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20210309074719-68d13333faf2" + }, + { + "group": "golang.org/x", + "name": "text", + "version": "v0.3.3", + "purl": "pkg:golang/golang.org/x/text@v0.3.3", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/text@v0.3.3" + }, + { + "group": "github.com/beevik", + "name": "etree", + "version": "v1.1.0", + "purl": "pkg:golang/github.com/beevik/etree@v1.1.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/beevik/etree@v1.1.0" + }, + { + "group": "github.com/jonboulle", + "name": "clockwork", + "version": "v0.2.0", + "purl": "pkg:golang/github.com/jonboulle/clockwork@v0.2.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/jonboulle/clockwork@v0.2.0" + }, + { + "group": "github.com/armon", + "name": "go-radix", + "version": "v1.0.0", + "purl": "pkg:golang/github.com/armon/go-radix@v1.0.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/armon/go-radix@v1.0.0" + }, + { + "group": "github.com/cucumber", + "name": "godog", + "version": "v0.8.1", + "purl": "pkg:golang/github.com/cucumber/godog@v0.8.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/cucumber/godog@v0.8.1" + }, + { + "group": "github.com/davecgh", + "name": "go-spew", + "version": "v1.1.1", + "purl": "pkg:golang/github.com/davecgh/go-spew@v1.1.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/davecgh/go-spew@v1.1.1" + }, + { + "group": "github.com/elastic", + "name": "go-sysinfo", + "version": "v1.1.1", + "purl": "pkg:golang/github.com/elastic/go-sysinfo@v1.1.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/elastic/go-sysinfo@v1.1.1" + }, + { + "group": "github.com/google", + "name": "go-cmp", + "version": "v0.5.4", + "purl": "pkg:golang/github.com/google/go-cmp@v0.5.4", + "type": "library", + "bom-ref": "pkg:golang/github.com/google/go-cmp@v0.5.4" + }, + { + "group": "github.com/pkg", + "name": "errors", + "version": "v0.8.1", + "purl": "pkg:golang/github.com/pkg/errors@v0.8.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/pkg/errors@v0.8.1" + }, + { + "group": "github.com/prometheus", + "name": "procfs", + "version": "v0.0.3", + "purl": "pkg:golang/github.com/prometheus/procfs@v0.0.3", + "type": "library", + "bom-ref": "pkg:golang/github.com/prometheus/procfs@v0.0.3" + }, + { + "group": "github.com/santhosh-tekuri", + "name": "jsonschema", + "version": "v1.2.4", + "purl": "pkg:golang/github.com/santhosh-tekuri/jsonschema@v1.2.4", + "type": "library", + "bom-ref": "pkg:golang/github.com/santhosh-tekuri/jsonschema@v1.2.4" + }, + { + "group": "go.elastic.co", + "name": "fastjson", + "version": "v1.1.0", + "purl": "pkg:golang/go.elastic.co/fastjson@v1.1.0", + "type": "library", + "bom-ref": "pkg:golang/go.elastic.co/fastjson@v1.1.0" + }, + { + "group": "gopkg.in", + "name": "check.v1", + "version": "v1.0.0-20180628173108-788fd7840127", + "purl": "pkg:golang/gopkg.in/check.v1@v1.0.0-20180628173108-788fd7840127", + "type": "library", + "bom-ref": "pkg:golang/gopkg.in/check.v1@v1.0.0-20180628173108-788fd7840127" + }, + { + "group": "github.com/go-playground/assert", + "name": "v2", + "version": "v2.0.1", + "purl": "pkg:golang/github.com/go-playground/assert/v2@v2.0.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/go-playground/assert/v2@v2.0.1" + }, + { + "group": "github.com/go-playground", + "name": "locales", + "version": "v0.13.0", + "purl": "pkg:golang/github.com/go-playground/locales@v0.13.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/go-playground/locales@v0.13.0" + }, + { + "group": "github.com/go-playground", + "name": "universal-translator", + "version": "v0.17.0", + "purl": "pkg:golang/github.com/go-playground/universal-translator@v0.17.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/go-playground/universal-translator@v0.17.0" + }, + { + "group": "github.com/leodido", + "name": "go-urn", + "version": "v1.2.0", + "purl": "pkg:golang/github.com/leodido/go-urn@v1.2.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/leodido/go-urn@v1.2.0" + }, + { + "group": "github.com/google", + "name": "gofuzz", + "version": "v1.0.0", + "purl": "pkg:golang/github.com/google/gofuzz@v1.0.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/google/gofuzz@v1.0.0" + }, + { + "group": "github.com/modern-go", + "name": "concurrent", + "version": "v0.0.0-20180228061459-e0a39a4cb421", + "purl": "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180228061459-e0a39a4cb421", + "type": "library", + "bom-ref": "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180228061459-e0a39a4cb421" + }, + { + "group": "github.com/modern-go", + "name": "reflect2", + "version": "v0.0.0-20180701023420-4b7aa43c6742", + "purl": "pkg:golang/github.com/modern-go/reflect2@v0.0.0-20180701023420-4b7aa43c6742", + "type": "library", + "bom-ref": "pkg:golang/github.com/modern-go/reflect2@v0.0.0-20180701023420-4b7aa43c6742" + }, + { + "group": "github.com/pmezard", + "name": "go-difflib", + "version": "v1.0.0", + "purl": "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/pmezard/go-difflib@v1.0.0" + }, + { + "group": "github.com/stretchr", + "name": "objx", + "version": "v0.1.0", + "purl": "pkg:golang/github.com/stretchr/objx@v0.1.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/stretchr/objx@v0.1.0" + }, + { + "group": "github.com/ugorji", + "name": "go", + "version": "v1.1.7", + "purl": "pkg:golang/github.com/ugorji/go@v1.1.7", + "type": "library", + "bom-ref": "pkg:golang/github.com/ugorji/go@v1.1.7" + }, + { + "group": "github.com/ipfs", + "name": "go-ipfs-util", + "version": "v0.0.2", + "purl": "pkg:golang/github.com/ipfs/go-ipfs-util@v0.0.2", + "type": "library", + "bom-ref": "pkg:golang/github.com/ipfs/go-ipfs-util@v0.0.2" + }, + { + "group": "github.com/multiformats", + "name": "go-multibase", + "version": "v0.0.3", + "purl": "pkg:golang/github.com/multiformats/go-multibase@v0.0.3", + "type": "library", + "bom-ref": "pkg:golang/github.com/multiformats/go-multibase@v0.0.3" + }, + { + "group": "github.com/multiformats", + "name": "go-varint", + "version": "v0.0.6", + "purl": "pkg:golang/github.com/multiformats/go-varint@v0.0.6", + "type": "library", + "bom-ref": "pkg:golang/github.com/multiformats/go-varint@v0.0.6" + }, + { + "group": "github.com/polydawn", + "name": "refmt", + "version": "v0.0.0-20201211092308-30ac6d18308e", + "purl": "pkg:golang/github.com/polydawn/refmt@v0.0.0-20201211092308-30ac6d18308e", + "type": "library", + "bom-ref": "pkg:golang/github.com/polydawn/refmt@v0.0.0-20201211092308-30ac6d18308e" + }, + { + "group": "github.com/smartystreets", + "name": "goconvey", + "version": "v1.6.4", + "purl": "pkg:golang/github.com/smartystreets/goconvey@v1.6.4", + "type": "library", + "bom-ref": "pkg:golang/github.com/smartystreets/goconvey@v1.6.4" + }, + { + "group": "github.com/warpfork", + "name": "go-wish", + "version": "v0.0.0-20200122115046-b9ea61034e4a", + "purl": "pkg:golang/github.com/warpfork/go-wish@v0.0.0-20200122115046-b9ea61034e4a", + "type": "library", + "bom-ref": "pkg:golang/github.com/warpfork/go-wish@v0.0.0-20200122115046-b9ea61034e4a" + }, + { + "group": "github.com/whyrusleeping", + "name": "cbor-gen", + "version": "v0.0.0-20200123233031-1cdf64d27158", + "purl": "pkg:golang/github.com/whyrusleeping/cbor-gen@v0.0.0-20200123233031-1cdf64d27158", + "type": "library", + "bom-ref": "pkg:golang/github.com/whyrusleeping/cbor-gen@v0.0.0-20200123233031-1cdf64d27158" + }, + { + "group": "github.com/libp2p", + "name": "go-buffer-pool", + "version": "v0.0.2", + "purl": "pkg:golang/github.com/libp2p/go-buffer-pool@v0.0.2", + "type": "library", + "bom-ref": "pkg:golang/github.com/libp2p/go-buffer-pool@v0.0.2" + }, + { + "group": "github.com/gogo", + "name": "protobuf", + "version": "v1.3.1", + "purl": "pkg:golang/github.com/gogo/protobuf@v1.3.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/gogo/protobuf@v1.3.1" + }, + { + "group": "github.com/ipfs", + "name": "go-blockservice", + "version": "v0.1.0", + "purl": "pkg:golang/github.com/ipfs/go-blockservice@v0.1.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/ipfs/go-blockservice@v0.1.0" + }, + { + "group": "github.com/ipfs", + "name": "go-datastore", + "version": "v0.3.1", + "purl": "pkg:golang/github.com/ipfs/go-datastore@v0.3.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/ipfs/go-datastore@v0.3.1" + }, + { + "group": "github.com/ipfs", + "name": "go-ipfs-blockstore", + "version": "v0.1.0", + "purl": "pkg:golang/github.com/ipfs/go-ipfs-blockstore@v0.1.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/ipfs/go-ipfs-blockstore@v0.1.0" + }, + { + "group": "github.com/ipfs", + "name": "go-ipfs-exchange-offline", + "version": "v0.0.1", + "purl": "pkg:golang/github.com/ipfs/go-ipfs-exchange-offline@v0.0.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/ipfs/go-ipfs-exchange-offline@v0.0.1" + }, + { + "group": "github.com/mr-tron", + "name": "base58", + "version": "v1.2.0", + "purl": "pkg:golang/github.com/mr-tron/base58@v1.2.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/mr-tron/base58@v1.2.0" + }, + { + "group": "golang.org/x", + "name": "xerrors", + "version": "v0.0.0-20200804184101-5ec99f83aff1", + "purl": "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1" + }, + { + "group": "github.com/frankban", + "name": "quicktest", + "version": "v1.11.3", + "purl": "pkg:golang/github.com/frankban/quicktest@v1.11.3", + "type": "library", + "bom-ref": "pkg:golang/github.com/frankban/quicktest@v1.11.3" + }, + { + "group": "github.com/minio", + "name": "blake2b-simd", + "version": "v0.0.0-20160723061019-3f5f724cb5b1", + "purl": "pkg:golang/github.com/minio/blake2b-simd@v0.0.0-20160723061019-3f5f724cb5b1", + "type": "library", + "bom-ref": "pkg:golang/github.com/minio/blake2b-simd@v0.0.0-20160723061019-3f5f724cb5b1" + }, + { + "group": "github.com/minio", + "name": "sha256-simd", + "version": "v1.0.0", + "purl": "pkg:golang/github.com/minio/sha256-simd@v1.0.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/minio/sha256-simd@v1.0.0" + }, + { + "group": "github.com/valyala", + "name": "bytebufferpool", + "version": "v1.0.0", + "purl": "pkg:golang/github.com/valyala/bytebufferpool@v1.0.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/valyala/bytebufferpool@v1.0.0" + }, + { + "group": "golang.org/x", + "name": "tools", + "version": "v0.0.0-20200509030707-2212a7e161a5", + "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20200509030707-2212a7e161a5", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200509030707-2212a7e161a5" + }, + { + "group": "github.com/elastic", + "name": "go-windows", + "version": "v1.0.0", + "purl": "pkg:golang/github.com/elastic/go-windows@v1.0.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/elastic/go-windows@v1.0.0" + }, + { + "group": "github.com/joeshaw", + "name": "multierror", + "version": "v0.0.0-20140124173710-69b34d4ec901", + "purl": "pkg:golang/github.com/joeshaw/multierror@v0.0.0-20140124173710-69b34d4ec901", + "type": "library", + "bom-ref": "pkg:golang/github.com/joeshaw/multierror@v0.0.0-20140124173710-69b34d4ec901" + }, + { + "group": "howett.net", + "name": "plist", + "version": "v0.0.0-20181124034731-591f970eefbb", + "purl": "pkg:golang/howett.net/plist@v0.0.0-20181124034731-591f970eefbb", + "type": "library", + "bom-ref": "pkg:golang/howett.net/plist@v0.0.0-20181124034731-591f970eefbb" + }, + { + "group": "golang.org/x", + "name": "sync", + "version": "v0.0.0-20190911185100-cd5d95a43a6e", + "purl": "pkg:golang/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e" + }, + { + "group": "github.com/spaolacci", + "name": "murmur3", + "version": "v1.1.0", + "purl": "pkg:golang/github.com/spaolacci/murmur3@v1.1.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/spaolacci/murmur3@v1.1.0" + }, + { + "group": "github.com/multiformats", + "name": "go-base32", + "version": "v0.0.3", + "purl": "pkg:golang/github.com/multiformats/go-base32@v0.0.3", + "type": "library", + "bom-ref": "pkg:golang/github.com/multiformats/go-base32@v0.0.3" + }, + { + "group": "github.com/multiformats", + "name": "go-base36", + "version": "v0.1.0", + "purl": "pkg:golang/github.com/multiformats/go-base36@v0.1.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/multiformats/go-base36@v0.1.0" + }, + { + "group": "github.com/gopherjs", + "name": "gopherjs", + "version": "v0.0.0-20181017120253-0766667cb4d1", + "purl": "pkg:golang/github.com/gopherjs/gopherjs@v0.0.0-20181017120253-0766667cb4d1", + "type": "library", + "bom-ref": "pkg:golang/github.com/gopherjs/gopherjs@v0.0.0-20181017120253-0766667cb4d1" + }, + { + "group": "github.com/jtolds", + "name": "gls", + "version": "v4.20.0+incompatible", + "purl": "pkg:golang/github.com/jtolds/gls@v4.20.0%2Bincompatible", + "type": "library", + "bom-ref": "pkg:golang/github.com/jtolds/gls@v4.20.0%2Bincompatible" + }, + { + "group": "github.com/smartystreets", + "name": "assertions", + "version": "v0.0.0-20180927180507-b2de0cb4f26d", + "purl": "pkg:golang/github.com/smartystreets/assertions@v0.0.0-20180927180507-b2de0cb4f26d", + "type": "library", + "bom-ref": "pkg:golang/github.com/smartystreets/assertions@v0.0.0-20180927180507-b2de0cb4f26d" + }, + { + "group": "github.com/gxed/hashland", + "name": "keccakpg", + "version": "v0.0.1", + "purl": "pkg:golang/github.com/gxed/hashland/keccakpg@v0.0.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/gxed/hashland/keccakpg@v0.0.1" + }, + { + "group": "github.com/gxed/hashland", + "name": "murmur3", + "version": "v0.0.1", + "purl": "pkg:golang/github.com/gxed/hashland/murmur3@v0.0.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/gxed/hashland/murmur3@v0.0.1" + }, + { + "group": "github.com/kisielk", + "name": "errcheck", + "version": "v1.2.0", + "purl": "pkg:golang/github.com/kisielk/errcheck@v1.2.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/kisielk/errcheck@v1.2.0" + }, + { + "group": "github.com/kisielk", + "name": "gotool", + "version": "v1.0.0", + "purl": "pkg:golang/github.com/kisielk/gotool@v1.0.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/kisielk/gotool@v1.0.0" + }, + { + "group": "github.com/ipfs", + "name": "go-bitswap", + "version": "v0.1.0", + "purl": "pkg:golang/github.com/ipfs/go-bitswap@v0.1.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/ipfs/go-bitswap@v0.1.0" + }, + { + "group": "github.com/ipfs", + "name": "go-ipfs-blocksutil", + "version": "v0.0.1", + "purl": "pkg:golang/github.com/ipfs/go-ipfs-blocksutil@v0.0.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/ipfs/go-ipfs-blocksutil@v0.0.1" + }, + { + "group": "github.com/ipfs", + "name": "go-ipfs-delay", + "version": "v0.0.1", + "purl": "pkg:golang/github.com/ipfs/go-ipfs-delay@v0.0.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/ipfs/go-ipfs-delay@v0.0.1" + }, + { + "group": "github.com/ipfs", + "name": "go-ipfs-exchange-interface", + "version": "v0.0.1", + "purl": "pkg:golang/github.com/ipfs/go-ipfs-exchange-interface@v0.0.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/ipfs/go-ipfs-exchange-interface@v0.0.1" + }, + { + "group": "github.com/ipfs", + "name": "go-ipfs-routing", + "version": "v0.1.0", + "purl": "pkg:golang/github.com/ipfs/go-ipfs-routing@v0.1.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/ipfs/go-ipfs-routing@v0.1.0" + }, + { + "group": "github.com/ipfs", + "name": "go-log", + "version": "v0.0.1", + "purl": "pkg:golang/github.com/ipfs/go-log@v0.0.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/ipfs/go-log@v0.0.1" + }, + { + "group": "github.com/ipfs", + "name": "go-verifcid", + "version": "v0.0.1", + "purl": "pkg:golang/github.com/ipfs/go-verifcid@v0.0.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/ipfs/go-verifcid@v0.0.1" + }, + { + "group": "github.com/go-check", + "name": "check", + "version": "v0.0.0-20180628173108-788fd7840127", + "purl": "pkg:golang/github.com/go-check/check@v0.0.0-20180628173108-788fd7840127", + "type": "library", + "bom-ref": "pkg:golang/github.com/go-check/check@v0.0.0-20180628173108-788fd7840127" + }, + { + "group": "github.com/google", + "name": "uuid", + "version": "v1.1.1", + "purl": "pkg:golang/github.com/google/uuid@v1.1.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/google/uuid@v1.1.1" + }, + { + "group": "github.com/jbenet", + "name": "goprocess", + "version": "v0.1.3", + "purl": "pkg:golang/github.com/jbenet/goprocess@v0.1.3", + "type": "library", + "bom-ref": "pkg:golang/github.com/jbenet/goprocess@v0.1.3" + }, + { + "group": "github.com/kr", + "name": "pretty", + "version": "v0.2.1", + "purl": "pkg:golang/github.com/kr/pretty@v0.2.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/kr/pretty@v0.2.1" + }, + { + "group": "github.com/hashicorp", + "name": "golang-lru", + "version": "v0.5.1", + "purl": "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1" + }, + { + "group": "github.com/ipfs", + "name": "bbloom", + "version": "v0.0.4", + "purl": "pkg:golang/github.com/ipfs/bbloom@v0.0.4", + "type": "library", + "bom-ref": "pkg:golang/github.com/ipfs/bbloom@v0.0.4" + }, + { + "group": "github.com/ipfs", + "name": "go-ipfs-ds-help", + "version": "v0.0.1", + "purl": "pkg:golang/github.com/ipfs/go-ipfs-ds-help@v0.0.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/ipfs/go-ipfs-ds-help@v0.0.1" + }, + { + "group": "github.com/ipfs", + "name": "go-metrics-interface", + "version": "v0.0.1", + "purl": "pkg:golang/github.com/ipfs/go-metrics-interface@v0.0.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/ipfs/go-metrics-interface@v0.0.1" + }, + { + "group": "github.com/klauspost/cpuid", + "name": "v2", + "version": "v2.0.4", + "purl": "pkg:golang/github.com/klauspost/cpuid/v2@v2.0.4", + "type": "library", + "bom-ref": "pkg:golang/github.com/klauspost/cpuid/v2@v2.0.4" + }, + { + "group": "golang.org/x", + "name": "term", + "version": "v0.0.0-20201117132131-f5c789dd3221", + "purl": "pkg:golang/golang.org/x/term@v0.0.0-20201117132131-f5c789dd3221", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/term@v0.0.0-20201117132131-f5c789dd3221" + }, + { + "group": "github.com/jessevdk", + "name": "go-flags", + "version": "v1.4.0", + "purl": "pkg:golang/github.com/jessevdk/go-flags@v1.4.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/jessevdk/go-flags@v1.4.0" + }, + { + "group": "github.com/yuin", + "name": "goldmark", + "version": "v1.1.27", + "purl": "pkg:golang/github.com/yuin/goldmark@v1.1.27", + "type": "library", + "bom-ref": "pkg:golang/github.com/yuin/goldmark@v1.1.27" + }, + { + "group": "golang.org/x", + "name": "mod", + "version": "v0.2.0", + "purl": "pkg:golang/golang.org/x/mod@v0.2.0", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/mod@v0.2.0" + }, + { + "group": "github.com/cskr", + "name": "pubsub", + "version": "v1.0.2", + "purl": "pkg:golang/github.com/cskr/pubsub@v1.0.2", + "type": "library", + "bom-ref": "pkg:golang/github.com/cskr/pubsub@v1.0.2" + }, + { + "group": "github.com/ipfs", + "name": "go-detect-race", + "version": "v0.0.1", + "purl": "pkg:golang/github.com/ipfs/go-detect-race@v0.0.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/ipfs/go-detect-race@v0.0.1" + }, + { + "group": "github.com/ipfs", + "name": "go-peertaskqueue", + "version": "v0.1.0", + "purl": "pkg:golang/github.com/ipfs/go-peertaskqueue@v0.1.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/ipfs/go-peertaskqueue@v0.1.0" + }, + { + "group": "github.com/libp2p", + "name": "go-libp2p", + "version": "v0.1.0", + "purl": "pkg:golang/github.com/libp2p/go-libp2p@v0.1.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/libp2p/go-libp2p@v0.1.0" + }, + { + "group": "github.com/libp2p", + "name": "go-libp2p-core", + "version": "v0.0.2", + "purl": "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.2", + "type": "library", + "bom-ref": "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.2" + }, + { + "group": "github.com/libp2p", + "name": "go-libp2p-loggables", + "version": "v0.1.0", + "purl": "pkg:golang/github.com/libp2p/go-libp2p-loggables@v0.1.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/libp2p/go-libp2p-loggables@v0.1.0" + }, + { + "group": "github.com/libp2p", + "name": "go-libp2p-netutil", + "version": "v0.1.0", + "purl": "pkg:golang/github.com/libp2p/go-libp2p-netutil@v0.1.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/libp2p/go-libp2p-netutil@v0.1.0" + }, + { + "group": "github.com/libp2p", + "name": "go-libp2p-testing", + "version": "v0.0.3", + "purl": "pkg:golang/github.com/libp2p/go-libp2p-testing@v0.0.3", + "type": "library", + "bom-ref": "pkg:golang/github.com/libp2p/go-libp2p-testing@v0.0.3" + }, + { + "group": "github.com/libp2p", + "name": "go-testutil", + "version": "v0.1.0", + "purl": "pkg:golang/github.com/libp2p/go-testutil@v0.1.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/libp2p/go-testutil@v0.1.0" + }, + { + "group": "github.com/multiformats", + "name": "go-multiaddr", + "version": "v0.0.4", + "purl": "pkg:golang/github.com/multiformats/go-multiaddr@v0.0.4", + "type": "library", + "bom-ref": "pkg:golang/github.com/multiformats/go-multiaddr@v0.0.4" + }, + { + "group": "github.com/opentracing", + "name": "opentracing-go", + "version": "v1.1.0", + "purl": "pkg:golang/github.com/opentracing/opentracing-go@v1.1.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/opentracing/opentracing-go@v1.1.0" + }, + { + "group": "github.com/libp2p", + "name": "go-libp2p-record", + "version": "v0.1.0", + "purl": "pkg:golang/github.com/libp2p/go-libp2p-record@v0.1.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/libp2p/go-libp2p-record@v0.1.0" + }, + { + "group": "github.com/whyrusleeping", + "name": "go-logging", + "version": "v0.0.0-20170515211332-0457bb6b88fc", + "purl": "pkg:golang/github.com/whyrusleeping/go-logging@v0.0.0-20170515211332-0457bb6b88fc", + "type": "library", + "bom-ref": "pkg:golang/github.com/whyrusleeping/go-logging@v0.0.0-20170515211332-0457bb6b88fc" + }, + { + "group": "github.com/kr", + "name": "text", + "version": "v0.1.0", + "purl": "pkg:golang/github.com/kr/text@v0.1.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/kr/text@v0.1.0" + }, + { + "group": "github.com/ipfs", + "name": "go-ipfs-pq", + "version": "v0.0.1", + "purl": "pkg:golang/github.com/ipfs/go-ipfs-pq@v0.0.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/ipfs/go-ipfs-pq@v0.0.1" + }, + { + "group": "github.com/jbenet", + "name": "go-cienv", + "version": "v0.1.0", + "purl": "pkg:golang/github.com/jbenet/go-cienv@v0.1.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/jbenet/go-cienv@v0.1.0" + }, + { + "group": "github.com/libp2p", + "name": "go-conn-security-multistream", + "version": "v0.1.0", + "purl": "pkg:golang/github.com/libp2p/go-conn-security-multistream@v0.1.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/libp2p/go-conn-security-multistream@v0.1.0" + }, + { + "group": "github.com/libp2p", + "name": "go-libp2p-autonat", + "version": "v0.1.0", + "purl": "pkg:golang/github.com/libp2p/go-libp2p-autonat@v0.1.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/libp2p/go-libp2p-autonat@v0.1.0" + }, + { + "group": "github.com/libp2p", + "name": "go-libp2p-blankhost", + "version": "v0.1.1", + "purl": "pkg:golang/github.com/libp2p/go-libp2p-blankhost@v0.1.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/libp2p/go-libp2p-blankhost@v0.1.1" + }, + { + "group": "github.com/libp2p", + "name": "go-libp2p-circuit", + "version": "v0.1.0", + "purl": "pkg:golang/github.com/libp2p/go-libp2p-circuit@v0.1.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/libp2p/go-libp2p-circuit@v0.1.0" + }, + { + "group": "github.com/libp2p", + "name": "go-libp2p-discovery", + "version": "v0.1.0", + "purl": "pkg:golang/github.com/libp2p/go-libp2p-discovery@v0.1.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/libp2p/go-libp2p-discovery@v0.1.0" + }, + { + "group": "github.com/libp2p", + "name": "go-libp2p-mplex", + "version": "v0.2.1", + "purl": "pkg:golang/github.com/libp2p/go-libp2p-mplex@v0.2.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/libp2p/go-libp2p-mplex@v0.2.1" + }, + { + "group": "github.com/libp2p", + "name": "go-libp2p-nat", + "version": "v0.0.4", + "purl": "pkg:golang/github.com/libp2p/go-libp2p-nat@v0.0.4", + "type": "library", + "bom-ref": "pkg:golang/github.com/libp2p/go-libp2p-nat@v0.0.4" + }, + { + "group": "github.com/libp2p", + "name": "go-libp2p-peerstore", + "version": "v0.1.0", + "purl": "pkg:golang/github.com/libp2p/go-libp2p-peerstore@v0.1.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/libp2p/go-libp2p-peerstore@v0.1.0" + }, + { + "group": "github.com/libp2p", + "name": "go-libp2p-secio", + "version": "v0.1.0", + "purl": "pkg:golang/github.com/libp2p/go-libp2p-secio@v0.1.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/libp2p/go-libp2p-secio@v0.1.0" + }, + { + "group": "github.com/libp2p", + "name": "go-libp2p-swarm", + "version": "v0.1.0", + "purl": "pkg:golang/github.com/libp2p/go-libp2p-swarm@v0.1.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/libp2p/go-libp2p-swarm@v0.1.0" + }, + { + "group": "github.com/libp2p", + "name": "go-libp2p-transport-upgrader", + "version": "v0.1.1", + "purl": "pkg:golang/github.com/libp2p/go-libp2p-transport-upgrader@v0.1.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/libp2p/go-libp2p-transport-upgrader@v0.1.1" + }, + { + "group": "github.com/libp2p", + "name": "go-libp2p-yamux", + "version": "v0.2.0", + "purl": "pkg:golang/github.com/libp2p/go-libp2p-yamux@v0.2.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/libp2p/go-libp2p-yamux@v0.2.0" + }, + { + "group": "github.com/libp2p", + "name": "go-maddr-filter", + "version": "v0.0.4", + "purl": "pkg:golang/github.com/libp2p/go-maddr-filter@v0.0.4", + "type": "library", + "bom-ref": "pkg:golang/github.com/libp2p/go-maddr-filter@v0.0.4" + }, + { + "group": "github.com/libp2p", + "name": "go-stream-muxer-multistream", + "version": "v0.2.0", + "purl": "pkg:golang/github.com/libp2p/go-stream-muxer-multistream@v0.2.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/libp2p/go-stream-muxer-multistream@v0.2.0" + }, + { + "group": "github.com/libp2p", + "name": "go-tcp-transport", + "version": "v0.1.0", + "purl": "pkg:golang/github.com/libp2p/go-tcp-transport@v0.1.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/libp2p/go-tcp-transport@v0.1.0" + }, + { + "group": "github.com/libp2p", + "name": "go-ws-transport", + "version": "v0.1.0", + "purl": "pkg:golang/github.com/libp2p/go-ws-transport@v0.1.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/libp2p/go-ws-transport@v0.1.0" + }, + { + "group": "github.com/multiformats", + "name": "go-multiaddr-dns", + "version": "v0.0.2", + "purl": "pkg:golang/github.com/multiformats/go-multiaddr-dns@v0.0.2", + "type": "library", + "bom-ref": "pkg:golang/github.com/multiformats/go-multiaddr-dns@v0.0.2" + }, + { + "group": "github.com/multiformats", + "name": "go-multiaddr-net", + "version": "v0.0.1", + "purl": "pkg:golang/github.com/multiformats/go-multiaddr-net@v0.0.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/multiformats/go-multiaddr-net@v0.0.1" + }, + { + "group": "github.com/multiformats", + "name": "go-multistream", + "version": "v0.1.0", + "purl": "pkg:golang/github.com/multiformats/go-multistream@v0.1.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/multiformats/go-multistream@v0.1.0" + }, + { + "group": "github.com/whyrusleeping", + "name": "mdns", + "version": "v0.0.0-20180901202407-ef14215e6b30", + "purl": "pkg:golang/github.com/whyrusleeping/mdns@v0.0.0-20180901202407-ef14215e6b30", + "type": "library", + "bom-ref": "pkg:golang/github.com/whyrusleeping/mdns@v0.0.0-20180901202407-ef14215e6b30" + }, + { + "group": "github.com/btcsuite", + "name": "btcd", + "version": "v0.0.0-20190523000118-16327141da8c", + "purl": "pkg:golang/github.com/btcsuite/btcd@v0.0.0-20190523000118-16327141da8c", + "type": "library", + "bom-ref": "pkg:golang/github.com/btcsuite/btcd@v0.0.0-20190523000118-16327141da8c" + }, + { + "group": "github.com/coreos", + "name": "go-semver", + "version": "v0.3.0", + "purl": "pkg:golang/github.com/coreos/go-semver@v0.3.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/coreos/go-semver@v0.3.0" + }, + { + "group": "github.com/libp2p", + "name": "go-flow-metrics", + "version": "v0.0.1", + "purl": "pkg:golang/github.com/libp2p/go-flow-metrics@v0.0.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/libp2p/go-flow-metrics@v0.0.1" + }, + { + "group": "github.com/spacemonkeygo", + "name": "openssl", + "version": "v0.0.0-20181017203307-c2dcc5cca94a", + "purl": "pkg:golang/github.com/spacemonkeygo/openssl@v0.0.0-20181017203307-c2dcc5cca94a", + "type": "library", + "bom-ref": "pkg:golang/github.com/spacemonkeygo/openssl@v0.0.0-20181017203307-c2dcc5cca94a" + }, + { + "group": "github.com/kr", + "name": "pty", + "version": "v1.1.1", + "purl": "pkg:golang/github.com/kr/pty@v1.1.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/kr/pty@v1.1.1" + }, + { + "group": "github.com/libp2p", + "name": "go-mplex", + "version": "v0.1.0", + "purl": "pkg:golang/github.com/libp2p/go-mplex@v0.1.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/libp2p/go-mplex@v0.1.0" + }, + { + "group": "github.com/libp2p", + "name": "go-nat", + "version": "v0.0.3", + "purl": "pkg:golang/github.com/libp2p/go-nat@v0.0.3", + "type": "library", + "bom-ref": "pkg:golang/github.com/libp2p/go-nat@v0.0.3" + }, + { + "group": "github.com/whyrusleeping", + "name": "go-notifier", + "version": "v0.0.0-20170827234753-097c5d47330f", + "purl": "pkg:golang/github.com/whyrusleeping/go-notifier@v0.0.0-20170827234753-097c5d47330f", + "type": "library", + "bom-ref": "pkg:golang/github.com/whyrusleeping/go-notifier@v0.0.0-20170827234753-097c5d47330f" + }, + { + "group": "github.com/ipfs", + "name": "go-ds-badger", + "version": "v0.0.2", + "purl": "pkg:golang/github.com/ipfs/go-ds-badger@v0.0.2", + "type": "library", + "bom-ref": "pkg:golang/github.com/ipfs/go-ds-badger@v0.0.2" + }, + { + "group": "github.com/ipfs", + "name": "go-ds-leveldb", + "version": "v0.0.1", + "purl": "pkg:golang/github.com/ipfs/go-ds-leveldb@v0.0.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/ipfs/go-ds-leveldb@v0.0.1" + }, + { + "group": "github.com/libp2p", + "name": "go-libp2p-crypto", + "version": "v0.1.0", + "purl": "pkg:golang/github.com/libp2p/go-libp2p-crypto@v0.1.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/libp2p/go-libp2p-crypto@v0.1.0" + }, + { + "group": "github.com/libp2p", + "name": "go-libp2p-peer", + "version": "v0.2.0", + "purl": "pkg:golang/github.com/libp2p/go-libp2p-peer@v0.2.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/libp2p/go-libp2p-peer@v0.2.0" + }, + { + "group": "github.com/whyrusleeping", + "name": "go-keyspace", + "version": "v0.0.0-20160322163242-5b898ac5add1", + "purl": "pkg:golang/github.com/whyrusleeping/go-keyspace@v0.0.0-20160322163242-5b898ac5add1", + "type": "library", + "bom-ref": "pkg:golang/github.com/whyrusleeping/go-keyspace@v0.0.0-20160322163242-5b898ac5add1" + }, + { + "group": "github.com/whyrusleeping", + "name": "mafmt", + "version": "v1.2.8", + "purl": "pkg:golang/github.com/whyrusleeping/mafmt@v1.2.8", + "type": "library", + "bom-ref": "pkg:golang/github.com/whyrusleeping/mafmt@v1.2.8" + }, + { + "group": "github.com/libp2p", + "name": "go-msgio", + "version": "v0.0.2", + "purl": "pkg:golang/github.com/libp2p/go-msgio@v0.0.2", + "type": "library", + "bom-ref": "pkg:golang/github.com/libp2p/go-msgio@v0.0.2" + }, + { + "group": "github.com/libp2p", + "name": "go-addr-util", + "version": "v0.0.1", + "purl": "pkg:golang/github.com/libp2p/go-addr-util@v0.0.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/libp2p/go-addr-util@v0.0.1" + }, + { + "group": "github.com/whyrusleeping", + "name": "multiaddr-filter", + "version": "v0.0.0-20160516205228-e903e4adabd7", + "purl": "pkg:golang/github.com/whyrusleeping/multiaddr-filter@v0.0.0-20160516205228-e903e4adabd7", + "type": "library", + "bom-ref": "pkg:golang/github.com/whyrusleeping/multiaddr-filter@v0.0.0-20160516205228-e903e4adabd7" + }, + { + "group": "github.com/jbenet", + "name": "go-temp-err-catcher", + "version": "v0.0.0-20150120210811-aac704a3f4f2", + "purl": "pkg:golang/github.com/jbenet/go-temp-err-catcher@v0.0.0-20150120210811-aac704a3f4f2", + "type": "library", + "bom-ref": "pkg:golang/github.com/jbenet/go-temp-err-catcher@v0.0.0-20150120210811-aac704a3f4f2" + }, + { + "group": "github.com/onsi", + "name": "ginkgo", + "version": "v1.8.0", + "purl": "pkg:golang/github.com/onsi/ginkgo@v1.8.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/onsi/ginkgo@v1.8.0" + }, + { + "group": "github.com/onsi", + "name": "gomega", + "version": "v1.5.0", + "purl": "pkg:golang/github.com/onsi/gomega@v1.5.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/onsi/gomega@v1.5.0" + }, + { + "group": "github.com/libp2p", + "name": "go-yamux", + "version": "v1.2.2", + "purl": "pkg:golang/github.com/libp2p/go-yamux@v1.2.2", + "type": "library", + "bom-ref": "pkg:golang/github.com/libp2p/go-yamux@v1.2.2" + }, + { + "group": "github.com/libp2p", + "name": "go-reuseport", + "version": "v0.0.1", + "purl": "pkg:golang/github.com/libp2p/go-reuseport@v0.0.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/libp2p/go-reuseport@v0.0.1" + }, + { + "group": "github.com/libp2p", + "name": "go-reuseport-transport", + "version": "v0.0.2", + "purl": "pkg:golang/github.com/libp2p/go-reuseport-transport@v0.0.2", + "type": "library", + "bom-ref": "pkg:golang/github.com/libp2p/go-reuseport-transport@v0.0.2" + }, + { + "group": "github.com/multiformats", + "name": "go-multiaddr-fmt", + "version": "v0.0.1", + "purl": "pkg:golang/github.com/multiformats/go-multiaddr-fmt@v0.0.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/multiformats/go-multiaddr-fmt@v0.0.1" + }, + { + "group": "github.com/gorilla", + "name": "websocket", + "version": "v1.4.0", + "purl": "pkg:golang/github.com/gorilla/websocket@v1.4.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/gorilla/websocket@v1.4.0" + }, + { + "group": "github.com/aead", + "name": "siphash", + "version": "v1.0.1", + "purl": "pkg:golang/github.com/aead/siphash@v1.0.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/aead/siphash@v1.0.1" + }, + { + "group": "github.com/btcsuite", + "name": "btclog", + "version": "v0.0.0-20170628155309-84c8d2346e9f", + "purl": "pkg:golang/github.com/btcsuite/btclog@v0.0.0-20170628155309-84c8d2346e9f", + "type": "library", + "bom-ref": "pkg:golang/github.com/btcsuite/btclog@v0.0.0-20170628155309-84c8d2346e9f" + }, + { + "group": "github.com/btcsuite", + "name": "btcutil", + "version": "v0.0.0-20190425235716-9e5f4b9a998d", + "purl": "pkg:golang/github.com/btcsuite/btcutil@v0.0.0-20190425235716-9e5f4b9a998d", + "type": "library", + "bom-ref": "pkg:golang/github.com/btcsuite/btcutil@v0.0.0-20190425235716-9e5f4b9a998d" + }, + { + "group": "github.com/btcsuite", + "name": "go-socks", + "version": "v0.0.0-20170105172521-4720035b7bfd", + "purl": "pkg:golang/github.com/btcsuite/go-socks@v0.0.0-20170105172521-4720035b7bfd", + "type": "library", + "bom-ref": "pkg:golang/github.com/btcsuite/go-socks@v0.0.0-20170105172521-4720035b7bfd" + }, + { + "group": "github.com/btcsuite", + "name": "goleveldb", + "version": "v0.0.0-20160330041536-7834afc9e8cd", + "purl": "pkg:golang/github.com/btcsuite/goleveldb@v0.0.0-20160330041536-7834afc9e8cd", + "type": "library", + "bom-ref": "pkg:golang/github.com/btcsuite/goleveldb@v0.0.0-20160330041536-7834afc9e8cd" + }, + { + "group": "github.com/btcsuite", + "name": "snappy-go", + "version": "v0.0.0-20151229074030-0bdef8d06723", + "purl": "pkg:golang/github.com/btcsuite/snappy-go@v0.0.0-20151229074030-0bdef8d06723", + "type": "library", + "bom-ref": "pkg:golang/github.com/btcsuite/snappy-go@v0.0.0-20151229074030-0bdef8d06723" + }, + { + "group": "github.com/btcsuite", + "name": "websocket", + "version": "v0.0.0-20150119174127-31079b680792", + "purl": "pkg:golang/github.com/btcsuite/websocket@v0.0.0-20150119174127-31079b680792", + "type": "library", + "bom-ref": "pkg:golang/github.com/btcsuite/websocket@v0.0.0-20150119174127-31079b680792" + }, + { + "group": "github.com/btcsuite", + "name": "winsvc", + "version": "v1.0.0", + "purl": "pkg:golang/github.com/btcsuite/winsvc@v1.0.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/btcsuite/winsvc@v1.0.0" + }, + { + "group": "github.com/jrick", + "name": "logrotate", + "version": "v1.0.0", + "purl": "pkg:golang/github.com/jrick/logrotate@v1.0.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/jrick/logrotate@v1.0.0" + }, + { + "group": "github.com/kkdai", + "name": "bstream", + "version": "v0.0.0-20161212061736-f391b8402d23", + "purl": "pkg:golang/github.com/kkdai/bstream@v0.0.0-20161212061736-f391b8402d23", + "type": "library", + "bom-ref": "pkg:golang/github.com/kkdai/bstream@v0.0.0-20161212061736-f391b8402d23" + }, + { + "group": "github.com/spacemonkeygo", + "name": "spacelog", + "version": "v0.0.0-20180420211403-2296661a0572", + "purl": "pkg:golang/github.com/spacemonkeygo/spacelog@v0.0.0-20180420211403-2296661a0572", + "type": "library", + "bom-ref": "pkg:golang/github.com/spacemonkeygo/spacelog@v0.0.0-20180420211403-2296661a0572" + }, + { + "group": "github.com/huin", + "name": "goupnp", + "version": "v1.0.0", + "purl": "pkg:golang/github.com/huin/goupnp@v1.0.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/huin/goupnp@v1.0.0" + }, + { + "group": "github.com/jackpal", + "name": "gateway", + "version": "v1.0.5", + "purl": "pkg:golang/github.com/jackpal/gateway@v1.0.5", + "type": "library", + "bom-ref": "pkg:golang/github.com/jackpal/gateway@v1.0.5" + }, + { + "group": "github.com/jackpal", + "name": "go-nat-pmp", + "version": "v1.0.1", + "purl": "pkg:golang/github.com/jackpal/go-nat-pmp@v1.0.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/jackpal/go-nat-pmp@v1.0.1" + }, + { + "group": "github.com/koron", + "name": "go-ssdp", + "version": "v0.0.0-20180514024734-4a0ed625a78b", + "purl": "pkg:golang/github.com/koron/go-ssdp@v0.0.0-20180514024734-4a0ed625a78b", + "type": "library", + "bom-ref": "pkg:golang/github.com/koron/go-ssdp@v0.0.0-20180514024734-4a0ed625a78b" + }, + { + "group": "github.com/AndreasBriese", + "name": "bbloom", + "version": "v0.0.0-20180913140656-343706a395b7", + "purl": "pkg:golang/github.com/AndreasBriese/bbloom@v0.0.0-20180913140656-343706a395b7", + "type": "library", + "bom-ref": "pkg:golang/github.com/AndreasBriese/bbloom@v0.0.0-20180913140656-343706a395b7" + }, + { + "group": "github.com/Kubuxu", + "name": "go-os-helper", + "version": "v0.0.1", + "purl": "pkg:golang/github.com/Kubuxu/go-os-helper@v0.0.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/Kubuxu/go-os-helper@v0.0.1" + }, + { + "group": "github.com/dgraph-io", + "name": "badger", + "version": "v1.5.5-0.20190226225317-8115aed38f8f", + "purl": "pkg:golang/github.com/dgraph-io/badger@v1.5.5-0.20190226225317-8115aed38f8f", + "type": "library", + "bom-ref": "pkg:golang/github.com/dgraph-io/badger@v1.5.5-0.20190226225317-8115aed38f8f" + }, + { + "group": "github.com/dgryski", + "name": "go-farm", + "version": "v0.0.0-20190104051053-3adb47b1fb0f", + "purl": "pkg:golang/github.com/dgryski/go-farm@v0.0.0-20190104051053-3adb47b1fb0f", + "type": "library", + "bom-ref": "pkg:golang/github.com/dgryski/go-farm@v0.0.0-20190104051053-3adb47b1fb0f" + }, + { + "group": "github.com/dustin", + "name": "go-humanize", + "version": "v1.0.0", + "purl": "pkg:golang/github.com/dustin/go-humanize@v1.0.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/dustin/go-humanize@v1.0.0" + }, + { + "group": "github.com/syndtr", + "name": "goleveldb", + "version": "v1.0.0", + "purl": "pkg:golang/github.com/syndtr/goleveldb@v1.0.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/syndtr/goleveldb@v1.0.0" + }, + { + "group": "github.com/fsnotify", + "name": "fsnotify", + "version": "v1.4.7", + "purl": "pkg:golang/github.com/fsnotify/fsnotify@v1.4.7", + "type": "library", + "bom-ref": "pkg:golang/github.com/fsnotify/fsnotify@v1.4.7" + }, + { + "group": "github.com/hpcloud", + "name": "tail", + "version": "v1.0.0", + "purl": "pkg:golang/github.com/hpcloud/tail@v1.0.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/hpcloud/tail@v1.0.0" + }, + { + "group": "gopkg.in", + "name": "fsnotify.v1", + "version": "v1.4.7", + "purl": "pkg:golang/gopkg.in/fsnotify.v1@v1.4.7", + "type": "library", + "bom-ref": "pkg:golang/gopkg.in/fsnotify.v1@v1.4.7" + }, + { + "group": "gopkg.in", + "name": "tomb.v1", + "version": "v1.0.0-20141024135613-dd632973f1e7", + "purl": "pkg:golang/gopkg.in/tomb.v1@v1.0.0-20141024135613-dd632973f1e7", + "type": "library", + "bom-ref": "pkg:golang/gopkg.in/tomb.v1@v1.0.0-20141024135613-dd632973f1e7" + }, + { + "group": "github.com/huin", + "name": "goutil", + "version": "v0.0.0-20170803182201-1ca381bf3150", + "purl": "pkg:golang/github.com/huin/goutil@v0.0.0-20170803182201-1ca381bf3150", + "type": "library", + "bom-ref": "pkg:golang/github.com/huin/goutil@v0.0.0-20170803182201-1ca381bf3150" + }, + { + "group": "google.golang.org", + "name": "genproto", + "version": "v0.0.0-20180831171423-11092d34479b", + "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20180831171423-11092d34479b", + "type": "library", + "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20180831171423-11092d34479b" + }, + { + "group": "github.com/golang", + "name": "snappy", + "version": "v0.0.0-20180518054509-2e65f85255db", + "purl": "pkg:golang/github.com/golang/snappy@v0.0.0-20180518054509-2e65f85255db", + "type": "library", + "bom-ref": "pkg:golang/github.com/golang/snappy@v0.0.0-20180518054509-2e65f85255db" + }, + { + "group": "github.com/libp2p", + "name": "go-stream-muxer", + "version": "v0.0.1", + "purl": "pkg:golang/github.com/libp2p/go-stream-muxer@v0.0.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/libp2p/go-stream-muxer@v0.0.1" + } + ], + "dependencies": [ + { + "ref": "pkg:golang/github.com/devfile-samples/devfile-sample-go-basic@v0.0.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/gin-contrib/sse@v0.1.0", + "dependsOn": [ + "pkg:golang/github.com/stretchr/testify@v1.7.0" + ] + }, + { + "ref": "pkg:golang/github.com/go-playground/validator/v10@v10.2.0", + "dependsOn": [ + "pkg:golang/github.com/go-playground/assert/v2@v2.0.1", + "pkg:golang/github.com/go-playground/locales@v0.13.0", + "pkg:golang/github.com/go-playground/universal-translator@v0.17.0", + "pkg:golang/github.com/leodido/go-urn@v1.2.0" + ] + }, + { + "ref": "pkg:golang/github.com/golang/protobuf@v1.3.3", + "dependsOn": [ + "pkg:golang/golang.org/x/net@v0.0.0-20200822124328-c89045814202", + "pkg:golang/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e", + "pkg:golang/google.golang.org/genproto@v0.0.0-20180831171423-11092d34479b" + ] + }, + { + "ref": "pkg:golang/github.com/json-iterator/go@v1.1.9", + "dependsOn": [ + "pkg:golang/github.com/davecgh/go-spew@v1.1.1", + "pkg:golang/github.com/google/gofuzz@v1.0.0", + "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180228061459-e0a39a4cb421", + "pkg:golang/github.com/modern-go/reflect2@v0.0.0-20180701023420-4b7aa43c6742", + "pkg:golang/github.com/stretchr/testify@v1.7.0" + ] + }, + { + "ref": "pkg:golang/github.com/mattn/go-isatty@v0.0.12", + "dependsOn": [ + "pkg:golang/golang.org/x/sys@v0.0.0-20210309074719-68d13333faf2" + ] + }, + { + "ref": "pkg:golang/github.com/stretchr/testify@v1.7.0", + "dependsOn": [ + "pkg:golang/github.com/davecgh/go-spew@v1.1.1", + "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", + "pkg:golang/github.com/stretchr/objx@v0.1.0", + "pkg:golang/gopkg.in/yaml.v2@v2.2.8" + ] + }, + { + "ref": "pkg:golang/github.com/ugorji/go/codec@v1.1.7", + "dependsOn": [ + "pkg:golang/github.com/ugorji/go@v1.1.7" + ] + }, + { + "ref": "pkg:golang/gopkg.in/yaml.v2@v2.2.8", + "dependsOn": [ + "pkg:golang/gopkg.in/check.v1@v1.0.0-20180628173108-788fd7840127" + ] + }, + { + "ref": "pkg:golang/github.com/ipfs/go-block-format@v0.0.3", + "dependsOn": [ + "pkg:golang/github.com/ipfs/go-cid@v0.0.7", + "pkg:golang/github.com/ipfs/go-ipfs-util@v0.0.2", + "pkg:golang/github.com/multiformats/go-multihash@v0.0.15" + ] + }, + { + "ref": "pkg:golang/github.com/ipfs/go-cid@v0.0.7", + "dependsOn": [ + "pkg:golang/github.com/multiformats/go-multibase@v0.0.3", + "pkg:golang/github.com/multiformats/go-multihash@v0.0.15", + "pkg:golang/github.com/multiformats/go-varint@v0.0.6" + ] + }, + { + "ref": "pkg:golang/github.com/ipfs/go-ipld-cbor@v0.0.5", + "dependsOn": [ + "pkg:golang/github.com/ipfs/go-block-format@v0.0.3", + "pkg:golang/github.com/ipfs/go-cid@v0.0.7", + "pkg:golang/github.com/ipfs/go-ipfs-util@v0.0.2", + "pkg:golang/github.com/ipfs/go-ipld-format@v0.2.0", + "pkg:golang/github.com/multiformats/go-multihash@v0.0.15", + "pkg:golang/github.com/polydawn/refmt@v0.0.0-20201211092308-30ac6d18308e", + "pkg:golang/github.com/smartystreets/goconvey@v1.6.4", + "pkg:golang/github.com/warpfork/go-wish@v0.0.0-20200122115046-b9ea61034e4a", + "pkg:golang/github.com/whyrusleeping/cbor-gen@v0.0.0-20200123233031-1cdf64d27158" + ] + }, + { + "ref": "pkg:golang/github.com/ipfs/go-ipld-format@v0.2.0", + "dependsOn": [ + "pkg:golang/github.com/ipfs/go-block-format@v0.0.3", + "pkg:golang/github.com/ipfs/go-cid@v0.0.7", + "pkg:golang/github.com/libp2p/go-buffer-pool@v0.0.2", + "pkg:golang/github.com/multiformats/go-multihash@v0.0.15" + ] + }, + { + "ref": "pkg:golang/github.com/ipfs/go-merkledag@v0.3.2", + "dependsOn": [ + "pkg:golang/github.com/gogo/protobuf@v1.3.1", + "pkg:golang/github.com/ipfs/go-block-format@v0.0.3", + "pkg:golang/github.com/ipfs/go-blockservice@v0.1.0", + "pkg:golang/github.com/ipfs/go-cid@v0.0.7", + "pkg:golang/github.com/ipfs/go-datastore@v0.3.1", + "pkg:golang/github.com/ipfs/go-ipfs-blockstore@v0.1.0", + "pkg:golang/github.com/ipfs/go-ipfs-exchange-offline@v0.0.1", + "pkg:golang/github.com/ipfs/go-ipfs-util@v0.0.2", + "pkg:golang/github.com/ipfs/go-ipld-cbor@v0.0.5", + "pkg:golang/github.com/ipfs/go-ipld-format@v0.2.0", + "pkg:golang/github.com/multiformats/go-multihash@v0.0.15" + ] + }, + { + "ref": "pkg:golang/github.com/ipld/go-codec-dagpb@v1.2.0", + "dependsOn": [ + "pkg:golang/github.com/ipfs/go-cid@v0.0.7", + "pkg:golang/github.com/ipld/go-ipld-prime@v0.9.0", + "pkg:golang/github.com/mr-tron/base58@v1.2.0", + "pkg:golang/github.com/multiformats/go-varint@v0.0.6", + "pkg:golang/github.com/polydawn/refmt@v0.0.0-20201211092308-30ac6d18308e", + "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1" + ] + }, + { + "ref": "pkg:golang/github.com/ipld/go-ipld-prime@v0.9.0", + "dependsOn": [ + "pkg:golang/github.com/frankban/quicktest@v1.11.3", + "pkg:golang/github.com/ipfs/go-cid@v0.0.7", + "pkg:golang/github.com/multiformats/go-multihash@v0.0.15", + "pkg:golang/github.com/polydawn/refmt@v0.0.0-20201211092308-30ac6d18308e", + "pkg:golang/github.com/smartystreets/goconvey@v1.6.4", + "pkg:golang/github.com/warpfork/go-wish@v0.0.0-20200122115046-b9ea61034e4a" + ] + }, + { + "ref": "pkg:golang/github.com/multiformats/go-multihash@v0.0.15", + "dependsOn": [ + "pkg:golang/github.com/minio/blake2b-simd@v0.0.0-20160723061019-3f5f724cb5b1", + "pkg:golang/github.com/minio/sha256-simd@v1.0.0", + "pkg:golang/github.com/mr-tron/base58@v1.2.0", + "pkg:golang/github.com/multiformats/go-varint@v0.0.6", + "pkg:golang/golang.org/x/crypto@v0.0.0-20210220033148-5ea612d1eb83", + "pkg:golang/golang.org/x/sys@v0.0.0-20210309074719-68d13333faf2", + "pkg:golang/github.com/spaolacci/murmur3@v1.1.0", + "pkg:golang/github.com/gxed/hashland/keccakpg@v0.0.1", + "pkg:golang/github.com/gxed/hashland/murmur3@v0.0.1" + ] + }, + { + "ref": "pkg:golang/github.com/dgrijalva/jwt-go@v3.2.0%2Bincompatible", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/labstack/gommon@v0.3.0", + "dependsOn": [ + "pkg:golang/github.com/mattn/go-colorable@v0.1.7", + "pkg:golang/github.com/mattn/go-isatty@v0.0.12", + "pkg:golang/github.com/stretchr/testify@v1.7.0", + "pkg:golang/github.com/valyala/fasttemplate@v1.2.1" + ] + }, + { + "ref": "pkg:golang/github.com/mattn/go-colorable@v0.1.7", + "dependsOn": [ + "pkg:golang/github.com/mattn/go-isatty@v0.0.12", + "pkg:golang/golang.org/x/sys@v0.0.0-20210309074719-68d13333faf2" + ] + }, + { + "ref": "pkg:golang/github.com/valyala/fasttemplate@v1.2.1", + "dependsOn": [ + "pkg:golang/github.com/valyala/bytebufferpool@v1.0.0" + ] + }, + { + "ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20210220033148-5ea612d1eb83", + "dependsOn": [ + "pkg:golang/golang.org/x/net@v0.0.0-20200822124328-c89045814202", + "pkg:golang/golang.org/x/sys@v0.0.0-20210309074719-68d13333faf2", + "pkg:golang/golang.org/x/term@v0.0.0-20201117132131-f5c789dd3221" + ] + }, + { + "ref": "pkg:golang/golang.org/x/net@v0.0.0-20200822124328-c89045814202", + "dependsOn": [ + "pkg:golang/golang.org/x/crypto@v0.0.0-20210220033148-5ea612d1eb83", + "pkg:golang/golang.org/x/sys@v0.0.0-20210309074719-68d13333faf2", + "pkg:golang/golang.org/x/text@v0.3.3" + ] + }, + { + "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20210309074719-68d13333faf2", + "dependsOn": [] + }, + { + "ref": "pkg:golang/golang.org/x/text@v0.3.3", + "dependsOn": [ + "pkg:golang/golang.org/x/tools@v0.0.0-20200509030707-2212a7e161a5" + ] + }, + { + "ref": "pkg:golang/github.com/beevik/etree@v1.1.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/jonboulle/clockwork@v0.2.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/armon/go-radix@v1.0.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/cucumber/godog@v0.8.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/davecgh/go-spew@v1.1.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/elastic/go-sysinfo@v1.1.1", + "dependsOn": [ + "pkg:golang/github.com/elastic/go-windows@v1.0.0", + "pkg:golang/github.com/joeshaw/multierror@v0.0.0-20140124173710-69b34d4ec901", + "pkg:golang/github.com/pkg/errors@v0.8.1", + "pkg:golang/github.com/prometheus/procfs@v0.0.3", + "pkg:golang/github.com/stretchr/testify@v1.7.0", + "pkg:golang/golang.org/x/sys@v0.0.0-20210309074719-68d13333faf2", + "pkg:golang/howett.net/plist@v0.0.0-20181124034731-591f970eefbb" + ] + }, + { + "ref": "pkg:golang/github.com/google/go-cmp@v0.5.4", + "dependsOn": [ + "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1" + ] + }, + { + "ref": "pkg:golang/github.com/pkg/errors@v0.8.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/prometheus/procfs@v0.0.3", + "dependsOn": [ + "pkg:golang/github.com/google/go-cmp@v0.5.4", + "pkg:golang/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e" + ] + }, + { + "ref": "pkg:golang/github.com/santhosh-tekuri/jsonschema@v1.2.4", + "dependsOn": [] + }, + { + "ref": "pkg:golang/go.elastic.co/fastjson@v1.1.0", + "dependsOn": [ + "pkg:golang/github.com/pkg/errors@v0.8.1", + "pkg:golang/golang.org/x/tools@v0.0.0-20200509030707-2212a7e161a5" + ] + }, + { + "ref": "pkg:golang/gopkg.in/check.v1@v1.0.0-20180628173108-788fd7840127", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/go-playground/assert/v2@v2.0.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/go-playground/locales@v0.13.0", + "dependsOn": [ + "pkg:golang/golang.org/x/text@v0.3.3" + ] + }, + { + "ref": "pkg:golang/github.com/go-playground/universal-translator@v0.17.0", + "dependsOn": [ + "pkg:golang/github.com/go-playground/locales@v0.13.0" + ] + }, + { + "ref": "pkg:golang/github.com/leodido/go-urn@v1.2.0", + "dependsOn": [ + "pkg:golang/github.com/stretchr/testify@v1.7.0" + ] + }, + { + "ref": "pkg:golang/github.com/google/gofuzz@v1.0.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180228061459-e0a39a4cb421", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/modern-go/reflect2@v0.0.0-20180701023420-4b7aa43c6742", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/stretchr/objx@v0.1.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/ugorji/go@v1.1.7", + "dependsOn": [ + "pkg:golang/github.com/ugorji/go/codec@v1.1.7" + ] + }, + { + "ref": "pkg:golang/github.com/ipfs/go-ipfs-util@v0.0.2", + "dependsOn": [ + "pkg:golang/github.com/mr-tron/base58@v1.2.0", + "pkg:golang/github.com/multiformats/go-multihash@v0.0.15" + ] + }, + { + "ref": "pkg:golang/github.com/multiformats/go-multibase@v0.0.3", + "dependsOn": [ + "pkg:golang/github.com/mr-tron/base58@v1.2.0", + "pkg:golang/github.com/multiformats/go-base32@v0.0.3", + "pkg:golang/github.com/multiformats/go-base36@v0.1.0" + ] + }, + { + "ref": "pkg:golang/github.com/multiformats/go-varint@v0.0.6", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/polydawn/refmt@v0.0.0-20201211092308-30ac6d18308e", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/smartystreets/goconvey@v1.6.4", + "dependsOn": [ + "pkg:golang/github.com/gopherjs/gopherjs@v0.0.0-20181017120253-0766667cb4d1", + "pkg:golang/github.com/jtolds/gls@v4.20.0%2Bincompatible", + "pkg:golang/github.com/smartystreets/assertions@v0.0.0-20180927180507-b2de0cb4f26d", + "pkg:golang/golang.org/x/tools@v0.0.0-20200509030707-2212a7e161a5" + ] + }, + { + "ref": "pkg:golang/github.com/warpfork/go-wish@v0.0.0-20200122115046-b9ea61034e4a", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/whyrusleeping/cbor-gen@v0.0.0-20200123233031-1cdf64d27158", + "dependsOn": [ + "pkg:golang/github.com/google/go-cmp@v0.5.4", + "pkg:golang/github.com/ipfs/go-cid@v0.0.7", + "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1" + ] + }, + { + "ref": "pkg:golang/github.com/libp2p/go-buffer-pool@v0.0.2", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/gogo/protobuf@v1.3.1", + "dependsOn": [ + "pkg:golang/github.com/kisielk/errcheck@v1.2.0", + "pkg:golang/github.com/kisielk/gotool@v1.0.0" + ] + }, + { + "ref": "pkg:golang/github.com/ipfs/go-blockservice@v0.1.0", + "dependsOn": [ + "pkg:golang/github.com/ipfs/go-bitswap@v0.1.0", + "pkg:golang/github.com/ipfs/go-block-format@v0.0.3", + "pkg:golang/github.com/ipfs/go-cid@v0.0.7", + "pkg:golang/github.com/ipfs/go-datastore@v0.3.1", + "pkg:golang/github.com/ipfs/go-ipfs-blockstore@v0.1.0", + "pkg:golang/github.com/ipfs/go-ipfs-blocksutil@v0.0.1", + "pkg:golang/github.com/ipfs/go-ipfs-delay@v0.0.1", + "pkg:golang/github.com/ipfs/go-ipfs-exchange-interface@v0.0.1", + "pkg:golang/github.com/ipfs/go-ipfs-exchange-offline@v0.0.1", + "pkg:golang/github.com/ipfs/go-ipfs-routing@v0.1.0", + "pkg:golang/github.com/ipfs/go-ipfs-util@v0.0.2", + "pkg:golang/github.com/ipfs/go-log@v0.0.1", + "pkg:golang/github.com/ipfs/go-verifcid@v0.0.1" + ] + }, + { + "ref": "pkg:golang/github.com/ipfs/go-datastore@v0.3.1", + "dependsOn": [ + "pkg:golang/github.com/go-check/check@v0.0.0-20180628173108-788fd7840127", + "pkg:golang/github.com/google/uuid@v1.1.1", + "pkg:golang/github.com/ipfs/go-ipfs-delay@v0.0.1", + "pkg:golang/github.com/jbenet/goprocess@v0.1.3", + "pkg:golang/github.com/kr/pretty@v0.2.1", + "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1", + "pkg:golang/gopkg.in/check.v1@v1.0.0-20180628173108-788fd7840127" + ] + }, + { + "ref": "pkg:golang/github.com/ipfs/go-ipfs-blockstore@v0.1.0", + "dependsOn": [ + "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1", + "pkg:golang/github.com/ipfs/bbloom@v0.0.4", + "pkg:golang/github.com/ipfs/go-block-format@v0.0.3", + "pkg:golang/github.com/ipfs/go-cid@v0.0.7", + "pkg:golang/github.com/ipfs/go-datastore@v0.3.1", + "pkg:golang/github.com/ipfs/go-ipfs-ds-help@v0.0.1", + "pkg:golang/github.com/ipfs/go-ipfs-util@v0.0.2", + "pkg:golang/github.com/ipfs/go-log@v0.0.1", + "pkg:golang/github.com/ipfs/go-metrics-interface@v0.0.1", + "pkg:golang/github.com/multiformats/go-multihash@v0.0.15" + ] + }, + { + "ref": "pkg:golang/github.com/ipfs/go-ipfs-exchange-offline@v0.0.1", + "dependsOn": [ + "pkg:golang/github.com/ipfs/go-block-format@v0.0.3", + "pkg:golang/github.com/ipfs/go-cid@v0.0.7", + "pkg:golang/github.com/ipfs/go-datastore@v0.3.1", + "pkg:golang/github.com/ipfs/go-ipfs-blockstore@v0.1.0", + "pkg:golang/github.com/ipfs/go-ipfs-blocksutil@v0.0.1", + "pkg:golang/github.com/ipfs/go-ipfs-exchange-interface@v0.0.1", + "pkg:golang/github.com/ipfs/go-ipfs-util@v0.0.2" + ] + }, + { + "ref": "pkg:golang/github.com/mr-tron/base58@v1.2.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/frankban/quicktest@v1.11.3", + "dependsOn": [ + "pkg:golang/github.com/google/go-cmp@v0.5.4", + "pkg:golang/github.com/kr/pretty@v0.2.1" + ] + }, + { + "ref": "pkg:golang/github.com/minio/blake2b-simd@v0.0.0-20160723061019-3f5f724cb5b1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/minio/sha256-simd@v1.0.0", + "dependsOn": [ + "pkg:golang/github.com/klauspost/cpuid/v2@v2.0.4" + ] + }, + { + "ref": "pkg:golang/github.com/valyala/bytebufferpool@v1.0.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200509030707-2212a7e161a5", + "dependsOn": [ + "pkg:golang/github.com/yuin/goldmark@v1.1.27", + "pkg:golang/golang.org/x/mod@v0.2.0", + "pkg:golang/golang.org/x/net@v0.0.0-20200822124328-c89045814202", + "pkg:golang/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e", + "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1" + ] + }, + { + "ref": "pkg:golang/github.com/elastic/go-windows@v1.0.0", + "dependsOn": [ + "pkg:golang/github.com/pkg/errors@v0.8.1", + "pkg:golang/github.com/stretchr/testify@v1.7.0" + ] + }, + { + "ref": "pkg:golang/github.com/joeshaw/multierror@v0.0.0-20140124173710-69b34d4ec901", + "dependsOn": [] + }, + { + "ref": "pkg:golang/howett.net/plist@v0.0.0-20181124034731-591f970eefbb", + "dependsOn": [ + "pkg:golang/github.com/jessevdk/go-flags@v1.4.0", + "pkg:golang/github.com/kr/pretty@v0.2.1", + "pkg:golang/gopkg.in/check.v1@v1.0.0-20180628173108-788fd7840127", + "pkg:golang/gopkg.in/yaml.v2@v2.2.8" + ] + }, + { + "ref": "pkg:golang/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/spaolacci/murmur3@v1.1.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/multiformats/go-base32@v0.0.3", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/multiformats/go-base36@v0.1.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/gopherjs/gopherjs@v0.0.0-20181017120253-0766667cb4d1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/jtolds/gls@v4.20.0%2Bincompatible", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/smartystreets/assertions@v0.0.0-20180927180507-b2de0cb4f26d", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/gxed/hashland/keccakpg@v0.0.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/gxed/hashland/murmur3@v0.0.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/kisielk/errcheck@v1.2.0", + "dependsOn": [ + "pkg:golang/golang.org/x/tools@v0.0.0-20200509030707-2212a7e161a5", + "pkg:golang/github.com/kisielk/gotool@v1.0.0" + ] + }, + { + "ref": "pkg:golang/github.com/kisielk/gotool@v1.0.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/ipfs/go-bitswap@v0.1.0", + "dependsOn": [ + "pkg:golang/github.com/cskr/pubsub@v1.0.2", + "pkg:golang/github.com/davecgh/go-spew@v1.1.1", + "pkg:golang/github.com/gogo/protobuf@v1.3.1", + "pkg:golang/github.com/golang/protobuf@v1.3.3", + "pkg:golang/github.com/google/uuid@v1.1.1", + "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1", + "pkg:golang/github.com/ipfs/go-block-format@v0.0.3", + "pkg:golang/github.com/ipfs/go-cid@v0.0.7", + "pkg:golang/github.com/ipfs/go-datastore@v0.3.1", + "pkg:golang/github.com/ipfs/go-detect-race@v0.0.1", + "pkg:golang/github.com/ipfs/go-ipfs-blockstore@v0.1.0", + "pkg:golang/github.com/ipfs/go-ipfs-blocksutil@v0.0.1", + "pkg:golang/github.com/ipfs/go-ipfs-delay@v0.0.1", + "pkg:golang/github.com/ipfs/go-ipfs-exchange-interface@v0.0.1", + "pkg:golang/github.com/ipfs/go-ipfs-routing@v0.1.0", + "pkg:golang/github.com/ipfs/go-ipfs-util@v0.0.2", + "pkg:golang/github.com/ipfs/go-log@v0.0.1", + "pkg:golang/github.com/ipfs/go-metrics-interface@v0.0.1", + "pkg:golang/github.com/ipfs/go-peertaskqueue@v0.1.0", + "pkg:golang/github.com/jbenet/goprocess@v0.1.3", + "pkg:golang/github.com/libp2p/go-libp2p@v0.1.0", + "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.2", + "pkg:golang/github.com/libp2p/go-libp2p-loggables@v0.1.0", + "pkg:golang/github.com/libp2p/go-libp2p-netutil@v0.1.0", + "pkg:golang/github.com/libp2p/go-libp2p-testing@v0.0.3", + "pkg:golang/github.com/libp2p/go-testutil@v0.1.0", + "pkg:golang/github.com/mattn/go-colorable@v0.1.7", + "pkg:golang/github.com/multiformats/go-multiaddr@v0.0.4", + "pkg:golang/github.com/opentracing/opentracing-go@v1.1.0", + "pkg:golang/golang.org/x/net@v0.0.0-20200822124328-c89045814202", + "pkg:golang/golang.org/x/sys@v0.0.0-20210309074719-68d13333faf2", + "pkg:golang/golang.org/x/text@v0.3.3", + "pkg:golang/gopkg.in/yaml.v2@v2.2.8" + ] + }, + { + "ref": "pkg:golang/github.com/ipfs/go-ipfs-blocksutil@v0.0.1", + "dependsOn": [ + "pkg:golang/github.com/ipfs/go-block-format@v0.0.3" + ] + }, + { + "ref": "pkg:golang/github.com/ipfs/go-ipfs-delay@v0.0.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/ipfs/go-ipfs-exchange-interface@v0.0.1", + "dependsOn": [ + "pkg:golang/github.com/ipfs/go-block-format@v0.0.3", + "pkg:golang/github.com/ipfs/go-cid@v0.0.7" + ] + }, + { + "ref": "pkg:golang/github.com/ipfs/go-ipfs-routing@v0.1.0", + "dependsOn": [ + "pkg:golang/github.com/gogo/protobuf@v1.3.1", + "pkg:golang/github.com/ipfs/go-cid@v0.0.7", + "pkg:golang/github.com/ipfs/go-datastore@v0.3.1", + "pkg:golang/github.com/ipfs/go-ipfs-delay@v0.0.1", + "pkg:golang/github.com/ipfs/go-ipfs-ds-help@v0.0.1", + "pkg:golang/github.com/ipfs/go-ipfs-util@v0.0.2", + "pkg:golang/github.com/ipfs/go-log@v0.0.1", + "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.2", + "pkg:golang/github.com/libp2p/go-libp2p-record@v0.1.0", + "pkg:golang/github.com/libp2p/go-libp2p-testing@v0.0.3", + "pkg:golang/github.com/multiformats/go-multiaddr@v0.0.4", + "pkg:golang/github.com/multiformats/go-multihash@v0.0.15" + ] + }, + { + "ref": "pkg:golang/github.com/ipfs/go-log@v0.0.1", + "dependsOn": [ + "pkg:golang/github.com/gogo/protobuf@v1.3.1", + "pkg:golang/github.com/mattn/go-colorable@v0.1.7", + "pkg:golang/github.com/opentracing/opentracing-go@v1.1.0", + "pkg:golang/github.com/stretchr/testify@v1.7.0", + "pkg:golang/github.com/whyrusleeping/go-logging@v0.0.0-20170515211332-0457bb6b88fc", + "pkg:golang/golang.org/x/net@v0.0.0-20200822124328-c89045814202" + ] + }, + { + "ref": "pkg:golang/github.com/ipfs/go-verifcid@v0.0.1", + "dependsOn": [ + "pkg:golang/github.com/ipfs/go-cid@v0.0.7", + "pkg:golang/github.com/multiformats/go-multihash@v0.0.15" + ] + }, + { + "ref": "pkg:golang/github.com/go-check/check@v0.0.0-20180628173108-788fd7840127", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/google/uuid@v1.1.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/jbenet/goprocess@v0.1.3", + "dependsOn": [ + "pkg:golang/github.com/jbenet/go-cienv@v0.1.0" + ] + }, + { + "ref": "pkg:golang/github.com/kr/pretty@v0.2.1", + "dependsOn": [ + "pkg:golang/github.com/kr/text@v0.1.0" + ] + }, + { + "ref": "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/ipfs/bbloom@v0.0.4", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/ipfs/go-ipfs-ds-help@v0.0.1", + "dependsOn": [ + "pkg:golang/github.com/ipfs/go-cid@v0.0.7", + "pkg:golang/github.com/ipfs/go-datastore@v0.3.1", + "pkg:golang/github.com/multiformats/go-base32@v0.0.3" + ] + }, + { + "ref": "pkg:golang/github.com/ipfs/go-metrics-interface@v0.0.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/klauspost/cpuid/v2@v2.0.4", + "dependsOn": [] + }, + { + "ref": "pkg:golang/golang.org/x/term@v0.0.0-20201117132131-f5c789dd3221", + "dependsOn": [ + "pkg:golang/golang.org/x/sys@v0.0.0-20210309074719-68d13333faf2" + ] + }, + { + "ref": "pkg:golang/github.com/jessevdk/go-flags@v1.4.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/yuin/goldmark@v1.1.27", + "dependsOn": [] + }, + { + "ref": "pkg:golang/golang.org/x/mod@v0.2.0", + "dependsOn": [ + "pkg:golang/golang.org/x/crypto@v0.0.0-20210220033148-5ea612d1eb83", + "pkg:golang/golang.org/x/tools@v0.0.0-20200509030707-2212a7e161a5", + "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1" + ] + }, + { + "ref": "pkg:golang/github.com/cskr/pubsub@v1.0.2", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/ipfs/go-detect-race@v0.0.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/ipfs/go-peertaskqueue@v0.1.0", + "dependsOn": [ + "pkg:golang/github.com/ipfs/go-ipfs-pq@v0.0.1", + "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.2", + "pkg:golang/github.com/multiformats/go-multihash@v0.0.15" + ] + }, + { + "ref": "pkg:golang/github.com/libp2p/go-libp2p@v0.1.0", + "dependsOn": [ + "pkg:golang/github.com/gogo/protobuf@v1.3.1", + "pkg:golang/github.com/ipfs/go-cid@v0.0.7", + "pkg:golang/github.com/ipfs/go-detect-race@v0.0.1", + "pkg:golang/github.com/ipfs/go-ipfs-util@v0.0.2", + "pkg:golang/github.com/ipfs/go-log@v0.0.1", + "pkg:golang/github.com/jbenet/go-cienv@v0.1.0", + "pkg:golang/github.com/jbenet/goprocess@v0.1.3", + "pkg:golang/github.com/libp2p/go-conn-security-multistream@v0.1.0", + "pkg:golang/github.com/libp2p/go-libp2p-autonat@v0.1.0", + "pkg:golang/github.com/libp2p/go-libp2p-blankhost@v0.1.1", + "pkg:golang/github.com/libp2p/go-libp2p-circuit@v0.1.0", + "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.2", + "pkg:golang/github.com/libp2p/go-libp2p-discovery@v0.1.0", + "pkg:golang/github.com/libp2p/go-libp2p-loggables@v0.1.0", + "pkg:golang/github.com/libp2p/go-libp2p-mplex@v0.2.1", + "pkg:golang/github.com/libp2p/go-libp2p-nat@v0.0.4", + "pkg:golang/github.com/libp2p/go-libp2p-netutil@v0.1.0", + "pkg:golang/github.com/libp2p/go-libp2p-peerstore@v0.1.0", + "pkg:golang/github.com/libp2p/go-libp2p-secio@v0.1.0", + "pkg:golang/github.com/libp2p/go-libp2p-swarm@v0.1.0", + "pkg:golang/github.com/libp2p/go-libp2p-testing@v0.0.3", + "pkg:golang/github.com/libp2p/go-libp2p-transport-upgrader@v0.1.1", + "pkg:golang/github.com/libp2p/go-libp2p-yamux@v0.2.0", + "pkg:golang/github.com/libp2p/go-maddr-filter@v0.0.4", + "pkg:golang/github.com/libp2p/go-stream-muxer-multistream@v0.2.0", + "pkg:golang/github.com/libp2p/go-tcp-transport@v0.1.0", + "pkg:golang/github.com/libp2p/go-ws-transport@v0.1.0", + "pkg:golang/github.com/multiformats/go-multiaddr@v0.0.4", + "pkg:golang/github.com/multiformats/go-multiaddr-dns@v0.0.2", + "pkg:golang/github.com/multiformats/go-multiaddr-net@v0.0.1", + "pkg:golang/github.com/multiformats/go-multistream@v0.1.0", + "pkg:golang/github.com/whyrusleeping/mdns@v0.0.0-20180901202407-ef14215e6b30" + ] + }, + { + "ref": "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.2", + "dependsOn": [ + "pkg:golang/github.com/btcsuite/btcd@v0.0.0-20190523000118-16327141da8c", + "pkg:golang/github.com/coreos/go-semver@v0.3.0", + "pkg:golang/github.com/gogo/protobuf@v1.3.1", + "pkg:golang/github.com/ipfs/go-cid@v0.0.7", + "pkg:golang/github.com/jbenet/goprocess@v0.1.3", + "pkg:golang/github.com/libp2p/go-flow-metrics@v0.0.1", + "pkg:golang/github.com/minio/sha256-simd@v1.0.0", + "pkg:golang/github.com/mr-tron/base58@v1.2.0", + "pkg:golang/github.com/multiformats/go-multiaddr@v0.0.4", + "pkg:golang/github.com/multiformats/go-multihash@v0.0.15", + "pkg:golang/github.com/spacemonkeygo/openssl@v0.0.0-20181017203307-c2dcc5cca94a", + "pkg:golang/golang.org/x/crypto@v0.0.0-20210220033148-5ea612d1eb83" + ] + }, + { + "ref": "pkg:golang/github.com/libp2p/go-libp2p-loggables@v0.1.0", + "dependsOn": [ + "pkg:golang/github.com/google/uuid@v1.1.1", + "pkg:golang/github.com/ipfs/go-log@v0.0.1", + "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.2", + "pkg:golang/github.com/multiformats/go-multiaddr@v0.0.4" + ] + }, + { + "ref": "pkg:golang/github.com/libp2p/go-libp2p-netutil@v0.1.0", + "dependsOn": [ + "pkg:golang/github.com/ipfs/go-log@v0.0.1", + "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.2", + "pkg:golang/github.com/libp2p/go-libp2p-testing@v0.0.3", + "pkg:golang/github.com/multiformats/go-multiaddr@v0.0.4" + ] + }, + { + "ref": "pkg:golang/github.com/libp2p/go-libp2p-testing@v0.0.3", + "dependsOn": [ + "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.2", + "pkg:golang/github.com/multiformats/go-multiaddr@v0.0.4" + ] + }, + { + "ref": "pkg:golang/github.com/libp2p/go-testutil@v0.1.0", + "dependsOn": [ + "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.2", + "pkg:golang/github.com/libp2p/go-libp2p-testing@v0.0.3", + "pkg:golang/github.com/multiformats/go-multiaddr@v0.0.4", + "pkg:golang/golang.org/x/sys@v0.0.0-20210309074719-68d13333faf2" + ] + }, + { + "ref": "pkg:golang/github.com/multiformats/go-multiaddr@v0.0.4", + "dependsOn": [ + "pkg:golang/github.com/multiformats/go-multihash@v0.0.15" + ] + }, + { + "ref": "pkg:golang/github.com/opentracing/opentracing-go@v1.1.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/libp2p/go-libp2p-record@v0.1.0", + "dependsOn": [ + "pkg:golang/github.com/gogo/protobuf@v1.3.1", + "pkg:golang/github.com/ipfs/go-ipfs-util@v0.0.2", + "pkg:golang/github.com/ipfs/go-log@v0.0.1", + "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.2", + "pkg:golang/github.com/multiformats/go-multihash@v0.0.15" + ] + }, + { + "ref": "pkg:golang/github.com/whyrusleeping/go-logging@v0.0.0-20170515211332-0457bb6b88fc", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/kr/text@v0.1.0", + "dependsOn": [ + "pkg:golang/github.com/kr/pty@v1.1.1" + ] + }, + { + "ref": "pkg:golang/github.com/ipfs/go-ipfs-pq@v0.0.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/jbenet/go-cienv@v0.1.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/libp2p/go-conn-security-multistream@v0.1.0", + "dependsOn": [ + "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.2", + "pkg:golang/github.com/libp2p/go-libp2p-testing@v0.0.3", + "pkg:golang/github.com/multiformats/go-multistream@v0.1.0" + ] + }, + { + "ref": "pkg:golang/github.com/libp2p/go-libp2p-autonat@v0.1.0", + "dependsOn": [ + "pkg:golang/github.com/gogo/protobuf@v1.3.1", + "pkg:golang/github.com/ipfs/go-log@v0.0.1", + "pkg:golang/github.com/libp2p/go-libp2p-blankhost@v0.1.1", + "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.2", + "pkg:golang/github.com/libp2p/go-libp2p-swarm@v0.1.0", + "pkg:golang/github.com/multiformats/go-multiaddr@v0.0.4" + ] + }, + { + "ref": "pkg:golang/github.com/libp2p/go-libp2p-blankhost@v0.1.1", + "dependsOn": [ + "pkg:golang/github.com/ipfs/go-log@v0.0.1", + "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.2", + "pkg:golang/github.com/multiformats/go-multiaddr@v0.0.4", + "pkg:golang/github.com/multiformats/go-multistream@v0.1.0" + ] + }, + { + "ref": "pkg:golang/github.com/libp2p/go-libp2p-circuit@v0.1.0", + "dependsOn": [ + "pkg:golang/github.com/gogo/protobuf@v1.3.1", + "pkg:golang/github.com/ipfs/go-log@v0.0.1", + "pkg:golang/github.com/libp2p/go-buffer-pool@v0.0.2", + "pkg:golang/github.com/libp2p/go-libp2p-blankhost@v0.1.1", + "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.2", + "pkg:golang/github.com/libp2p/go-libp2p-swarm@v0.1.0", + "pkg:golang/github.com/libp2p/go-libp2p-transport-upgrader@v0.1.1", + "pkg:golang/github.com/multiformats/go-multiaddr@v0.0.4", + "pkg:golang/github.com/multiformats/go-multiaddr-net@v0.0.1" + ] + }, + { + "ref": "pkg:golang/github.com/libp2p/go-libp2p-discovery@v0.1.0", + "dependsOn": [ + "pkg:golang/github.com/ipfs/go-cid@v0.0.7", + "pkg:golang/github.com/ipfs/go-log@v0.0.1", + "pkg:golang/github.com/libp2p/go-libp2p-blankhost@v0.1.1", + "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.2", + "pkg:golang/github.com/libp2p/go-libp2p-swarm@v0.1.0", + "pkg:golang/github.com/multiformats/go-multihash@v0.0.15" + ] + }, + { + "ref": "pkg:golang/github.com/libp2p/go-libp2p-mplex@v0.2.1", + "dependsOn": [ + "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.2", + "pkg:golang/github.com/libp2p/go-libp2p-testing@v0.0.3", + "pkg:golang/github.com/libp2p/go-mplex@v0.1.0" + ] + }, + { + "ref": "pkg:golang/github.com/libp2p/go-libp2p-nat@v0.0.4", + "dependsOn": [ + "pkg:golang/github.com/ipfs/go-log@v0.0.1", + "pkg:golang/github.com/jbenet/go-cienv@v0.1.0", + "pkg:golang/github.com/jbenet/goprocess@v0.1.3", + "pkg:golang/github.com/libp2p/go-nat@v0.0.3", + "pkg:golang/github.com/whyrusleeping/go-notifier@v0.0.0-20170827234753-097c5d47330f" + ] + }, + { + "ref": "pkg:golang/github.com/libp2p/go-libp2p-peerstore@v0.1.0", + "dependsOn": [ + "pkg:golang/github.com/gogo/protobuf@v1.3.1", + "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1", + "pkg:golang/github.com/ipfs/go-datastore@v0.3.1", + "pkg:golang/github.com/ipfs/go-ds-badger@v0.0.2", + "pkg:golang/github.com/ipfs/go-ds-leveldb@v0.0.1", + "pkg:golang/github.com/ipfs/go-log@v0.0.1", + "pkg:golang/github.com/libp2p/go-buffer-pool@v0.0.2", + "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.2", + "pkg:golang/github.com/libp2p/go-libp2p-crypto@v0.1.0", + "pkg:golang/github.com/libp2p/go-libp2p-peer@v0.2.0", + "pkg:golang/github.com/multiformats/go-base32@v0.0.3", + "pkg:golang/github.com/multiformats/go-multiaddr@v0.0.4", + "pkg:golang/github.com/multiformats/go-multiaddr-net@v0.0.1", + "pkg:golang/github.com/multiformats/go-multihash@v0.0.15", + "pkg:golang/github.com/pkg/errors@v0.8.1", + "pkg:golang/github.com/whyrusleeping/go-keyspace@v0.0.0-20160322163242-5b898ac5add1", + "pkg:golang/github.com/whyrusleeping/mafmt@v1.2.8" + ] + }, + { + "ref": "pkg:golang/github.com/libp2p/go-libp2p-secio@v0.1.0", + "dependsOn": [ + "pkg:golang/github.com/gogo/protobuf@v1.3.1", + "pkg:golang/github.com/ipfs/go-log@v0.0.1", + "pkg:golang/github.com/libp2p/go-buffer-pool@v0.0.2", + "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.2", + "pkg:golang/github.com/libp2p/go-libp2p-testing@v0.0.3", + "pkg:golang/github.com/libp2p/go-msgio@v0.0.2", + "pkg:golang/github.com/minio/sha256-simd@v1.0.0", + "pkg:golang/github.com/multiformats/go-multihash@v0.0.15", + "pkg:golang/golang.org/x/crypto@v0.0.0-20210220033148-5ea612d1eb83" + ] + }, + { + "ref": "pkg:golang/github.com/libp2p/go-libp2p-swarm@v0.1.0", + "dependsOn": [ + "pkg:golang/github.com/ipfs/go-log@v0.0.1", + "pkg:golang/github.com/jbenet/goprocess@v0.1.3", + "pkg:golang/github.com/libp2p/go-addr-util@v0.0.1", + "pkg:golang/github.com/libp2p/go-conn-security-multistream@v0.1.0", + "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.2", + "pkg:golang/github.com/libp2p/go-libp2p-loggables@v0.1.0", + "pkg:golang/github.com/libp2p/go-libp2p-peerstore@v0.1.0", + "pkg:golang/github.com/libp2p/go-libp2p-secio@v0.1.0", + "pkg:golang/github.com/libp2p/go-libp2p-testing@v0.0.3", + "pkg:golang/github.com/libp2p/go-libp2p-transport-upgrader@v0.1.1", + "pkg:golang/github.com/libp2p/go-libp2p-yamux@v0.2.0", + "pkg:golang/github.com/libp2p/go-maddr-filter@v0.0.4", + "pkg:golang/github.com/libp2p/go-stream-muxer-multistream@v0.2.0", + "pkg:golang/github.com/libp2p/go-tcp-transport@v0.1.0", + "pkg:golang/github.com/multiformats/go-multiaddr@v0.0.4", + "pkg:golang/github.com/multiformats/go-multiaddr-net@v0.0.1", + "pkg:golang/github.com/whyrusleeping/mafmt@v1.2.8", + "pkg:golang/github.com/whyrusleeping/multiaddr-filter@v0.0.0-20160516205228-e903e4adabd7" + ] + }, + { + "ref": "pkg:golang/github.com/libp2p/go-libp2p-transport-upgrader@v0.1.1", + "dependsOn": [ + "pkg:golang/github.com/ipfs/go-log@v0.0.1", + "pkg:golang/github.com/jbenet/go-temp-err-catcher@v0.0.0-20150120210811-aac704a3f4f2", + "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.2", + "pkg:golang/github.com/libp2p/go-libp2p-mplex@v0.2.1", + "pkg:golang/github.com/libp2p/go-maddr-filter@v0.0.4", + "pkg:golang/github.com/multiformats/go-multiaddr@v0.0.4", + "pkg:golang/github.com/multiformats/go-multiaddr-net@v0.0.1", + "pkg:golang/github.com/onsi/ginkgo@v1.8.0", + "pkg:golang/github.com/onsi/gomega@v1.5.0" + ] + }, + { + "ref": "pkg:golang/github.com/libp2p/go-libp2p-yamux@v0.2.0", + "dependsOn": [ + "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.2", + "pkg:golang/github.com/libp2p/go-libp2p-testing@v0.0.3", + "pkg:golang/github.com/libp2p/go-yamux@v1.2.2" + ] + }, + { + "ref": "pkg:golang/github.com/libp2p/go-maddr-filter@v0.0.4", + "dependsOn": [ + "pkg:golang/github.com/multiformats/go-multiaddr@v0.0.4", + "pkg:golang/github.com/multiformats/go-multiaddr-net@v0.0.1" + ] + }, + { + "ref": "pkg:golang/github.com/libp2p/go-stream-muxer-multistream@v0.2.0", + "dependsOn": [ + "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.2", + "pkg:golang/github.com/multiformats/go-multistream@v0.1.0" + ] + }, + { + "ref": "pkg:golang/github.com/libp2p/go-tcp-transport@v0.1.0", + "dependsOn": [ + "pkg:golang/github.com/ipfs/go-log@v0.0.1", + "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.2", + "pkg:golang/github.com/libp2p/go-libp2p-mplex@v0.2.1", + "pkg:golang/github.com/libp2p/go-libp2p-testing@v0.0.3", + "pkg:golang/github.com/libp2p/go-libp2p-transport-upgrader@v0.1.1", + "pkg:golang/github.com/libp2p/go-reuseport@v0.0.1", + "pkg:golang/github.com/libp2p/go-reuseport-transport@v0.0.2", + "pkg:golang/github.com/multiformats/go-multiaddr@v0.0.4", + "pkg:golang/github.com/multiformats/go-multiaddr-fmt@v0.0.1", + "pkg:golang/github.com/multiformats/go-multiaddr-net@v0.0.1", + "pkg:golang/github.com/multiformats/go-multihash@v0.0.15" + ] + }, + { + "ref": "pkg:golang/github.com/libp2p/go-ws-transport@v0.1.0", + "dependsOn": [ + "pkg:golang/github.com/gorilla/websocket@v1.4.0", + "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.2", + "pkg:golang/github.com/libp2p/go-libp2p-mplex@v0.2.1", + "pkg:golang/github.com/libp2p/go-libp2p-testing@v0.0.3", + "pkg:golang/github.com/libp2p/go-libp2p-transport-upgrader@v0.1.1", + "pkg:golang/github.com/multiformats/go-multiaddr@v0.0.4", + "pkg:golang/github.com/multiformats/go-multiaddr-net@v0.0.1", + "pkg:golang/github.com/whyrusleeping/mafmt@v1.2.8" + ] + }, + { + "ref": "pkg:golang/github.com/multiformats/go-multiaddr-dns@v0.0.2", + "dependsOn": [ + "pkg:golang/github.com/multiformats/go-multiaddr@v0.0.4" + ] + }, + { + "ref": "pkg:golang/github.com/multiformats/go-multiaddr-net@v0.0.1", + "dependsOn": [ + "pkg:golang/github.com/multiformats/go-multiaddr@v0.0.4", + "pkg:golang/github.com/multiformats/go-multiaddr-dns@v0.0.2" + ] + }, + { + "ref": "pkg:golang/github.com/multiformats/go-multistream@v0.1.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/whyrusleeping/mdns@v0.0.0-20180901202407-ef14215e6b30", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/btcsuite/btcd@v0.0.0-20190523000118-16327141da8c", + "dependsOn": [ + "pkg:golang/github.com/aead/siphash@v1.0.1", + "pkg:golang/github.com/btcsuite/btclog@v0.0.0-20170628155309-84c8d2346e9f", + "pkg:golang/github.com/btcsuite/btcutil@v0.0.0-20190425235716-9e5f4b9a998d", + "pkg:golang/github.com/btcsuite/go-socks@v0.0.0-20170105172521-4720035b7bfd", + "pkg:golang/github.com/btcsuite/goleveldb@v0.0.0-20160330041536-7834afc9e8cd", + "pkg:golang/github.com/btcsuite/snappy-go@v0.0.0-20151229074030-0bdef8d06723", + "pkg:golang/github.com/btcsuite/websocket@v0.0.0-20150119174127-31079b680792", + "pkg:golang/github.com/btcsuite/winsvc@v1.0.0", + "pkg:golang/github.com/davecgh/go-spew@v1.1.1", + "pkg:golang/github.com/jessevdk/go-flags@v1.4.0", + "pkg:golang/github.com/jrick/logrotate@v1.0.0", + "pkg:golang/github.com/kkdai/bstream@v0.0.0-20161212061736-f391b8402d23", + "pkg:golang/github.com/onsi/ginkgo@v1.8.0", + "pkg:golang/github.com/onsi/gomega@v1.5.0", + "pkg:golang/golang.org/x/crypto@v0.0.0-20210220033148-5ea612d1eb83" + ] + }, + { + "ref": "pkg:golang/github.com/coreos/go-semver@v0.3.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/libp2p/go-flow-metrics@v0.0.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/spacemonkeygo/openssl@v0.0.0-20181017203307-c2dcc5cca94a", + "dependsOn": [ + "pkg:golang/github.com/spacemonkeygo/spacelog@v0.0.0-20180420211403-2296661a0572" + ] + }, + { + "ref": "pkg:golang/github.com/kr/pty@v1.1.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/libp2p/go-mplex@v0.1.0", + "dependsOn": [ + "pkg:golang/github.com/ipfs/go-log@v0.0.1", + "pkg:golang/github.com/libp2p/go-buffer-pool@v0.0.2", + "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.2", + "pkg:golang/github.com/libp2p/go-stream-muxer@v0.0.1" + ] + }, + { + "ref": "pkg:golang/github.com/libp2p/go-nat@v0.0.3", + "dependsOn": [ + "pkg:golang/github.com/huin/goupnp@v1.0.0", + "pkg:golang/github.com/jackpal/gateway@v1.0.5", + "pkg:golang/github.com/jackpal/go-nat-pmp@v1.0.1", + "pkg:golang/github.com/koron/go-ssdp@v0.0.0-20180514024734-4a0ed625a78b" + ] + }, + { + "ref": "pkg:golang/github.com/whyrusleeping/go-notifier@v0.0.0-20170827234753-097c5d47330f", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/ipfs/go-ds-badger@v0.0.2", + "dependsOn": [ + "pkg:golang/github.com/AndreasBriese/bbloom@v0.0.0-20180913140656-343706a395b7", + "pkg:golang/github.com/Kubuxu/go-os-helper@v0.0.1", + "pkg:golang/github.com/dgraph-io/badger@v1.5.5-0.20190226225317-8115aed38f8f", + "pkg:golang/github.com/dgryski/go-farm@v0.0.0-20190104051053-3adb47b1fb0f", + "pkg:golang/github.com/dustin/go-humanize@v1.0.0", + "pkg:golang/github.com/golang/protobuf@v1.3.3", + "pkg:golang/github.com/ipfs/go-datastore@v0.3.1", + "pkg:golang/github.com/ipfs/go-log@v0.0.1", + "pkg:golang/github.com/jbenet/goprocess@v0.1.3", + "pkg:golang/github.com/pkg/errors@v0.8.1" + ] + }, + { + "ref": "pkg:golang/github.com/ipfs/go-ds-leveldb@v0.0.1", + "dependsOn": [ + "pkg:golang/github.com/ipfs/go-datastore@v0.3.1", + "pkg:golang/github.com/jbenet/goprocess@v0.1.3", + "pkg:golang/github.com/syndtr/goleveldb@v1.0.0" + ] + }, + { + "ref": "pkg:golang/github.com/libp2p/go-libp2p-crypto@v0.1.0", + "dependsOn": [ + "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.2" + ] + }, + { + "ref": "pkg:golang/github.com/libp2p/go-libp2p-peer@v0.2.0", + "dependsOn": [ + "pkg:golang/github.com/libp2p/go-libp2p-core@v0.0.2", + "pkg:golang/github.com/libp2p/go-libp2p-crypto@v0.1.0", + "pkg:golang/golang.org/x/sys@v0.0.0-20210309074719-68d13333faf2" + ] + }, + { + "ref": "pkg:golang/github.com/whyrusleeping/go-keyspace@v0.0.0-20160322163242-5b898ac5add1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/whyrusleeping/mafmt@v1.2.8", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/libp2p/go-msgio@v0.0.2", + "dependsOn": [ + "pkg:golang/github.com/libp2p/go-buffer-pool@v0.0.2" + ] + }, + { + "ref": "pkg:golang/github.com/libp2p/go-addr-util@v0.0.1", + "dependsOn": [ + "pkg:golang/github.com/ipfs/go-log@v0.0.1", + "pkg:golang/github.com/multiformats/go-multiaddr@v0.0.4", + "pkg:golang/github.com/multiformats/go-multiaddr-net@v0.0.1", + "pkg:golang/github.com/whyrusleeping/mafmt@v1.2.8" + ] + }, + { + "ref": "pkg:golang/github.com/whyrusleeping/multiaddr-filter@v0.0.0-20160516205228-e903e4adabd7", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/jbenet/go-temp-err-catcher@v0.0.0-20150120210811-aac704a3f4f2", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/onsi/ginkgo@v1.8.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/onsi/gomega@v1.5.0", + "dependsOn": [ + "pkg:golang/github.com/fsnotify/fsnotify@v1.4.7", + "pkg:golang/github.com/golang/protobuf@v1.3.3", + "pkg:golang/github.com/hpcloud/tail@v1.0.0", + "pkg:golang/github.com/onsi/ginkgo@v1.8.0", + "pkg:golang/golang.org/x/net@v0.0.0-20200822124328-c89045814202", + "pkg:golang/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e", + "pkg:golang/golang.org/x/sys@v0.0.0-20210309074719-68d13333faf2", + "pkg:golang/golang.org/x/text@v0.3.3", + "pkg:golang/gopkg.in/fsnotify.v1@v1.4.7", + "pkg:golang/gopkg.in/tomb.v1@v1.0.0-20141024135613-dd632973f1e7", + "pkg:golang/gopkg.in/yaml.v2@v2.2.8" + ] + }, + { + "ref": "pkg:golang/github.com/libp2p/go-yamux@v1.2.2", + "dependsOn": [ + "pkg:golang/github.com/libp2p/go-buffer-pool@v0.0.2" + ] + }, + { + "ref": "pkg:golang/github.com/libp2p/go-reuseport@v0.0.1", + "dependsOn": [ + "pkg:golang/github.com/pkg/errors@v0.8.1", + "pkg:golang/github.com/stretchr/testify@v1.7.0", + "pkg:golang/golang.org/x/sys@v0.0.0-20210309074719-68d13333faf2" + ] + }, + { + "ref": "pkg:golang/github.com/libp2p/go-reuseport-transport@v0.0.2", + "dependsOn": [ + "pkg:golang/github.com/ipfs/go-log@v0.0.1", + "pkg:golang/github.com/libp2p/go-reuseport@v0.0.1", + "pkg:golang/github.com/multiformats/go-multiaddr@v0.0.4", + "pkg:golang/github.com/multiformats/go-multiaddr-net@v0.0.1" + ] + }, + { + "ref": "pkg:golang/github.com/multiformats/go-multiaddr-fmt@v0.0.1", + "dependsOn": [ + "pkg:golang/github.com/multiformats/go-multiaddr@v0.0.4", + "pkg:golang/github.com/multiformats/go-multiaddr-dns@v0.0.2" + ] + }, + { + "ref": "pkg:golang/github.com/gorilla/websocket@v1.4.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/aead/siphash@v1.0.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/btcsuite/btclog@v0.0.0-20170628155309-84c8d2346e9f", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/btcsuite/btcutil@v0.0.0-20190425235716-9e5f4b9a998d", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/btcsuite/go-socks@v0.0.0-20170105172521-4720035b7bfd", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/btcsuite/goleveldb@v0.0.0-20160330041536-7834afc9e8cd", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/btcsuite/snappy-go@v0.0.0-20151229074030-0bdef8d06723", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/btcsuite/websocket@v0.0.0-20150119174127-31079b680792", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/btcsuite/winsvc@v1.0.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/jrick/logrotate@v1.0.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/kkdai/bstream@v0.0.0-20161212061736-f391b8402d23", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/spacemonkeygo/spacelog@v0.0.0-20180420211403-2296661a0572", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/huin/goupnp@v1.0.0", + "dependsOn": [ + "pkg:golang/github.com/huin/goutil@v0.0.0-20170803182201-1ca381bf3150", + "pkg:golang/golang.org/x/net@v0.0.0-20200822124328-c89045814202", + "pkg:golang/golang.org/x/text@v0.3.3" + ] + }, + { + "ref": "pkg:golang/github.com/jackpal/gateway@v1.0.5", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/jackpal/go-nat-pmp@v1.0.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/koron/go-ssdp@v0.0.0-20180514024734-4a0ed625a78b", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/AndreasBriese/bbloom@v0.0.0-20180913140656-343706a395b7", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/Kubuxu/go-os-helper@v0.0.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/dgraph-io/badger@v1.5.5-0.20190226225317-8115aed38f8f", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/dgryski/go-farm@v0.0.0-20190104051053-3adb47b1fb0f", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/dustin/go-humanize@v1.0.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/syndtr/goleveldb@v1.0.0", + "dependsOn": [ + "pkg:golang/github.com/golang/snappy@v0.0.0-20180518054509-2e65f85255db", + "pkg:golang/github.com/onsi/ginkgo@v1.8.0", + "pkg:golang/github.com/onsi/gomega@v1.5.0" + ] + }, + { + "ref": "pkg:golang/github.com/fsnotify/fsnotify@v1.4.7", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/hpcloud/tail@v1.0.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/gopkg.in/fsnotify.v1@v1.4.7", + "dependsOn": [] + }, + { + "ref": "pkg:golang/gopkg.in/tomb.v1@v1.0.0-20141024135613-dd632973f1e7", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/huin/goutil@v0.0.0-20170803182201-1ca381bf3150", + "dependsOn": [] + }, + { + "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20180831171423-11092d34479b", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/golang/snappy@v0.0.0-20180518054509-2e65f85255db", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/libp2p/go-stream-muxer@v0.0.1", + "dependsOn": [] + } + ] } diff --git a/test/providers/tst_manifests/golang/go_mod_with_all_ignore/go.sum b/test/providers/tst_manifests/golang/go_mod_with_all_ignore/go.sum new file mode 100644 index 00000000..076565aa --- /dev/null +++ b/test/providers/tst_manifests/golang/go_mod_with_all_ignore/go.sum @@ -0,0 +1,322 @@ +github.com/AndreasBriese/bbloom v0.0.0-20180913140656-343706a395b7/go.mod h1:bOvUY6CB00SOBii9/FifXqc0awNKxLFCL/+pkDPuyl8= +github.com/Kubuxu/go-os-helper v0.0.1/go.mod h1:N8B+I7vPCT80IcP58r50u4+gEEcsZETFUpAzWW2ep1Y= +github.com/aead/siphash v1.0.1/go.mod h1:Nywa3cDsYNNK3gaciGTWPwHt0wlpNV15vwmswBAUSII= +github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= +github.com/beevik/etree v1.1.0/go.mod h1:r8Aw8JqVegEf0w2fDnATrX9VpkMcyFeM0FhwO62wh+A= +github.com/btcsuite/btcd v0.0.0-20190213025234-306aecffea32/go.mod h1:DrZx5ec/dmnfpw9KyYoQyYo7d0KEvTkk/5M/vbZjAr8= +github.com/btcsuite/btcd v0.0.0-20190523000118-16327141da8c/go.mod h1:3J08xEfcugPacsc34/LKRU2yO7YmuT8yt28J8k2+rrI= +github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f/go.mod h1:TdznJufoqS23FtqVCzL0ZqgP5MqXbb4fg/WgDys70nA= +github.com/btcsuite/btcutil v0.0.0-20190207003914-4c204d697803/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg= +github.com/btcsuite/btcutil v0.0.0-20190425235716-9e5f4b9a998d/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg= +github.com/btcsuite/go-socks v0.0.0-20170105172521-4720035b7bfd/go.mod h1:HHNXQzUsZCxOoE+CPiyCTO6x34Zs86zZUiwtpXoGdtg= +github.com/btcsuite/goleveldb v0.0.0-20160330041536-7834afc9e8cd/go.mod h1:F+uVaaLLH7j4eDXPRvw78tMflu7Ie2bzYOH4Y8rRKBY= +github.com/btcsuite/snappy-go v0.0.0-20151229074030-0bdef8d06723/go.mod h1:8woku9dyThutzjeg+3xrA5iCpBRH8XEEg3lh6TiUghc= +github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792/go.mod h1:ghJtEyQwv5/p4Mg4C0fgbePVuGr935/5ddU9Z3TmDRY= +github.com/btcsuite/winsvc v1.0.0/go.mod h1:jsenWakMcC0zFBFurPLEAyrnc/teJEM1O46fmI40EZs= +github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/cskr/pubsub v1.0.2/go.mod h1:/8MzYXk/NJAz782G8RPkFzXTZVu63VotefPnR9TIRis= +github.com/cucumber/godog v0.8.1/go.mod h1:vSh3r/lM+psC1BPXvdkSEuNjmXfpVqrMGYAElF6hxnA= +github.com/davecgh/go-spew v0.0.0-20171005155431-ecdeabc65495/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/dgraph-io/badger v1.5.5-0.20190226225317-8115aed38f8f/go.mod h1:VZxzAIRPHRVNRKRo6AXrX9BJegn6il06VMTZVJYCIjQ= +github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= +github.com/dgryski/go-farm v0.0.0-20190104051053-3adb47b1fb0f/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= +github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/elastic/go-sysinfo v1.1.1/go.mod h1:i1ZYdU10oLNfRzq4vq62BEwD2fH8KaWh6eh0ikPT9F0= +github.com/elastic/go-windows v1.0.0/go.mod h1:TsU0Nrp7/y3+VwE82FoZF8gC/XFg/Elz6CcloAxnPgU= +github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k= +github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= +github.com/gin-gonic/gin v1.6.0/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M= +github.com/go-check/check v0.0.0-20180628173108-788fd7840127/go.mod h1:9ES+weclKsC9YodN5RgxqK/VD9HM9JsCSh7rNhMZE98= +github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= +github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= +github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= +github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI= +github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= +github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.0/go.mod h1:Qd/q+1AKNOZr9uGQzbzCmRO6sUih6GTPZv6a1/R87v0= +github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= +github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= +github.com/gxed/hashland/keccakpg v0.0.1/go.mod h1:kRzw3HkwxFU1mpmPP8v1WyQzwdGfmKFJ6tItnhQ67kU= +github.com/gxed/hashland/murmur3 v0.0.1/go.mod h1:KjXop02n4/ckmZSnY2+HKcLud/tcmvhST0bie/0lS48= +github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= +github.com/huin/goupnp v1.0.0/go.mod h1:n9v9KO1tAxYH82qOn+UTIFQDmx5n1Zxd/ClZDMX7Bnc= +github.com/huin/goutil v0.0.0-20170803182201-1ca381bf3150/go.mod h1:PpLOETDnJ0o3iZrZfqZzyLl6l7F3c6L1oWn7OICBi6o= +github.com/ipfs/bbloom v0.0.1/go.mod h1:oqo8CVWsJFMOZqTglBG4wydCE4IQA/G2/SEofB0rjUI= +github.com/ipfs/bbloom v0.0.4/go.mod h1:cS9YprKXpoZ9lT0n/Mw/a6/aFV6DTjTLYHeA+gyqMG0= +github.com/ipfs/go-bitswap v0.1.0/go.mod h1:FFJEf18E9izuCqUtHxbWEvq+reg7o4CW5wSAE1wsxj0= +github.com/ipfs/go-block-format v0.0.1/go.mod h1:DK/YYcsSUIVAFNwo/KZCdIIbpN0ROH/baNLgayt4pFc= +github.com/ipfs/go-block-format v0.0.2/go.mod h1:AWR46JfpcObNfg3ok2JHDUfdiHRgWhJgCQF+KIgOPJY= +github.com/ipfs/go-block-format v0.0.3/go.mod h1:4LmD4ZUw0mhO+JSKdpWwrzATiEfM7WWgQ8H5l6P8MVk= +github.com/ipfs/go-blockservice v0.1.0/go.mod h1:hzmMScl1kXHg3M2BjTymbVPjv627N7sYcvYaKbop39M= +github.com/ipfs/go-cid v0.0.1/go.mod h1:GHWU/WuQdMPmIosc4Yn1bcCT7dSeX4lBafM7iqUPQvM= +github.com/ipfs/go-cid v0.0.2/go.mod h1:GHWU/WuQdMPmIosc4Yn1bcCT7dSeX4lBafM7iqUPQvM= +github.com/ipfs/go-cid v0.0.3/go.mod h1:GHWU/WuQdMPmIosc4Yn1bcCT7dSeX4lBafM7iqUPQvM= +github.com/ipfs/go-cid v0.0.4/go.mod h1:4LLaPOQwmk5z9LBgQnpkivrx8BJjUyGwTXCd5Xfj6+M= +github.com/ipfs/go-cid v0.0.7/go.mod h1:6Ux9z5e+HpkQdckYoX1PG/6xqKspzlEIR5SDmgqgC/I= +github.com/ipfs/go-datastore v0.0.1/go.mod h1:d4KVXhMt913cLBEI/PXAy6ko+W7e9AhyAKBGh803qeE= +github.com/ipfs/go-datastore v0.0.5/go.mod h1:d4KVXhMt913cLBEI/PXAy6ko+W7e9AhyAKBGh803qeE= +github.com/ipfs/go-datastore v0.1.0/go.mod h1:d4KVXhMt913cLBEI/PXAy6ko+W7e9AhyAKBGh803qeE= +github.com/ipfs/go-datastore v0.3.1/go.mod h1:w38XXW9kVFNp57Zj5knbKWM2T+KOZCGDRVNdgPHtbHw= +github.com/ipfs/go-detect-race v0.0.1/go.mod h1:8BNT7shDZPo99Q74BpGMK+4D8Mn4j46UU0LZ723meps= +github.com/ipfs/go-ds-badger v0.0.2/go.mod h1:Y3QpeSFWQf6MopLTiZD+VT6IC1yZqaGmjvRcKeSGij8= +github.com/ipfs/go-ds-leveldb v0.0.1/go.mod h1:feO8V3kubwsEF22n0YRQCffeb79OOYIykR4L04tMOYc= +github.com/ipfs/go-ipfs-blockstore v0.0.1/go.mod h1:d3WClOmRQKFnJ0Jz/jj/zmksX0ma1gROTlovZKBmN08= +github.com/ipfs/go-ipfs-blockstore v0.1.0/go.mod h1:5aD0AvHPi7mZc6Ci1WCAhiBQu2IsfTduLl+422H6Rqw= +github.com/ipfs/go-ipfs-blocksutil v0.0.1/go.mod h1:Yq4M86uIOmxmGPUHv/uI7uKqZNtLb449gwKqXjIsnRk= +github.com/ipfs/go-ipfs-delay v0.0.0-20181109222059-70721b86a9a8/go.mod h1:8SP1YXK1M1kXuc4KJZINY3TQQ03J2rwBG9QfXmbRPrw= +github.com/ipfs/go-ipfs-delay v0.0.1/go.mod h1:8SP1YXK1M1kXuc4KJZINY3TQQ03J2rwBG9QfXmbRPrw= +github.com/ipfs/go-ipfs-ds-help v0.0.1/go.mod h1:gtP9xRaZXqIQRh1HRpp595KbBEdgqWFxefeVKOV8sxo= +github.com/ipfs/go-ipfs-exchange-interface v0.0.1/go.mod h1:c8MwfHjtQjPoDyiy9cFquVtVHkO9b9Ob3FG91qJnWCM= +github.com/ipfs/go-ipfs-exchange-offline v0.0.1/go.mod h1:WhHSFCVYX36H/anEKQboAzpUws3x7UeEGkzQc3iNkM0= +github.com/ipfs/go-ipfs-pq v0.0.1/go.mod h1:LWIqQpqfRG3fNc5XsnIhz/wQ2XXGyugQwls7BgUmUfY= +github.com/ipfs/go-ipfs-routing v0.1.0/go.mod h1:hYoUkJLyAUKhF58tysKpids8RNDPO42BVMgK5dNsoqY= +github.com/ipfs/go-ipfs-util v0.0.1/go.mod h1:spsl5z8KUnrve+73pOhSVZND1SIxPW5RyBCNzQxlJBc= +github.com/ipfs/go-ipfs-util v0.0.2/go.mod h1:CbPtkWJzjLdEcezDns2XYaehFVNXG9zrdrtMecczcsQ= +github.com/ipfs/go-ipld-cbor v0.0.3/go.mod h1:wTBtrQZA3SoFKMVkp6cn6HMRteIB1VsmHA0AQFOn7Nc= +github.com/ipfs/go-ipld-cbor v0.0.5/go.mod h1:BkCduEx3XBCO6t2Sfo5BaHzuok7hbhdMm9Oh8B2Ftq4= +github.com/ipfs/go-ipld-format v0.0.1/go.mod h1:kyJtbkDALmFHv3QR6et67i35QzO3S0dCDnkOJhcZkms= +github.com/ipfs/go-ipld-format v0.0.2/go.mod h1:4B6+FM2u9OJ9zCV+kSbgFAZlOrv1Hqbf0INGQgiKf9k= +github.com/ipfs/go-ipld-format v0.2.0/go.mod h1:3l3C1uKoadTPbeNfrDi+xMInYKlx2Cvg1BuydPSdzQs= +github.com/ipfs/go-log v0.0.1/go.mod h1:kL1d2/hzSpI0thNYjiKfjanbVNU+IIGA/WnNESY9leM= +github.com/ipfs/go-merkledag v0.3.2/go.mod h1:fvkZNNZixVW6cKSZ/JfLlON5OlgTXNdRLz0p6QG/I2M= +github.com/ipfs/go-metrics-interface v0.0.1/go.mod h1:6s6euYU4zowdslK0GKHmqaIZ3j/b/tL7HTWtJ4VPgWY= +github.com/ipfs/go-peertaskqueue v0.1.0/go.mod h1:Jmk3IyCcfl1W3jTW3YpghSwSEC6IJ3Vzz/jUmWw8Z0U= +github.com/ipfs/go-verifcid v0.0.1/go.mod h1:5Hrva5KBeIog4A+UpqlaIU+DEstipcJYQQZc0g37pY0= +github.com/ipld/go-car v0.3.0/go.mod h1:dPkEWeAK8KaVvH5TahaCs6Mncpd4lDMpkbs0/SPzuVs= +github.com/ipld/go-codec-dagpb v1.2.0/go.mod h1:6nBN7X7h8EOsEejZGqC7tej5drsdBAXbMHyBT+Fne5s= +github.com/ipld/go-ipld-prime v0.9.0/go.mod h1:KvBLMr4PX1gWptgkzRjVZCrLmSGcZCb/jioOQwCqZN8= +github.com/jackpal/gateway v1.0.5/go.mod h1:lTpwd4ACLXmpyiCTRtfiNyVnUmqT9RivzCDQetPfnjA= +github.com/jackpal/go-nat-pmp v1.0.1/go.mod h1:QPH045xvCAeXUZOxsnwmrtiCoxIr9eob+4orBN1SBKc= +github.com/jbenet/go-cienv v0.0.0-20150120210510-1bb1476777ec/go.mod h1:rGaEvXB4uRSZMmzKNLoXvTu1sfx+1kv/DojUlPrSZGs= +github.com/jbenet/go-cienv v0.1.0/go.mod h1:TqNnHUmJgXau0nCzC7kXWeotg3J9W34CUv5Djy1+FlA= +github.com/jbenet/go-temp-err-catcher v0.0.0-20150120210811-aac704a3f4f2/go.mod h1:8GXXJV31xl8whumTzdZsTt3RnUIiPqzkyf7mxToRCMs= +github.com/jbenet/goprocess v0.0.0-20160826012719-b497e2f366b8/go.mod h1:Ly/wlsjFq/qrU3Rar62tu1gASgGw6chQbSh/XgIIXCY= +github.com/jbenet/goprocess v0.1.3/go.mod h1:5yspPrukOVuOLORacaBi858NqyClJPQxYZlqdZVfqY4= +github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= +github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= +github.com/joeshaw/multierror v0.0.0-20140124173710-69b34d4ec901/go.mod h1:Z86h9688Y0wesXCyonoVr47MasHilkuLMqGhRZ4Hpak= +github.com/jonboulle/clockwork v0.2.0/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= +github.com/jrick/logrotate v1.0.0/go.mod h1:LNinyqDIJnpAur+b8yyulnQw/wDuN1+BYKlTRt3OuAQ= +github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/jtolds/gls v4.2.1+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= +github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= +github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= +github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= +github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23/go.mod h1:J+Gs4SYgM6CZQHDETBtE9HaSEkGmuNXF86RwHhHUvq4= +github.com/klauspost/cpuid/v2 v2.0.4/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= +github.com/koron/go-ssdp v0.0.0-20180514024734-4a0ed625a78b/go.mod h1:5Ky9EC2xfoUKUor0Hjgi2BJhCSXJfMOFlmyYrVKGQMk= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/labstack/echo/v4 v4.1.18-0.20201215153152-4422e3b66b9f/go.mod h1:Tn2yRQL/UclUalpb5rPdXDevbkJ+lp/2svdyFBg6CHQ= +github.com/labstack/gommon v0.3.0/go.mod h1:MULnywXg0yavhxWKc+lOruYdAhDwPK9wf0OL7NoOu+k= +github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= +github.com/libp2p/go-addr-util v0.0.1/go.mod h1:4ac6O7n9rIAKB1dnd+s8IbbMXkt+oBpzX4/+RACcnlQ= +github.com/libp2p/go-buffer-pool v0.0.1/go.mod h1:xtyIz9PMobb13WaxR6Zo1Pd1zXJKYg0a8KiIvDp3TzQ= +github.com/libp2p/go-buffer-pool v0.0.2/go.mod h1:MvaB6xw5vOrDl8rYZGLFdKAuk/hRoRZd1Vi32+RXyFM= +github.com/libp2p/go-conn-security-multistream v0.1.0/go.mod h1:aw6eD7LOsHEX7+2hJkDxw1MteijaVcI+/eP2/x3J1xc= +github.com/libp2p/go-flow-metrics v0.0.1/go.mod h1:Iv1GH0sG8DtYN3SVJ2eG221wMiNpZxBdp967ls1g+k8= +github.com/libp2p/go-libp2p v0.1.0/go.mod h1:6D/2OBauqLUoqcADOJpn9WbKqvaM07tDw68qHM0BxUM= +github.com/libp2p/go-libp2p-autonat v0.1.0/go.mod h1:1tLf2yXxiE/oKGtDwPYWTSYG3PtvYlJmg7NeVtPRqH8= +github.com/libp2p/go-libp2p-blankhost v0.1.1/go.mod h1:pf2fvdLJPsC1FsVrNP3DUUvMzUts2dsLLBEpo1vW1ro= +github.com/libp2p/go-libp2p-circuit v0.1.0/go.mod h1:Ahq4cY3V9VJcHcn1SBXjr78AbFkZeIRmfunbA7pmFh8= +github.com/libp2p/go-libp2p-core v0.0.1/go.mod h1:g/VxnTZ/1ygHxH3dKok7Vno1VfpvGcGip57wjTU4fco= +github.com/libp2p/go-libp2p-core v0.0.2/go.mod h1:9dAcntw/n46XycV4RnlBq3BpgrmyUi9LuoTNdPrbUco= +github.com/libp2p/go-libp2p-crypto v0.1.0/go.mod h1:sPUokVISZiy+nNuTTH/TY+leRSxnFj/2GLjtOTW90hI= +github.com/libp2p/go-libp2p-discovery v0.1.0/go.mod h1:4F/x+aldVHjHDHuX85x1zWoFTGElt8HnoDzwkFZm29g= +github.com/libp2p/go-libp2p-loggables v0.1.0/go.mod h1:EyumB2Y6PrYjr55Q3/tiJ/o3xoDasoRYM7nOzEpoa90= +github.com/libp2p/go-libp2p-mplex v0.2.0/go.mod h1:Ejl9IyjvXJ0T9iqUTE1jpYATQ9NM3g+OtR+EMMODbKo= +github.com/libp2p/go-libp2p-mplex v0.2.1/go.mod h1:SC99Rxs8Vuzrf/6WhmH41kNn13TiYdAWNYHrwImKLnE= +github.com/libp2p/go-libp2p-nat v0.0.4/go.mod h1:N9Js/zVtAXqaeT99cXgTV9e75KpnWCvVOiGzlcHmBbY= +github.com/libp2p/go-libp2p-netutil v0.1.0/go.mod h1:3Qv/aDqtMLTUyQeundkKsA+YCThNdbQD54k3TqjpbFU= +github.com/libp2p/go-libp2p-peer v0.2.0/go.mod h1:RCffaCvUyW2CJmG2gAWVqwePwW7JMgxjsHm7+J5kjWY= +github.com/libp2p/go-libp2p-peerstore v0.1.0/go.mod h1:2CeHkQsr8svp4fZ+Oi9ykN1HBb6u0MOvdJ7YIsmcwtY= +github.com/libp2p/go-libp2p-record v0.1.0/go.mod h1:ujNc8iuE5dlKWVy6wuL6dd58t0n7xI4hAIl8pE6wu5Q= +github.com/libp2p/go-libp2p-secio v0.1.0/go.mod h1:tMJo2w7h3+wN4pgU2LSYeiKPrfqBgkOsdiKK77hE7c8= +github.com/libp2p/go-libp2p-swarm v0.1.0/go.mod h1:wQVsCdjsuZoc730CgOvh5ox6K8evllckjebkdiY5ta4= +github.com/libp2p/go-libp2p-testing v0.0.2/go.mod h1:gvchhf3FQOtBdr+eFUABet5a4MBLK8jM3V4Zghvmi+E= +github.com/libp2p/go-libp2p-testing v0.0.3/go.mod h1:gvchhf3FQOtBdr+eFUABet5a4MBLK8jM3V4Zghvmi+E= +github.com/libp2p/go-libp2p-transport-upgrader v0.1.1/go.mod h1:IEtA6or8JUbsV07qPW4r01GnTenLW4oi3lOPbUMGJJA= +github.com/libp2p/go-libp2p-yamux v0.2.0/go.mod h1:Db2gU+XfLpm6E4rG5uGCFX6uXA8MEXOxFcRoXUODaK8= +github.com/libp2p/go-maddr-filter v0.0.4/go.mod h1:6eT12kSQMA9x2pvFQa+xesMKUBlj9VImZbj3B9FBH/Q= +github.com/libp2p/go-mplex v0.0.3/go.mod h1:pK5yMLmOoBR1pNCqDlA2GQrdAVTMkqFalaTWe7l4Yd0= +github.com/libp2p/go-mplex v0.1.0/go.mod h1:SXgmdki2kwCUlCCbfGLEgHjC4pFqhTp0ZoV6aiKgxDU= +github.com/libp2p/go-msgio v0.0.2/go.mod h1:63lBBgOTDKQL6EWazRMCwXsEeEeK9O2Cd+0+6OOuipQ= +github.com/libp2p/go-nat v0.0.3/go.mod h1:88nUEt0k0JD45Bk93NIwDqjlhiOwOoV36GchpcVc1yI= +github.com/libp2p/go-reuseport v0.0.1/go.mod h1:jn6RmB1ufnQwl0Q1f+YxAj8isJgDCQzaaxIFYDhcYEA= +github.com/libp2p/go-reuseport-transport v0.0.2/go.mod h1:YkbSDrvjUVDL6b8XqriyA20obEtsW9BLkuOUyQAOCbs= +github.com/libp2p/go-stream-muxer v0.0.1/go.mod h1:bAo8x7YkSpadMTbtTaxGVHWUQsR/l5MEaHbKaliuT14= +github.com/libp2p/go-stream-muxer-multistream v0.2.0/go.mod h1:j9eyPol/LLRqT+GPLSxvimPhNph4sfYfMoDPd7HkzIc= +github.com/libp2p/go-tcp-transport v0.1.0/go.mod h1:oJ8I5VXryj493DEJ7OsBieu8fcg2nHGctwtInJVpipc= +github.com/libp2p/go-testutil v0.1.0/go.mod h1:81b2n5HypcVyrCg/MJx4Wgfp/VHojytjVe/gLzZ2Ehc= +github.com/libp2p/go-ws-transport v0.1.0/go.mod h1:rjw1MG1LU9YDC6gzmwObkPd/Sqwhw7yT74kj3raBFuo= +github.com/libp2p/go-yamux v1.2.2/go.mod h1:FGTiPvoV/3DVdgWpX+tM0OW3tsM+W5bSE3gZwqQTcow= +github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ= +github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= +github.com/mattn/go-colorable v0.1.7/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2yME+cCiQ= +github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= +github.com/miekg/dns v1.1.12/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= +github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1/go.mod h1:pD8RvIylQ358TN4wwqatJ8rNavkEINozVn9DtGI3dfQ= +github.com/minio/sha256-simd v0.0.0-20190131020904-2d45a736cd16/go.mod h1:2FMWW+8GMoPweT6+pI63m9YE3Lmw4J71hV56Chs1E/U= +github.com/minio/sha256-simd v0.0.0-20190328051042-05b4dd3047e5/go.mod h1:2FMWW+8GMoPweT6+pI63m9YE3Lmw4J71hV56Chs1E/U= +github.com/minio/sha256-simd v0.1.0/go.mod h1:2FMWW+8GMoPweT6+pI63m9YE3Lmw4J71hV56Chs1E/U= +github.com/minio/sha256-simd v0.1.1-0.20190913151208-6de447530771/go.mod h1:B5e1o+1/KgNmWrSQK08Y6Z1Vb5pwIktudl0J58iy0KM= +github.com/minio/sha256-simd v1.0.0/go.mod h1:OuYzVNI5vcoYIAmbIvHPl3N3jUzVedXbKy5RFepssQM= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/mr-tron/base58 v1.1.0/go.mod h1:xcD2VGqlgYjBdcBLw+TuYLr8afG+Hj8g2eTVqeSzSU8= +github.com/mr-tron/base58 v1.1.1/go.mod h1:xcD2VGqlgYjBdcBLw+TuYLr8afG+Hj8g2eTVqeSzSU8= +github.com/mr-tron/base58 v1.1.2/go.mod h1:BinMc/sQntlIE1frQmRFPUoPA1Zkr8VRgBdjWI2mNwc= +github.com/mr-tron/base58 v1.1.3/go.mod h1:BinMc/sQntlIE1frQmRFPUoPA1Zkr8VRgBdjWI2mNwc= +github.com/mr-tron/base58 v1.2.0/go.mod h1:BinMc/sQntlIE1frQmRFPUoPA1Zkr8VRgBdjWI2mNwc= +github.com/multiformats/go-base32 v0.0.3/go.mod h1:pLiuGC8y0QR3Ue4Zug5UzK9LjgbkL8NSQj0zQ5Nz/AA= +github.com/multiformats/go-base36 v0.1.0/go.mod h1:kFGE83c6s80PklsHO9sRn2NCoffoRdUUOENyW/Vv6sM= +github.com/multiformats/go-multiaddr v0.0.1/go.mod h1:xKVEak1K9cS1VdmPZW3LSIb6lgmoS58qz/pzqmAxV44= +github.com/multiformats/go-multiaddr v0.0.2/go.mod h1:xKVEak1K9cS1VdmPZW3LSIb6lgmoS58qz/pzqmAxV44= +github.com/multiformats/go-multiaddr v0.0.4/go.mod h1:xKVEak1K9cS1VdmPZW3LSIb6lgmoS58qz/pzqmAxV44= +github.com/multiformats/go-multiaddr-dns v0.0.1/go.mod h1:9kWcqw/Pj6FwxAwW38n/9403szc57zJPs45fmnznu3Q= +github.com/multiformats/go-multiaddr-dns v0.0.2/go.mod h1:9kWcqw/Pj6FwxAwW38n/9403szc57zJPs45fmnznu3Q= +github.com/multiformats/go-multiaddr-fmt v0.0.1/go.mod h1:aBYjqL4T/7j4Qx+R73XSv/8JsgnRFlf0w2KGLCmXl3Q= +github.com/multiformats/go-multiaddr-net v0.0.1/go.mod h1:nw6HSxNmCIQH27XPGBuX+d1tnvM7ihcFwHMSstNAVUU= +github.com/multiformats/go-multibase v0.0.1/go.mod h1:bja2MqRZ3ggyXtZSEDKpl0uO/gviWFaSteVbWT51qgs= +github.com/multiformats/go-multibase v0.0.3/go.mod h1:5+1R4eQrT3PkYZ24C3W2Ue2tPwIdYQD509ZjSb5y9Oc= +github.com/multiformats/go-multihash v0.0.1/go.mod h1:w/5tugSrLEbWqlcgJabL3oHFKTwfvkofsjW2Qa1ct4U= +github.com/multiformats/go-multihash v0.0.5/go.mod h1:lt/HCbqlQwlPBz7lv0sQCdtfcMtlJvakRUn/0Ual8po= +github.com/multiformats/go-multihash v0.0.10/go.mod h1:YSLudS+Pi8NHE7o6tb3D8vrpKa63epEDmG8nTduyAew= +github.com/multiformats/go-multihash v0.0.13/go.mod h1:VdAWLKTwram9oKAatUcLxBNUjdtcVwxObEQBtRfuyjc= +github.com/multiformats/go-multihash v0.0.14/go.mod h1:VdAWLKTwram9oKAatUcLxBNUjdtcVwxObEQBtRfuyjc= +github.com/multiformats/go-multihash v0.0.15/go.mod h1:D6aZrWNLFTV/ynMpKsNtB40mJzmCl4jb1alC0OvHiHg= +github.com/multiformats/go-multistream v0.1.0/go.mod h1:fJTiDfXJVmItycydCnNx4+wSzZ5NwG2FEVAI30fiovg= +github.com/multiformats/go-varint v0.0.5/go.mod h1:3Ls8CIEsrijN6+B7PbrXRPxHRPuXSrVKRY101jdMZYE= +github.com/multiformats/go-varint v0.0.6/go.mod h1:3Ls8CIEsrijN6+B7PbrXRPxHRPuXSrVKRY101jdMZYE= +github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/polydawn/refmt v0.0.0-20190221155625-df39d6c2d992/go.mod h1:uIp+gprXxxrWSjjklXD+mN4wed/tMfjMMmN/9+JsA9o= +github.com/polydawn/refmt v0.0.0-20190807091052-3d65705ee9f1/go.mod h1:uIp+gprXxxrWSjjklXD+mN4wed/tMfjMMmN/9+JsA9o= +github.com/polydawn/refmt v0.0.0-20201211092308-30ac6d18308e/go.mod h1:uIp+gprXxxrWSjjklXD+mN4wed/tMfjMMmN/9+JsA9o= +github.com/prometheus/procfs v0.0.0-20190425082905-87a4384529e0/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.0.3/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= +github.com/russellhaering/goxmldsig v1.1.0/go.mod h1:QK8GhXPB3+AfuCrfo0oRISa9NfzeCpWmxeGnqEpDF9o= +github.com/santhosh-tekuri/jsonschema v1.2.4/go.mod h1:TEAUOeZSmIxTTuHatJzrvARHiuO9LYd+cIxzgEHCQI4= +github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= +github.com/smartystreets/goconvey v0.0.0-20190222223459-a17d461953aa/go.mod h1:2RVY1rIf+2J2o/IM9+vPq9RzmHDSseB7FoXiSNIUsoU= +github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= +github.com/spacemonkeygo/openssl v0.0.0-20181017203307-c2dcc5cca94a/go.mod h1:7AyxJNCJ7SBZ1MfVQCWD6Uqo2oubI2Eq2y2eqf+A5r0= +github.com/spacemonkeygo/spacelog v0.0.0-20180420211403-2296661a0572/go.mod h1:w0SWMsp6j9O/dk4/ZpIhL+3CkG8ofA2vuv7k+ltqUMc= +github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/syndtr/goleveldb v1.0.0/go.mod h1:ZVVdQEZoIme9iO1Ch2Jdy24qqXrMMOU6lpPAyBWyWuQ= +github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= +github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= +github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= +github.com/valyala/fasttemplate v1.0.1/go.mod h1:UQGH1tvbgY+Nz5t2n7tXsz52dQxojPUpymEIMZ47gx8= +github.com/valyala/fasttemplate v1.2.1/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ= +github.com/warpfork/go-wish v0.0.0-20180510122957-5ad1f5abf436/go.mod h1:x6AKhvSSexNrVSrViXSHUEbICjmGXhtgABaHIySUSGw= +github.com/warpfork/go-wish v0.0.0-20200122115046-b9ea61034e4a/go.mod h1:x6AKhvSSexNrVSrViXSHUEbICjmGXhtgABaHIySUSGw= +github.com/whyrusleeping/cbor-gen v0.0.0-20200123233031-1cdf64d27158/go.mod h1:Xj/M2wWU+QdTdRbu/L/1dIZY8/Wb2K9pAhtroQuxJJI= +github.com/whyrusleeping/go-keyspace v0.0.0-20160322163242-5b898ac5add1/go.mod h1:8UvriyWtv5Q5EOgjHaSseUEdkQfvwFv1I/In/O2M9gc= +github.com/whyrusleeping/go-logging v0.0.0-20170515211332-0457bb6b88fc/go.mod h1:bopw91TMyo8J3tvftk8xmU2kPmlrt4nScJQZU2hE5EM= +github.com/whyrusleeping/go-notifier v0.0.0-20170827234753-097c5d47330f/go.mod h1:cZNvX9cFybI01GriPRMXDtczuvUhgbcYr9iCGaNlRv8= +github.com/whyrusleeping/mafmt v1.2.8/go.mod h1:faQJFPbLSxzD9xpA02ttW/tS9vZykNvXwGvqIpk20FA= +github.com/whyrusleeping/mdns v0.0.0-20180901202407-ef14215e6b30/go.mod h1:j4l84WPFclQPj320J9gp0XwNKBb3U0zt5CBqjPp22G4= +github.com/whyrusleeping/multiaddr-filter v0.0.0-20160516205228-e903e4adabd7/go.mod h1:X2c0RVCI1eSUFI8eLcY3c0423ykwiUdxLJtkDvruhjI= +github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +go.elastic.co/apm v1.11.0/go.mod h1:qoOSi09pnzJDh5fKnfY7bPmQgl8yl2tULdOu03xhui0= +go.elastic.co/fastjson v1.1.0/go.mod h1:boNGISWMjQsUPy/t6yqt2/1Wx4YNPSe+mZjlyw9vKKI= +golang.org/x/crypto v0.0.0-20170930174604-9419663f5a44/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20190211182817-74369b46fc67/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20190225124518-7f87c0fbb88b/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190426145343-a29dc8fdc734/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190513172903-22d7a77e9e5f/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= +golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181011144130-49bb7cea24b1/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190227160552-c95aed5357e7/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190219092855-153ac476189d/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190228124157-a34e9553db1e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190524122548-abf6ff778158/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191025021431-6c3a3bfe00ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200826173525-f9321e4c35a6/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210309074719-68d13333faf2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20200509030707-2212a7e161a5/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +google.golang.org/genproto v0.0.0-20180831171423-11092d34479b/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= +gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20220521103104-8f96da9f5d5e/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +howett.net/plist v0.0.0-20181124034731-591f970eefbb/go.mod h1:vMygbs4qMhSZSc4lCUl2OEE+rDiIIJAIdR4m7MiMcm0= diff --git a/test/providers/tst_manifests/golang/go_mod_with_ignore/expected_sbom_component_analysis.json b/test/providers/tst_manifests/golang/go_mod_with_ignore/expected_sbom_component_analysis.json index 84587acc..61b33c2e 100644 --- a/test/providers/tst_manifests/golang/go_mod_with_ignore/expected_sbom_component_analysis.json +++ b/test/providers/tst_manifests/golang/go_mod_with_ignore/expected_sbom_component_analysis.json @@ -1,579 +1,103 @@ { - "bomFormat": "CycloneDX", - "specVersion": "1.4", - "version": 1, - "metadata": { - "timestamp": "2023-08-07T00:00:00.000Z", - "component": { - "group": "github.com/RHEcosystemAppEng/SaaSi", - "name": "deployer", - "version": "v0.0.0", - "purl": "pkg:golang/github.com/RHEcosystemAppEng/SaaSi/deployer@v0.0.0", - "type": "application", - "bom-ref": "pkg:golang/github.com/RHEcosystemAppEng/SaaSi/deployer@v0.0.0" - } - }, - "components": [ - { - "group": "github.com/RHEcosystemAppEng/SaaSi", - "name": "deployer", - "version": "v0.0.0", - "purl": "pkg:golang/github.com/RHEcosystemAppEng/SaaSi/deployer@v0.0.0", - "type": "application", - "bom-ref": "pkg:golang/github.com/RHEcosystemAppEng/SaaSi/deployer@v0.0.0" - }, - { - "group": "github.com/davecgh", - "name": "go-spew", - "version": "v1.1.1", - "purl": "pkg:golang/github.com/davecgh/go-spew@v1.1.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/davecgh/go-spew@v1.1.1" - }, - { - "group": "github.com/emicklei/go-restful", - "name": "v3", - "version": "v3.9.0", - "purl": "pkg:golang/github.com/emicklei/go-restful/v3@v3.9.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/emicklei/go-restful/v3@v3.9.0" - }, - { - "group": "github.com/gin-gonic", - "name": "gin", - "version": "v1.9.1", - "purl": "pkg:golang/github.com/gin-gonic/gin@v1.9.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/gin-gonic/gin@v1.9.1" - }, - { - "group": "github.com/go-openapi", - "name": "jsonpointer", - "version": "v0.19.5", - "purl": "pkg:golang/github.com/go-openapi/jsonpointer@v0.19.5", - "type": "library", - "bom-ref": "pkg:golang/github.com/go-openapi/jsonpointer@v0.19.5" - }, - { - "group": "github.com/go-openapi", - "name": "jsonreference", - "version": "v0.20.0", - "purl": "pkg:golang/github.com/go-openapi/jsonreference@v0.20.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/go-openapi/jsonreference@v0.20.0" - }, - { - "group": "github.com/go-openapi", - "name": "swag", - "version": "v0.19.14", - "purl": "pkg:golang/github.com/go-openapi/swag@v0.19.14", - "type": "library", - "bom-ref": "pkg:golang/github.com/go-openapi/swag@v0.19.14" - }, - { - "group": "github.com/gogo", - "name": "protobuf", - "version": "v1.3.2", - "purl": "pkg:golang/github.com/gogo/protobuf@v1.3.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/gogo/protobuf@v1.3.2" - }, - { - "group": "github.com/golang", - "name": "protobuf", - "version": "v1.5.2", - "purl": "pkg:golang/github.com/golang/protobuf@v1.5.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/protobuf@v1.5.2" - }, - { - "group": "github.com/google", - "name": "go-cmp", - "version": "v0.5.9", - "purl": "pkg:golang/github.com/google/go-cmp@v0.5.9", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/go-cmp@v0.5.9" - }, - { - "group": "github.com/google", - "name": "gofuzz", - "version": "v1.1.0", - "purl": "pkg:golang/github.com/google/gofuzz@v1.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/gofuzz@v1.1.0" - }, - { - "group": "github.com/google", - "name": "uuid", - "version": "v1.1.2", - "purl": "pkg:golang/github.com/google/uuid@v1.1.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/uuid@v1.1.2" - }, - { - "group": "github.com/imdario", - "name": "mergo", - "version": "v0.3.6", - "purl": "pkg:golang/github.com/imdario/mergo@v0.3.6", - "type": "library", - "bom-ref": "pkg:golang/github.com/imdario/mergo@v0.3.6" - }, - { - "group": "github.com/josharian", - "name": "intern", - "version": "v1.0.0", - "purl": "pkg:golang/github.com/josharian/intern@v1.0.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/josharian/intern@v1.0.0" - }, - { - "group": "github.com/json-iterator", - "name": "go", - "version": "v1.1.12", - "purl": "pkg:golang/github.com/json-iterator/go@v1.1.12", - "type": "library", - "bom-ref": "pkg:golang/github.com/json-iterator/go@v1.1.12" - }, - { - "group": "github.com/kr", - "name": "pretty", - "version": "v0.3.1", - "purl": "pkg:golang/github.com/kr/pretty@v0.3.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/kr/pretty@v0.3.1" - }, - { - "group": "github.com/kr", - "name": "text", - "version": "v0.2.0", - "purl": "pkg:golang/github.com/kr/text@v0.2.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/kr/text@v0.2.0" - }, - { - "group": "github.com/mailru", - "name": "easyjson", - "version": "v0.7.6", - "purl": "pkg:golang/github.com/mailru/easyjson@v0.7.6", - "type": "library", - "bom-ref": "pkg:golang/github.com/mailru/easyjson@v0.7.6" - }, - { - "group": "github.com/modern-go", - "name": "concurrent", - "version": "v0.0.0-20180306012644-bacd9c7ef1dd", - "purl": "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd", - "type": "library", - "bom-ref": "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd" - }, - { - "group": "github.com/modern-go", - "name": "reflect2", - "version": "v1.0.2", - "purl": "pkg:golang/github.com/modern-go/reflect2@v1.0.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/modern-go/reflect2@v1.0.2" - }, - { - "group": "github.com/munnerz", - "name": "goautoneg", - "version": "v0.0.0-20191010083416-a7dc8b61c822", - "purl": "pkg:golang/github.com/munnerz/goautoneg@v0.0.0-20191010083416-a7dc8b61c822", - "type": "library", - "bom-ref": "pkg:golang/github.com/munnerz/goautoneg@v0.0.0-20191010083416-a7dc8b61c822" - }, - { - "group": "github.com/rogpeppe", - "name": "go-internal", - "version": "v1.9.0", - "purl": "pkg:golang/github.com/rogpeppe/go-internal@v1.9.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/rogpeppe/go-internal@v1.9.0" - }, - { - "group": "github.com/spf13", - "name": "pflag", - "version": "v1.0.5", - "purl": "pkg:golang/github.com/spf13/pflag@v1.0.5", - "type": "library", - "bom-ref": "pkg:golang/github.com/spf13/pflag@v1.0.5" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.10.0", - "purl": "pkg:golang/golang.org/x/net@v0.10.0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.10.0" - }, - { - "group": "golang.org/x", - "name": "oauth2", - "version": "v0.0.0-20220223155221-ee480838109b", - "purl": "pkg:golang/golang.org/x/oauth2@v0.0.0-20220223155221-ee480838109b", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20220223155221-ee480838109b" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.8.0", - "purl": "pkg:golang/golang.org/x/sys@v0.8.0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.8.0" - }, - { - "group": "golang.org/x", - "name": "term", - "version": "v0.8.0", - "purl": "pkg:golang/golang.org/x/term@v0.8.0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/term@v0.8.0" - }, - { - "group": "golang.org/x", - "name": "text", - "version": "v0.9.0", - "purl": "pkg:golang/golang.org/x/text@v0.9.0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/text@v0.9.0" - }, - { - "group": "golang.org/x", - "name": "time", - "version": "v0.0.0-20220210224613-90d013bbcef8", - "purl": "pkg:golang/golang.org/x/time@v0.0.0-20220210224613-90d013bbcef8", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/time@v0.0.0-20220210224613-90d013bbcef8" - }, - { - "group": "google.golang.org", - "name": "appengine", - "version": "v1.6.7", - "purl": "pkg:golang/google.golang.org/appengine@v1.6.7", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/appengine@v1.6.7" - }, - { - "group": "google.golang.org", - "name": "protobuf", - "version": "v1.30.0", - "purl": "pkg:golang/google.golang.org/protobuf@v1.30.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/protobuf@v1.30.0" - }, - { - "group": "gopkg.in", - "name": "inf.v0", - "version": "v0.9.1", - "purl": "pkg:golang/gopkg.in/inf.v0@v0.9.1", - "type": "library", - "bom-ref": "pkg:golang/gopkg.in/inf.v0@v0.9.1" - }, - { - "group": "gopkg.in", - "name": "yaml.v2", - "version": "v2.4.0", - "purl": "pkg:golang/gopkg.in/yaml.v2@v2.4.0", - "type": "library", - "bom-ref": "pkg:golang/gopkg.in/yaml.v2@v2.4.0" - }, - { - "group": "gopkg.in", - "name": "yaml.v3", - "version": "v3.0.1", - "purl": "pkg:golang/gopkg.in/yaml.v3@v3.0.1", - "type": "library", - "bom-ref": "pkg:golang/gopkg.in/yaml.v3@v3.0.1" - }, - { - "group": "k8s.io", - "name": "api", - "version": "v0.26.1", - "purl": "pkg:golang/k8s.io/api@v0.26.1", - "type": "library", - "bom-ref": "pkg:golang/k8s.io/api@v0.26.1" - }, - { - "group": "k8s.io", - "name": "apimachinery", - "version": "v0.26.1", - "purl": "pkg:golang/k8s.io/apimachinery@v0.26.1", - "type": "library", - "bom-ref": "pkg:golang/k8s.io/apimachinery@v0.26.1" - }, - { - "group": "k8s.io", - "name": "client-go", - "version": "v0.26.1", - "purl": "pkg:golang/k8s.io/client-go@v0.26.1", - "type": "library", - "bom-ref": "pkg:golang/k8s.io/client-go@v0.26.1" - }, - { - "group": "k8s.io/klog", - "name": "v2", - "version": "v2.80.1", - "purl": "pkg:golang/k8s.io/klog/v2@v2.80.1", - "type": "library", - "bom-ref": "pkg:golang/k8s.io/klog/v2@v2.80.1" - }, - { - "group": "k8s.io", - "name": "kube-openapi", - "version": "v0.0.0-20221012153701-172d655c2280", - "purl": "pkg:golang/k8s.io/kube-openapi@v0.0.0-20221012153701-172d655c2280", - "type": "library", - "bom-ref": "pkg:golang/k8s.io/kube-openapi@v0.0.0-20221012153701-172d655c2280" - }, - { - "group": "k8s.io", - "name": "utils", - "version": "v0.0.0-20221107191617-1a15be271d1d", - "purl": "pkg:golang/k8s.io/utils@v0.0.0-20221107191617-1a15be271d1d", - "type": "library", - "bom-ref": "pkg:golang/k8s.io/utils@v0.0.0-20221107191617-1a15be271d1d" - }, - { - "group": "sigs.k8s.io", - "name": "json", - "version": "v0.0.0-20220713155537-f223a00ba0e2", - "purl": "pkg:golang/sigs.k8s.io/json@v0.0.0-20220713155537-f223a00ba0e2", - "type": "library", - "bom-ref": "pkg:golang/sigs.k8s.io/json@v0.0.0-20220713155537-f223a00ba0e2" - }, - { - "group": "sigs.k8s.io/structured-merge-diff", - "name": "v4", - "version": "v4.2.3", - "purl": "pkg:golang/sigs.k8s.io/structured-merge-diff/v4@v4.2.3", - "type": "library", - "bom-ref": "pkg:golang/sigs.k8s.io/structured-merge-diff/v4@v4.2.3" - }, - { - "group": "sigs.k8s.io", - "name": "yaml", - "version": "v1.3.0", - "purl": "pkg:golang/sigs.k8s.io/yaml@v1.3.0", - "type": "library", - "bom-ref": "pkg:golang/sigs.k8s.io/yaml@v1.3.0" - } - ], - "dependencies": [ - { - "ref": "pkg:golang/github.com/RHEcosystemAppEng/SaaSi/deployer@v0.0.0", - "dependsOn": [ - "pkg:golang/github.com/davecgh/go-spew@v1.1.1", - "pkg:golang/github.com/emicklei/go-restful/v3@v3.9.0", - "pkg:golang/github.com/gin-gonic/gin@v1.9.1", - "pkg:golang/github.com/go-openapi/jsonpointer@v0.19.5", - "pkg:golang/github.com/go-openapi/jsonreference@v0.20.0", - "pkg:golang/github.com/go-openapi/swag@v0.19.14", - "pkg:golang/github.com/gogo/protobuf@v1.3.2", - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/github.com/google/go-cmp@v0.5.9", - "pkg:golang/github.com/google/gofuzz@v1.1.0", - "pkg:golang/github.com/google/uuid@v1.1.2", - "pkg:golang/github.com/imdario/mergo@v0.3.6", - "pkg:golang/github.com/josharian/intern@v1.0.0", - "pkg:golang/github.com/json-iterator/go@v1.1.12", - "pkg:golang/github.com/kr/pretty@v0.3.1", - "pkg:golang/github.com/kr/text@v0.2.0", - "pkg:golang/github.com/mailru/easyjson@v0.7.6", - "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd", - "pkg:golang/github.com/modern-go/reflect2@v1.0.2", - "pkg:golang/github.com/munnerz/goautoneg@v0.0.0-20191010083416-a7dc8b61c822", - "pkg:golang/github.com/rogpeppe/go-internal@v1.9.0", - "pkg:golang/github.com/spf13/pflag@v1.0.5", - "pkg:golang/golang.org/x/net@v0.10.0", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20220223155221-ee480838109b", - "pkg:golang/golang.org/x/sys@v0.8.0", - "pkg:golang/golang.org/x/term@v0.8.0", - "pkg:golang/golang.org/x/text@v0.9.0", - "pkg:golang/golang.org/x/time@v0.0.0-20220210224613-90d013bbcef8", - "pkg:golang/google.golang.org/appengine@v1.6.7", - "pkg:golang/google.golang.org/protobuf@v1.30.0", - "pkg:golang/gopkg.in/inf.v0@v0.9.1", - "pkg:golang/gopkg.in/yaml.v2@v2.4.0", - "pkg:golang/gopkg.in/yaml.v3@v3.0.1", - "pkg:golang/k8s.io/api@v0.26.1", - "pkg:golang/k8s.io/apimachinery@v0.26.1", - "pkg:golang/k8s.io/client-go@v0.26.1", - "pkg:golang/k8s.io/klog/v2@v2.80.1", - "pkg:golang/k8s.io/kube-openapi@v0.0.0-20221012153701-172d655c2280", - "pkg:golang/k8s.io/utils@v0.0.0-20221107191617-1a15be271d1d", - "pkg:golang/sigs.k8s.io/json@v0.0.0-20220713155537-f223a00ba0e2", - "pkg:golang/sigs.k8s.io/structured-merge-diff/v4@v4.2.3", - "pkg:golang/sigs.k8s.io/yaml@v1.3.0" - ] - }, - { - "ref": "pkg:golang/github.com/davecgh/go-spew@v1.1.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/emicklei/go-restful/v3@v3.9.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/gin-gonic/gin@v1.9.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/go-openapi/jsonpointer@v0.19.5", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/go-openapi/jsonreference@v0.20.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/go-openapi/swag@v0.19.14", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/gogo/protobuf@v1.3.2", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/golang/protobuf@v1.5.2", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/google/go-cmp@v0.5.9", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/google/gofuzz@v1.1.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/google/uuid@v1.1.2", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/imdario/mergo@v0.3.6", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/josharian/intern@v1.0.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/json-iterator/go@v1.1.12", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/kr/pretty@v0.3.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/kr/text@v0.2.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/mailru/easyjson@v0.7.6", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/modern-go/reflect2@v1.0.2", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/munnerz/goautoneg@v0.0.0-20191010083416-a7dc8b61c822", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/rogpeppe/go-internal@v1.9.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/spf13/pflag@v1.0.5", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.10.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20220223155221-ee480838109b", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.8.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/term@v0.8.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/text@v0.9.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/time@v0.0.0-20220210224613-90d013bbcef8", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/appengine@v1.6.7", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/protobuf@v1.30.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/gopkg.in/inf.v0@v0.9.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/gopkg.in/yaml.v2@v2.4.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/gopkg.in/yaml.v3@v3.0.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/k8s.io/api@v0.26.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/k8s.io/apimachinery@v0.26.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/k8s.io/client-go@v0.26.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/k8s.io/klog/v2@v2.80.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/k8s.io/kube-openapi@v0.0.0-20221012153701-172d655c2280", - "dependsOn": [] - }, - { - "ref": "pkg:golang/k8s.io/utils@v0.0.0-20221107191617-1a15be271d1d", - "dependsOn": [] - }, - { - "ref": "pkg:golang/sigs.k8s.io/json@v0.0.0-20220713155537-f223a00ba0e2", - "dependsOn": [] - }, - { - "ref": "pkg:golang/sigs.k8s.io/structured-merge-diff/v4@v4.2.3", - "dependsOn": [] - }, - { - "ref": "pkg:golang/sigs.k8s.io/yaml@v1.3.0", - "dependsOn": [] - } - ] + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-08-07T00:00:00.000Z", + "component": { + "group": "github.com/RHEcosystemAppEng/SaaSi", + "name": "deployer", + "version": "v0.0.0", + "purl": "pkg:golang/github.com/RHEcosystemAppEng/SaaSi/deployer@v0.0.0", + "type": "application", + "bom-ref": "pkg:golang/github.com/RHEcosystemAppEng/SaaSi/deployer@v0.0.0" + } + }, + "components": [ + { + "group": "github.com/gin-gonic", + "name": "gin", + "version": "v1.9.1", + "purl": "pkg:golang/github.com/gin-gonic/gin@v1.9.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/gin-gonic/gin@v1.9.1" + }, + { + "group": "github.com/google", + "name": "uuid", + "version": "v1.1.2", + "purl": "pkg:golang/github.com/google/uuid@v1.1.2", + "type": "library", + "bom-ref": "pkg:golang/github.com/google/uuid@v1.1.2" + }, + { + "group": "github.com/kr", + "name": "pretty", + "version": "v0.3.1", + "purl": "pkg:golang/github.com/kr/pretty@v0.3.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/kr/pretty@v0.3.1" + }, + { + "group": "gopkg.in", + "name": "yaml.v2", + "version": "v2.4.0", + "purl": "pkg:golang/gopkg.in/yaml.v2@v2.4.0", + "type": "library", + "bom-ref": "pkg:golang/gopkg.in/yaml.v2@v2.4.0" + }, + { + "group": "k8s.io", + "name": "apimachinery", + "version": "v0.26.1", + "purl": "pkg:golang/k8s.io/apimachinery@v0.26.1", + "type": "library", + "bom-ref": "pkg:golang/k8s.io/apimachinery@v0.26.1" + }, + { + "group": "k8s.io", + "name": "client-go", + "version": "v0.26.1", + "purl": "pkg:golang/k8s.io/client-go@v0.26.1", + "type": "library", + "bom-ref": "pkg:golang/k8s.io/client-go@v0.26.1" + } + ], + "dependencies": [ + { + "ref": "pkg:golang/github.com/RHEcosystemAppEng/SaaSi/deployer@v0.0.0", + "dependsOn": [ + "pkg:golang/github.com/gin-gonic/gin@v1.9.1", + "pkg:golang/github.com/google/uuid@v1.1.2", + "pkg:golang/github.com/kr/pretty@v0.3.1", + "pkg:golang/gopkg.in/yaml.v2@v2.4.0", + "pkg:golang/k8s.io/apimachinery@v0.26.1", + "pkg:golang/k8s.io/client-go@v0.26.1" + ] + }, + { + "ref": "pkg:golang/github.com/gin-gonic/gin@v1.9.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/google/uuid@v1.1.2", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/kr/pretty@v0.3.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/gopkg.in/yaml.v2@v2.4.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/k8s.io/apimachinery@v0.26.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/k8s.io/client-go@v0.26.1", + "dependsOn": [] + } + ] } diff --git a/test/providers/tst_manifests/golang/go_mod_with_ignore/expected_sbom_stack_analysis.json b/test/providers/tst_manifests/golang/go_mod_with_ignore/expected_sbom_stack_analysis.json index 39fc4b18..faabcae3 100644 --- a/test/providers/tst_manifests/golang/go_mod_with_ignore/expected_sbom_stack_analysis.json +++ b/test/providers/tst_manifests/golang/go_mod_with_ignore/expected_sbom_stack_analysis.json @@ -1,8105 +1,2164 @@ { - "bomFormat": "CycloneDX", - "specVersion": "1.4", - "version": 1, - "metadata": { - "timestamp": "2023-08-07T00:00:00.000Z", - "component": { - "group": "github.com/RHEcosystemAppEng/SaaSi", - "name": "deployer", - "version": "v0.0.0", - "purl": "pkg:golang/github.com/RHEcosystemAppEng/SaaSi/deployer@v0.0.0", - "type": "application", - "bom-ref": "pkg:golang/github.com/RHEcosystemAppEng/SaaSi/deployer@v0.0.0" - } - }, - "components": [ - { - "group": "github.com/RHEcosystemAppEng/SaaSi", - "name": "deployer", - "version": "v0.0.0", - "purl": "pkg:golang/github.com/RHEcosystemAppEng/SaaSi/deployer@v0.0.0", - "type": "application", - "bom-ref": "pkg:golang/github.com/RHEcosystemAppEng/SaaSi/deployer@v0.0.0" - }, - { - "group": "github.com/davecgh", - "name": "go-spew", - "version": "v1.1.1", - "purl": "pkg:golang/github.com/davecgh/go-spew@v1.1.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/davecgh/go-spew@v1.1.1" - }, - { - "group": "github.com/emicklei/go-restful", - "name": "v3", - "version": "v3.9.0", - "purl": "pkg:golang/github.com/emicklei/go-restful/v3@v3.9.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/emicklei/go-restful/v3@v3.9.0" - }, - { - "group": "github.com/gin-gonic", - "name": "gin", - "version": "v1.9.1", - "purl": "pkg:golang/github.com/gin-gonic/gin@v1.9.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/gin-gonic/gin@v1.9.1" - }, - { - "group": "github.com/go-openapi", - "name": "jsonpointer", - "version": "v0.19.5", - "purl": "pkg:golang/github.com/go-openapi/jsonpointer@v0.19.5", - "type": "library", - "bom-ref": "pkg:golang/github.com/go-openapi/jsonpointer@v0.19.5" - }, - { - "group": "github.com/go-openapi", - "name": "jsonreference", - "version": "v0.20.0", - "purl": "pkg:golang/github.com/go-openapi/jsonreference@v0.20.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/go-openapi/jsonreference@v0.20.0" - }, - { - "group": "github.com/go-openapi", - "name": "swag", - "version": "v0.19.14", - "purl": "pkg:golang/github.com/go-openapi/swag@v0.19.14", - "type": "library", - "bom-ref": "pkg:golang/github.com/go-openapi/swag@v0.19.14" - }, - { - "group": "github.com/gogo", - "name": "protobuf", - "version": "v1.3.2", - "purl": "pkg:golang/github.com/gogo/protobuf@v1.3.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/gogo/protobuf@v1.3.2" - }, - { - "group": "github.com/golang", - "name": "protobuf", - "version": "v1.5.2", - "purl": "pkg:golang/github.com/golang/protobuf@v1.5.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/protobuf@v1.5.2" - }, - { - "group": "github.com/google", - "name": "go-cmp", - "version": "v0.5.9", - "purl": "pkg:golang/github.com/google/go-cmp@v0.5.9", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/go-cmp@v0.5.9" - }, - { - "group": "github.com/google", - "name": "gofuzz", - "version": "v1.1.0", - "purl": "pkg:golang/github.com/google/gofuzz@v1.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/gofuzz@v1.1.0" - }, - { - "group": "github.com/google", - "name": "uuid", - "version": "v1.1.2", - "purl": "pkg:golang/github.com/google/uuid@v1.1.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/uuid@v1.1.2" - }, - { - "group": "github.com/imdario", - "name": "mergo", - "version": "v0.3.6", - "purl": "pkg:golang/github.com/imdario/mergo@v0.3.6", - "type": "library", - "bom-ref": "pkg:golang/github.com/imdario/mergo@v0.3.6" - }, - { - "group": "github.com/josharian", - "name": "intern", - "version": "v1.0.0", - "purl": "pkg:golang/github.com/josharian/intern@v1.0.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/josharian/intern@v1.0.0" - }, - { - "group": "github.com/json-iterator", - "name": "go", - "version": "v1.1.12", - "purl": "pkg:golang/github.com/json-iterator/go@v1.1.12", - "type": "library", - "bom-ref": "pkg:golang/github.com/json-iterator/go@v1.1.12" - }, - { - "group": "github.com/kr", - "name": "pretty", - "version": "v0.3.1", - "purl": "pkg:golang/github.com/kr/pretty@v0.3.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/kr/pretty@v0.3.1" - }, - { - "group": "github.com/kr", - "name": "text", - "version": "v0.2.0", - "purl": "pkg:golang/github.com/kr/text@v0.2.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/kr/text@v0.2.0" - }, - { - "group": "github.com/mailru", - "name": "easyjson", - "version": "v0.7.6", - "purl": "pkg:golang/github.com/mailru/easyjson@v0.7.6", - "type": "library", - "bom-ref": "pkg:golang/github.com/mailru/easyjson@v0.7.6" - }, - { - "group": "github.com/modern-go", - "name": "concurrent", - "version": "v0.0.0-20180306012644-bacd9c7ef1dd", - "purl": "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd", - "type": "library", - "bom-ref": "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd" - }, - { - "group": "github.com/modern-go", - "name": "reflect2", - "version": "v1.0.2", - "purl": "pkg:golang/github.com/modern-go/reflect2@v1.0.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/modern-go/reflect2@v1.0.2" - }, - { - "group": "github.com/munnerz", - "name": "goautoneg", - "version": "v0.0.0-20191010083416-a7dc8b61c822", - "purl": "pkg:golang/github.com/munnerz/goautoneg@v0.0.0-20191010083416-a7dc8b61c822", - "type": "library", - "bom-ref": "pkg:golang/github.com/munnerz/goautoneg@v0.0.0-20191010083416-a7dc8b61c822" - }, - { - "group": "github.com/rogpeppe", - "name": "go-internal", - "version": "v1.9.0", - "purl": "pkg:golang/github.com/rogpeppe/go-internal@v1.9.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/rogpeppe/go-internal@v1.9.0" - }, - { - "group": "github.com/spf13", - "name": "pflag", - "version": "v1.0.5", - "purl": "pkg:golang/github.com/spf13/pflag@v1.0.5", - "type": "library", - "bom-ref": "pkg:golang/github.com/spf13/pflag@v1.0.5" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.10.0", - "purl": "pkg:golang/golang.org/x/net@v0.10.0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.10.0" - }, - { - "group": "golang.org/x", - "name": "oauth2", - "version": "v0.0.0-20220223155221-ee480838109b", - "purl": "pkg:golang/golang.org/x/oauth2@v0.0.0-20220223155221-ee480838109b", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20220223155221-ee480838109b" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.8.0", - "purl": "pkg:golang/golang.org/x/sys@v0.8.0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.8.0" - }, - { - "group": "golang.org/x", - "name": "term", - "version": "v0.8.0", - "purl": "pkg:golang/golang.org/x/term@v0.8.0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/term@v0.8.0" - }, - { - "group": "golang.org/x", - "name": "text", - "version": "v0.9.0", - "purl": "pkg:golang/golang.org/x/text@v0.9.0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/text@v0.9.0" - }, - { - "group": "golang.org/x", - "name": "time", - "version": "v0.0.0-20220210224613-90d013bbcef8", - "purl": "pkg:golang/golang.org/x/time@v0.0.0-20220210224613-90d013bbcef8", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/time@v0.0.0-20220210224613-90d013bbcef8" - }, - { - "group": "google.golang.org", - "name": "appengine", - "version": "v1.6.7", - "purl": "pkg:golang/google.golang.org/appengine@v1.6.7", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/appengine@v1.6.7" - }, - { - "group": "google.golang.org", - "name": "protobuf", - "version": "v1.30.0", - "purl": "pkg:golang/google.golang.org/protobuf@v1.30.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/protobuf@v1.30.0" - }, - { - "group": "gopkg.in", - "name": "inf.v0", - "version": "v0.9.1", - "purl": "pkg:golang/gopkg.in/inf.v0@v0.9.1", - "type": "library", - "bom-ref": "pkg:golang/gopkg.in/inf.v0@v0.9.1" - }, - { - "group": "gopkg.in", - "name": "yaml.v2", - "version": "v2.4.0", - "purl": "pkg:golang/gopkg.in/yaml.v2@v2.4.0", - "type": "library", - "bom-ref": "pkg:golang/gopkg.in/yaml.v2@v2.4.0" - }, - { - "group": "gopkg.in", - "name": "yaml.v3", - "version": "v3.0.1", - "purl": "pkg:golang/gopkg.in/yaml.v3@v3.0.1", - "type": "library", - "bom-ref": "pkg:golang/gopkg.in/yaml.v3@v3.0.1" - }, - { - "group": "k8s.io", - "name": "api", - "version": "v0.26.1", - "purl": "pkg:golang/k8s.io/api@v0.26.1", - "type": "library", - "bom-ref": "pkg:golang/k8s.io/api@v0.26.1" - }, - { - "group": "k8s.io", - "name": "apimachinery", - "version": "v0.26.1", - "purl": "pkg:golang/k8s.io/apimachinery@v0.26.1", - "type": "library", - "bom-ref": "pkg:golang/k8s.io/apimachinery@v0.26.1" - }, - { - "group": "k8s.io", - "name": "client-go", - "version": "v0.26.1", - "purl": "pkg:golang/k8s.io/client-go@v0.26.1", - "type": "library", - "bom-ref": "pkg:golang/k8s.io/client-go@v0.26.1" - }, - { - "group": "k8s.io/klog", - "name": "v2", - "version": "v2.80.1", - "purl": "pkg:golang/k8s.io/klog/v2@v2.80.1", - "type": "library", - "bom-ref": "pkg:golang/k8s.io/klog/v2@v2.80.1" - }, - { - "group": "k8s.io", - "name": "kube-openapi", - "version": "v0.0.0-20221012153701-172d655c2280", - "purl": "pkg:golang/k8s.io/kube-openapi@v0.0.0-20221012153701-172d655c2280", - "type": "library", - "bom-ref": "pkg:golang/k8s.io/kube-openapi@v0.0.0-20221012153701-172d655c2280" - }, - { - "group": "k8s.io", - "name": "utils", - "version": "v0.0.0-20221107191617-1a15be271d1d", - "purl": "pkg:golang/k8s.io/utils@v0.0.0-20221107191617-1a15be271d1d", - "type": "library", - "bom-ref": "pkg:golang/k8s.io/utils@v0.0.0-20221107191617-1a15be271d1d" - }, - { - "group": "sigs.k8s.io", - "name": "json", - "version": "v0.0.0-20220713155537-f223a00ba0e2", - "purl": "pkg:golang/sigs.k8s.io/json@v0.0.0-20220713155537-f223a00ba0e2", - "type": "library", - "bom-ref": "pkg:golang/sigs.k8s.io/json@v0.0.0-20220713155537-f223a00ba0e2" - }, - { - "group": "sigs.k8s.io/structured-merge-diff", - "name": "v4", - "version": "v4.2.3", - "purl": "pkg:golang/sigs.k8s.io/structured-merge-diff/v4@v4.2.3", - "type": "library", - "bom-ref": "pkg:golang/sigs.k8s.io/structured-merge-diff/v4@v4.2.3" - }, - { - "group": "sigs.k8s.io", - "name": "yaml", - "version": "v1.3.0", - "purl": "pkg:golang/sigs.k8s.io/yaml@v1.3.0", - "type": "library", - "bom-ref": "pkg:golang/sigs.k8s.io/yaml@v1.3.0" - }, - { - "group": "github.com/bytedance", - "name": "sonic", - "version": "v1.9.1", - "purl": "pkg:golang/github.com/bytedance/sonic@v1.9.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/bytedance/sonic@v1.9.1" - }, - { - "group": "github.com/gin-contrib", - "name": "sse", - "version": "v0.1.0", - "purl": "pkg:golang/github.com/gin-contrib/sse@v0.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/gin-contrib/sse@v0.1.0" - }, - { - "group": "github.com/go-playground/validator", - "name": "v10", - "version": "v10.14.0", - "purl": "pkg:golang/github.com/go-playground/validator/v10@v10.14.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/go-playground/validator/v10@v10.14.0" - }, - { - "group": "github.com/goccy", - "name": "go-json", - "version": "v0.10.2", - "purl": "pkg:golang/github.com/goccy/go-json@v0.10.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/goccy/go-json@v0.10.2" - }, - { - "group": "github.com/mattn", - "name": "go-isatty", - "version": "v0.0.19", - "purl": "pkg:golang/github.com/mattn/go-isatty@v0.0.19", - "type": "library", - "bom-ref": "pkg:golang/github.com/mattn/go-isatty@v0.0.19" - }, - { - "group": "github.com/pelletier/go-toml", - "name": "v2", - "version": "v2.0.8", - "purl": "pkg:golang/github.com/pelletier/go-toml/v2@v2.0.8", - "type": "library", - "bom-ref": "pkg:golang/github.com/pelletier/go-toml/v2@v2.0.8" - }, - { - "group": "github.com/stretchr", - "name": "testify", - "version": "v1.8.3", - "purl": "pkg:golang/github.com/stretchr/testify@v1.8.3", - "type": "library", - "bom-ref": "pkg:golang/github.com/stretchr/testify@v1.8.3" - }, - { - "group": "github.com/ugorji/go", - "name": "codec", - "version": "v1.2.11", - "purl": "pkg:golang/github.com/ugorji/go/codec@v1.2.11", - "type": "library", - "bom-ref": "pkg:golang/github.com/ugorji/go/codec@v1.2.11" - }, - { - "group": "github.com/chenzhuoyu", - "name": "base64x", - "version": "v0.0.0-20221115062448-fe3a3abad311", - "purl": "pkg:golang/github.com/chenzhuoyu/base64x@v0.0.0-20221115062448-fe3a3abad311", - "type": "library", - "bom-ref": "pkg:golang/github.com/chenzhuoyu/base64x@v0.0.0-20221115062448-fe3a3abad311" - }, - { - "group": "github.com/gabriel-vasile", - "name": "mimetype", - "version": "v1.4.2", - "purl": "pkg:golang/github.com/gabriel-vasile/mimetype@v1.4.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/gabriel-vasile/mimetype@v1.4.2" - }, - { - "group": "github.com/go-playground", - "name": "locales", - "version": "v0.14.1", - "purl": "pkg:golang/github.com/go-playground/locales@v0.14.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/go-playground/locales@v0.14.1" - }, - { - "group": "github.com/go-playground", - "name": "universal-translator", - "version": "v0.18.1", - "purl": "pkg:golang/github.com/go-playground/universal-translator@v0.18.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/go-playground/universal-translator@v0.18.1" - }, - { - "group": "github.com/klauspost/cpuid", - "name": "v2", - "version": "v2.2.4", - "purl": "pkg:golang/github.com/klauspost/cpuid/v2@v2.2.4", - "type": "library", - "bom-ref": "pkg:golang/github.com/klauspost/cpuid/v2@v2.2.4" - }, - { - "group": "github.com/leodido", - "name": "go-urn", - "version": "v1.2.4", - "purl": "pkg:golang/github.com/leodido/go-urn@v1.2.4", - "type": "library", - "bom-ref": "pkg:golang/github.com/leodido/go-urn@v1.2.4" - }, - { - "group": "github.com/pmezard", - "name": "go-difflib", - "version": "v1.0.0", - "purl": "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/pmezard/go-difflib@v1.0.0" - }, - { - "group": "github.com/twitchyliquid64", - "name": "golang-asm", - "version": "v0.15.1", - "purl": "pkg:golang/github.com/twitchyliquid64/golang-asm@v0.15.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/twitchyliquid64/golang-asm@v0.15.1" - }, - { - "group": "golang.org/x", - "name": "arch", - "version": "v0.3.0", - "purl": "pkg:golang/golang.org/x/arch@v0.3.0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/arch@v0.3.0" - }, - { - "group": "golang.org/x", - "name": "crypto", - "version": "v0.9.0", - "purl": "pkg:golang/golang.org/x/crypto@v0.9.0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/crypto@v0.9.0" - }, - { - "group": "github.com/go-openapi", - "name": "swag", - "version": "v0.19.5", - "purl": "pkg:golang/github.com/go-openapi/swag@v0.19.5", - "type": "library", - "bom-ref": "pkg:golang/github.com/go-openapi/swag@v0.19.5" - }, - { - "group": "github.com/mailru", - "name": "easyjson", - "version": "v0.0.0-20190626092158-b2ccc519800e", - "purl": "pkg:golang/github.com/mailru/easyjson@v0.0.0-20190626092158-b2ccc519800e", - "type": "library", - "bom-ref": "pkg:golang/github.com/mailru/easyjson@v0.0.0-20190626092158-b2ccc519800e" - }, - { - "group": "github.com/stretchr", - "name": "testify", - "version": "v1.3.0", - "purl": "pkg:golang/github.com/stretchr/testify@v1.3.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/stretchr/testify@v1.3.0" - }, - { - "group": "github.com/go-openapi", - "name": "jsonpointer", - "version": "v0.19.3", - "purl": "pkg:golang/github.com/go-openapi/jsonpointer@v0.19.3", - "type": "library", - "bom-ref": "pkg:golang/github.com/go-openapi/jsonpointer@v0.19.3" - }, - { - "group": "github.com/niemeyer", - "name": "pretty", - "version": "v0.0.0-20200227124842-a10e7caefd8e", - "purl": "pkg:golang/github.com/niemeyer/pretty@v0.0.0-20200227124842-a10e7caefd8e", - "type": "library", - "bom-ref": "pkg:golang/github.com/niemeyer/pretty@v0.0.0-20200227124842-a10e7caefd8e" - }, - { - "group": "github.com/stretchr", - "name": "testify", - "version": "v1.6.1", - "purl": "pkg:golang/github.com/stretchr/testify@v1.6.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/stretchr/testify@v1.6.1" - }, - { - "group": "gopkg.in", - "name": "check.v1", - "version": "v1.0.0-20200227125254-8fa46927fb4f", - "purl": "pkg:golang/gopkg.in/check.v1@v1.0.0-20200227125254-8fa46927fb4f", - "type": "library", - "bom-ref": "pkg:golang/gopkg.in/check.v1@v1.0.0-20200227125254-8fa46927fb4f" - }, - { - "group": "gopkg.in", - "name": "yaml.v3", - "version": "v3.0.0-20200615113413-eeeca48fe776", - "purl": "pkg:golang/gopkg.in/yaml.v3@v3.0.0-20200615113413-eeeca48fe776", - "type": "library", - "bom-ref": "pkg:golang/gopkg.in/yaml.v3@v3.0.0-20200615113413-eeeca48fe776" - }, - { - "group": "github.com/kisielk", - "name": "errcheck", - "version": "v1.5.0", - "purl": "pkg:golang/github.com/kisielk/errcheck@v1.5.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/kisielk/errcheck@v1.5.0" - }, - { - "group": "github.com/kisielk", - "name": "gotool", - "version": "v1.0.0", - "purl": "pkg:golang/github.com/kisielk/gotool@v1.0.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/kisielk/gotool@v1.0.0" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20210106214847-113979e3529a", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20210106214847-113979e3529a", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20210106214847-113979e3529a" - }, - { - "group": "github.com/google", - "name": "go-cmp", - "version": "v0.5.5", - "purl": "pkg:golang/github.com/google/go-cmp@v0.5.5", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/go-cmp@v0.5.5" - }, - { - "group": "google.golang.org", - "name": "protobuf", - "version": "v1.26.0", - "purl": "pkg:golang/google.golang.org/protobuf@v1.26.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/protobuf@v1.26.0" - }, - { - "group": "github.com/docopt", - "name": "docopt-go", - "version": "v0.0.0-20180111231733-ee0de3bc6815", - "purl": "pkg:golang/github.com/docopt/docopt-go@v0.0.0-20180111231733-ee0de3bc6815", - "type": "library", - "bom-ref": "pkg:golang/github.com/docopt/docopt-go@v0.0.0-20180111231733-ee0de3bc6815" - }, - { - "group": "github.com/kr", - "name": "pretty", - "version": "v0.2.0", - "purl": "pkg:golang/github.com/kr/pretty@v0.2.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/kr/pretty@v0.2.0" - }, - { - "group": "github.com/stoewer", - "name": "go-strcase", - "version": "v1.2.0", - "purl": "pkg:golang/github.com/stoewer/go-strcase@v1.2.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/stoewer/go-strcase@v1.2.0" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20190524140312-2c0ae7006135", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135" - }, - { - "group": "golang.org/x", - "name": "xerrors", - "version": "v0.0.0-20200804184101-5ec99f83aff1", - "purl": "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20201019141844-1ed22bb0c154", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20201019141844-1ed22bb0c154", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20201019141844-1ed22bb0c154" - }, - { - "group": "gopkg.in", - "name": "check.v1", - "version": "v1.0.0-20190902080502-41f04d3bba15", - "purl": "pkg:golang/gopkg.in/check.v1@v1.0.0-20190902080502-41f04d3bba15", - "type": "library", - "bom-ref": "pkg:golang/gopkg.in/check.v1@v1.0.0-20190902080502-41f04d3bba15" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20210320140829-1e4c9ba3b0c4", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20210320140829-1e4c9ba3b0c4", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20210320140829-1e4c9ba3b0c4" - }, - { - "group": "github.com/google", - "name": "gofuzz", - "version": "v1.0.0", - "purl": "pkg:golang/github.com/google/gofuzz@v1.0.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/gofuzz@v1.0.0" - }, - { - "group": "github.com/modern-go", - "name": "concurrent", - "version": "v0.0.0-20180228061459-e0a39a4cb421", - "purl": "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180228061459-e0a39a4cb421", - "type": "library", - "bom-ref": "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180228061459-e0a39a4cb421" - }, - { - "group": "github.com/creack", - "name": "pty", - "version": "v1.1.9", - "purl": "pkg:golang/github.com/creack/pty@v1.1.9", - "type": "library", - "bom-ref": "pkg:golang/github.com/creack/pty@v1.1.9" - }, - { - "group": "github.com/pkg", - "name": "diff", - "version": "v0.0.0-20210226163009-20ebb0f2a09e", - "purl": "pkg:golang/github.com/pkg/diff@v0.0.0-20210226163009-20ebb0f2a09e", - "type": "library", - "bom-ref": "pkg:golang/github.com/pkg/diff@v0.0.0-20210226163009-20ebb0f2a09e" - }, - { - "group": "cloud.google.com", - "name": "go", - "version": "v0.65.0", - "purl": "pkg:golang/cloud.google.com/go@v0.65.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go@v0.65.0" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20220127200216-cd36cc0744dd", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20220127200216-cd36cc0744dd", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20220127200216-cd36cc0744dd" - }, - { - "group": "google.golang.org", - "name": "appengine", - "version": "v1.6.6", - "purl": "pkg:golang/google.golang.org/appengine@v1.6.6", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/appengine@v1.6.6" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.6.0", - "purl": "pkg:golang/golang.org/x/tools@v0.6.0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.6.0" - }, - { - "group": "golang.org/x", - "name": "mod", - "version": "v0.8.0", - "purl": "pkg:golang/golang.org/x/mod@v0.8.0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/mod@v0.8.0" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.5.0", - "purl": "pkg:golang/golang.org/x/sys@v0.5.0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.5.0" - }, - { - "group": "github.com/golang", - "name": "protobuf", - "version": "v1.3.1", - "purl": "pkg:golang/github.com/golang/protobuf@v1.3.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/protobuf@v1.3.1" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20190603091049-60506f45cf65", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20190603091049-60506f45cf65", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20190603091049-60506f45cf65" - }, - { - "group": "golang.org/x", - "name": "text", - "version": "v0.3.2", - "purl": "pkg:golang/golang.org/x/text@v0.3.2", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/text@v0.3.2" - }, - { - "group": "github.com/golang", - "name": "protobuf", - "version": "v1.5.0", - "purl": "pkg:golang/github.com/golang/protobuf@v1.5.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/protobuf@v1.5.0" - }, - { - "group": "gopkg.in", - "name": "check.v1", - "version": "v0.0.0-20161208181325-20d25e280405", - "purl": "pkg:golang/gopkg.in/check.v1@v0.0.0-20161208181325-20d25e280405", - "type": "library", - "bom-ref": "pkg:golang/gopkg.in/check.v1@v0.0.0-20161208181325-20d25e280405" - }, - { - "group": "github.com/stretchr", - "name": "testify", - "version": "v1.8.0", - "purl": "pkg:golang/github.com/stretchr/testify@v1.8.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/stretchr/testify@v1.8.0" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.3.1-0.20221206200815-1e63c2f08a10", - "purl": "pkg:golang/golang.org/x/net@v0.3.1-0.20221206200815-1e63c2f08a10", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.3.1-0.20221206200815-1e63c2f08a10" - }, - { - "group": "golang.org/x", - "name": "text", - "version": "v0.5.0", - "purl": "pkg:golang/golang.org/x/text@v0.5.0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/text@v0.5.0" - }, - { - "group": "google.golang.org", - "name": "protobuf", - "version": "v1.28.1", - "purl": "pkg:golang/google.golang.org/protobuf@v1.28.1", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/protobuf@v1.28.1" - }, - { - "group": "github.com/armon", - "name": "go-socks5", - "version": "v0.0.0-20160902184237-e75332964ef5", - "purl": "pkg:golang/github.com/armon/go-socks5@v0.0.0-20160902184237-e75332964ef5", - "type": "library", - "bom-ref": "pkg:golang/github.com/armon/go-socks5@v0.0.0-20160902184237-e75332964ef5" - }, - { - "group": "github.com/elazarl", - "name": "goproxy", - "version": "v0.0.0-20180725130230-947c36da3153", - "purl": "pkg:golang/github.com/elazarl/goproxy@v0.0.0-20180725130230-947c36da3153", - "type": "library", - "bom-ref": "pkg:golang/github.com/elazarl/goproxy@v0.0.0-20180725130230-947c36da3153" - }, - { - "group": "github.com/evanphx", - "name": "json-patch", - "version": "v4.12.0+incompatible", - "purl": "pkg:golang/github.com/evanphx/json-patch@v4.12.0%2Bincompatible", - "type": "library", - "bom-ref": "pkg:golang/github.com/evanphx/json-patch@v4.12.0%2Bincompatible" - }, - { - "group": "github.com/moby", - "name": "spdystream", - "version": "v0.2.0", - "purl": "pkg:golang/github.com/moby/spdystream@v0.2.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/moby/spdystream@v0.2.0" - }, - { - "group": "github.com/mxk", - "name": "go-flowrate", - "version": "v0.0.0-20140419014527-cca7078d478f", - "purl": "pkg:golang/github.com/mxk/go-flowrate@v0.0.0-20140419014527-cca7078d478f", - "type": "library", - "bom-ref": "pkg:golang/github.com/mxk/go-flowrate@v0.0.0-20140419014527-cca7078d478f" - }, - { - "group": "github.com/onsi/ginkgo", - "name": "v2", - "version": "v2.4.0", - "purl": "pkg:golang/github.com/onsi/ginkgo/v2@v2.4.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/onsi/ginkgo/v2@v2.4.0" - }, - { - "group": "github.com/onsi", - "name": "gomega", - "version": "v1.23.0", - "purl": "pkg:golang/github.com/onsi/gomega@v1.23.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/onsi/gomega@v1.23.0" - }, - { - "group": "github.com/pkg", - "name": "errors", - "version": "v0.9.1", - "purl": "pkg:golang/github.com/pkg/errors@v0.9.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/pkg/errors@v0.9.1" - }, - { - "group": "github.com/golang", - "name": "groupcache", - "version": "v0.0.0-20210331224755-41bb18bfe9da", - "purl": "pkg:golang/github.com/golang/groupcache@v0.0.0-20210331224755-41bb18bfe9da", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/groupcache@v0.0.0-20210331224755-41bb18bfe9da" - }, - { - "group": "github.com/gregjones", - "name": "httpcache", - "version": "v0.0.0-20180305231024-9cad4c3443a7", - "purl": "pkg:golang/github.com/gregjones/httpcache@v0.0.0-20180305231024-9cad4c3443a7", - "type": "library", - "bom-ref": "pkg:golang/github.com/gregjones/httpcache@v0.0.0-20180305231024-9cad4c3443a7" - }, - { - "group": "github.com/peterbourgon", - "name": "diskv", - "version": "v2.0.1+incompatible", - "purl": "pkg:golang/github.com/peterbourgon/diskv@v2.0.1%2Bincompatible", - "type": "library", - "bom-ref": "pkg:golang/github.com/peterbourgon/diskv@v2.0.1%2Bincompatible" - }, - { - "group": "golang.org/x", - "name": "term", - "version": "v0.3.0", - "purl": "pkg:golang/golang.org/x/term@v0.3.0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/term@v0.3.0" - }, - { - "group": "github.com/google", - "name": "btree", - "version": "v1.0.1", - "purl": "pkg:golang/github.com/google/btree@v1.0.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/btree@v1.0.1" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.3.0", - "purl": "pkg:golang/golang.org/x/sys@v0.3.0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.3.0" - }, - { - "group": "github.com/go-logr", - "name": "logr", - "version": "v1.2.0", - "purl": "pkg:golang/github.com/go-logr/logr@v1.2.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/go-logr/logr@v1.2.0" - }, - { - "group": "github.com/NYTimes", - "name": "gziphandler", - "version": "v0.0.0-20170623195520-56545f4a5d46", - "purl": "pkg:golang/github.com/NYTimes/gziphandler@v0.0.0-20170623195520-56545f4a5d46", - "type": "library", - "bom-ref": "pkg:golang/github.com/NYTimes/gziphandler@v0.0.0-20170623195520-56545f4a5d46" - }, - { - "group": "github.com/asaskevich", - "name": "govalidator", - "version": "v0.0.0-20190424111038-f61b66f89f4a", - "purl": "pkg:golang/github.com/asaskevich/govalidator@v0.0.0-20190424111038-f61b66f89f4a", - "type": "library", - "bom-ref": "pkg:golang/github.com/asaskevich/govalidator@v0.0.0-20190424111038-f61b66f89f4a" - }, - { - "group": "github.com/emicklei/go-restful", - "name": "v3", - "version": "v3.8.0", - "purl": "pkg:golang/github.com/emicklei/go-restful/v3@v3.8.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/emicklei/go-restful/v3@v3.8.0" - }, - { - "group": "github.com/go-openapi", - "name": "jsonreference", - "version": "v0.19.3", - "purl": "pkg:golang/github.com/go-openapi/jsonreference@v0.19.3", - "type": "library", - "bom-ref": "pkg:golang/github.com/go-openapi/jsonreference@v0.19.3" - }, - { - "group": "github.com/mitchellh", - "name": "mapstructure", - "version": "v1.1.2", - "purl": "pkg:golang/github.com/mitchellh/mapstructure@v1.1.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/mitchellh/mapstructure@v1.1.2" - }, - { - "group": "github.com/munnerz", - "name": "goautoneg", - "version": "v0.0.0-20120707110453-a547fc61f48d", - "purl": "pkg:golang/github.com/munnerz/goautoneg@v0.0.0-20120707110453-a547fc61f48d", - "type": "library", - "bom-ref": "pkg:golang/github.com/munnerz/goautoneg@v0.0.0-20120707110453-a547fc61f48d" - }, - { - "group": "github.com/onsi/ginkgo", - "name": "v2", - "version": "v2.1.4", - "purl": "pkg:golang/github.com/onsi/ginkgo/v2@v2.1.4", - "type": "library", - "bom-ref": "pkg:golang/github.com/onsi/ginkgo/v2@v2.1.4" - }, - { - "group": "github.com/onsi", - "name": "gomega", - "version": "v1.19.0", - "purl": "pkg:golang/github.com/onsi/gomega@v1.19.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/onsi/gomega@v1.19.0" - }, - { - "group": "github.com/stretchr", - "name": "testify", - "version": "v1.5.1", - "purl": "pkg:golang/github.com/stretchr/testify@v1.5.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/stretchr/testify@v1.5.1" - }, - { - "group": "google.golang.org", - "name": "protobuf", - "version": "v1.27.1", - "purl": "pkg:golang/google.golang.org/protobuf@v1.27.1", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/protobuf@v1.27.1" - }, - { - "group": "gopkg.in", - "name": "yaml.v3", - "version": "v3.0.0-20210107192922-496545a6307b", - "purl": "pkg:golang/gopkg.in/yaml.v3@v3.0.0-20210107192922-496545a6307b", - "type": "library", - "bom-ref": "pkg:golang/gopkg.in/yaml.v3@v3.0.0-20210107192922-496545a6307b" - }, - { - "group": "k8s.io", - "name": "gengo", - "version": "v0.0.0-20210813121822-485abfe95c7c", - "purl": "pkg:golang/k8s.io/gengo@v0.0.0-20210813121822-485abfe95c7c", - "type": "library", - "bom-ref": "pkg:golang/k8s.io/gengo@v0.0.0-20210813121822-485abfe95c7c" - }, - { - "group": "k8s.io/klog", - "name": "v2", - "version": "v2.2.0", - "purl": "pkg:golang/k8s.io/klog/v2@v2.2.0", - "type": "library", - "bom-ref": "pkg:golang/k8s.io/klog/v2@v2.2.0" - }, - { - "group": "k8s.io", - "name": "utils", - "version": "v0.0.0-20210802155522-efc7438f0176", - "purl": "pkg:golang/k8s.io/utils@v0.0.0-20210802155522-efc7438f0176", - "type": "library", - "bom-ref": "pkg:golang/k8s.io/utils@v0.0.0-20210802155522-efc7438f0176" - }, - { - "group": "sigs.k8s.io", - "name": "yaml", - "version": "v1.2.0", - "purl": "pkg:golang/sigs.k8s.io/yaml@v1.2.0", - "type": "library", - "bom-ref": "pkg:golang/sigs.k8s.io/yaml@v1.2.0" - }, - { - "group": "github.com/PuerkitoBio", - "name": "purell", - "version": "v1.1.1", - "purl": "pkg:golang/github.com/PuerkitoBio/purell@v1.1.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/PuerkitoBio/purell@v1.1.1" - }, - { - "group": "github.com/PuerkitoBio", - "name": "urlesc", - "version": "v0.0.0-20170810143723-de5bf2ad4578", - "purl": "pkg:golang/github.com/PuerkitoBio/urlesc@v0.0.0-20170810143723-de5bf2ad4578", - "type": "library", - "bom-ref": "pkg:golang/github.com/PuerkitoBio/urlesc@v0.0.0-20170810143723-de5bf2ad4578" - }, - { - "group": "github.com/go-logr", - "name": "logr", - "version": "v0.2.0", - "purl": "pkg:golang/github.com/go-logr/logr@v0.2.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/go-logr/logr@v0.2.0" - }, - { - "group": "golang.org/x", - "name": "mod", - "version": "v0.6.0-dev.0.20220106191415-9b9b3d81d5e3", - "purl": "pkg:golang/golang.org/x/mod@v0.6.0-dev.0.20220106191415-9b9b3d81d5e3", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/mod@v0.6.0-dev.0.20220106191415-9b9b3d81d5e3" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20220225172249-27dd8689420f", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20220225172249-27dd8689420f", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20220225172249-27dd8689420f" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20220319134239-a9b59b0215f8", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20220319134239-a9b59b0215f8", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20220319134239-a9b59b0215f8" - }, - { - "group": "golang.org/x", - "name": "text", - "version": "v0.3.7", - "purl": "pkg:golang/golang.org/x/text@v0.3.7", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/text@v0.3.7" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.1.10", - "purl": "pkg:golang/golang.org/x/tools@v0.1.10", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.1.10" - }, - { - "group": "gopkg.in", - "name": "yaml.v2", - "version": "v2.2.8", - "purl": "pkg:golang/gopkg.in/yaml.v2@v2.2.8", - "type": "library", - "bom-ref": "pkg:golang/gopkg.in/yaml.v2@v2.2.8" - }, - { - "group": "github.com/kr", - "name": "pretty", - "version": "v0.1.0", - "purl": "pkg:golang/github.com/kr/pretty@v0.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/kr/pretty@v0.1.0" - }, - { - "group": "github.com/mailru", - "name": "easyjson", - "version": "v0.0.0-20190614124828-94de47d64c63", - "purl": "pkg:golang/github.com/mailru/easyjson@v0.0.0-20190614124828-94de47d64c63", - "type": "library", - "bom-ref": "pkg:golang/github.com/mailru/easyjson@v0.0.0-20190614124828-94de47d64c63" - }, - { - "group": "gopkg.in", - "name": "check.v1", - "version": "v1.0.0-20180628173108-788fd7840127", - "purl": "pkg:golang/gopkg.in/check.v1@v1.0.0-20180628173108-788fd7840127", - "type": "library", - "bom-ref": "pkg:golang/gopkg.in/check.v1@v1.0.0-20180628173108-788fd7840127" - }, - { - "group": "gopkg.in", - "name": "yaml.v2", - "version": "v2.2.2", - "purl": "pkg:golang/gopkg.in/yaml.v2@v2.2.2", - "type": "library", - "bom-ref": "pkg:golang/gopkg.in/yaml.v2@v2.2.2" - }, - { - "group": "github.com/davecgh", - "name": "go-spew", - "version": "v1.1.0", - "purl": "pkg:golang/github.com/davecgh/go-spew@v1.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/davecgh/go-spew@v1.1.0" - }, - { - "group": "github.com/stretchr", - "name": "objx", - "version": "v0.1.0", - "purl": "pkg:golang/github.com/stretchr/objx@v0.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/stretchr/objx@v0.1.0" - }, - { - "group": "github.com/kr", - "name": "text", - "version": "v0.1.0", - "purl": "pkg:golang/github.com/kr/text@v0.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/kr/text@v0.1.0" - }, - { - "group": "gopkg.in", - "name": "yaml.v3", - "version": "v3.0.0-20200313102051-9f266ea9e77c", - "purl": "pkg:golang/gopkg.in/yaml.v3@v3.0.0-20200313102051-9f266ea9e77c", - "type": "library", - "bom-ref": "pkg:golang/gopkg.in/yaml.v3@v3.0.0-20200313102051-9f266ea9e77c" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20200619180055-7c47624df98f", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20200619180055-7c47624df98f", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200619180055-7c47624df98f" - }, - { - "group": "github.com/yuin", - "name": "goldmark", - "version": "v1.2.1", - "purl": "pkg:golang/github.com/yuin/goldmark@v1.2.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/yuin/goldmark@v1.2.1" - }, - { - "group": "golang.org/x", - "name": "mod", - "version": "v0.3.0", - "purl": "pkg:golang/golang.org/x/mod@v0.3.0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/mod@v0.3.0" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20201021035429-f5854403a974", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20201021035429-f5854403a974", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20201021035429-f5854403a974" - }, - { - "group": "golang.org/x", - "name": "sync", - "version": "v0.0.0-20201020160332-67f06af15bc9", - "purl": "pkg:golang/golang.org/x/sync@v0.0.0-20201020160332-67f06af15bc9", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sync@v0.0.0-20201020160332-67f06af15bc9" - }, - { - "group": "golang.org/x", - "name": "xerrors", - "version": "v0.0.0-20191204190536-9bdfabe68543", - "purl": "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20190311183353-d8887717615a", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a" - }, - { - "group": "golang.org/x", - "name": "sync", - "version": "v0.0.0-20190423024810-112230192c58", - "purl": "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58" - }, - { - "group": "github.com/golang", - "name": "protobuf", - "version": "v1.4.1", - "purl": "pkg:golang/github.com/golang/protobuf@v1.4.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/protobuf@v1.4.1" - }, - { - "group": "golang.org/x", - "name": "lint", - "version": "v0.0.0-20190313153728-d0100b6bd8b3", - "purl": "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3" - }, - { - "group": "google.golang.org", - "name": "grpc", - "version": "v1.27.0", - "purl": "pkg:golang/google.golang.org/grpc@v1.27.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/grpc@v1.27.0" - }, - { - "group": "google.golang.org", - "name": "protobuf", - "version": "v1.24.0", - "purl": "pkg:golang/google.golang.org/protobuf@v1.24.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/protobuf@v1.24.0" - }, - { - "group": "cloud.google.com/go", - "name": "storage", - "version": "v1.10.0", - "purl": "pkg:golang/cloud.google.com/go/storage@v1.10.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/storage@v1.10.0" - }, - { - "group": "github.com/golang", - "name": "mock", - "version": "v1.4.4", - "purl": "pkg:golang/github.com/golang/mock@v1.4.4", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/mock@v1.4.4" - }, - { - "group": "github.com/golang", - "name": "protobuf", - "version": "v1.4.2", - "purl": "pkg:golang/github.com/golang/protobuf@v1.4.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/protobuf@v1.4.2" - }, - { - "group": "github.com/google", - "name": "go-cmp", - "version": "v0.5.1", - "purl": "pkg:golang/github.com/google/go-cmp@v0.5.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/go-cmp@v0.5.1" - }, - { - "group": "github.com/google/martian", - "name": "v3", - "version": "v3.0.0", - "purl": "pkg:golang/github.com/google/martian/v3@v3.0.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/martian/v3@v3.0.0" - }, - { - "group": "github.com/google", - "name": "pprof", - "version": "v0.0.0-20200708004538-1a94d8640e99", - "purl": "pkg:golang/github.com/google/pprof@v0.0.0-20200708004538-1a94d8640e99", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/pprof@v0.0.0-20200708004538-1a94d8640e99" - }, - { - "group": "github.com/googleapis/gax-go", - "name": "v2", - "version": "v2.0.5", - "purl": "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "type": "library", - "bom-ref": "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5" - }, - { - "group": "github.com/jstemmer", - "name": "go-junit-report", - "version": "v0.9.1", - "purl": "pkg:golang/github.com/jstemmer/go-junit-report@v0.9.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/jstemmer/go-junit-report@v0.9.1" - }, - { - "name": "go.opencensus.io", - "version": "v0.22.4", - "purl": "pkg:golang/go.opencensus.io@v0.22.4", - "type": "library", - "bom-ref": "pkg:golang/go.opencensus.io@v0.22.4" - }, - { - "group": "golang.org/x", - "name": "lint", - "version": "v0.0.0-20200302205851-738671d3881b", - "purl": "pkg:golang/golang.org/x/lint@v0.0.0-20200302205851-738671d3881b", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/lint@v0.0.0-20200302205851-738671d3881b" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20200822124328-c89045814202", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20200822124328-c89045814202", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20200822124328-c89045814202" - }, - { - "group": "golang.org/x", - "name": "oauth2", - "version": "v0.0.0-20200107190931-bf48bf16ab8d", - "purl": "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d" - }, - { - "group": "golang.org/x", - "name": "text", - "version": "v0.3.3", - "purl": "pkg:golang/golang.org/x/text@v0.3.3", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/text@v0.3.3" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20200825202427-b303f430e36d", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20200825202427-b303f430e36d", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200825202427-b303f430e36d" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.30.0", - "purl": "pkg:golang/google.golang.org/api@v0.30.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.30.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20200825200019-8632dd797987", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20200825200019-8632dd797987", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200825200019-8632dd797987" - }, - { - "group": "google.golang.org", - "name": "grpc", - "version": "v1.31.0", - "purl": "pkg:golang/google.golang.org/grpc@v1.31.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/grpc@v1.31.0" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20211216021012-1d35b9e2eb4e", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20211216021012-1d35b9e2eb4e", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20211216021012-1d35b9e2eb4e" - }, - { - "group": "golang.org/x", - "name": "term", - "version": "v0.0.0-20210927222741-03fcf44c2211", - "purl": "pkg:golang/golang.org/x/term@v0.0.0-20210927222741-03fcf44c2211", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/term@v0.0.0-20210927222741-03fcf44c2211" - }, - { - "group": "golang.org/x", - "name": "crypto", - "version": "v0.0.0-20190308221718-c2843e01d9a2", - "purl": "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20190215142949-d0b11bdaac8a", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a" - }, - { - "group": "golang.org/x", - "name": "text", - "version": "v0.3.0", - "purl": "pkg:golang/golang.org/x/text@v0.3.0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/text@v0.3.0" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20180917221912-90fa682c2a6e", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20180917221912-90fa682c2a6e", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20180917221912-90fa682c2a6e" - }, - { - "group": "google.golang.org", - "name": "protobuf", - "version": "v1.26.0-rc.1", - "purl": "pkg:golang/google.golang.org/protobuf@v1.26.0-rc.1", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/protobuf@v1.26.0-rc.1" - }, - { - "group": "github.com/kr", - "name": "pty", - "version": "v1.1.1", - "purl": "pkg:golang/github.com/kr/pty@v1.1.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/kr/pty@v1.1.1" - }, - { - "group": "github.com/yuin", - "name": "goldmark", - "version": "v1.1.27", - "purl": "pkg:golang/github.com/yuin/goldmark@v1.1.27", - "type": "library", - "bom-ref": "pkg:golang/github.com/yuin/goldmark@v1.1.27" - }, - { - "group": "golang.org/x", - "name": "mod", - "version": "v0.2.0", - "purl": "pkg:golang/golang.org/x/mod@v0.2.0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/mod@v0.2.0" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20200226121028-0de0cce0169b", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20200226121028-0de0cce0169b", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20200226121028-0de0cce0169b" - }, - { - "group": "golang.org/x", - "name": "sync", - "version": "v0.0.0-20190911185100-cd5d95a43a6e", - "purl": "pkg:golang/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e" - }, - { - "group": "golang.org/x", - "name": "crypto", - "version": "v0.0.0-20191011191535-87dc89f01550", - "purl": "pkg:golang/golang.org/x/crypto@v0.0.0-20191011191535-87dc89f01550", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20191011191535-87dc89f01550" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20191119224855-298f0cb1881e", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20191119224855-298f0cb1881e", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20191119224855-298f0cb1881e" - }, - { - "group": "golang.org/x", - "name": "xerrors", - "version": "v0.0.0-20191011141410-1b5146add898", - "purl": "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898" - }, - { - "group": "golang.org/x", - "name": "crypto", - "version": "v0.0.0-20200622213623-75b288015ac9", - "purl": "pkg:golang/golang.org/x/crypto@v0.0.0-20200622213623-75b288015ac9", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20200622213623-75b288015ac9" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20200930185726-fdedc70b468f", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20200930185726-fdedc70b468f", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200930185726-fdedc70b468f" - }, - { - "group": "github.com/google", - "name": "go-cmp", - "version": "v0.4.0", - "purl": "pkg:golang/github.com/google/go-cmp@v0.4.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/go-cmp@v0.4.0" - }, - { - "group": "google.golang.org", - "name": "protobuf", - "version": "v1.22.0", - "purl": "pkg:golang/google.golang.org/protobuf@v1.22.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/protobuf@v1.22.0" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20190311212946-11955173bddd", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20190311212946-11955173bddd", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190311212946-11955173bddd" - }, - { - "group": "github.com/envoyproxy", - "name": "go-control-plane", - "version": "v0.9.1-0.20191026205805-5f8ba28d4473", - "purl": "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.1-0.20191026205805-5f8ba28d4473", - "type": "library", - "bom-ref": "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.1-0.20191026205805-5f8ba28d4473" - }, - { - "group": "github.com/envoyproxy", - "name": "protoc-gen-validate", - "version": "v0.1.0", - "purl": "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0" - }, - { - "group": "github.com/golang", - "name": "glog", - "version": "v0.0.0-20160126235308-23def4e6c14b", - "purl": "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b" - }, - { - "group": "github.com/golang", - "name": "mock", - "version": "v1.1.1", - "purl": "pkg:golang/github.com/golang/mock@v1.1.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/mock@v1.1.1" - }, - { - "group": "github.com/golang", - "name": "protobuf", - "version": "v1.3.2", - "purl": "pkg:golang/github.com/golang/protobuf@v1.3.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/protobuf@v1.3.2" - }, - { - "group": "github.com/google", - "name": "go-cmp", - "version": "v0.2.0", - "purl": "pkg:golang/github.com/google/go-cmp@v0.2.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/go-cmp@v0.2.0" - }, - { - "group": "golang.org/x", - "name": "oauth2", - "version": "v0.0.0-20180821212333-d2e6202438be", - "purl": "pkg:golang/golang.org/x/oauth2@v0.0.0-20180821212333-d2e6202438be", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20180821212333-d2e6202438be" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20190819201941-24fa4b261c55", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20200526211855-cb27e3aa2013", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20200526211855-cb27e3aa2013", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200526211855-cb27e3aa2013" - }, - { - "group": "cloud.google.com", - "name": "go", - "version": "v0.57.0", - "purl": "pkg:golang/cloud.google.com/go@v0.57.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go@v0.57.0" - }, - { - "group": "cloud.google.com/go", - "name": "bigquery", - "version": "v1.8.0", - "purl": "pkg:golang/cloud.google.com/go/bigquery@v1.8.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/bigquery@v1.8.0" - }, - { - "group": "github.com/google", - "name": "go-cmp", - "version": "v0.4.1", - "purl": "pkg:golang/github.com/google/go-cmp@v0.4.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/go-cmp@v0.4.1" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20200520182314-0ba52f642ac2", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20200520182314-0ba52f642ac2", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20200520182314-0ba52f642ac2" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20200523222454-059865788121", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20200523222454-059865788121", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200523222454-059865788121" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20200618134242-20370b0cb4b2", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20200618134242-20370b0cb4b2", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200618134242-20370b0cb4b2" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.28.0", - "purl": "pkg:golang/google.golang.org/api@v0.28.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.28.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20200618031413-b414f8b61790", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20200618031413-b414f8b61790", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200618031413-b414f8b61790" - }, - { - "group": "google.golang.org", - "name": "grpc", - "version": "v1.29.1", - "purl": "pkg:golang/google.golang.org/grpc@v1.29.1", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/grpc@v1.29.1" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20190425150028-36563e24a262", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20190425150028-36563e24a262", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190425150028-36563e24a262" - }, - { - "group": "google.golang.org", - "name": "protobuf", - "version": "v1.23.0", - "purl": "pkg:golang/google.golang.org/protobuf@v1.23.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/protobuf@v1.23.0" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20190628185345-da137c7871d7", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20190628185345-da137c7871d7", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20190628185345-da137c7871d7" - }, - { - "group": "github.com/chzyer", - "name": "logex", - "version": "v1.1.10", - "purl": "pkg:golang/github.com/chzyer/logex@v1.1.10", - "type": "library", - "bom-ref": "pkg:golang/github.com/chzyer/logex@v1.1.10" - }, - { - "group": "github.com/chzyer", - "name": "readline", - "version": "v0.0.0-20180603132655-2972be24d48e", - "purl": "pkg:golang/github.com/chzyer/readline@v0.0.0-20180603132655-2972be24d48e", - "type": "library", - "bom-ref": "pkg:golang/github.com/chzyer/readline@v0.0.0-20180603132655-2972be24d48e" - }, - { - "group": "github.com/chzyer", - "name": "test", - "version": "v0.0.0-20180213035817-a1ea475d72b1", - "purl": "pkg:golang/github.com/chzyer/test@v0.0.0-20180213035817-a1ea475d72b1", - "type": "library", - "bom-ref": "pkg:golang/github.com/chzyer/test@v0.0.0-20180213035817-a1ea475d72b1" - }, - { - "group": "github.com/ianlancetaylor", - "name": "demangle", - "version": "v0.0.0-20181102032728-5e5cf60278f6", - "purl": "pkg:golang/github.com/ianlancetaylor/demangle@v0.0.0-20181102032728-5e5cf60278f6", - "type": "library", - "bom-ref": "pkg:golang/github.com/ianlancetaylor/demangle@v0.0.0-20181102032728-5e5cf60278f6" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20191204072324-ce4227a45e2e", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20191204072324-ce4227a45e2e", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20191204072324-ce4227a45e2e" - }, - { - "group": "google.golang.org", - "name": "grpc", - "version": "v1.19.0", - "purl": "pkg:golang/google.golang.org/grpc@v1.19.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/grpc@v1.19.0" - }, - { - "group": "github.com/golang", - "name": "groupcache", - "version": "v0.0.0-20190702054246-869f871628b6", - "purl": "pkg:golang/github.com/golang/groupcache@v0.0.0-20190702054246-869f871628b6", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/groupcache@v0.0.0-20190702054246-869f871628b6" - }, - { - "group": "github.com/google", - "name": "go-cmp", - "version": "v0.3.0", - "purl": "pkg:golang/github.com/google/go-cmp@v0.3.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/go-cmp@v0.3.0" - }, - { - "group": "github.com/stretchr", - "name": "testify", - "version": "v1.4.0", - "purl": "pkg:golang/github.com/stretchr/testify@v1.4.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/stretchr/testify@v1.4.0" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20190620200207-3b0461eec859", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20190502145724-3ef323f4f1fd", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20190502145724-3ef323f4f1fd", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190502145724-3ef323f4f1fd" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20190425155659-357c62f0e4bb", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20190425155659-357c62f0e4bb", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20190425155659-357c62f0e4bb" - }, - { - "group": "google.golang.org", - "name": "grpc", - "version": "v1.20.1", - "purl": "pkg:golang/google.golang.org/grpc@v1.20.1", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/grpc@v1.20.1" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20200130002326-2f3ba24bd6e7", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20200130002326-2f3ba24bd6e7", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200130002326-2f3ba24bd6e7" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20200323222414-85ca7c5b95cd", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20200323222414-85ca7c5b95cd", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200323222414-85ca7c5b95cd" - }, - { - "group": "cloud.google.com", - "name": "go", - "version": "v0.34.0", - "purl": "pkg:golang/cloud.google.com/go@v0.34.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go@v0.34.0" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20190108225652-1e06a53dbb7e", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20190108225652-1e06a53dbb7e", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20190108225652-1e06a53dbb7e" - }, - { - "group": "golang.org/x", - "name": "sync", - "version": "v0.0.0-20181221193216-37e7f081c4d4", - "purl": "pkg:golang/golang.org/x/sync@v0.0.0-20181221193216-37e7f081c4d4", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sync@v0.0.0-20181221193216-37e7f081c4d4" - }, - { - "group": "google.golang.org", - "name": "appengine", - "version": "v1.4.0", - "purl": "pkg:golang/google.golang.org/appengine@v1.4.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/appengine@v1.4.0" - }, - { - "group": "github.com/yuin", - "name": "goldmark", - "version": "v1.1.32", - "purl": "pkg:golang/github.com/yuin/goldmark@v1.1.32", - "type": "library", - "bom-ref": "pkg:golang/github.com/yuin/goldmark@v1.1.32" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20200625001655-4c5254603344", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20200625001655-4c5254603344", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20200625001655-4c5254603344" - }, - { - "group": "golang.org/x", - "name": "sync", - "version": "v0.0.0-20200625203802-6e8e738ad208", - "purl": "pkg:golang/golang.org/x/sync@v0.0.0-20200625203802-6e8e738ad208", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sync@v0.0.0-20200625203802-6e8e738ad208" - }, - { - "group": "cloud.google.com", - "name": "go", - "version": "v0.62.0", - "purl": "pkg:golang/cloud.google.com/go@v0.62.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go@v0.62.0" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20200803210538-64077c9b5642", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20200803210538-64077c9b5642", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200803210538-64077c9b5642" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20200804011535-6c149bb5ef0d", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20200804011535-6c149bb5ef0d", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200804011535-6c149bb5ef0d" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20200804131852-c06518451d9c", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20200804131852-c06518451d9c", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200804131852-c06518451d9c" - }, - { - "group": "github.com/cncf/udpa", - "name": "go", - "version": "v0.0.0-20191209042840-269d4d468f6f", - "purl": "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20191209042840-269d4d468f6f", - "type": "library", - "bom-ref": "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20191209042840-269d4d468f6f" - }, - { - "group": "github.com/envoyproxy", - "name": "go-control-plane", - "version": "v0.9.4", - "purl": "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.4", - "type": "library", - "bom-ref": "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.4" - }, - { - "group": "github.com/golang", - "name": "protobuf", - "version": "v1.3.3", - "purl": "pkg:golang/github.com/golang/protobuf@v1.3.3", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/protobuf@v1.3.3" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20210615035016-665e8c7367d1", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20210615035016-665e8c7367d1", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20210615035016-665e8c7367d1" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20190404232315-eb5bcb51f2a3", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20190404232315-eb5bcb51f2a3", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20190404232315-eb5bcb51f2a3" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20190412213103-97732733099d", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20190412213103-97732733099d", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190412213103-97732733099d" - }, - { - "group": "golang.org/x", - "name": "xerrors", - "version": "v0.0.0-20190717185122-a985d3407aa7", - "purl": "pkg:golang/golang.org/x/xerrors@v0.0.0-20190717185122-a985d3407aa7", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/xerrors@v0.0.0-20190717185122-a985d3407aa7" - }, - { - "group": "github.com/golang", - "name": "protobuf", - "version": "v1.4.0", - "purl": "pkg:golang/github.com/golang/protobuf@v1.4.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/protobuf@v1.4.0" - }, - { - "group": "github.com/census-instrumentation", - "name": "opencensus-proto", - "version": "v0.2.1", - "purl": "pkg:golang/github.com/census-instrumentation/opencensus-proto@v0.2.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/census-instrumentation/opencensus-proto@v0.2.1" - }, - { - "group": "github.com/prometheus", - "name": "client_model", - "version": "v0.0.0-20190812154241-14fe0d1b01d4", - "purl": "pkg:golang/github.com/prometheus/client_model@v0.0.0-20190812154241-14fe0d1b01d4", - "type": "library", - "bom-ref": "pkg:golang/github.com/prometheus/client_model@v0.0.0-20190812154241-14fe0d1b01d4" - }, - { - "group": "google.golang.org", - "name": "grpc", - "version": "v1.23.0", - "purl": "pkg:golang/google.golang.org/grpc@v1.23.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/grpc@v1.23.0" - }, - { - "group": "golang.org/x", - "name": "exp", - "version": "v0.0.0-20190121172915-509febef88a4", - "purl": "pkg:golang/golang.org/x/exp@v0.0.0-20190121172915-509febef88a4", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/exp@v0.0.0-20190121172915-509febef88a4" - }, - { - "group": "golang.org/x", - "name": "lint", - "version": "v0.0.0-20190227174305-5b3e6a55c961", - "purl": "pkg:golang/golang.org/x/lint@v0.0.0-20190227174305-5b3e6a55c961", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/lint@v0.0.0-20190227174305-5b3e6a55c961" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20190226205152-f727befe758c", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20190226205152-f727befe758c", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190226205152-f727befe758c" - }, - { - "group": "honnef.co/go", - "name": "tools", - "version": "v0.0.0-20190102054323-c2f93a96b099", - "purl": "pkg:golang/honnef.co/go/tools@v0.0.0-20190102054323-c2f93a96b099", - "type": "library", - "bom-ref": "pkg:golang/honnef.co/go/tools@v0.0.0-20190102054323-c2f93a96b099" - }, - { - "group": "google.golang.org", - "name": "protobuf", - "version": "v1.23.1-0.20200526195155-81db48ad09cc", - "purl": "pkg:golang/google.golang.org/protobuf@v1.23.1-0.20200526195155-81db48ad09cc", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/protobuf@v1.23.1-0.20200526195155-81db48ad09cc" - }, - { - "group": "honnef.co/go", - "name": "tools", - "version": "v0.0.0-20190523083050-ea95bdfd59fc", - "purl": "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc", - "type": "library", - "bom-ref": "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc" - }, - { - "group": "cloud.google.com/go", - "name": "bigquery", - "version": "v1.4.0", - "purl": "pkg:golang/cloud.google.com/go/bigquery@v1.4.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/bigquery@v1.4.0" - }, - { - "group": "cloud.google.com/go", - "name": "datastore", - "version": "v1.1.0", - "purl": "pkg:golang/cloud.google.com/go/datastore@v1.1.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/datastore@v1.1.0" - }, - { - "group": "cloud.google.com/go", - "name": "pubsub", - "version": "v1.2.0", - "purl": "pkg:golang/cloud.google.com/go/pubsub@v1.2.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/pubsub@v1.2.0" - }, - { - "group": "cloud.google.com/go", - "name": "storage", - "version": "v1.6.0", - "purl": "pkg:golang/cloud.google.com/go/storage@v1.6.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/storage@v1.6.0" - }, - { - "group": "github.com/golang", - "name": "mock", - "version": "v1.4.3", - "purl": "pkg:golang/github.com/golang/mock@v1.4.3", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/mock@v1.4.3" - }, - { - "group": "github.com/google", - "name": "martian", - "version": "v2.1.0+incompatible", - "purl": "pkg:golang/github.com/google/martian@v2.1.0%2Bincompatible", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/martian@v2.1.0%2Bincompatible" - }, - { - "group": "github.com/google", - "name": "pprof", - "version": "v0.0.0-20200430221834-fc25d7d30c6d", - "purl": "pkg:golang/github.com/google/pprof@v0.0.0-20200430221834-fc25d7d30c6d", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/pprof@v0.0.0-20200430221834-fc25d7d30c6d" - }, - { - "name": "go.opencensus.io", - "version": "v0.22.3", - "purl": "pkg:golang/go.opencensus.io@v0.22.3", - "type": "library", - "bom-ref": "pkg:golang/go.opencensus.io@v0.22.3" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20200501053045-e0ff5e5a1de5", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20200501053045-e0ff5e5a1de5", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20200501053045-e0ff5e5a1de5" - }, - { - "group": "golang.org/x", - "name": "sync", - "version": "v0.0.0-20200317015054-43a5402ce75a", - "purl": "pkg:golang/golang.org/x/sync@v0.0.0-20200317015054-43a5402ce75a", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sync@v0.0.0-20200317015054-43a5402ce75a" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20200501052902-10377860bb8e", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20200501052902-10377860bb8e", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200501052902-10377860bb8e" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20200501065659-ab2804fb9c9d", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20200501065659-ab2804fb9c9d", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200501065659-ab2804fb9c9d" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.22.0", - "purl": "pkg:golang/google.golang.org/api@v0.22.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.22.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20200430143042-b979b6f78d84", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20200430143042-b979b6f78d84", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200430143042-b979b6f78d84" - }, - { - "group": "honnef.co/go", - "name": "tools", - "version": "v0.0.1-2020.1.3", - "purl": "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.3", - "type": "library", - "bom-ref": "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.3" - }, - { - "group": "cloud.google.com/go", - "name": "storage", - "version": "v1.8.0", - "purl": "pkg:golang/cloud.google.com/go/storage@v1.8.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/storage@v1.8.0" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20200513185701-a91f0712d120", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20200513185701-a91f0712d120", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20200513185701-a91f0712d120" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20200515095857-1151b9dac4a9", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20200515095857-1151b9dac4a9", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200515095857-1151b9dac4a9" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20200515010526-7d3b6ebf133d", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20200515010526-7d3b6ebf133d", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200515010526-7d3b6ebf133d" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.24.0", - "purl": "pkg:golang/google.golang.org/api@v0.24.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.24.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20200515170657-fc4c6c6a6587", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20200515170657-fc4c6c6a6587", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200515170657-fc4c6c6a6587" - }, - { - "group": "honnef.co/go", - "name": "tools", - "version": "v0.0.1-2020.1.4", - "purl": "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.4", - "type": "library", - "bom-ref": "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.4" - }, - { - "group": "cloud.google.com", - "name": "go", - "version": "v0.56.0", - "purl": "pkg:golang/cloud.google.com/go@v0.56.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go@v0.56.0" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20200331124033-c3d80250170d", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20200331124033-c3d80250170d", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200331124033-c3d80250170d" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20200331025713-a30bf2db82d4", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20200331025713-a30bf2db82d4", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200331025713-a30bf2db82d4" - }, - { - "group": "google.golang.org", - "name": "appengine", - "version": "v1.6.5", - "purl": "pkg:golang/google.golang.org/appengine@v1.6.5", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/appengine@v1.6.5" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20200331122359-1ee6d9798940", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20200331122359-1ee6d9798940", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200331122359-1ee6d9798940" - }, - { - "group": "google.golang.org", - "name": "grpc", - "version": "v1.28.0", - "purl": "pkg:golang/google.golang.org/grpc@v1.28.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/grpc@v1.28.0" - }, - { - "group": "cloud.google.com", - "name": "go", - "version": "v0.26.0", - "purl": "pkg:golang/cloud.google.com/go@v0.26.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go@v0.26.0" - }, - { - "group": "github.com/BurntSushi", - "name": "toml", - "version": "v0.3.1", - "purl": "pkg:golang/github.com/BurntSushi/toml@v0.3.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/BurntSushi/toml@v0.3.1" - }, - { - "group": "github.com/client9", - "name": "misspell", - "version": "v0.3.4", - "purl": "pkg:golang/github.com/client9/misspell@v0.3.4", - "type": "library", - "bom-ref": "pkg:golang/github.com/client9/misspell@v0.3.4" - }, - { - "group": "github.com/golang", - "name": "protobuf", - "version": "v1.2.0", - "purl": "pkg:golang/github.com/golang/protobuf@v1.2.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/protobuf@v1.2.0" - }, - { - "group": "golang.org/x", - "name": "lint", - "version": "v0.0.0-20181026193005-c67002cb31c3", - "purl": "pkg:golang/golang.org/x/lint@v0.0.0-20181026193005-c67002cb31c3", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/lint@v0.0.0-20181026193005-c67002cb31c3" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20180826012351-8a410e7b638d", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20180826012351-8a410e7b638d", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20180826012351-8a410e7b638d" - }, - { - "group": "golang.org/x", - "name": "sync", - "version": "v0.0.0-20180314180146-1d60e4601c6f", - "purl": "pkg:golang/golang.org/x/sync@v0.0.0-20180314180146-1d60e4601c6f", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sync@v0.0.0-20180314180146-1d60e4601c6f" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20180830151530-49385e6e1522", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20180830151530-49385e6e1522", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20180830151530-49385e6e1522" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20190114222345-bf090417da8b", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20190114222345-bf090417da8b", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190114222345-bf090417da8b" - }, - { - "group": "google.golang.org", - "name": "appengine", - "version": "v1.1.0", - "purl": "pkg:golang/google.golang.org/appengine@v1.1.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/appengine@v1.1.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20180817151627-c66870c02cf8", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20180817151627-c66870c02cf8", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20180817151627-c66870c02cf8" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20190213061140-3a22650c66bd", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20190213061140-3a22650c66bd", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20190213061140-3a22650c66bd" - }, - { - "group": "golang.org/x", - "name": "sync", - "version": "v0.0.0-20190227155943-e225da77a7e6", - "purl": "pkg:golang/golang.org/x/sync@v0.0.0-20190227155943-e225da77a7e6", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sync@v0.0.0-20190227155943-e225da77a7e6" - }, - { - "group": "golang.org/x", - "name": "mod", - "version": "v0.1.1-0.20191105210325-c90efee705ee", - "purl": "pkg:golang/golang.org/x/mod@v0.1.1-0.20191105210325-c90efee705ee", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/mod@v0.1.1-0.20191105210325-c90efee705ee" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20180724234803-3673e40ba225", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20180724234803-3673e40ba225", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20180724234803-3673e40ba225" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20200707034311-ab3426394381", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20200707034311-ab3426394381", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20200707034311-ab3426394381" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20200729194436-6467de6f59a7", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20200729194436-6467de6f59a7", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200729194436-6467de6f59a7" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.29.0", - "purl": "pkg:golang/google.golang.org/api@v0.29.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.29.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20200729003335-053ba62fc06f", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20200729003335-053ba62fc06f", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200729003335-053ba62fc06f" - }, - { - "group": "google.golang.org", - "name": "grpc", - "version": "v1.30.0", - "purl": "pkg:golang/google.golang.org/grpc@v1.30.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/grpc@v1.30.0" - }, - { - "group": "google.golang.org", - "name": "protobuf", - "version": "v1.25.0", - "purl": "pkg:golang/google.golang.org/protobuf@v1.25.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/protobuf@v1.25.0" - }, - { - "group": "google.golang.org", - "name": "grpc", - "version": "v1.25.1", - "purl": "pkg:golang/google.golang.org/grpc@v1.25.1", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/grpc@v1.25.1" - }, - { - "group": "google.golang.org", - "name": "protobuf", - "version": "v1.21.0", - "purl": "pkg:golang/google.golang.org/protobuf@v1.21.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/protobuf@v1.21.0" - }, - { - "group": "golang.org/x", - "name": "sync", - "version": "v0.0.0-20181108010431-42b317875d0f", - "purl": "pkg:golang/golang.org/x/sync@v0.0.0-20181108010431-42b317875d0f", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sync@v0.0.0-20181108010431-42b317875d0f" - }, - { - "group": "cloud.google.com", - "name": "go", - "version": "v0.52.0", - "purl": "pkg:golang/cloud.google.com/go@v0.52.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go@v0.52.0" - }, - { - "group": "cloud.google.com/go", - "name": "storage", - "version": "v1.5.0", - "purl": "pkg:golang/cloud.google.com/go/storage@v1.5.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/storage@v1.5.0" - }, - { - "group": "github.com/golang", - "name": "groupcache", - "version": "v0.0.0-20200121045136-8c9f03a8e57e", - "purl": "pkg:golang/github.com/golang/groupcache@v0.0.0-20200121045136-8c9f03a8e57e", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/groupcache@v0.0.0-20200121045136-8c9f03a8e57e" - }, - { - "group": "golang.org/x", - "name": "exp", - "version": "v0.0.0-20200119233911-0405dc783f0a", - "purl": "pkg:golang/golang.org/x/exp@v0.0.0-20200119233911-0405dc783f0a", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/exp@v0.0.0-20200119233911-0405dc783f0a" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20200122134326-e047566fdf82", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20200122134326-e047566fdf82", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200122134326-e047566fdf82" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20200122220014-bf1340f18c4a", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20200122220014-bf1340f18c4a", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200122220014-bf1340f18c4a" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.15.0", - "purl": "pkg:golang/google.golang.org/api@v0.15.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.15.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20200122232147-0452cf42e150", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20200122232147-0452cf42e150", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200122232147-0452cf42e150" - }, - { - "group": "google.golang.org", - "name": "grpc", - "version": "v1.26.0", - "purl": "pkg:golang/google.golang.org/grpc@v1.26.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/grpc@v1.26.0" - }, - { - "group": "golang.org/x", - "name": "exp", - "version": "v0.0.0-20200207192155-f17229e696bd", - "purl": "pkg:golang/golang.org/x/exp@v0.0.0-20200207192155-f17229e696bd", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/exp@v0.0.0-20200207192155-f17229e696bd" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20200212091648-12a6c2dcc1e4", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20200212091648-12a6c2dcc1e4", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200212091648-12a6c2dcc1e4" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20200212150539-ea181f53ac56", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20200212150539-ea181f53ac56", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200212150539-ea181f53ac56" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.17.0", - "purl": "pkg:golang/google.golang.org/api@v0.17.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.17.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20200212174721-66ed5ce911ce", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20200212174721-66ed5ce911ce", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200212174721-66ed5ce911ce" - }, - { - "group": "google.golang.org", - "name": "grpc", - "version": "v1.27.1", - "purl": "pkg:golang/google.golang.org/grpc@v1.27.1", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/grpc@v1.27.1" - }, - { - "group": "golang.org/x", - "name": "lint", - "version": "v0.0.0-20200130185559-910be7a94367", - "purl": "pkg:golang/golang.org/x/lint@v0.0.0-20200130185559-910be7a94367", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/lint@v0.0.0-20200130185559-910be7a94367" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20200202094626-16171245cfb2", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20200202094626-16171245cfb2", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20200202094626-16171245cfb2" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20200202164722-d101bd2416d5", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20200202164722-d101bd2416d5", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200202164722-d101bd2416d5" - }, - { - "group": "golang.org/x", - "name": "time", - "version": "v0.0.0-20191024005414-555d28b269f0", - "purl": "pkg:golang/golang.org/x/time@v0.0.0-20191024005414-555d28b269f0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/time@v0.0.0-20191024005414-555d28b269f0" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20200204074204-1cc6d1ef6c74", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20200204074204-1cc6d1ef6c74", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200204074204-1cc6d1ef6c74" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20200204135345-fa8e72b47b90", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20200204135345-fa8e72b47b90", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200204135345-fa8e72b47b90" - }, - { - "group": "cloud.google.com", - "name": "go", - "version": "v0.53.0", - "purl": "pkg:golang/cloud.google.com/go@v0.53.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go@v0.53.0" - }, - { - "group": "golang.org/x", - "name": "exp", - "version": "v0.0.0-20200224162631-6cc2880d07d6", - "purl": "pkg:golang/golang.org/x/exp@v0.0.0-20200224162631-6cc2880d07d6", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/exp@v0.0.0-20200224162631-6cc2880d07d6" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20200222125558-5a598a2470a0", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20200222125558-5a598a2470a0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20200222125558-5a598a2470a0" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20200223170610-d5e6a3e2c0ae", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20200223170610-d5e6a3e2c0ae", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200223170610-d5e6a3e2c0ae" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20200224181240-023911ca70b2", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20200224181240-023911ca70b2", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200224181240-023911ca70b2" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.18.0", - "purl": "pkg:golang/google.golang.org/api@v0.18.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.18.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20200224152610-e50cd9704f63", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20200224152610-e50cd9704f63", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200224152610-e50cd9704f63" - }, - { - "group": "rsc.io/quote", - "name": "v3", - "version": "v3.1.0", - "purl": "pkg:golang/rsc.io/quote/v3@v3.1.0", - "type": "library", - "bom-ref": "pkg:golang/rsc.io/quote/v3@v3.1.0" - }, - { - "group": "cloud.google.com", - "name": "go", - "version": "v0.38.0", - "purl": "pkg:golang/cloud.google.com/go@v0.38.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go@v0.38.0" - }, - { - "group": "github.com/hashicorp", - "name": "golang-lru", - "version": "v0.5.1", - "purl": "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1" - }, - { - "name": "go.opencensus.io", - "version": "v0.21.0", - "purl": "pkg:golang/go.opencensus.io@v0.21.0", - "type": "library", - "bom-ref": "pkg:golang/go.opencensus.io@v0.21.0" - }, - { - "group": "golang.org/x", - "name": "lint", - "version": "v0.0.0-20190409202823-959b441ac422", - "purl": "pkg:golang/golang.org/x/lint@v0.0.0-20190409202823-959b441ac422", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/lint@v0.0.0-20190409202823-959b441ac422" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20190503192946-f4e77d36d62c", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20190503192946-f4e77d36d62c", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20190503192946-f4e77d36d62c" - }, - { - "group": "golang.org/x", - "name": "oauth2", - "version": "v0.0.0-20190604053449-0f29369cfe45", - "purl": "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20190507160741-ecd444e8653b", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20190507160741-ecd444e8653b", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190507160741-ecd444e8653b" - }, - { - "group": "google.golang.org", - "name": "appengine", - "version": "v1.5.0", - "purl": "pkg:golang/google.golang.org/appengine@v1.5.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/appengine@v1.5.0" - }, - { - "group": "github.com/google", - "name": "renameio", - "version": "v0.1.0", - "purl": "pkg:golang/github.com/google/renameio@v0.1.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/renameio@v0.1.0" - }, - { - "group": "github.com/rogpeppe", - "name": "go-internal", - "version": "v1.3.0", - "purl": "pkg:golang/github.com/rogpeppe/go-internal@v1.3.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/rogpeppe/go-internal@v1.3.0" - }, - { - "group": "golang.org/x", - "name": "mod", - "version": "v0.0.0-20190513183733-4bf6d317e70e", - "purl": "pkg:golang/golang.org/x/mod@v0.0.0-20190513183733-4bf6d317e70e", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/mod@v0.0.0-20190513183733-4bf6d317e70e" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20191130070609-6e064ea0cf2d", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20191130070609-6e064ea0cf2d", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20191130070609-6e064ea0cf2d" - }, - { - "group": "cloud.google.com/go", - "name": "bigquery", - "version": "v1.7.0", - "purl": "pkg:golang/cloud.google.com/go/bigquery@v1.7.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/bigquery@v1.7.0" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20200506145744-7e3656a0809f", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20200506145744-7e3656a0809f", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20200506145744-7e3656a0809f" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20200511232937-7e40ca221e25", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20200511232937-7e40ca221e25", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200511232937-7e40ca221e25" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20200512131952-2bc93b1c0c88", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20200512131952-2bc93b1c0c88", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200512131952-2bc93b1c0c88" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20200511104702-f5ebc3bea380", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20200511104702-f5ebc3bea380", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200511104702-f5ebc3bea380" - }, - { - "group": "github.com/golang", - "name": "protobuf", - "version": "v1.3.5", - "purl": "pkg:golang/github.com/golang/protobuf@v1.3.5", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/protobuf@v1.3.5" - }, - { - "group": "github.com/google", - "name": "pprof", - "version": "v0.0.0-20200229191704-1ebb73c60ed3", - "purl": "pkg:golang/github.com/google/pprof@v0.0.0-20200229191704-1ebb73c60ed3", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/pprof@v0.0.0-20200229191704-1ebb73c60ed3" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20200324143707-d3edc9973b7e", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20200324143707-d3edc9973b7e", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20200324143707-d3edc9973b7e" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.20.0", - "purl": "pkg:golang/google.golang.org/api@v0.20.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.20.0" - }, - { - "group": "github.com/yuin", - "name": "goldmark", - "version": "v1.1.25", - "purl": "pkg:golang/github.com/yuin/goldmark@v1.1.25", - "type": "library", - "bom-ref": "pkg:golang/github.com/yuin/goldmark@v1.1.25" - }, - { - "group": "github.com/google", - "name": "go-cmp", - "version": "v0.5.0", - "purl": "pkg:golang/github.com/google/go-cmp@v0.5.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/go-cmp@v0.5.0" - }, - { - "group": "github.com/envoyproxy", - "name": "go-control-plane", - "version": "v0.9.0", - "purl": "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.0" - }, - { - "group": "github.com/golang", - "name": "protobuf", - "version": "v1.4.0-rc.4.0.20200313231945-b860323f09d0", - "purl": "pkg:golang/github.com/golang/protobuf@v1.4.0-rc.4.0.20200313231945-b860323f09d0", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/protobuf@v1.4.0-rc.4.0.20200313231945-b860323f09d0" - }, - { - "group": "cloud.google.com/go", - "name": "bigquery", - "version": "v1.0.1", - "purl": "pkg:golang/cloud.google.com/go/bigquery@v1.0.1", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/bigquery@v1.0.1" - }, - { - "group": "cloud.google.com/go", - "name": "datastore", - "version": "v1.0.0", - "purl": "pkg:golang/cloud.google.com/go/datastore@v1.0.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/datastore@v1.0.0" - }, - { - "group": "cloud.google.com/go", - "name": "pubsub", - "version": "v1.0.1", - "purl": "pkg:golang/cloud.google.com/go/pubsub@v1.0.1", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/pubsub@v1.0.1" - }, - { - "group": "cloud.google.com/go", - "name": "storage", - "version": "v1.0.0", - "purl": "pkg:golang/cloud.google.com/go/storage@v1.0.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/storage@v1.0.0" - }, - { - "group": "github.com/golang", - "name": "groupcache", - "version": "v0.0.0-20191227052852-215e87163ea7", - "purl": "pkg:golang/github.com/golang/groupcache@v0.0.0-20191227052852-215e87163ea7", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/groupcache@v0.0.0-20191227052852-215e87163ea7" - }, - { - "group": "github.com/golang", - "name": "mock", - "version": "v1.3.1", - "purl": "pkg:golang/github.com/golang/mock@v1.3.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/mock@v1.3.1" - }, - { - "group": "github.com/google", - "name": "pprof", - "version": "v0.0.0-20191218002539-d4f498aebedc", - "purl": "pkg:golang/github.com/google/pprof@v0.0.0-20191218002539-d4f498aebedc", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/pprof@v0.0.0-20191218002539-d4f498aebedc" - }, - { - "name": "go.opencensus.io", - "version": "v0.22.2", - "purl": "pkg:golang/go.opencensus.io@v0.22.2", - "type": "library", - "bom-ref": "pkg:golang/go.opencensus.io@v0.22.2" - }, - { - "group": "golang.org/x", - "name": "exp", - "version": "v0.0.0-20191227195350-da58074b4299", - "purl": "pkg:golang/golang.org/x/exp@v0.0.0-20191227195350-da58074b4299", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/exp@v0.0.0-20191227195350-da58074b4299" - }, - { - "group": "golang.org/x", - "name": "lint", - "version": "v0.0.0-20191125180803-fdd1cda4f05f", - "purl": "pkg:golang/golang.org/x/lint@v0.0.0-20191125180803-fdd1cda4f05f", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/lint@v0.0.0-20191125180803-fdd1cda4f05f" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20200114155413-6afb5195e5aa", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20200114155413-6afb5195e5aa", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20200114155413-6afb5195e5aa" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20200113162924-86b910548bc1", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20200113162924-86b910548bc1", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200113162924-86b910548bc1" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20200117161641-43d50277825c", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20200117161641-43d50277825c", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200117161641-43d50277825c" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20200115191322-ca5a22157cba", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20200115191322-ca5a22157cba", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200115191322-ca5a22157cba" - }, - { - "group": "honnef.co/go", - "name": "tools", - "version": "v0.0.1-2019.2.3", - "purl": "pkg:golang/honnef.co/go/tools@v0.0.1-2019.2.3", - "type": "library", - "bom-ref": "pkg:golang/honnef.co/go/tools@v0.0.1-2019.2.3" - }, - { - "group": "cloud.google.com", - "name": "go", - "version": "v0.50.0", - "purl": "pkg:golang/cloud.google.com/go@v0.50.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go@v0.50.0" - }, - { - "group": "cloud.google.com/go", - "name": "bigquery", - "version": "v1.3.0", - "purl": "pkg:golang/cloud.google.com/go/bigquery@v1.3.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/bigquery@v1.3.0" - }, - { - "group": "cloud.google.com/go", - "name": "pubsub", - "version": "v1.1.0", - "purl": "pkg:golang/cloud.google.com/go/pubsub@v1.1.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/pubsub@v1.1.0" - }, - { - "group": "github.com/google", - "name": "go-cmp", - "version": "v0.3.1", - "purl": "pkg:golang/github.com/google/go-cmp@v0.3.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/go-cmp@v0.3.1" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20191209160850-c0dbc17a3553", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20191209160850-c0dbc17a3553", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20191209160850-c0dbc17a3553" - }, - { - "group": "golang.org/x", - "name": "oauth2", - "version": "v0.0.0-20191202225959-858c2ad4c8b6", - "purl": "pkg:golang/golang.org/x/oauth2@v0.0.0-20191202225959-858c2ad4c8b6", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20191202225959-858c2ad4c8b6" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20191228213918-04cbcbbfeed8", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20191228213918-04cbcbbfeed8", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20191228213918-04cbcbbfeed8" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20191227053925-7b8e75db28f4", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20191227053925-7b8e75db28f4", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20191227053925-7b8e75db28f4" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20191230161307-f3c370f40bfb", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20191230161307-f3c370f40bfb", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20191230161307-f3c370f40bfb" - }, - { - "group": "dmitri.shuralyov.com/gpu", - "name": "mtl", - "version": "v0.0.0-20190408044501-666a987793e9", - "purl": "pkg:golang/dmitri.shuralyov.com/gpu/mtl@v0.0.0-20190408044501-666a987793e9", - "type": "library", - "bom-ref": "pkg:golang/dmitri.shuralyov.com/gpu/mtl@v0.0.0-20190408044501-666a987793e9" - }, - { - "group": "github.com/BurntSushi", - "name": "xgb", - "version": "v0.0.0-20160522181843-27f122750802", - "purl": "pkg:golang/github.com/BurntSushi/xgb@v0.0.0-20160522181843-27f122750802", - "type": "library", - "bom-ref": "pkg:golang/github.com/BurntSushi/xgb@v0.0.0-20160522181843-27f122750802" - }, - { - "group": "github.com/go-gl/glfw/v3.3", - "name": "glfw", - "version": "v0.0.0-20191125211704-12ad95a8df72", - "purl": "pkg:golang/github.com/go-gl/glfw/v3.3/glfw@v0.0.0-20191125211704-12ad95a8df72", - "type": "library", - "bom-ref": "pkg:golang/github.com/go-gl/glfw/v3.3/glfw@v0.0.0-20191125211704-12ad95a8df72" - }, - { - "group": "golang.org/x", - "name": "image", - "version": "v0.0.0-20190802002840-cff245a6509b", - "purl": "pkg:golang/golang.org/x/image@v0.0.0-20190802002840-cff245a6509b", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/image@v0.0.0-20190802002840-cff245a6509b" - }, - { - "group": "golang.org/x", - "name": "mobile", - "version": "v0.0.0-20190719004257-d2bd2a29d028", - "purl": "pkg:golang/golang.org/x/mobile@v0.0.0-20190719004257-d2bd2a29d028", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/mobile@v0.0.0-20190719004257-d2bd2a29d028" - }, - { - "group": "golang.org/x", - "name": "mod", - "version": "v0.1.0", - "purl": "pkg:golang/golang.org/x/mod@v0.1.0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/mod@v0.1.0" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20191012152004-8de300cfc20a", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20191012152004-8de300cfc20a", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20191012152004-8de300cfc20a" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20190506145303-2d16b83fe98c", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20190506145303-2d16b83fe98c", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190506145303-2d16b83fe98c" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20190502173448-54afdca5d873", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20190502173448-54afdca5d873", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20190502173448-54afdca5d873" - }, - { - "group": "honnef.co/go", - "name": "tools", - "version": "v0.0.0-20190418001031-e561f6794a2a", - "purl": "pkg:golang/honnef.co/go/tools@v0.0.0-20190418001031-e561f6794a2a", - "type": "library", - "bom-ref": "pkg:golang/honnef.co/go/tools@v0.0.0-20190418001031-e561f6794a2a" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20200207183749-b753a1ba74fa", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20200207183749-b753a1ba74fa", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200207183749-b753a1ba74fa" - }, - { - "group": "github.com/golang", - "name": "mock", - "version": "v1.4.0", - "purl": "pkg:golang/github.com/golang/mock@v1.4.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/mock@v1.4.0" - }, - { - "group": "github.com/google", - "name": "pprof", - "version": "v0.0.0-20200212024743-f11f1df84d12", - "purl": "pkg:golang/github.com/google/pprof@v0.0.0-20200212024743-f11f1df84d12", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/pprof@v0.0.0-20200212024743-f11f1df84d12" - }, - { - "group": "github.com/go-gl/glfw/v3.3", - "name": "glfw", - "version": "v0.0.0-20200222043503-6f7a984d4dc4", - "purl": "pkg:golang/github.com/go-gl/glfw/v3.3/glfw@v0.0.0-20200222043503-6f7a984d4dc4", - "type": "library", - "bom-ref": "pkg:golang/github.com/go-gl/glfw/v3.3/glfw@v0.0.0-20200222043503-6f7a984d4dc4" - }, - { - "group": "golang.org/x", - "name": "mod", - "version": "v0.1.1-0.20191107180719-034126e5016b", - "purl": "pkg:golang/golang.org/x/mod@v0.1.1-0.20191107180719-034126e5016b", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/mod@v0.1.1-0.20191107180719-034126e5016b" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20191001151750-bb3f8db39f24", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20191001151750-bb3f8db39f24", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20191001151750-bb3f8db39f24" - }, - { - "group": "rsc.io", - "name": "sampler", - "version": "v1.3.0", - "purl": "pkg:golang/rsc.io/sampler@v1.3.0", - "type": "library", - "bom-ref": "pkg:golang/rsc.io/sampler@v1.3.0" - }, - { - "group": "github.com/golang", - "name": "mock", - "version": "v1.2.0", - "purl": "pkg:golang/github.com/golang/mock@v1.2.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/mock@v1.2.0" - }, - { - "group": "github.com/google", - "name": "btree", - "version": "v0.0.0-20180813153112-4030bb1f1f0c", - "purl": "pkg:golang/github.com/google/btree@v0.0.0-20180813153112-4030bb1f1f0c", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/btree@v0.0.0-20180813153112-4030bb1f1f0c" - }, - { - "group": "github.com/google", - "name": "pprof", - "version": "v0.0.0-20181206194817-3ea8567a2e57", - "purl": "pkg:golang/github.com/google/pprof@v0.0.0-20181206194817-3ea8567a2e57", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/pprof@v0.0.0-20181206194817-3ea8567a2e57" - }, - { - "group": "github.com/googleapis/gax-go", - "name": "v2", - "version": "v2.0.4", - "purl": "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.4", - "type": "library", - "bom-ref": "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.4" - }, - { - "group": "github.com/jstemmer", - "name": "go-junit-report", - "version": "v0.0.0-20190106144839-af01ea7f8024", - "purl": "pkg:golang/github.com/jstemmer/go-junit-report@v0.0.0-20190106144839-af01ea7f8024", - "type": "library", - "bom-ref": "pkg:golang/github.com/jstemmer/go-junit-report@v0.0.0-20190106144839-af01ea7f8024" - }, - { - "group": "golang.org/x", - "name": "lint", - "version": "v0.0.0-20190301231843-5614ed5bae6f", - "purl": "pkg:golang/golang.org/x/lint@v0.0.0-20190301231843-5614ed5bae6f", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/lint@v0.0.0-20190301231843-5614ed5bae6f" - }, - { - "group": "golang.org/x", - "name": "oauth2", - "version": "v0.0.0-20190226205417-e64efc72b421", - "purl": "pkg:golang/golang.org/x/oauth2@v0.0.0-20190226205417-e64efc72b421", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20190226205417-e64efc72b421" - }, - { - "group": "golang.org/x", - "name": "text", - "version": "v0.3.1-0.20180807135948-17ff2d5776d2", - "purl": "pkg:golang/golang.org/x/text@v0.3.1-0.20180807135948-17ff2d5776d2", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/text@v0.3.1-0.20180807135948-17ff2d5776d2" - }, - { - "group": "golang.org/x", - "name": "time", - "version": "v0.0.0-20181108054448-85acf8d2951c", - "purl": "pkg:golang/golang.org/x/time@v0.0.0-20181108054448-85acf8d2951c", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/time@v0.0.0-20181108054448-85acf8d2951c" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20190312170243-e65039ee4138", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20190312170243-e65039ee4138", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190312170243-e65039ee4138" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.4.0", - "purl": "pkg:golang/google.golang.org/api@v0.4.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.4.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20190418145605-e7d98fc518a7", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20190418145605-e7d98fc518a7", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20190418145605-e7d98fc518a7" - }, - { - "group": "honnef.co/go", - "name": "tools", - "version": "v0.0.0-20190106161140-3f1c8253044a", - "purl": "pkg:golang/honnef.co/go/tools@v0.0.0-20190106161140-3f1c8253044a", - "type": "library", - "bom-ref": "pkg:golang/honnef.co/go/tools@v0.0.0-20190106161140-3f1c8253044a" - }, - { - "group": "github.com/hashicorp", - "name": "golang-lru", - "version": "v0.5.0", - "purl": "pkg:golang/github.com/hashicorp/golang-lru@v0.5.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/hashicorp/golang-lru@v0.5.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20190307195333-5fe7a883aa19", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20190307195333-5fe7a883aa19", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20190307195333-5fe7a883aa19" - }, - { - "group": "gopkg.in", - "name": "errgo.v2", - "version": "v2.1.0", - "purl": "pkg:golang/gopkg.in/errgo.v2@v2.1.0", - "type": "library", - "bom-ref": "pkg:golang/gopkg.in/errgo.v2@v2.1.0" - }, - { - "group": "golang.org/x", - "name": "crypto", - "version": "v0.0.0-20190510104115-cbcb75029529", - "purl": "pkg:golang/golang.org/x/crypto@v0.0.0-20190510104115-cbcb75029529", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20190510104115-cbcb75029529" - }, - { - "group": "cloud.google.com/go", - "name": "pubsub", - "version": "v1.3.1", - "purl": "pkg:golang/cloud.google.com/go/pubsub@v1.3.1", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/pubsub@v1.3.1" - }, - { - "group": "google.golang.org", - "name": "protobuf", - "version": "v1.20.1-0.20200309200217-e05f789c0967", - "purl": "pkg:golang/google.golang.org/protobuf@v1.20.1-0.20200309200217-e05f789c0967", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/protobuf@v1.20.1-0.20200309200217-e05f789c0967" - }, - { - "group": "cloud.google.com", - "name": "go", - "version": "v0.44.2", - "purl": "pkg:golang/cloud.google.com/go@v0.44.2", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go@v0.44.2" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.8.0", - "purl": "pkg:golang/google.golang.org/api@v0.8.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.8.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20190801165951-fa694d86fc64", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20190801165951-fa694d86fc64", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20190801165951-fa694d86fc64" - }, - { - "group": "google.golang.org", - "name": "grpc", - "version": "v1.21.1", - "purl": "pkg:golang/google.golang.org/grpc@v1.21.1", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/grpc@v1.21.1" - }, - { - "group": "cloud.google.com", - "name": "go", - "version": "v0.44.1", - "purl": "pkg:golang/cloud.google.com/go@v0.44.1", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go@v0.44.1" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20190624142023-c5567b49c5d0", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20190624142023-c5567b49c5d0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190624142023-c5567b49c5d0" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.7.0", - "purl": "pkg:golang/google.golang.org/api@v0.7.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.7.0" - }, - { - "group": "google.golang.org", - "name": "appengine", - "version": "v1.6.1", - "purl": "pkg:golang/google.golang.org/appengine@v1.6.1", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/appengine@v1.6.1" - }, - { - "group": "cloud.google.com", - "name": "go", - "version": "v0.45.1", - "purl": "pkg:golang/cloud.google.com/go@v0.45.1", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go@v0.45.1" - }, - { - "name": "go.opencensus.io", - "version": "v0.22.0", - "purl": "pkg:golang/go.opencensus.io@v0.22.0", - "type": "library", - "bom-ref": "pkg:golang/go.opencensus.io@v0.22.0" - }, - { - "group": "golang.org/x", - "name": "time", - "version": "v0.0.0-20190308202827-9d24e82272b4", - "purl": "pkg:golang/golang.org/x/time@v0.0.0-20190308202827-9d24e82272b4", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/time@v0.0.0-20190308202827-9d24e82272b4" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.9.0", - "purl": "pkg:golang/google.golang.org/api@v0.9.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.9.0" - }, - { - "group": "cloud.google.com", - "name": "go", - "version": "v0.46.3", - "purl": "pkg:golang/cloud.google.com/go@v0.46.3", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go@v0.46.3" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20190911173649-1774047e7e51", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20190911173649-1774047e7e51", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20190911173649-1774047e7e51" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20191125144606-a911d9008d1f", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20191125144606-a911d9008d1f", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20191125144606-a911d9008d1f" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20190621195816-6e04913cbbac", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20190621195816-6e04913cbbac", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190621195816-6e04913cbbac" - }, - { - "group": "github.com/google", - "name": "pprof", - "version": "v0.0.0-20190515194954-54271f7e092f", - "purl": "pkg:golang/github.com/google/pprof@v0.0.0-20190515194954-54271f7e092f", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/pprof@v0.0.0-20190515194954-54271f7e092f" - }, - { - "group": "golang.org/x", - "name": "exp", - "version": "v0.0.0-20191129062945-2f5052295587", - "purl": "pkg:golang/golang.org/x/exp@v0.0.0-20191129062945-2f5052295587", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/exp@v0.0.0-20191129062945-2f5052295587" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20190724013045-ca1201d0de80", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20190724013045-ca1201d0de80", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20190724013045-ca1201d0de80" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20190726091711-fc99dfbffb4e", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20190726091711-fc99dfbffb4e", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190726091711-fc99dfbffb4e" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20191216173652-a0e659d51361", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20191216173652-a0e659d51361", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20191216173652-a0e659d51361" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.14.0", - "purl": "pkg:golang/google.golang.org/api@v0.14.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.14.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20191216164720-4f79533eabd1", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20191216164720-4f79533eabd1", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20191216164720-4f79533eabd1" - }, - { - "group": "golang.org/x", - "name": "exp", - "version": "v0.0.0-20191030013958-a1ab85dbe136", - "purl": "pkg:golang/golang.org/x/exp@v0.0.0-20191030013958-a1ab85dbe136", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/exp@v0.0.0-20191030013958-a1ab85dbe136" - }, - { - "group": "golang.org/x", - "name": "lint", - "version": "v0.0.0-20190930215403-16217165b5de", - "purl": "pkg:golang/golang.org/x/lint@v0.0.0-20190930215403-16217165b5de", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/lint@v0.0.0-20190930215403-16217165b5de" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20191113191852-77e3bb0ad9e7", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20191113191852-77e3bb0ad9e7", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20191113191852-77e3bb0ad9e7" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.13.0", - "purl": "pkg:golang/google.golang.org/api@v0.13.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.13.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20191108220845-16a3f7862a1a", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20191108220845-16a3f7862a1a", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20191108220845-16a3f7862a1a" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20191115202509-3a792d9c32b2", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20191115202509-3a792d9c32b2", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20191115202509-3a792d9c32b2" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20191115194625-c23dd37a84c9", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20191115194625-c23dd37a84c9", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20191115194625-c23dd37a84c9" - }, - { - "group": "golang.org/x", - "name": "exp", - "version": "v0.0.0-20190306152737-a1d7652674e8", - "purl": "pkg:golang/golang.org/x/exp@v0.0.0-20190306152737-a1d7652674e8", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/exp@v0.0.0-20190306152737-a1d7652674e8" - }, - { - "group": "golang.org/x", - "name": "image", - "version": "v0.0.0-20190227222117-0694c2d4d067", - "purl": "pkg:golang/golang.org/x/image@v0.0.0-20190227222117-0694c2d4d067", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/image@v0.0.0-20190227222117-0694c2d4d067" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20190312061237-fead79001313", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20190312061237-fead79001313", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190312061237-fead79001313" - }, - { - "group": "golang.org/x", - "name": "text", - "version": "v0.0.0-20170915032832-14c0d48ead0c", - "purl": "pkg:golang/golang.org/x/text@v0.0.0-20170915032832-14c0d48ead0c", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/text@v0.0.0-20170915032832-14c0d48ead0c" - }, - { - "group": "cloud.google.com", - "name": "go", - "version": "v0.54.0", - "purl": "pkg:golang/cloud.google.com/go@v0.54.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go@v0.54.0" - }, - { - "group": "cloud.google.com/go", - "name": "bigquery", - "version": "v1.5.0", - "purl": "pkg:golang/cloud.google.com/go/bigquery@v1.5.0", - "type": "library", - "bom-ref": "pkg:golang/cloud.google.com/go/bigquery@v1.5.0" - }, - { - "group": "github.com/golang", - "name": "protobuf", - "version": "v1.3.4", - "purl": "pkg:golang/github.com/golang/protobuf@v1.3.4", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/protobuf@v1.3.4" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20200312045724-11d5b4c81c7d", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20200312045724-11d5b4c81c7d", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200312045724-11d5b4c81c7d" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20200312145019-da6875a35672", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20200312145019-da6875a35672", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200312145019-da6875a35672" - }, - { - "group": "github.com/golang", - "name": "protobuf", - "version": "v1.4.0-rc.2", - "purl": "pkg:golang/github.com/golang/protobuf@v1.4.0-rc.2", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/protobuf@v1.4.0-rc.2" - }, - { - "group": "github.com/google", - "name": "btree", - "version": "v1.0.0", - "purl": "pkg:golang/github.com/google/btree@v1.0.0", - "type": "library", - "bom-ref": "pkg:golang/github.com/google/btree@v1.0.0" - }, - { - "group": "golang.org/x", - "name": "exp", - "version": "v0.0.0-20190510132918-efd6b22b2522", - "purl": "pkg:golang/golang.org/x/exp@v0.0.0-20190510132918-efd6b22b2522", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/exp@v0.0.0-20190510132918-efd6b22b2522" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20190628153133-6cdbf07be9d0", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20190628153133-6cdbf07be9d0", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190628153133-6cdbf07be9d0" - }, - { - "group": "rsc.io", - "name": "binaryregexp", - "version": "v0.2.0", - "purl": "pkg:golang/rsc.io/binaryregexp@v0.2.0", - "type": "library", - "bom-ref": "pkg:golang/rsc.io/binaryregexp@v0.2.0" - }, - { - "group": "golang.org/x", - "name": "crypto", - "version": "v0.0.0-20190605123033-f99c8df09eb5", - "purl": "pkg:golang/golang.org/x/crypto@v0.0.0-20190605123033-f99c8df09eb5", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20190605123033-f99c8df09eb5" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20190606165138-5da285871e9c", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20190606165138-5da285871e9c", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190606165138-5da285871e9c" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20190606124116-d0a3d012864b", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20190606124116-d0a3d012864b", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190606124116-d0a3d012864b" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20190501004415-9ce7a6920f09", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20190501004415-9ce7a6920f09", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20190501004415-9ce7a6920f09" - }, - { - "group": "golang.org/x", - "name": "exp", - "version": "v0.0.0-20190829153037-c13cbed26979", - "purl": "pkg:golang/golang.org/x/exp@v0.0.0-20190829153037-c13cbed26979", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/exp@v0.0.0-20190829153037-c13cbed26979" - }, - { - "group": "golang.org/x", - "name": "lint", - "version": "v0.0.0-20190909230951-414d861bb4ac", - "purl": "pkg:golang/golang.org/x/lint@v0.0.0-20190909230951-414d861bb4ac", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/lint@v0.0.0-20190909230951-414d861bb4ac" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20190911174233-4f2ddba30aff", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20190911174233-4f2ddba30aff", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190911174233-4f2ddba30aff" - }, - { - "group": "github.com/go-gl", - "name": "glfw", - "version": "v0.0.0-20190409004039-e6da0acd62b1", - "purl": "pkg:golang/github.com/go-gl/glfw@v0.0.0-20190409004039-e6da0acd62b1", - "type": "library", - "bom-ref": "pkg:golang/github.com/go-gl/glfw@v0.0.0-20190409004039-e6da0acd62b1" - }, - { - "group": "github.com/golang", - "name": "mock", - "version": "v1.4.1", - "purl": "pkg:golang/github.com/golang/mock@v1.4.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/mock@v1.4.1" - }, - { - "group": "golang.org/x", - "name": "net", - "version": "v0.0.0-20200301022130-244492dfa37a", - "purl": "pkg:golang/golang.org/x/net@v0.0.0-20200301022130-244492dfa37a", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/net@v0.0.0-20200301022130-244492dfa37a" - }, - { - "group": "golang.org/x", - "name": "sys", - "version": "v0.0.0-20200302150141-5c8b2ff67527", - "purl": "pkg:golang/golang.org/x/sys@v0.0.0-20200302150141-5c8b2ff67527", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200302150141-5c8b2ff67527" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20200304193943-95d2e580d8eb", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20200304193943-95d2e580d8eb", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200304193943-95d2e580d8eb" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20200305110556-506484158171", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20200305110556-506484158171", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200305110556-506484158171" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20200227222343-706bc42d1f0d", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20200227222343-706bc42d1f0d", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200227222343-706bc42d1f0d" - }, - { - "group": "google.golang.org", - "name": "api", - "version": "v0.19.0", - "purl": "pkg:golang/google.golang.org/api@v0.19.0", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/api@v0.19.0" - }, - { - "group": "google.golang.org", - "name": "genproto", - "version": "v0.0.0-20200228133532-8c2c7df3a383", - "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20200228133532-8c2c7df3a383", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200228133532-8c2c7df3a383" - }, - { - "group": "google.golang.org", - "name": "protobuf", - "version": "v0.0.0-20200228230310-ab0ca4ff8a60", - "purl": "pkg:golang/google.golang.org/protobuf@v0.0.0-20200228230310-ab0ca4ff8a60", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/protobuf@v0.0.0-20200228230310-ab0ca4ff8a60" - }, - { - "group": "golang.org/x", - "name": "mobile", - "version": "v0.0.0-20190312151609-d3739f865fa6", - "purl": "pkg:golang/golang.org/x/mobile@v0.0.0-20190312151609-d3739f865fa6", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/mobile@v0.0.0-20190312151609-d3739f865fa6" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20190312151545-0bb0c0a6e846", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20190312151545-0bb0c0a6e846", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190312151545-0bb0c0a6e846" - }, - { - "group": "golang.org/x", - "name": "tools", - "version": "v0.0.0-20190816200558-6889da9d5479", - "purl": "pkg:golang/golang.org/x/tools@v0.0.0-20190816200558-6889da9d5479", - "type": "library", - "bom-ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190816200558-6889da9d5479" - }, - { - "group": "github.com/golang", - "name": "protobuf", - "version": "v1.4.0-rc.1.0.20200221234624-67d41d38c208", - "purl": "pkg:golang/github.com/golang/protobuf@v1.4.0-rc.1.0.20200221234624-67d41d38c208", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/protobuf@v1.4.0-rc.1.0.20200221234624-67d41d38c208" - }, - { - "group": "google.golang.org", - "name": "protobuf", - "version": "v0.0.0-20200221191635-4d8936d0db64", - "purl": "pkg:golang/google.golang.org/protobuf@v0.0.0-20200221191635-4d8936d0db64", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/protobuf@v0.0.0-20200221191635-4d8936d0db64" - }, - { - "group": "github.com/golang", - "name": "protobuf", - "version": "v1.4.0-rc.1", - "purl": "pkg:golang/github.com/golang/protobuf@v1.4.0-rc.1", - "type": "library", - "bom-ref": "pkg:golang/github.com/golang/protobuf@v1.4.0-rc.1" - }, - { - "group": "google.golang.org", - "name": "protobuf", - "version": "v0.0.0-20200109180630-ec00e32a8dfd", - "purl": "pkg:golang/google.golang.org/protobuf@v0.0.0-20200109180630-ec00e32a8dfd", - "type": "library", - "bom-ref": "pkg:golang/google.golang.org/protobuf@v0.0.0-20200109180630-ec00e32a8dfd" - } - ], - "dependencies": [ - { - "ref": "pkg:golang/github.com/RHEcosystemAppEng/SaaSi/deployer@v0.0.0", - "dependsOn": [ - "pkg:golang/github.com/davecgh/go-spew@v1.1.1", - "pkg:golang/github.com/emicklei/go-restful/v3@v3.9.0", - "pkg:golang/github.com/gin-gonic/gin@v1.9.1", - "pkg:golang/github.com/go-openapi/jsonpointer@v0.19.5", - "pkg:golang/github.com/go-openapi/jsonreference@v0.20.0", - "pkg:golang/github.com/go-openapi/swag@v0.19.14", - "pkg:golang/github.com/gogo/protobuf@v1.3.2", - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/github.com/google/go-cmp@v0.5.9", - "pkg:golang/github.com/google/gofuzz@v1.1.0", - "pkg:golang/github.com/google/uuid@v1.1.2", - "pkg:golang/github.com/imdario/mergo@v0.3.6", - "pkg:golang/github.com/josharian/intern@v1.0.0", - "pkg:golang/github.com/json-iterator/go@v1.1.12", - "pkg:golang/github.com/kr/pretty@v0.3.1", - "pkg:golang/github.com/kr/text@v0.2.0", - "pkg:golang/github.com/mailru/easyjson@v0.7.6", - "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd", - "pkg:golang/github.com/modern-go/reflect2@v1.0.2", - "pkg:golang/github.com/munnerz/goautoneg@v0.0.0-20191010083416-a7dc8b61c822", - "pkg:golang/github.com/rogpeppe/go-internal@v1.9.0", - "pkg:golang/github.com/spf13/pflag@v1.0.5", - "pkg:golang/golang.org/x/net@v0.10.0", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20220223155221-ee480838109b", - "pkg:golang/golang.org/x/sys@v0.8.0", - "pkg:golang/golang.org/x/term@v0.8.0", - "pkg:golang/golang.org/x/text@v0.9.0", - "pkg:golang/golang.org/x/time@v0.0.0-20220210224613-90d013bbcef8", - "pkg:golang/google.golang.org/appengine@v1.6.7", - "pkg:golang/google.golang.org/protobuf@v1.30.0", - "pkg:golang/gopkg.in/inf.v0@v0.9.1", - "pkg:golang/gopkg.in/yaml.v2@v2.4.0", - "pkg:golang/gopkg.in/yaml.v3@v3.0.1", - "pkg:golang/k8s.io/api@v0.26.1", - "pkg:golang/k8s.io/apimachinery@v0.26.1", - "pkg:golang/k8s.io/client-go@v0.26.1", - "pkg:golang/k8s.io/klog/v2@v2.80.1", - "pkg:golang/k8s.io/kube-openapi@v0.0.0-20221012153701-172d655c2280", - "pkg:golang/k8s.io/utils@v0.0.0-20221107191617-1a15be271d1d", - "pkg:golang/sigs.k8s.io/json@v0.0.0-20220713155537-f223a00ba0e2", - "pkg:golang/sigs.k8s.io/structured-merge-diff/v4@v4.2.3", - "pkg:golang/sigs.k8s.io/yaml@v1.3.0" - ] - }, - { - "ref": "pkg:golang/github.com/davecgh/go-spew@v1.1.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/emicklei/go-restful/v3@v3.9.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/gin-gonic/gin@v1.9.1", - "dependsOn": [ - "pkg:golang/github.com/bytedance/sonic@v1.9.1", - "pkg:golang/github.com/gin-contrib/sse@v0.1.0", - "pkg:golang/github.com/go-playground/validator/v10@v10.14.0", - "pkg:golang/github.com/goccy/go-json@v0.10.2", - "pkg:golang/github.com/json-iterator/go@v1.1.12", - "pkg:golang/github.com/mattn/go-isatty@v0.0.19", - "pkg:golang/github.com/pelletier/go-toml/v2@v2.0.8", - "pkg:golang/github.com/stretchr/testify@v1.8.3", - "pkg:golang/github.com/ugorji/go/codec@v1.2.11", - "pkg:golang/golang.org/x/net@v0.10.0", - "pkg:golang/google.golang.org/protobuf@v1.30.0", - "pkg:golang/gopkg.in/yaml.v3@v3.0.1", - "pkg:golang/github.com/chenzhuoyu/base64x@v0.0.0-20221115062448-fe3a3abad311", - "pkg:golang/github.com/davecgh/go-spew@v1.1.1", - "pkg:golang/github.com/gabriel-vasile/mimetype@v1.4.2", - "pkg:golang/github.com/go-playground/locales@v0.14.1", - "pkg:golang/github.com/go-playground/universal-translator@v0.18.1", - "pkg:golang/github.com/klauspost/cpuid/v2@v2.2.4", - "pkg:golang/github.com/leodido/go-urn@v1.2.4", - "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd", - "pkg:golang/github.com/modern-go/reflect2@v1.0.2", - "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", - "pkg:golang/github.com/twitchyliquid64/golang-asm@v0.15.1", - "pkg:golang/golang.org/x/arch@v0.3.0", - "pkg:golang/golang.org/x/crypto@v0.9.0", - "pkg:golang/golang.org/x/sys@v0.8.0", - "pkg:golang/golang.org/x/text@v0.9.0" - ] - }, - { - "ref": "pkg:golang/github.com/go-openapi/jsonpointer@v0.19.5", - "dependsOn": [ - "pkg:golang/github.com/go-openapi/swag@v0.19.5", - "pkg:golang/github.com/mailru/easyjson@v0.0.0-20190626092158-b2ccc519800e", - "pkg:golang/github.com/stretchr/testify@v1.3.0" - ] - }, - { - "ref": "pkg:golang/github.com/go-openapi/jsonreference@v0.20.0", - "dependsOn": [ - "pkg:golang/github.com/go-openapi/jsonpointer@v0.19.3", - "pkg:golang/github.com/stretchr/testify@v1.3.0" - ] - }, - { - "ref": "pkg:golang/github.com/go-openapi/swag@v0.19.14", - "dependsOn": [ - "pkg:golang/github.com/davecgh/go-spew@v1.1.1", - "pkg:golang/github.com/kr/text@v0.2.0", - "pkg:golang/github.com/mailru/easyjson@v0.7.6", - "pkg:golang/github.com/niemeyer/pretty@v0.0.0-20200227124842-a10e7caefd8e", - "pkg:golang/github.com/stretchr/testify@v1.6.1", - "pkg:golang/gopkg.in/check.v1@v1.0.0-20200227125254-8fa46927fb4f", - "pkg:golang/gopkg.in/yaml.v2@v2.4.0", - "pkg:golang/gopkg.in/yaml.v3@v3.0.0-20200615113413-eeeca48fe776" - ] - }, - { - "ref": "pkg:golang/github.com/gogo/protobuf@v1.3.2", - "dependsOn": [ - "pkg:golang/github.com/kisielk/errcheck@v1.5.0", - "pkg:golang/github.com/kisielk/gotool@v1.0.0", - "pkg:golang/golang.org/x/tools@v0.0.0-20210106214847-113979e3529a" - ] - }, - { - "ref": "pkg:golang/github.com/golang/protobuf@v1.5.2", - "dependsOn": [ - "pkg:golang/github.com/google/go-cmp@v0.5.5", - "pkg:golang/google.golang.org/protobuf@v1.26.0" - ] - }, - { - "ref": "pkg:golang/github.com/google/go-cmp@v0.5.9", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/google/gofuzz@v1.1.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/google/uuid@v1.1.2", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/imdario/mergo@v0.3.6", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/josharian/intern@v1.0.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/json-iterator/go@v1.1.12", - "dependsOn": [ - "pkg:golang/github.com/davecgh/go-spew@v1.1.1", - "pkg:golang/github.com/google/gofuzz@v1.0.0", - "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180228061459-e0a39a4cb421", - "pkg:golang/github.com/modern-go/reflect2@v1.0.2", - "pkg:golang/github.com/stretchr/testify@v1.3.0" - ] - }, - { - "ref": "pkg:golang/github.com/kr/pretty@v0.3.1", - "dependsOn": [ - "pkg:golang/github.com/kr/text@v0.2.0", - "pkg:golang/github.com/rogpeppe/go-internal@v1.9.0" - ] - }, - { - "ref": "pkg:golang/github.com/kr/text@v0.2.0", - "dependsOn": [ - "pkg:golang/github.com/creack/pty@v1.1.9" - ] - }, - { - "ref": "pkg:golang/github.com/mailru/easyjson@v0.7.6", - "dependsOn": [ - "pkg:golang/github.com/josharian/intern@v1.0.0" - ] - }, - { - "ref": "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/modern-go/reflect2@v1.0.2", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/munnerz/goautoneg@v0.0.0-20191010083416-a7dc8b61c822", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/rogpeppe/go-internal@v1.9.0", - "dependsOn": [ - "pkg:golang/github.com/pkg/diff@v0.0.0-20210226163009-20ebb0f2a09e" - ] - }, - { - "ref": "pkg:golang/github.com/spf13/pflag@v1.0.5", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.10.0", - "dependsOn": [ - "pkg:golang/golang.org/x/sys@v0.8.0", - "pkg:golang/golang.org/x/term@v0.8.0", - "pkg:golang/golang.org/x/text@v0.9.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20220223155221-ee480838109b", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.65.0", - "pkg:golang/golang.org/x/net@v0.0.0-20220127200216-cd36cc0744dd", - "pkg:golang/google.golang.org/appengine@v1.6.6" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.8.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/term@v0.8.0", - "dependsOn": [ - "pkg:golang/golang.org/x/sys@v0.8.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/text@v0.9.0", - "dependsOn": [ - "pkg:golang/golang.org/x/tools@v0.6.0", - "pkg:golang/golang.org/x/mod@v0.8.0", - "pkg:golang/golang.org/x/sys@v0.5.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/time@v0.0.0-20220210224613-90d013bbcef8", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/appengine@v1.6.7", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.1", - "pkg:golang/golang.org/x/net@v0.0.0-20190603091049-60506f45cf65", - "pkg:golang/golang.org/x/text@v0.3.2" - ] - }, - { - "ref": "pkg:golang/google.golang.org/protobuf@v1.30.0", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.5.0", - "pkg:golang/github.com/google/go-cmp@v0.5.5" - ] - }, - { - "ref": "pkg:golang/gopkg.in/inf.v0@v0.9.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/gopkg.in/yaml.v2@v2.4.0", - "dependsOn": [ - "pkg:golang/gopkg.in/check.v1@v0.0.0-20161208181325-20d25e280405" - ] - }, - { - "ref": "pkg:golang/gopkg.in/yaml.v3@v3.0.1", - "dependsOn": [ - "pkg:golang/gopkg.in/check.v1@v0.0.0-20161208181325-20d25e280405" - ] - }, - { - "ref": "pkg:golang/k8s.io/api@v0.26.1", - "dependsOn": [ - "pkg:golang/github.com/gogo/protobuf@v1.3.2", - "pkg:golang/github.com/stretchr/testify@v1.8.0", - "pkg:golang/k8s.io/apimachinery@v0.26.1", - "pkg:golang/github.com/davecgh/go-spew@v1.1.1", - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/github.com/google/go-cmp@v0.5.9", - "pkg:golang/github.com/google/gofuzz@v1.1.0", - "pkg:golang/github.com/json-iterator/go@v1.1.12", - "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd", - "pkg:golang/github.com/modern-go/reflect2@v1.0.2", - "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", - "pkg:golang/github.com/spf13/pflag@v1.0.5", - "pkg:golang/golang.org/x/net@v0.3.1-0.20221206200815-1e63c2f08a10", - "pkg:golang/golang.org/x/text@v0.5.0", - "pkg:golang/google.golang.org/protobuf@v1.28.1", - "pkg:golang/gopkg.in/inf.v0@v0.9.1", - "pkg:golang/gopkg.in/yaml.v2@v2.4.0", - "pkg:golang/gopkg.in/yaml.v3@v3.0.1", - "pkg:golang/k8s.io/klog/v2@v2.80.1", - "pkg:golang/k8s.io/utils@v0.0.0-20221107191617-1a15be271d1d", - "pkg:golang/sigs.k8s.io/json@v0.0.0-20220713155537-f223a00ba0e2", - "pkg:golang/sigs.k8s.io/structured-merge-diff/v4@v4.2.3", - "pkg:golang/sigs.k8s.io/yaml@v1.3.0" - ] - }, - { - "ref": "pkg:golang/k8s.io/apimachinery@v0.26.1", - "dependsOn": [ - "pkg:golang/github.com/armon/go-socks5@v0.0.0-20160902184237-e75332964ef5", - "pkg:golang/github.com/davecgh/go-spew@v1.1.1", - "pkg:golang/github.com/elazarl/goproxy@v0.0.0-20180725130230-947c36da3153", - "pkg:golang/github.com/evanphx/json-patch@v4.12.0%2Bincompatible", - "pkg:golang/github.com/gogo/protobuf@v1.3.2", - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/github.com/google/go-cmp@v0.5.9", - "pkg:golang/github.com/google/gofuzz@v1.1.0", - "pkg:golang/github.com/google/uuid@v1.1.2", - "pkg:golang/github.com/moby/spdystream@v0.2.0", - "pkg:golang/github.com/mxk/go-flowrate@v0.0.0-20140419014527-cca7078d478f", - "pkg:golang/github.com/spf13/pflag@v1.0.5", - "pkg:golang/github.com/stretchr/testify@v1.8.0", - "pkg:golang/golang.org/x/net@v0.3.1-0.20221206200815-1e63c2f08a10", - "pkg:golang/gopkg.in/inf.v0@v0.9.1", - "pkg:golang/k8s.io/klog/v2@v2.80.1", - "pkg:golang/k8s.io/kube-openapi@v0.0.0-20221012153701-172d655c2280", - "pkg:golang/k8s.io/utils@v0.0.0-20221107191617-1a15be271d1d", - "pkg:golang/sigs.k8s.io/json@v0.0.0-20220713155537-f223a00ba0e2", - "pkg:golang/sigs.k8s.io/structured-merge-diff/v4@v4.2.3", - "pkg:golang/sigs.k8s.io/yaml@v1.3.0", - "pkg:golang/github.com/json-iterator/go@v1.1.12", - "pkg:golang/github.com/kr/text@v0.2.0", - "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd", - "pkg:golang/github.com/modern-go/reflect2@v1.0.2", - "pkg:golang/github.com/niemeyer/pretty@v0.0.0-20200227124842-a10e7caefd8e", - "pkg:golang/github.com/onsi/ginkgo/v2@v2.4.0", - "pkg:golang/github.com/onsi/gomega@v1.23.0", - "pkg:golang/github.com/pkg/errors@v0.9.1", - "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", - "pkg:golang/golang.org/x/text@v0.5.0", - "pkg:golang/google.golang.org/protobuf@v1.28.1", - "pkg:golang/gopkg.in/check.v1@v1.0.0-20200227125254-8fa46927fb4f", - "pkg:golang/gopkg.in/yaml.v2@v2.4.0", - "pkg:golang/gopkg.in/yaml.v3@v3.0.1" - ] - }, - { - "ref": "pkg:golang/k8s.io/client-go@v0.26.1", - "dependsOn": [ - "pkg:golang/github.com/davecgh/go-spew@v1.1.1", - "pkg:golang/github.com/evanphx/json-patch@v4.12.0%2Bincompatible", - "pkg:golang/github.com/gogo/protobuf@v1.3.2", - "pkg:golang/github.com/golang/groupcache@v0.0.0-20210331224755-41bb18bfe9da", - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/github.com/google/go-cmp@v0.5.9", - "pkg:golang/github.com/google/gofuzz@v1.1.0", - "pkg:golang/github.com/google/uuid@v1.1.2", - "pkg:golang/github.com/gregjones/httpcache@v0.0.0-20180305231024-9cad4c3443a7", - "pkg:golang/github.com/imdario/mergo@v0.3.6", - "pkg:golang/github.com/peterbourgon/diskv@v2.0.1%2Bincompatible", - "pkg:golang/github.com/spf13/pflag@v1.0.5", - "pkg:golang/github.com/stretchr/testify@v1.8.0", - "pkg:golang/golang.org/x/net@v0.3.1-0.20221206200815-1e63c2f08a10", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20220223155221-ee480838109b", - "pkg:golang/golang.org/x/term@v0.3.0", - "pkg:golang/golang.org/x/time@v0.0.0-20220210224613-90d013bbcef8", - "pkg:golang/google.golang.org/protobuf@v1.28.1", - "pkg:golang/k8s.io/api@v0.26.1", - "pkg:golang/k8s.io/apimachinery@v0.26.1", - "pkg:golang/k8s.io/klog/v2@v2.80.1", - "pkg:golang/k8s.io/kube-openapi@v0.0.0-20221012153701-172d655c2280", - "pkg:golang/k8s.io/utils@v0.0.0-20221107191617-1a15be271d1d", - "pkg:golang/sigs.k8s.io/structured-merge-diff/v4@v4.2.3", - "pkg:golang/sigs.k8s.io/yaml@v1.3.0", - "pkg:golang/github.com/emicklei/go-restful/v3@v3.9.0", - "pkg:golang/github.com/go-openapi/jsonpointer@v0.19.5", - "pkg:golang/github.com/go-openapi/jsonreference@v0.20.0", - "pkg:golang/github.com/go-openapi/swag@v0.19.14", - "pkg:golang/github.com/google/btree@v1.0.1", - "pkg:golang/github.com/josharian/intern@v1.0.0", - "pkg:golang/github.com/json-iterator/go@v1.1.12", - "pkg:golang/github.com/mailru/easyjson@v0.7.6", - "pkg:golang/github.com/moby/spdystream@v0.2.0", - "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd", - "pkg:golang/github.com/modern-go/reflect2@v1.0.2", - "pkg:golang/github.com/munnerz/goautoneg@v0.0.0-20191010083416-a7dc8b61c822", - "pkg:golang/github.com/pkg/errors@v0.9.1", - "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", - "pkg:golang/golang.org/x/sys@v0.3.0", - "pkg:golang/golang.org/x/text@v0.5.0", - "pkg:golang/google.golang.org/appengine@v1.6.7", - "pkg:golang/gopkg.in/inf.v0@v0.9.1", - "pkg:golang/gopkg.in/yaml.v2@v2.4.0", - "pkg:golang/gopkg.in/yaml.v3@v3.0.1", - "pkg:golang/sigs.k8s.io/json@v0.0.0-20220713155537-f223a00ba0e2" - ] - }, - { - "ref": "pkg:golang/k8s.io/klog/v2@v2.80.1", - "dependsOn": [ - "pkg:golang/github.com/go-logr/logr@v1.2.0" - ] - }, - { - "ref": "pkg:golang/k8s.io/kube-openapi@v0.0.0-20221012153701-172d655c2280", - "dependsOn": [ - "pkg:golang/github.com/NYTimes/gziphandler@v0.0.0-20170623195520-56545f4a5d46", - "pkg:golang/github.com/asaskevich/govalidator@v0.0.0-20190424111038-f61b66f89f4a", - "pkg:golang/github.com/emicklei/go-restful/v3@v3.8.0", - "pkg:golang/github.com/go-openapi/jsonreference@v0.19.3", - "pkg:golang/github.com/go-openapi/swag@v0.19.5", - "pkg:golang/github.com/golang/protobuf@v1.5.2", - "pkg:golang/github.com/google/go-cmp@v0.5.5", - "pkg:golang/github.com/google/gofuzz@v1.1.0", - "pkg:golang/github.com/google/uuid@v1.1.2", - "pkg:golang/github.com/mitchellh/mapstructure@v1.1.2", - "pkg:golang/github.com/munnerz/goautoneg@v0.0.0-20120707110453-a547fc61f48d", - "pkg:golang/github.com/onsi/ginkgo/v2@v2.1.4", - "pkg:golang/github.com/onsi/gomega@v1.19.0", - "pkg:golang/github.com/spf13/pflag@v1.0.5", - "pkg:golang/github.com/stretchr/testify@v1.5.1", - "pkg:golang/google.golang.org/protobuf@v1.27.1", - "pkg:golang/gopkg.in/yaml.v2@v2.4.0", - "pkg:golang/gopkg.in/yaml.v3@v3.0.0-20210107192922-496545a6307b", - "pkg:golang/k8s.io/gengo@v0.0.0-20210813121822-485abfe95c7c", - "pkg:golang/k8s.io/klog/v2@v2.2.0", - "pkg:golang/k8s.io/utils@v0.0.0-20210802155522-efc7438f0176", - "pkg:golang/sigs.k8s.io/structured-merge-diff/v4@v4.2.3", - "pkg:golang/sigs.k8s.io/yaml@v1.2.0", - "pkg:golang/github.com/PuerkitoBio/purell@v1.1.1", - "pkg:golang/github.com/PuerkitoBio/urlesc@v0.0.0-20170810143723-de5bf2ad4578", - "pkg:golang/github.com/davecgh/go-spew@v1.1.1", - "pkg:golang/github.com/go-logr/logr@v0.2.0", - "pkg:golang/github.com/go-openapi/jsonpointer@v0.19.5", - "pkg:golang/github.com/json-iterator/go@v1.1.12", - "pkg:golang/github.com/mailru/easyjson@v0.0.0-20190626092158-b2ccc519800e", - "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd", - "pkg:golang/github.com/modern-go/reflect2@v1.0.2", - "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", - "pkg:golang/golang.org/x/mod@v0.6.0-dev.0.20220106191415-9b9b3d81d5e3", - "pkg:golang/golang.org/x/net@v0.0.0-20220225172249-27dd8689420f", - "pkg:golang/golang.org/x/sys@v0.0.0-20220319134239-a9b59b0215f8", - "pkg:golang/golang.org/x/text@v0.3.7", - "pkg:golang/golang.org/x/tools@v0.1.10", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1" - ] - }, - { - "ref": "pkg:golang/k8s.io/utils@v0.0.0-20221107191617-1a15be271d1d", - "dependsOn": [ - "pkg:golang/github.com/davecgh/go-spew@v1.1.1", - "pkg:golang/k8s.io/klog/v2@v2.80.1", - "pkg:golang/github.com/go-logr/logr@v1.2.0" - ] - }, - { - "ref": "pkg:golang/sigs.k8s.io/json@v0.0.0-20220713155537-f223a00ba0e2", - "dependsOn": [] - }, - { - "ref": "pkg:golang/sigs.k8s.io/structured-merge-diff/v4@v4.2.3", - "dependsOn": [ - "pkg:golang/gopkg.in/yaml.v2@v2.2.8", - "pkg:golang/github.com/google/gofuzz@v1.0.0", - "pkg:golang/github.com/json-iterator/go@v1.1.12", - "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd" - ] - }, - { - "ref": "pkg:golang/sigs.k8s.io/yaml@v1.3.0", - "dependsOn": [ - "pkg:golang/github.com/davecgh/go-spew@v1.1.1", - "pkg:golang/gopkg.in/yaml.v2@v2.4.0" - ] - }, - { - "ref": "pkg:golang/github.com/bytedance/sonic@v1.9.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/gin-contrib/sse@v0.1.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/go-playground/validator/v10@v10.14.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/goccy/go-json@v0.10.2", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/mattn/go-isatty@v0.0.19", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/pelletier/go-toml/v2@v2.0.8", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/stretchr/testify@v1.8.3", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/ugorji/go/codec@v1.2.11", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/chenzhuoyu/base64x@v0.0.0-20221115062448-fe3a3abad311", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/gabriel-vasile/mimetype@v1.4.2", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/go-playground/locales@v0.14.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/go-playground/universal-translator@v0.18.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/klauspost/cpuid/v2@v2.2.4", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/leodido/go-urn@v1.2.4", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/twitchyliquid64/golang-asm@v0.15.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/arch@v0.3.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/crypto@v0.9.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/go-openapi/swag@v0.19.5", - "dependsOn": [ - "pkg:golang/github.com/davecgh/go-spew@v1.1.1", - "pkg:golang/github.com/kr/pretty@v0.1.0", - "pkg:golang/github.com/mailru/easyjson@v0.0.0-20190614124828-94de47d64c63", - "pkg:golang/github.com/stretchr/testify@v1.3.0", - "pkg:golang/gopkg.in/check.v1@v1.0.0-20180628173108-788fd7840127", - "pkg:golang/gopkg.in/yaml.v2@v2.2.2" - ] - }, - { - "ref": "pkg:golang/github.com/mailru/easyjson@v0.0.0-20190626092158-b2ccc519800e", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/stretchr/testify@v1.3.0", - "dependsOn": [ - "pkg:golang/github.com/davecgh/go-spew@v1.1.0", - "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", - "pkg:golang/github.com/stretchr/objx@v0.1.0" - ] - }, - { - "ref": "pkg:golang/github.com/go-openapi/jsonpointer@v0.19.3", - "dependsOn": [ - "pkg:golang/github.com/go-openapi/swag@v0.19.5", - "pkg:golang/github.com/mailru/easyjson@v0.0.0-20190626092158-b2ccc519800e", - "pkg:golang/github.com/stretchr/testify@v1.3.0" - ] - }, - { - "ref": "pkg:golang/github.com/niemeyer/pretty@v0.0.0-20200227124842-a10e7caefd8e", - "dependsOn": [ - "pkg:golang/github.com/kr/text@v0.1.0" - ] - }, - { - "ref": "pkg:golang/github.com/stretchr/testify@v1.6.1", - "dependsOn": [ - "pkg:golang/github.com/davecgh/go-spew@v1.1.0", - "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", - "pkg:golang/github.com/stretchr/objx@v0.1.0", - "pkg:golang/gopkg.in/yaml.v3@v3.0.0-20200313102051-9f266ea9e77c" - ] - }, - { - "ref": "pkg:golang/gopkg.in/check.v1@v1.0.0-20200227125254-8fa46927fb4f", - "dependsOn": [] - }, - { - "ref": "pkg:golang/gopkg.in/yaml.v3@v3.0.0-20200615113413-eeeca48fe776", - "dependsOn": [ - "pkg:golang/gopkg.in/check.v1@v0.0.0-20161208181325-20d25e280405" - ] - }, - { - "ref": "pkg:golang/github.com/kisielk/errcheck@v1.5.0", - "dependsOn": [ - "pkg:golang/golang.org/x/tools@v0.0.0-20200619180055-7c47624df98f" - ] - }, - { - "ref": "pkg:golang/github.com/kisielk/gotool@v1.0.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20210106214847-113979e3529a", - "dependsOn": [ - "pkg:golang/github.com/yuin/goldmark@v1.2.1", - "pkg:golang/golang.org/x/mod@v0.3.0", - "pkg:golang/golang.org/x/net@v0.0.0-20201021035429-f5854403a974", - "pkg:golang/golang.org/x/sync@v0.0.0-20201020160332-67f06af15bc9", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1" - ] - }, - { - "ref": "pkg:golang/github.com/google/go-cmp@v0.5.5", - "dependsOn": [ - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543" - ] - }, - { - "ref": "pkg:golang/google.golang.org/protobuf@v1.26.0", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.5.0", - "pkg:golang/github.com/google/go-cmp@v0.5.5" - ] - }, - { - "ref": "pkg:golang/github.com/docopt/docopt-go@v0.0.0-20180111231733-ee0de3bc6815", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/kr/pretty@v0.2.0", - "dependsOn": [ - "pkg:golang/github.com/kr/text@v0.1.0" - ] - }, - { - "ref": "pkg:golang/github.com/stoewer/go-strcase@v1.2.0", - "dependsOn": [ - "pkg:golang/github.com/stretchr/testify@v1.5.1" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58" - ] - }, - { - "ref": "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20201019141844-1ed22bb0c154", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.4.1", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/google.golang.org/protobuf@v1.24.0" - ] - }, - { - "ref": "pkg:golang/gopkg.in/check.v1@v1.0.0-20190902080502-41f04d3bba15", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20210320140829-1e4c9ba3b0c4", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/google/gofuzz@v1.0.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180228061459-e0a39a4cb421", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/creack/pty@v1.1.9", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/pkg/diff@v0.0.0-20210226163009-20ebb0f2a09e", - "dependsOn": [] - }, - { - "ref": "pkg:golang/cloud.google.com/go@v0.65.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go/storage@v1.10.0", - "pkg:golang/github.com/golang/mock@v1.4.4", - "pkg:golang/github.com/golang/protobuf@v1.4.2", - "pkg:golang/github.com/google/go-cmp@v0.5.1", - "pkg:golang/github.com/google/martian/v3@v3.0.0", - "pkg:golang/github.com/google/pprof@v0.0.0-20200708004538-1a94d8640e99", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/jstemmer/go-junit-report@v0.9.1", - "pkg:golang/go.opencensus.io@v0.22.4", - "pkg:golang/golang.org/x/lint@v0.0.0-20200302205851-738671d3881b", - "pkg:golang/golang.org/x/net@v0.0.0-20200822124328-c89045814202", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "pkg:golang/golang.org/x/text@v0.3.3", - "pkg:golang/golang.org/x/tools@v0.0.0-20200825202427-b303f430e36d", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1", - "pkg:golang/google.golang.org/api@v0.30.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200825200019-8632dd797987", - "pkg:golang/google.golang.org/grpc@v1.31.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20220127200216-cd36cc0744dd", - "dependsOn": [ - "pkg:golang/golang.org/x/sys@v0.0.0-20211216021012-1d35b9e2eb4e", - "pkg:golang/golang.org/x/term@v0.0.0-20210927222741-03fcf44c2211", - "pkg:golang/golang.org/x/text@v0.3.7" - ] - }, - { - "ref": "pkg:golang/google.golang.org/appengine@v1.6.6", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.1", - "pkg:golang/golang.org/x/net@v0.0.0-20190603091049-60506f45cf65", - "pkg:golang/golang.org/x/text@v0.3.2" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.6.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/mod@v0.8.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.5.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/golang/protobuf@v1.3.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20190603091049-60506f45cf65", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/text@v0.3.2", - "dependsOn": [ - "pkg:golang/golang.org/x/tools@v0.0.0-20180917221912-90fa682c2a6e" - ] - }, - { - "ref": "pkg:golang/github.com/golang/protobuf@v1.5.0", - "dependsOn": [ - "pkg:golang/github.com/google/go-cmp@v0.5.5", - "pkg:golang/google.golang.org/protobuf@v1.26.0-rc.1" - ] - }, - { - "ref": "pkg:golang/gopkg.in/check.v1@v0.0.0-20161208181325-20d25e280405", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/stretchr/testify@v1.8.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.3.1-0.20221206200815-1e63c2f08a10", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/text@v0.5.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/protobuf@v1.28.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/armon/go-socks5@v0.0.0-20160902184237-e75332964ef5", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/elazarl/goproxy@v0.0.0-20180725130230-947c36da3153", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/evanphx/json-patch@v4.12.0%2Bincompatible", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/moby/spdystream@v0.2.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/mxk/go-flowrate@v0.0.0-20140419014527-cca7078d478f", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/onsi/ginkgo/v2@v2.4.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/onsi/gomega@v1.23.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/pkg/errors@v0.9.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/golang/groupcache@v0.0.0-20210331224755-41bb18bfe9da", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/gregjones/httpcache@v0.0.0-20180305231024-9cad4c3443a7", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/peterbourgon/diskv@v2.0.1%2Bincompatible", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/term@v0.3.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/google/btree@v1.0.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.3.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/go-logr/logr@v1.2.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/NYTimes/gziphandler@v0.0.0-20170623195520-56545f4a5d46", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/asaskevich/govalidator@v0.0.0-20190424111038-f61b66f89f4a", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/emicklei/go-restful/v3@v3.8.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/go-openapi/jsonreference@v0.19.3", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/mitchellh/mapstructure@v1.1.2", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/munnerz/goautoneg@v0.0.0-20120707110453-a547fc61f48d", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/onsi/ginkgo/v2@v2.1.4", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/onsi/gomega@v1.19.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/stretchr/testify@v1.5.1", - "dependsOn": [ - "pkg:golang/github.com/davecgh/go-spew@v1.1.0", - "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", - "pkg:golang/github.com/stretchr/objx@v0.1.0", - "pkg:golang/gopkg.in/yaml.v2@v2.2.2" - ] - }, - { - "ref": "pkg:golang/google.golang.org/protobuf@v1.27.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/gopkg.in/yaml.v3@v3.0.0-20210107192922-496545a6307b", - "dependsOn": [] - }, - { - "ref": "pkg:golang/k8s.io/gengo@v0.0.0-20210813121822-485abfe95c7c", - "dependsOn": [] - }, - { - "ref": "pkg:golang/k8s.io/klog/v2@v2.2.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/k8s.io/utils@v0.0.0-20210802155522-efc7438f0176", - "dependsOn": [] - }, - { - "ref": "pkg:golang/sigs.k8s.io/yaml@v1.2.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/PuerkitoBio/purell@v1.1.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/PuerkitoBio/urlesc@v0.0.0-20170810143723-de5bf2ad4578", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/go-logr/logr@v0.2.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/mod@v0.6.0-dev.0.20220106191415-9b9b3d81d5e3", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20220225172249-27dd8689420f", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20220319134239-a9b59b0215f8", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/text@v0.3.7", - "dependsOn": [ - "pkg:golang/golang.org/x/tools@v0.0.0-20180917221912-90fa682c2a6e" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.1.10", - "dependsOn": [] - }, - { - "ref": "pkg:golang/gopkg.in/yaml.v2@v2.2.8", - "dependsOn": [ - "pkg:golang/gopkg.in/check.v1@v0.0.0-20161208181325-20d25e280405" - ] - }, - { - "ref": "pkg:golang/github.com/kr/pretty@v0.1.0", - "dependsOn": [ - "pkg:golang/github.com/kr/text@v0.1.0" - ] - }, - { - "ref": "pkg:golang/github.com/mailru/easyjson@v0.0.0-20190614124828-94de47d64c63", - "dependsOn": [] - }, - { - "ref": "pkg:golang/gopkg.in/check.v1@v1.0.0-20180628173108-788fd7840127", - "dependsOn": [] - }, - { - "ref": "pkg:golang/gopkg.in/yaml.v2@v2.2.2", - "dependsOn": [ - "pkg:golang/gopkg.in/check.v1@v0.0.0-20161208181325-20d25e280405" - ] - }, - { - "ref": "pkg:golang/github.com/davecgh/go-spew@v1.1.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/stretchr/objx@v0.1.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/kr/text@v0.1.0", - "dependsOn": [ - "pkg:golang/github.com/kr/pty@v1.1.1" - ] - }, - { - "ref": "pkg:golang/gopkg.in/yaml.v3@v3.0.0-20200313102051-9f266ea9e77c", - "dependsOn": [ - "pkg:golang/gopkg.in/check.v1@v0.0.0-20161208181325-20d25e280405" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200619180055-7c47624df98f", - "dependsOn": [ - "pkg:golang/github.com/yuin/goldmark@v1.1.27", - "pkg:golang/golang.org/x/mod@v0.2.0", - "pkg:golang/golang.org/x/net@v0.0.0-20200226121028-0de0cce0169b", - "pkg:golang/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543" - ] - }, - { - "ref": "pkg:golang/github.com/yuin/goldmark@v1.2.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/mod@v0.3.0", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20191011191535-87dc89f01550", - "pkg:golang/golang.org/x/tools@v0.0.0-20191119224855-298f0cb1881e", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20201021035429-f5854403a974", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20200622213623-75b288015ac9", - "pkg:golang/golang.org/x/sys@v0.0.0-20200930185726-fdedc70b468f", - "pkg:golang/golang.org/x/text@v0.3.3" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sync@v0.0.0-20201020160332-67f06af15bc9", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/golang/protobuf@v1.4.1", - "dependsOn": [ - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/google.golang.org/protobuf@v1.22.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "dependsOn": [ - "pkg:golang/golang.org/x/tools@v0.0.0-20190311212946-11955173bddd" - ] - }, - { - "ref": "pkg:golang/google.golang.org/grpc@v1.27.0", - "dependsOn": [ - "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.1-0.20191026205805-5f8ba28d4473", - "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", - "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", - "pkg:golang/github.com/golang/mock@v1.1.1", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/google/go-cmp@v0.2.0", - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20180821212333-d2e6202438be", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55" - ] - }, - { - "ref": "pkg:golang/google.golang.org/protobuf@v1.24.0", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.4.1", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200526211855-cb27e3aa2013" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go/storage@v1.10.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.57.0", - "pkg:golang/cloud.google.com/go/bigquery@v1.8.0", - "pkg:golang/github.com/golang/protobuf@v1.4.2", - "pkg:golang/github.com/google/go-cmp@v0.4.1", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/golang.org/x/net@v0.0.0-20200520182314-0ba52f642ac2", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "pkg:golang/golang.org/x/sys@v0.0.0-20200523222454-059865788121", - "pkg:golang/golang.org/x/tools@v0.0.0-20200618134242-20370b0cb4b2", - "pkg:golang/google.golang.org/api@v0.28.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200618031413-b414f8b61790", - "pkg:golang/google.golang.org/grpc@v1.29.1" - ] - }, - { - "ref": "pkg:golang/github.com/golang/mock@v1.4.4", - "dependsOn": [ - "pkg:golang/golang.org/x/tools@v0.0.0-20190425150028-36563e24a262" - ] - }, - { - "ref": "pkg:golang/github.com/golang/protobuf@v1.4.2", - "dependsOn": [ - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/google.golang.org/protobuf@v1.23.0" - ] - }, - { - "ref": "pkg:golang/github.com/google/go-cmp@v0.5.1", - "dependsOn": [ - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543" - ] - }, - { - "ref": "pkg:golang/github.com/google/martian/v3@v3.0.0", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190628185345-da137c7871d7" - ] - }, - { - "ref": "pkg:golang/github.com/google/pprof@v0.0.0-20200708004538-1a94d8640e99", - "dependsOn": [ - "pkg:golang/github.com/chzyer/logex@v1.1.10", - "pkg:golang/github.com/chzyer/readline@v0.0.0-20180603132655-2972be24d48e", - "pkg:golang/github.com/chzyer/test@v0.0.0-20180213035817-a1ea475d72b1", - "pkg:golang/github.com/ianlancetaylor/demangle@v0.0.0-20181102032728-5e5cf60278f6", - "pkg:golang/golang.org/x/sys@v0.0.0-20191204072324-ce4227a45e2e" - ] - }, - { - "ref": "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "dependsOn": [ - "pkg:golang/google.golang.org/grpc@v1.19.0" - ] - }, - { - "ref": "pkg:golang/github.com/jstemmer/go-junit-report@v0.9.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/go.opencensus.io@v0.22.4", - "dependsOn": [ - "pkg:golang/github.com/golang/groupcache@v0.0.0-20190702054246-869f871628b6", - "pkg:golang/github.com/golang/protobuf@v1.3.1", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/stretchr/testify@v1.4.0", - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sys@v0.0.0-20190502145724-3ef323f4f1fd", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190425155659-357c62f0e4bb", - "pkg:golang/google.golang.org/grpc@v1.20.1" - ] - }, - { - "ref": "pkg:golang/golang.org/x/lint@v0.0.0-20200302205851-738671d3881b", - "dependsOn": [ - "pkg:golang/golang.org/x/tools@v0.0.0-20200130002326-2f3ba24bd6e7" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20200822124328-c89045814202", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20200622213623-75b288015ac9", - "pkg:golang/golang.org/x/sys@v0.0.0-20200323222414-85ca7c5b95cd", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.34.0", - "pkg:golang/golang.org/x/net@v0.0.0-20190108225652-1e06a53dbb7e", - "pkg:golang/golang.org/x/sync@v0.0.0-20181221193216-37e7f081c4d4", - "pkg:golang/google.golang.org/appengine@v1.4.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/text@v0.3.3", - "dependsOn": [ - "pkg:golang/golang.org/x/tools@v0.0.0-20180917221912-90fa682c2a6e" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200825202427-b303f430e36d", - "dependsOn": [ - "pkg:golang/github.com/yuin/goldmark@v1.1.32", - "pkg:golang/golang.org/x/mod@v0.3.0", - "pkg:golang/golang.org/x/net@v0.0.0-20200625001655-4c5254603344", - "pkg:golang/golang.org/x/sync@v0.0.0-20200625203802-6e8e738ad208", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543" - ] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.30.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.62.0", - "pkg:golang/github.com/google/go-cmp@v0.5.1", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/go.opencensus.io@v0.22.4", - "pkg:golang/golang.org/x/lint@v0.0.0-20200302205851-738671d3881b", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "pkg:golang/golang.org/x/sync@v0.0.0-20200625203802-6e8e738ad208", - "pkg:golang/golang.org/x/sys@v0.0.0-20200803210538-64077c9b5642", - "pkg:golang/golang.org/x/tools@v0.0.0-20200804011535-6c149bb5ef0d", - "pkg:golang/google.golang.org/appengine@v1.6.6", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200804131852-c06518451d9c", - "pkg:golang/google.golang.org/grpc@v1.31.0" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200825200019-8632dd797987", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.4.1", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/google.golang.org/protobuf@v1.24.0" - ] - }, - { - "ref": "pkg:golang/google.golang.org/grpc@v1.31.0", - "dependsOn": [ - "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20191209042840-269d4d468f6f", - "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.4", - "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", - "pkg:golang/github.com/golang/protobuf@v1.3.3", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20180821212333-d2e6202438be", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20211216021012-1d35b9e2eb4e", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/term@v0.0.0-20210927222741-03fcf44c2211", - "dependsOn": [ - "pkg:golang/golang.org/x/sys@v0.0.0-20210615035016-665e8c7367d1" - ] - }, - { - "ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "dependsOn": [ - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/text@v0.3.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20180917221912-90fa682c2a6e", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/protobuf@v1.26.0-rc.1", - "dependsOn": [ - "pkg:golang/github.com/google/go-cmp@v0.5.5" - ] - }, - { - "ref": "pkg:golang/github.com/kr/pty@v1.1.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/yuin/goldmark@v1.1.27", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/mod@v0.2.0", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20191011191535-87dc89f01550", - "pkg:golang/golang.org/x/tools@v0.0.0-20191119224855-298f0cb1881e", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20200226121028-0de0cce0169b", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20191011191535-87dc89f01550", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190404232315-eb5bcb51f2a3", - "pkg:golang/golang.org/x/sys@v0.0.0-20190412213103-97732733099d" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20191119224855-298f0cb1881e", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20190717185122-a985d3407aa7" - ] - }, - { - "ref": "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20200622213623-75b288015ac9", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190404232315-eb5bcb51f2a3", - "pkg:golang/golang.org/x/sys@v0.0.0-20190412213103-97732733099d" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200930185726-fdedc70b468f", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/google/go-cmp@v0.4.0", - "dependsOn": [ - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543" - ] - }, - { - "ref": "pkg:golang/google.golang.org/protobuf@v1.22.0", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.4.0", - "pkg:golang/github.com/google/go-cmp@v0.4.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190311212946-11955173bddd", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a" - ] - }, - { - "ref": "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.1-0.20191026205805-5f8ba28d4473", - "dependsOn": [ - "pkg:golang/github.com/census-instrumentation/opencensus-proto@v0.2.1", - "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/prometheus/client_model@v0.0.0-20190812154241-14fe0d1b01d4", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55", - "pkg:golang/google.golang.org/grpc@v1.23.0" - ] - }, - { - "ref": "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/golang/mock@v1.1.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/golang/protobuf@v1.3.2", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/google/go-cmp@v0.2.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20180821212333-d2e6202438be", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/golang.org/x/exp@v0.0.0-20190121172915-509febef88a4", - "pkg:golang/golang.org/x/lint@v0.0.0-20190227174305-5b3e6a55c961", - "pkg:golang/golang.org/x/tools@v0.0.0-20190226205152-f727befe758c", - "pkg:golang/google.golang.org/grpc@v1.19.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190102054323-c2f93a96b099" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200526211855-cb27e3aa2013", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.4.1", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/google.golang.org/protobuf@v1.23.1-0.20200526195155-81db48ad09cc", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go@v0.57.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go/bigquery@v1.4.0", - "pkg:golang/cloud.google.com/go/datastore@v1.1.0", - "pkg:golang/cloud.google.com/go/pubsub@v1.2.0", - "pkg:golang/cloud.google.com/go/storage@v1.6.0", - "pkg:golang/github.com/golang/mock@v1.4.3", - "pkg:golang/github.com/golang/protobuf@v1.4.0", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/github.com/google/martian@v2.1.0%2Bincompatible", - "pkg:golang/github.com/google/pprof@v0.0.0-20200430221834-fc25d7d30c6d", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/jstemmer/go-junit-report@v0.9.1", - "pkg:golang/go.opencensus.io@v0.22.3", - "pkg:golang/golang.org/x/lint@v0.0.0-20200302205851-738671d3881b", - "pkg:golang/golang.org/x/net@v0.0.0-20200501053045-e0ff5e5a1de5", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "pkg:golang/golang.org/x/sync@v0.0.0-20200317015054-43a5402ce75a", - "pkg:golang/golang.org/x/sys@v0.0.0-20200501052902-10377860bb8e", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/tools@v0.0.0-20200501065659-ab2804fb9c9d", - "pkg:golang/google.golang.org/api@v0.22.0", - "pkg:golang/google.golang.org/appengine@v1.6.6", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200430143042-b979b6f78d84", - "pkg:golang/google.golang.org/grpc@v1.29.1", - "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.3" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go/bigquery@v1.8.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.57.0", - "pkg:golang/cloud.google.com/go/storage@v1.8.0", - "pkg:golang/github.com/golang/protobuf@v1.4.2", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/golang.org/x/mod@v0.3.0", - "pkg:golang/golang.org/x/net@v0.0.0-20200513185701-a91f0712d120", - "pkg:golang/golang.org/x/sys@v0.0.0-20200515095857-1151b9dac4a9", - "pkg:golang/golang.org/x/tools@v0.0.0-20200515010526-7d3b6ebf133d", - "pkg:golang/google.golang.org/api@v0.24.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200515170657-fc4c6c6a6587", - "pkg:golang/google.golang.org/grpc@v1.29.1", - "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.4" - ] - }, - { - "ref": "pkg:golang/github.com/google/go-cmp@v0.4.1", - "dependsOn": [ - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20200520182314-0ba52f642ac2", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/sys@v0.0.0-20200323222414-85ca7c5b95cd", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200523222454-059865788121", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200618134242-20370b0cb4b2", - "dependsOn": [ - "pkg:golang/github.com/yuin/goldmark@v1.1.27", - "pkg:golang/golang.org/x/mod@v0.2.0", - "pkg:golang/golang.org/x/net@v0.0.0-20200226121028-0de0cce0169b", - "pkg:golang/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543" - ] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.28.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.56.0", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/go.opencensus.io@v0.22.3", - "pkg:golang/golang.org/x/lint@v0.0.0-20200302205851-738671d3881b", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "pkg:golang/golang.org/x/sync@v0.0.0-20200317015054-43a5402ce75a", - "pkg:golang/golang.org/x/sys@v0.0.0-20200331124033-c3d80250170d", - "pkg:golang/golang.org/x/tools@v0.0.0-20200331025713-a30bf2db82d4", - "pkg:golang/google.golang.org/appengine@v1.6.5", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200331122359-1ee6d9798940", - "pkg:golang/google.golang.org/grpc@v1.28.0", - "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.3" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200618031413-b414f8b61790", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.4.1", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/google.golang.org/protobuf@v1.24.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc" - ] - }, - { - "ref": "pkg:golang/google.golang.org/grpc@v1.29.1", - "dependsOn": [ - "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20191209042840-269d4d468f6f", - "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.4", - "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", - "pkg:golang/github.com/golang/mock@v1.1.1", - "pkg:golang/github.com/golang/protobuf@v1.3.3", - "pkg:golang/github.com/google/go-cmp@v0.2.0", - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20180821212333-d2e6202438be", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190425150028-36563e24a262", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58" - ] - }, - { - "ref": "pkg:golang/google.golang.org/protobuf@v1.23.0", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.4.0", - "pkg:golang/github.com/google/go-cmp@v0.4.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20190628185345-da137c7871d7", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/github.com/chzyer/logex@v1.1.10", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/chzyer/readline@v0.0.0-20180603132655-2972be24d48e", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/chzyer/test@v0.0.0-20180213035817-a1ea475d72b1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/ianlancetaylor/demangle@v0.0.0-20181102032728-5e5cf60278f6", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20191204072324-ce4227a45e2e", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/grpc@v1.19.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.26.0", - "pkg:golang/github.com/BurntSushi/toml@v0.3.1", - "pkg:golang/github.com/client9/misspell@v0.3.4", - "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", - "pkg:golang/github.com/golang/mock@v1.1.1", - "pkg:golang/github.com/golang/protobuf@v1.2.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20181026193005-c67002cb31c3", - "pkg:golang/golang.org/x/net@v0.0.0-20180826012351-8a410e7b638d", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20180821212333-d2e6202438be", - "pkg:golang/golang.org/x/sync@v0.0.0-20180314180146-1d60e4601c6f", - "pkg:golang/golang.org/x/sys@v0.0.0-20180830151530-49385e6e1522", - "pkg:golang/golang.org/x/text@v0.3.0", - "pkg:golang/golang.org/x/tools@v0.0.0-20190114222345-bf090417da8b", - "pkg:golang/google.golang.org/appengine@v1.1.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20180817151627-c66870c02cf8", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190102054323-c2f93a96b099" - ] - }, - { - "ref": "pkg:golang/github.com/golang/groupcache@v0.0.0-20190702054246-869f871628b6", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/google/go-cmp@v0.3.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/stretchr/testify@v1.4.0", - "dependsOn": [ - "pkg:golang/github.com/davecgh/go-spew@v1.1.0", - "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", - "pkg:golang/github.com/stretchr/objx@v0.1.0", - "pkg:golang/gopkg.in/yaml.v2@v2.2.2" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190502145724-3ef323f4f1fd", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20190425155659-357c62f0e4bb", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.2.0", - "pkg:golang/golang.org/x/exp@v0.0.0-20190121172915-509febef88a4", - "pkg:golang/golang.org/x/lint@v0.0.0-20190227174305-5b3e6a55c961", - "pkg:golang/golang.org/x/net@v0.0.0-20190213061140-3a22650c66bd", - "pkg:golang/golang.org/x/sync@v0.0.0-20190227155943-e225da77a7e6", - "pkg:golang/golang.org/x/tools@v0.0.0-20190226205152-f727befe758c", - "pkg:golang/google.golang.org/grpc@v1.19.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190102054323-c2f93a96b099" - ] - }, - { - "ref": "pkg:golang/google.golang.org/grpc@v1.20.1", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.26.0", - "pkg:golang/github.com/BurntSushi/toml@v0.3.1", - "pkg:golang/github.com/client9/misspell@v0.3.4", - "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", - "pkg:golang/github.com/golang/mock@v1.1.1", - "pkg:golang/github.com/golang/protobuf@v1.2.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20180821212333-d2e6202438be", - "pkg:golang/golang.org/x/sync@v0.0.0-20180314180146-1d60e4601c6f", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/golang.org/x/tools@v0.0.0-20190311212946-11955173bddd", - "pkg:golang/google.golang.org/appengine@v1.1.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20180817151627-c66870c02cf8", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190102054323-c2f93a96b099" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200130002326-2f3ba24bd6e7", - "dependsOn": [ - "pkg:golang/golang.org/x/mod@v0.1.1-0.20191105210325-c90efee705ee", - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200323222414-85ca7c5b95cd", - "dependsOn": [] - }, - { - "ref": "pkg:golang/cloud.google.com/go@v0.34.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20190108225652-1e06a53dbb7e", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/sync@v0.0.0-20181221193216-37e7f081c4d4", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/appengine@v1.4.0", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.2.0", - "pkg:golang/golang.org/x/net@v0.0.0-20180724234803-3673e40ba225", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/github.com/yuin/goldmark@v1.1.32", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20200625001655-4c5254603344", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20200622213623-75b288015ac9", - "pkg:golang/golang.org/x/sys@v0.0.0-20200323222414-85ca7c5b95cd", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sync@v0.0.0-20200625203802-6e8e738ad208", - "dependsOn": [] - }, - { - "ref": "pkg:golang/cloud.google.com/go@v0.62.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go/storage@v1.10.0", - "pkg:golang/github.com/golang/mock@v1.4.3", - "pkg:golang/github.com/golang/protobuf@v1.4.2", - "pkg:golang/github.com/google/go-cmp@v0.5.1", - "pkg:golang/github.com/google/martian/v3@v3.0.0", - "pkg:golang/github.com/google/pprof@v0.0.0-20200708004538-1a94d8640e99", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/jstemmer/go-junit-report@v0.9.1", - "pkg:golang/go.opencensus.io@v0.22.4", - "pkg:golang/golang.org/x/lint@v0.0.0-20200302205851-738671d3881b", - "pkg:golang/golang.org/x/net@v0.0.0-20200707034311-ab3426394381", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "pkg:golang/golang.org/x/text@v0.3.3", - "pkg:golang/golang.org/x/tools@v0.0.0-20200729194436-6467de6f59a7", - "pkg:golang/google.golang.org/api@v0.29.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200729003335-053ba62fc06f", - "pkg:golang/google.golang.org/grpc@v1.30.0", - "pkg:golang/google.golang.org/protobuf@v1.25.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200803210538-64077c9b5642", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200804011535-6c149bb5ef0d", - "dependsOn": [ - "pkg:golang/github.com/yuin/goldmark@v1.1.32", - "pkg:golang/golang.org/x/mod@v0.3.0", - "pkg:golang/golang.org/x/net@v0.0.0-20200625001655-4c5254603344", - "pkg:golang/golang.org/x/sync@v0.0.0-20200625203802-6e8e738ad208", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200804131852-c06518451d9c", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.4.1", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/google.golang.org/protobuf@v1.24.0" - ] - }, - { - "ref": "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20191209042840-269d4d468f6f", - "dependsOn": [ - "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/google.golang.org/grpc@v1.25.1" - ] - }, - { - "ref": "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.4", - "dependsOn": [ - "pkg:golang/github.com/census-instrumentation/opencensus-proto@v0.2.1", - "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20191209042840-269d4d468f6f", - "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/google/go-cmp@v0.2.0", - "pkg:golang/github.com/prometheus/client_model@v0.0.0-20190812154241-14fe0d1b01d4", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55", - "pkg:golang/google.golang.org/grpc@v1.25.1" - ] - }, - { - "ref": "pkg:golang/github.com/golang/protobuf@v1.3.3", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20210615035016-665e8c7367d1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20190404232315-eb5bcb51f2a3", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190412213103-97732733099d", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/xerrors@v0.0.0-20190717185122-a985d3407aa7", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/golang/protobuf@v1.4.0", - "dependsOn": [ - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/google.golang.org/protobuf@v1.21.0" - ] - }, - { - "ref": "pkg:golang/github.com/census-instrumentation/opencensus-proto@v0.2.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/prometheus/client_model@v0.0.0-20190812154241-14fe0d1b01d4", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.2.0", - "pkg:golang/golang.org/x/sync@v0.0.0-20181108010431-42b317875d0f" - ] - }, - { - "ref": "pkg:golang/google.golang.org/grpc@v1.23.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.26.0", - "pkg:golang/github.com/BurntSushi/toml@v0.3.1", - "pkg:golang/github.com/client9/misspell@v0.3.4", - "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", - "pkg:golang/github.com/golang/mock@v1.1.1", - "pkg:golang/github.com/golang/protobuf@v1.2.0", - "pkg:golang/github.com/google/go-cmp@v0.2.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20180821212333-d2e6202438be", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/appengine@v1.1.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20180817151627-c66870c02cf8", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc" - ] - }, - { - "ref": "pkg:golang/golang.org/x/exp@v0.0.0-20190121172915-509febef88a4", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/lint@v0.0.0-20190227174305-5b3e6a55c961", - "dependsOn": [ - "pkg:golang/golang.org/x/tools@v0.0.0-20190226205152-f727befe758c" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190226205152-f727befe758c", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190213061140-3a22650c66bd", - "pkg:golang/golang.org/x/sync@v0.0.0-20181108010431-42b317875d0f", - "pkg:golang/google.golang.org/appengine@v1.4.0" - ] - }, - { - "ref": "pkg:golang/honnef.co/go/tools@v0.0.0-20190102054323-c2f93a96b099", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/protobuf@v1.23.1-0.20200526195155-81db48ad09cc", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.4.0", - "pkg:golang/github.com/google/go-cmp@v0.4.0" - ] - }, - { - "ref": "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc", - "dependsOn": [] - }, - { - "ref": "pkg:golang/cloud.google.com/go/bigquery@v1.4.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.52.0", - "pkg:golang/cloud.google.com/go/storage@v1.5.0", - "pkg:golang/github.com/golang/groupcache@v0.0.0-20200121045136-8c9f03a8e57e", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/golang.org/x/exp@v0.0.0-20200119233911-0405dc783f0a", - "pkg:golang/golang.org/x/sys@v0.0.0-20200122134326-e047566fdf82", - "pkg:golang/golang.org/x/tools@v0.0.0-20200122220014-bf1340f18c4a", - "pkg:golang/google.golang.org/api@v0.15.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200122232147-0452cf42e150", - "pkg:golang/google.golang.org/grpc@v1.26.0" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go/datastore@v1.1.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.52.0", - "pkg:golang/cloud.google.com/go/pubsub@v1.2.0", - "pkg:golang/github.com/golang/protobuf@v1.3.3", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/golang.org/x/exp@v0.0.0-20200207192155-f17229e696bd", - "pkg:golang/golang.org/x/sys@v0.0.0-20200212091648-12a6c2dcc1e4", - "pkg:golang/golang.org/x/tools@v0.0.0-20200212150539-ea181f53ac56", - "pkg:golang/google.golang.org/api@v0.17.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200212174721-66ed5ce911ce", - "pkg:golang/google.golang.org/grpc@v1.27.1" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go/pubsub@v1.2.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.52.0", - "pkg:golang/cloud.google.com/go/bigquery@v1.4.0", - "pkg:golang/github.com/golang/protobuf@v1.3.3", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/go.opencensus.io@v0.22.3", - "pkg:golang/golang.org/x/lint@v0.0.0-20200130185559-910be7a94367", - "pkg:golang/golang.org/x/mod@v0.2.0", - "pkg:golang/golang.org/x/net@v0.0.0-20200202094626-16171245cfb2", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "pkg:golang/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e", - "pkg:golang/golang.org/x/sys@v0.0.0-20200202164722-d101bd2416d5", - "pkg:golang/golang.org/x/time@v0.0.0-20191024005414-555d28b269f0", - "pkg:golang/golang.org/x/tools@v0.0.0-20200204074204-1cc6d1ef6c74", - "pkg:golang/google.golang.org/api@v0.15.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200204135345-fa8e72b47b90", - "pkg:golang/google.golang.org/grpc@v1.27.0" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go/storage@v1.6.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.53.0", - "pkg:golang/cloud.google.com/go/datastore@v1.1.0", - "pkg:golang/github.com/golang/protobuf@v1.3.3", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/golang.org/x/exp@v0.0.0-20200224162631-6cc2880d07d6", - "pkg:golang/golang.org/x/net@v0.0.0-20200222125558-5a598a2470a0", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "pkg:golang/golang.org/x/sys@v0.0.0-20200223170610-d5e6a3e2c0ae", - "pkg:golang/golang.org/x/tools@v0.0.0-20200224181240-023911ca70b2", - "pkg:golang/google.golang.org/api@v0.18.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200224152610-e50cd9704f63", - "pkg:golang/google.golang.org/grpc@v1.27.1", - "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.3" - ] - }, - { - "ref": "pkg:golang/github.com/golang/mock@v1.4.3", - "dependsOn": [ - "pkg:golang/golang.org/x/tools@v0.0.0-20190425150028-36563e24a262", - "pkg:golang/rsc.io/quote/v3@v3.1.0" - ] - }, - { - "ref": "pkg:golang/github.com/google/martian@v2.1.0%2Bincompatible", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/google/pprof@v0.0.0-20200430221834-fc25d7d30c6d", - "dependsOn": [ - "pkg:golang/github.com/chzyer/logex@v1.1.10", - "pkg:golang/github.com/chzyer/readline@v0.0.0-20180603132655-2972be24d48e", - "pkg:golang/github.com/chzyer/test@v0.0.0-20180213035817-a1ea475d72b1", - "pkg:golang/github.com/ianlancetaylor/demangle@v0.0.0-20181102032728-5e5cf60278f6", - "pkg:golang/golang.org/x/sys@v0.0.0-20191204072324-ce4227a45e2e" - ] - }, - { - "ref": "pkg:golang/go.opencensus.io@v0.22.3", - "dependsOn": [ - "pkg:golang/github.com/golang/groupcache@v0.0.0-20190702054246-869f871628b6", - "pkg:golang/github.com/golang/protobuf@v1.3.1", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/stretchr/testify@v1.4.0", - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sys@v0.0.0-20190502145724-3ef323f4f1fd", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190425155659-357c62f0e4bb", - "pkg:golang/google.golang.org/grpc@v1.20.1" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20200501053045-e0ff5e5a1de5", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/sys@v0.0.0-20200323222414-85ca7c5b95cd", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sync@v0.0.0-20200317015054-43a5402ce75a", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200501052902-10377860bb8e", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200501065659-ab2804fb9c9d", - "dependsOn": [ - "pkg:golang/github.com/yuin/goldmark@v1.1.27", - "pkg:golang/golang.org/x/mod@v0.2.0", - "pkg:golang/golang.org/x/net@v0.0.0-20200226121028-0de0cce0169b", - "pkg:golang/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543" - ] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.22.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.38.0", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1", - "pkg:golang/go.opencensus.io@v0.21.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20190409202823-959b441ac422", - "pkg:golang/golang.org/x/net@v0.0.0-20190503192946-f4e77d36d62c", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/sys@v0.0.0-20190507160741-ecd444e8653b", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/appengine@v1.5.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200430143042-b979b6f78d84", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.3", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc" - ] - }, - { - "ref": "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.3", - "dependsOn": [ - "pkg:golang/github.com/BurntSushi/toml@v0.3.1", - "pkg:golang/github.com/google/renameio@v0.1.0", - "pkg:golang/github.com/kisielk/gotool@v1.0.0", - "pkg:golang/github.com/rogpeppe/go-internal@v1.3.0", - "pkg:golang/golang.org/x/mod@v0.0.0-20190513183733-4bf6d317e70e", - "pkg:golang/golang.org/x/tools@v0.0.0-20191130070609-6e064ea0cf2d" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go/storage@v1.8.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.57.0", - "pkg:golang/cloud.google.com/go/bigquery@v1.7.0", - "pkg:golang/github.com/golang/protobuf@v1.4.1", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/golang.org/x/net@v0.0.0-20200506145744-7e3656a0809f", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "pkg:golang/golang.org/x/sys@v0.0.0-20200511232937-7e40ca221e25", - "pkg:golang/golang.org/x/tools@v0.0.0-20200512131952-2bc93b1c0c88", - "pkg:golang/google.golang.org/api@v0.24.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200511104702-f5ebc3bea380", - "pkg:golang/google.golang.org/grpc@v1.29.1" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20200513185701-a91f0712d120", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/sys@v0.0.0-20200323222414-85ca7c5b95cd", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200515095857-1151b9dac4a9", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200515010526-7d3b6ebf133d", - "dependsOn": [ - "pkg:golang/github.com/yuin/goldmark@v1.1.27", - "pkg:golang/golang.org/x/mod@v0.2.0", - "pkg:golang/golang.org/x/net@v0.0.0-20200226121028-0de0cce0169b", - "pkg:golang/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543" - ] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.24.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.56.0", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/go.opencensus.io@v0.22.3", - "pkg:golang/golang.org/x/lint@v0.0.0-20200302205851-738671d3881b", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "pkg:golang/golang.org/x/sync@v0.0.0-20200317015054-43a5402ce75a", - "pkg:golang/golang.org/x/sys@v0.0.0-20200331124033-c3d80250170d", - "pkg:golang/golang.org/x/tools@v0.0.0-20200331025713-a30bf2db82d4", - "pkg:golang/google.golang.org/appengine@v1.6.5", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200331122359-1ee6d9798940", - "pkg:golang/google.golang.org/grpc@v1.28.0", - "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.3" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200515170657-fc4c6c6a6587", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.4.1", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/google.golang.org/protobuf@v1.22.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc" - ] - }, - { - "ref": "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.4", - "dependsOn": [ - "pkg:golang/github.com/BurntSushi/toml@v0.3.1", - "pkg:golang/github.com/google/renameio@v0.1.0", - "pkg:golang/github.com/kisielk/gotool@v1.0.0", - "pkg:golang/github.com/rogpeppe/go-internal@v1.3.0", - "pkg:golang/golang.org/x/mod@v0.0.0-20190513183733-4bf6d317e70e", - "pkg:golang/golang.org/x/tools@v0.0.0-20191130070609-6e064ea0cf2d" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go@v0.56.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go/bigquery@v1.4.0", - "pkg:golang/cloud.google.com/go/datastore@v1.1.0", - "pkg:golang/cloud.google.com/go/pubsub@v1.2.0", - "pkg:golang/cloud.google.com/go/storage@v1.6.0", - "pkg:golang/github.com/golang/mock@v1.4.3", - "pkg:golang/github.com/golang/protobuf@v1.3.5", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/github.com/google/martian@v2.1.0%2Bincompatible", - "pkg:golang/github.com/google/pprof@v0.0.0-20200229191704-1ebb73c60ed3", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/jstemmer/go-junit-report@v0.9.1", - "pkg:golang/go.opencensus.io@v0.22.3", - "pkg:golang/golang.org/x/lint@v0.0.0-20200302205851-738671d3881b", - "pkg:golang/golang.org/x/net@v0.0.0-20200324143707-d3edc9973b7e", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "pkg:golang/golang.org/x/sync@v0.0.0-20200317015054-43a5402ce75a", - "pkg:golang/golang.org/x/sys@v0.0.0-20200331124033-c3d80250170d", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/tools@v0.0.0-20200331025713-a30bf2db82d4", - "pkg:golang/google.golang.org/api@v0.20.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200331122359-1ee6d9798940", - "pkg:golang/google.golang.org/grpc@v1.28.0", - "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.3" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200331124033-c3d80250170d", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200331025713-a30bf2db82d4", - "dependsOn": [ - "pkg:golang/github.com/yuin/goldmark@v1.1.25", - "pkg:golang/golang.org/x/mod@v0.2.0", - "pkg:golang/golang.org/x/net@v0.0.0-20200226121028-0de0cce0169b", - "pkg:golang/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543" - ] - }, - { - "ref": "pkg:golang/google.golang.org/appengine@v1.6.5", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.1", - "pkg:golang/golang.org/x/net@v0.0.0-20190603091049-60506f45cf65", - "pkg:golang/golang.org/x/text@v0.3.2" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200331122359-1ee6d9798940", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.3", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc" - ] - }, - { - "ref": "pkg:golang/google.golang.org/grpc@v1.28.0", - "dependsOn": [ - "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.4", - "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", - "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", - "pkg:golang/github.com/golang/mock@v1.1.1", - "pkg:golang/github.com/golang/protobuf@v1.3.3", - "pkg:golang/github.com/google/go-cmp@v0.2.0", - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20180821212333-d2e6202438be", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go@v0.26.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/BurntSushi/toml@v0.3.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/client9/misspell@v0.3.4", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/golang/protobuf@v1.2.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/lint@v0.0.0-20181026193005-c67002cb31c3", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20180826012351-8a410e7b638d", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/sync@v0.0.0-20180314180146-1d60e4601c6f", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20180830151530-49385e6e1522", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190114222345-bf090417da8b", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/appengine@v1.1.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20180817151627-c66870c02cf8", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20190213061140-3a22650c66bd", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/sync@v0.0.0-20190227155943-e225da77a7e6", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/mod@v0.1.1-0.20191105210325-c90efee705ee", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20191011191535-87dc89f01550", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20180724234803-3673e40ba225", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20200707034311-ab3426394381", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20200622213623-75b288015ac9", - "pkg:golang/golang.org/x/sys@v0.0.0-20200323222414-85ca7c5b95cd", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200729194436-6467de6f59a7", - "dependsOn": [ - "pkg:golang/github.com/yuin/goldmark@v1.1.32", - "pkg:golang/golang.org/x/mod@v0.3.0", - "pkg:golang/golang.org/x/net@v0.0.0-20200625001655-4c5254603344", - "pkg:golang/golang.org/x/sync@v0.0.0-20200625203802-6e8e738ad208", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543" - ] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.29.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.56.0", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/go.opencensus.io@v0.22.3", - "pkg:golang/golang.org/x/lint@v0.0.0-20200302205851-738671d3881b", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "pkg:golang/golang.org/x/sync@v0.0.0-20200317015054-43a5402ce75a", - "pkg:golang/golang.org/x/sys@v0.0.0-20200331124033-c3d80250170d", - "pkg:golang/golang.org/x/tools@v0.0.0-20200331025713-a30bf2db82d4", - "pkg:golang/google.golang.org/appengine@v1.6.5", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200331122359-1ee6d9798940", - "pkg:golang/google.golang.org/grpc@v1.28.0" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200729003335-053ba62fc06f", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.4.1", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/google.golang.org/protobuf@v1.24.0" - ] - }, - { - "ref": "pkg:golang/google.golang.org/grpc@v1.30.0", - "dependsOn": [ - "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20191209042840-269d4d468f6f", - "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.4", - "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", - "pkg:golang/github.com/golang/protobuf@v1.3.3", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20180821212333-d2e6202438be", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55" - ] - }, - { - "ref": "pkg:golang/google.golang.org/protobuf@v1.25.0", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.4.1", - "pkg:golang/github.com/google/go-cmp@v0.5.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200526211855-cb27e3aa2013" - ] - }, - { - "ref": "pkg:golang/google.golang.org/grpc@v1.25.1", - "dependsOn": [ - "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.0", - "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", - "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", - "pkg:golang/github.com/golang/mock@v1.1.1", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/google/go-cmp@v0.2.0", - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20180821212333-d2e6202438be", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55" - ] - }, - { - "ref": "pkg:golang/google.golang.org/protobuf@v1.21.0", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.4.0-rc.4.0.20200313231945-b860323f09d0", - "pkg:golang/github.com/google/go-cmp@v0.4.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sync@v0.0.0-20181108010431-42b317875d0f", - "dependsOn": [] - }, - { - "ref": "pkg:golang/cloud.google.com/go@v0.52.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go/bigquery@v1.0.1", - "pkg:golang/cloud.google.com/go/datastore@v1.0.0", - "pkg:golang/cloud.google.com/go/pubsub@v1.0.1", - "pkg:golang/cloud.google.com/go/storage@v1.0.0", - "pkg:golang/github.com/golang/groupcache@v0.0.0-20191227052852-215e87163ea7", - "pkg:golang/github.com/golang/mock@v1.3.1", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/github.com/google/martian@v2.1.0%2Bincompatible", - "pkg:golang/github.com/google/pprof@v0.0.0-20191218002539-d4f498aebedc", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/jstemmer/go-junit-report@v0.9.1", - "pkg:golang/go.opencensus.io@v0.22.2", - "pkg:golang/golang.org/x/exp@v0.0.0-20191227195350-da58074b4299", - "pkg:golang/golang.org/x/lint@v0.0.0-20191125180803-fdd1cda4f05f", - "pkg:golang/golang.org/x/net@v0.0.0-20200114155413-6afb5195e5aa", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "pkg:golang/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e", - "pkg:golang/golang.org/x/sys@v0.0.0-20200113162924-86b910548bc1", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/tools@v0.0.0-20200117161641-43d50277825c", - "pkg:golang/google.golang.org/api@v0.15.0", - "pkg:golang/google.golang.org/appengine@v1.6.5", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200115191322-ca5a22157cba", - "pkg:golang/google.golang.org/grpc@v1.26.0", - "pkg:golang/honnef.co/go/tools@v0.0.1-2019.2.3" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go/storage@v1.5.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.50.0", - "pkg:golang/cloud.google.com/go/bigquery@v1.3.0", - "pkg:golang/cloud.google.com/go/pubsub@v1.1.0", - "pkg:golang/github.com/golang/groupcache@v0.0.0-20191227052852-215e87163ea7", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/google/go-cmp@v0.3.1", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/jstemmer/go-junit-report@v0.9.1", - "pkg:golang/go.opencensus.io@v0.22.2", - "pkg:golang/golang.org/x/exp@v0.0.0-20191227195350-da58074b4299", - "pkg:golang/golang.org/x/net@v0.0.0-20191209160850-c0dbc17a3553", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20191202225959-858c2ad4c8b6", - "pkg:golang/golang.org/x/sys@v0.0.0-20191228213918-04cbcbbfeed8", - "pkg:golang/golang.org/x/tools@v0.0.0-20191227053925-7b8e75db28f4", - "pkg:golang/google.golang.org/api@v0.15.0", - "pkg:golang/google.golang.org/appengine@v1.6.5", - "pkg:golang/google.golang.org/genproto@v0.0.0-20191230161307-f3c370f40bfb", - "pkg:golang/google.golang.org/grpc@v1.26.0" - ] - }, - { - "ref": "pkg:golang/github.com/golang/groupcache@v0.0.0-20200121045136-8c9f03a8e57e", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/exp@v0.0.0-20200119233911-0405dc783f0a", - "dependsOn": [ - "pkg:golang/dmitri.shuralyov.com/gpu/mtl@v0.0.0-20190408044501-666a987793e9", - "pkg:golang/github.com/BurntSushi/xgb@v0.0.0-20160522181843-27f122750802", - "pkg:golang/github.com/go-gl/glfw/v3.3/glfw@v0.0.0-20191125211704-12ad95a8df72", - "pkg:golang/golang.org/x/image@v0.0.0-20190802002840-cff245a6509b", - "pkg:golang/golang.org/x/mobile@v0.0.0-20190719004257-d2bd2a29d028", - "pkg:golang/golang.org/x/mod@v0.1.0", - "pkg:golang/golang.org/x/sys@v0.0.0-20190412213103-97732733099d", - "pkg:golang/golang.org/x/tools@v0.0.0-20191012152004-8de300cfc20a" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200122134326-e047566fdf82", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200122220014-bf1340f18c4a", - "dependsOn": [ - "pkg:golang/golang.org/x/mod@v0.1.1-0.20191105210325-c90efee705ee", - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898" - ] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.15.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.38.0", - "pkg:golang/github.com/golang/protobuf@v1.3.1", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1", - "pkg:golang/go.opencensus.io@v0.21.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20190409202823-959b441ac422", - "pkg:golang/golang.org/x/net@v0.0.0-20190503192946-f4e77d36d62c", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/sys@v0.0.0-20190507160741-ecd444e8653b", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/tools@v0.0.0-20190506145303-2d16b83fe98c", - "pkg:golang/google.golang.org/appengine@v1.5.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190502173448-54afdca5d873", - "pkg:golang/google.golang.org/grpc@v1.20.1", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190418001031-e561f6794a2a" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200122232147-0452cf42e150", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/golang.org/x/exp@v0.0.0-20190121172915-509febef88a4", - "pkg:golang/golang.org/x/lint@v0.0.0-20190227174305-5b3e6a55c961", - "pkg:golang/golang.org/x/tools@v0.0.0-20190226205152-f727befe758c", - "pkg:golang/google.golang.org/grpc@v1.19.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190102054323-c2f93a96b099" - ] - }, - { - "ref": "pkg:golang/google.golang.org/grpc@v1.26.0", - "dependsOn": [ - "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.1-0.20191026205805-5f8ba28d4473", - "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", - "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", - "pkg:golang/github.com/golang/mock@v1.1.1", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/google/go-cmp@v0.2.0", - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20180821212333-d2e6202438be", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55" - ] - }, - { - "ref": "pkg:golang/golang.org/x/exp@v0.0.0-20200207192155-f17229e696bd", - "dependsOn": [ - "pkg:golang/dmitri.shuralyov.com/gpu/mtl@v0.0.0-20190408044501-666a987793e9", - "pkg:golang/github.com/BurntSushi/xgb@v0.0.0-20160522181843-27f122750802", - "pkg:golang/github.com/go-gl/glfw/v3.3/glfw@v0.0.0-20191125211704-12ad95a8df72", - "pkg:golang/golang.org/x/image@v0.0.0-20190802002840-cff245a6509b", - "pkg:golang/golang.org/x/mobile@v0.0.0-20190719004257-d2bd2a29d028", - "pkg:golang/golang.org/x/mod@v0.1.1-0.20191105210325-c90efee705ee", - "pkg:golang/golang.org/x/sys@v0.0.0-20190412213103-97732733099d", - "pkg:golang/golang.org/x/tools@v0.0.0-20200207183749-b753a1ba74fa" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200212091648-12a6c2dcc1e4", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200212150539-ea181f53ac56", - "dependsOn": [ - "pkg:golang/golang.org/x/mod@v0.1.1-0.20191105210325-c90efee705ee", - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898" - ] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.17.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.38.0", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1", - "pkg:golang/go.opencensus.io@v0.21.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20190409202823-959b441ac422", - "pkg:golang/golang.org/x/net@v0.0.0-20190503192946-f4e77d36d62c", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/sys@v0.0.0-20190507160741-ecd444e8653b", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/appengine@v1.5.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200212174721-66ed5ce911ce", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.3", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc" - ] - }, - { - "ref": "pkg:golang/google.golang.org/grpc@v1.27.1", - "dependsOn": [ - "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.1-0.20191026205805-5f8ba28d4473", - "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", - "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", - "pkg:golang/github.com/golang/mock@v1.1.1", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/google/go-cmp@v0.2.0", - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20180821212333-d2e6202438be", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55" - ] - }, - { - "ref": "pkg:golang/golang.org/x/lint@v0.0.0-20200130185559-910be7a94367", - "dependsOn": [ - "pkg:golang/golang.org/x/tools@v0.0.0-20200130002326-2f3ba24bd6e7" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20200202094626-16171245cfb2", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200202164722-d101bd2416d5", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/time@v0.0.0-20191024005414-555d28b269f0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200204074204-1cc6d1ef6c74", - "dependsOn": [ - "pkg:golang/golang.org/x/mod@v0.1.1-0.20191105210325-c90efee705ee", - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200204135345-fa8e72b47b90", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.3", - "pkg:golang/golang.org/x/exp@v0.0.0-20190121172915-509febef88a4", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go@v0.53.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go/bigquery@v1.3.0", - "pkg:golang/cloud.google.com/go/datastore@v1.0.0", - "pkg:golang/cloud.google.com/go/pubsub@v1.1.0", - "pkg:golang/cloud.google.com/go/storage@v1.5.0", - "pkg:golang/github.com/golang/groupcache@v0.0.0-20200121045136-8c9f03a8e57e", - "pkg:golang/github.com/golang/mock@v1.4.0", - "pkg:golang/github.com/golang/protobuf@v1.3.3", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/github.com/google/martian@v2.1.0%2Bincompatible", - "pkg:golang/github.com/google/pprof@v0.0.0-20200212024743-f11f1df84d12", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/jstemmer/go-junit-report@v0.9.1", - "pkg:golang/go.opencensus.io@v0.22.3", - "pkg:golang/golang.org/x/exp@v0.0.0-20200207192155-f17229e696bd", - "pkg:golang/golang.org/x/lint@v0.0.0-20200130185559-910be7a94367", - "pkg:golang/golang.org/x/mod@v0.2.0", - "pkg:golang/golang.org/x/net@v0.0.0-20200202094626-16171245cfb2", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "pkg:golang/golang.org/x/sys@v0.0.0-20200212091648-12a6c2dcc1e4", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/tools@v0.0.0-20200212150539-ea181f53ac56", - "pkg:golang/google.golang.org/api@v0.17.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200212174721-66ed5ce911ce", - "pkg:golang/google.golang.org/grpc@v1.27.1", - "pkg:golang/honnef.co/go/tools@v0.0.1-2019.2.3" - ] - }, - { - "ref": "pkg:golang/golang.org/x/exp@v0.0.0-20200224162631-6cc2880d07d6", - "dependsOn": [ - "pkg:golang/dmitri.shuralyov.com/gpu/mtl@v0.0.0-20190408044501-666a987793e9", - "pkg:golang/github.com/BurntSushi/xgb@v0.0.0-20160522181843-27f122750802", - "pkg:golang/github.com/go-gl/glfw/v3.3/glfw@v0.0.0-20200222043503-6f7a984d4dc4", - "pkg:golang/golang.org/x/image@v0.0.0-20190802002840-cff245a6509b", - "pkg:golang/golang.org/x/mobile@v0.0.0-20190719004257-d2bd2a29d028", - "pkg:golang/golang.org/x/mod@v0.1.1-0.20191107180719-034126e5016b", - "pkg:golang/golang.org/x/sys@v0.0.0-20191001151750-bb3f8db39f24", - "pkg:golang/golang.org/x/tools@v0.0.0-20200207183749-b753a1ba74fa", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20200222125558-5a598a2470a0", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200223170610-d5e6a3e2c0ae", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200224181240-023911ca70b2", - "dependsOn": [ - "pkg:golang/golang.org/x/mod@v0.1.1-0.20191105210325-c90efee705ee", - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898" - ] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.18.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.38.0", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1", - "pkg:golang/go.opencensus.io@v0.21.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20190409202823-959b441ac422", - "pkg:golang/golang.org/x/net@v0.0.0-20190503192946-f4e77d36d62c", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/sys@v0.0.0-20190507160741-ecd444e8653b", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/appengine@v1.5.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200224152610-e50cd9704f63", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.3", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc" - ] - }, - { - "ref": "pkg:golang/rsc.io/quote/v3@v3.1.0", - "dependsOn": [ - "pkg:golang/rsc.io/sampler@v1.3.0" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go@v0.38.0", - "dependsOn": [ - "pkg:golang/github.com/golang/mock@v1.2.0", - "pkg:golang/github.com/golang/protobuf@v1.2.0", - "pkg:golang/github.com/google/btree@v0.0.0-20180813153112-4030bb1f1f0c", - "pkg:golang/github.com/google/go-cmp@v0.2.0", - "pkg:golang/github.com/google/martian@v2.1.0%2Bincompatible", - "pkg:golang/github.com/google/pprof@v0.0.0-20181206194817-3ea8567a2e57", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.4", - "pkg:golang/github.com/jstemmer/go-junit-report@v0.0.0-20190106144839-af01ea7f8024", - "pkg:golang/go.opencensus.io@v0.21.0", - "pkg:golang/golang.org/x/exp@v0.0.0-20190121172915-509febef88a4", - "pkg:golang/golang.org/x/lint@v0.0.0-20190301231843-5614ed5bae6f", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190226205417-e64efc72b421", - "pkg:golang/golang.org/x/sync@v0.0.0-20190227155943-e225da77a7e6", - "pkg:golang/golang.org/x/text@v0.3.1-0.20180807135948-17ff2d5776d2", - "pkg:golang/golang.org/x/time@v0.0.0-20181108054448-85acf8d2951c", - "pkg:golang/golang.org/x/tools@v0.0.0-20190312170243-e65039ee4138", - "pkg:golang/google.golang.org/api@v0.4.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190418145605-e7d98fc518a7", - "pkg:golang/google.golang.org/grpc@v1.19.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190106161140-3f1c8253044a" - ] - }, - { - "ref": "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/go.opencensus.io@v0.21.0", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.2.0", - "pkg:golang/github.com/google/go-cmp@v0.2.0", - "pkg:golang/github.com/hashicorp/golang-lru@v0.5.0", - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190307195333-5fe7a883aa19", - "pkg:golang/google.golang.org/grpc@v1.19.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/lint@v0.0.0-20190409202823-959b441ac422", - "dependsOn": [ - "pkg:golang/golang.org/x/tools@v0.0.0-20190311212946-11955173bddd" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20190503192946-f4e77d36d62c", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.34.0", - "pkg:golang/golang.org/x/net@v0.0.0-20190108225652-1e06a53dbb7e", - "pkg:golang/golang.org/x/sync@v0.0.0-20181221193216-37e7f081c4d4", - "pkg:golang/google.golang.org/appengine@v1.4.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190507160741-ecd444e8653b", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/appengine@v1.5.0", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.2.0", - "pkg:golang/golang.org/x/net@v0.0.0-20180724234803-3673e40ba225", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/github.com/google/renameio@v0.1.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/rogpeppe/go-internal@v1.3.0", - "dependsOn": [ - "pkg:golang/gopkg.in/errgo.v2@v2.1.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/mod@v0.0.0-20190513183733-4bf6d317e70e", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190510104115-cbcb75029529" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20191130070609-6e064ea0cf2d", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20190717185122-a985d3407aa7" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go/bigquery@v1.7.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.56.0", - "pkg:golang/cloud.google.com/go/pubsub@v1.3.1", - "pkg:golang/cloud.google.com/go/storage@v1.6.0", - "pkg:golang/github.com/golang/protobuf@v1.4.0", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/golang.org/x/net@v0.0.0-20200501053045-e0ff5e5a1de5", - "pkg:golang/golang.org/x/sys@v0.0.0-20200501052902-10377860bb8e", - "pkg:golang/golang.org/x/tools@v0.0.0-20200501065659-ab2804fb9c9d", - "pkg:golang/google.golang.org/api@v0.22.0", - "pkg:golang/google.golang.org/appengine@v1.6.6", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200430143042-b979b6f78d84", - "pkg:golang/google.golang.org/grpc@v1.29.1" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20200506145744-7e3656a0809f", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/sys@v0.0.0-20200323222414-85ca7c5b95cd", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200511232937-7e40ca221e25", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200512131952-2bc93b1c0c88", - "dependsOn": [ - "pkg:golang/github.com/yuin/goldmark@v1.1.27", - "pkg:golang/golang.org/x/mod@v0.2.0", - "pkg:golang/golang.org/x/net@v0.0.0-20200226121028-0de0cce0169b", - "pkg:golang/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200511104702-f5ebc3bea380", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.3", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc" - ] - }, - { - "ref": "pkg:golang/github.com/golang/protobuf@v1.3.5", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/google/pprof@v0.0.0-20200229191704-1ebb73c60ed3", - "dependsOn": [ - "pkg:golang/github.com/chzyer/logex@v1.1.10", - "pkg:golang/github.com/chzyer/readline@v0.0.0-20180603132655-2972be24d48e", - "pkg:golang/github.com/chzyer/test@v0.0.0-20180213035817-a1ea475d72b1", - "pkg:golang/github.com/ianlancetaylor/demangle@v0.0.0-20181102032728-5e5cf60278f6", - "pkg:golang/golang.org/x/sys@v0.0.0-20191204072324-ce4227a45e2e" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20200324143707-d3edc9973b7e", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/sys@v0.0.0-20200323222414-85ca7c5b95cd", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.20.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.38.0", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1", - "pkg:golang/go.opencensus.io@v0.21.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20190409202823-959b441ac422", - "pkg:golang/golang.org/x/net@v0.0.0-20190503192946-f4e77d36d62c", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/sys@v0.0.0-20190507160741-ecd444e8653b", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/appengine@v1.5.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc" - ] - }, - { - "ref": "pkg:golang/github.com/yuin/goldmark@v1.1.25", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/google/go-cmp@v0.5.0", - "dependsOn": [ - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543" - ] - }, - { - "ref": "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.0", - "dependsOn": [ - "pkg:golang/github.com/census-instrumentation/opencensus-proto@v0.2.1", - "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/prometheus/client_model@v0.0.0-20190812154241-14fe0d1b01d4", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55", - "pkg:golang/google.golang.org/grpc@v1.23.0" - ] - }, - { - "ref": "pkg:golang/github.com/golang/protobuf@v1.4.0-rc.4.0.20200313231945-b860323f09d0", - "dependsOn": [ - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/google.golang.org/protobuf@v1.20.1-0.20200309200217-e05f789c0967" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go/bigquery@v1.0.1", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.44.2", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/google.golang.org/api@v0.8.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190801165951-fa694d86fc64", - "pkg:golang/google.golang.org/grpc@v1.21.1" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go/datastore@v1.0.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.44.1", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/golang.org/x/sys@v0.0.0-20190624142023-c5567b49c5d0", - "pkg:golang/google.golang.org/api@v0.7.0", - "pkg:golang/google.golang.org/appengine@v1.6.1", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190801165951-fa694d86fc64", - "pkg:golang/google.golang.org/grpc@v1.21.1" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go/pubsub@v1.0.1", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.45.1", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/go.opencensus.io@v0.22.0", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/time@v0.0.0-20190308202827-9d24e82272b4", - "pkg:golang/google.golang.org/api@v0.9.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55", - "pkg:golang/google.golang.org/grpc@v1.21.1" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go/storage@v1.0.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.46.3", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "pkg:golang/google.golang.org/api@v0.9.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190911173649-1774047e7e51", - "pkg:golang/google.golang.org/grpc@v1.21.1" - ] - }, - { - "ref": "pkg:golang/github.com/golang/groupcache@v0.0.0-20191227052852-215e87163ea7", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/golang/mock@v1.3.1", - "dependsOn": [ - "pkg:golang/golang.org/x/tools@v0.0.0-20190425150028-36563e24a262" - ] - }, - { - "ref": "pkg:golang/github.com/google/pprof@v0.0.0-20191218002539-d4f498aebedc", - "dependsOn": [ - "pkg:golang/github.com/chzyer/logex@v1.1.10", - "pkg:golang/github.com/chzyer/readline@v0.0.0-20180603132655-2972be24d48e", - "pkg:golang/github.com/chzyer/test@v0.0.0-20180213035817-a1ea475d72b1", - "pkg:golang/github.com/ianlancetaylor/demangle@v0.0.0-20181102032728-5e5cf60278f6", - "pkg:golang/golang.org/x/sys@v0.0.0-20191204072324-ce4227a45e2e" - ] - }, - { - "ref": "pkg:golang/go.opencensus.io@v0.22.2", - "dependsOn": [ - "pkg:golang/github.com/golang/groupcache@v0.0.0-20190702054246-869f871628b6", - "pkg:golang/github.com/golang/protobuf@v1.3.1", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/stretchr/testify@v1.4.0", - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sys@v0.0.0-20190502145724-3ef323f4f1fd", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190425155659-357c62f0e4bb", - "pkg:golang/google.golang.org/grpc@v1.20.1" - ] - }, - { - "ref": "pkg:golang/golang.org/x/exp@v0.0.0-20191227195350-da58074b4299", - "dependsOn": [ - "pkg:golang/dmitri.shuralyov.com/gpu/mtl@v0.0.0-20190408044501-666a987793e9", - "pkg:golang/github.com/BurntSushi/xgb@v0.0.0-20160522181843-27f122750802", - "pkg:golang/github.com/go-gl/glfw/v3.3/glfw@v0.0.0-20191125211704-12ad95a8df72", - "pkg:golang/golang.org/x/image@v0.0.0-20190802002840-cff245a6509b", - "pkg:golang/golang.org/x/mobile@v0.0.0-20190719004257-d2bd2a29d028", - "pkg:golang/golang.org/x/mod@v0.1.0", - "pkg:golang/golang.org/x/sys@v0.0.0-20190412213103-97732733099d", - "pkg:golang/golang.org/x/tools@v0.0.0-20191012152004-8de300cfc20a" - ] - }, - { - "ref": "pkg:golang/golang.org/x/lint@v0.0.0-20191125180803-fdd1cda4f05f", - "dependsOn": [ - "pkg:golang/golang.org/x/tools@v0.0.0-20191125144606-a911d9008d1f" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20200114155413-6afb5195e5aa", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200113162924-86b910548bc1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200117161641-43d50277825c", - "dependsOn": [ - "pkg:golang/golang.org/x/mod@v0.1.1-0.20191105210325-c90efee705ee", - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200115191322-ca5a22157cba", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/golang.org/x/exp@v0.0.0-20190121172915-509febef88a4", - "pkg:golang/golang.org/x/lint@v0.0.0-20190227174305-5b3e6a55c961", - "pkg:golang/golang.org/x/tools@v0.0.0-20190226205152-f727befe758c", - "pkg:golang/google.golang.org/grpc@v1.19.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190102054323-c2f93a96b099" - ] - }, - { - "ref": "pkg:golang/honnef.co/go/tools@v0.0.1-2019.2.3", - "dependsOn": [ - "pkg:golang/github.com/BurntSushi/toml@v0.3.1", - "pkg:golang/github.com/google/renameio@v0.1.0", - "pkg:golang/github.com/kisielk/gotool@v1.0.0", - "pkg:golang/github.com/rogpeppe/go-internal@v1.3.0", - "pkg:golang/golang.org/x/mod@v0.0.0-20190513183733-4bf6d317e70e", - "pkg:golang/golang.org/x/tools@v0.0.0-20190621195816-6e04913cbbac" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go@v0.50.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go/bigquery@v1.0.1", - "pkg:golang/cloud.google.com/go/datastore@v1.0.0", - "pkg:golang/cloud.google.com/go/pubsub@v1.0.1", - "pkg:golang/cloud.google.com/go/storage@v1.0.0", - "pkg:golang/github.com/golang/mock@v1.3.1", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/google/martian@v2.1.0%2Bincompatible", - "pkg:golang/github.com/google/pprof@v0.0.0-20190515194954-54271f7e092f", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/jstemmer/go-junit-report@v0.0.0-20190106144839-af01ea7f8024", - "pkg:golang/go.opencensus.io@v0.22.0", - "pkg:golang/golang.org/x/exp@v0.0.0-20191129062945-2f5052295587", - "pkg:golang/golang.org/x/lint@v0.0.0-20191125180803-fdd1cda4f05f", - "pkg:golang/golang.org/x/net@v0.0.0-20190724013045-ca1201d0de80", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "pkg:golang/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e", - "pkg:golang/golang.org/x/sys@v0.0.0-20190726091711-fc99dfbffb4e", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/tools@v0.0.0-20191216173652-a0e659d51361", - "pkg:golang/google.golang.org/api@v0.14.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20191216164720-4f79533eabd1", - "pkg:golang/google.golang.org/grpc@v1.21.1", - "pkg:golang/honnef.co/go/tools@v0.0.1-2019.2.3" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go/bigquery@v1.3.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.46.3", - "pkg:golang/cloud.google.com/go/storage@v1.0.0", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/golang.org/x/exp@v0.0.0-20191030013958-a1ab85dbe136", - "pkg:golang/golang.org/x/lint@v0.0.0-20190930215403-16217165b5de", - "pkg:golang/golang.org/x/tools@v0.0.0-20191113191852-77e3bb0ad9e7", - "pkg:golang/google.golang.org/api@v0.13.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20191108220845-16a3f7862a1a", - "pkg:golang/google.golang.org/grpc@v1.21.1" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go/pubsub@v1.1.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.46.3", - "pkg:golang/cloud.google.com/go/storage@v1.0.0", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/go.opencensus.io@v0.22.0", - "pkg:golang/golang.org/x/exp@v0.0.0-20191030013958-a1ab85dbe136", - "pkg:golang/golang.org/x/lint@v0.0.0-20190930215403-16217165b5de", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/time@v0.0.0-20190308202827-9d24e82272b4", - "pkg:golang/golang.org/x/tools@v0.0.0-20191115202509-3a792d9c32b2", - "pkg:golang/google.golang.org/api@v0.14.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20191115194625-c23dd37a84c9", - "pkg:golang/google.golang.org/grpc@v1.21.1" - ] - }, - { - "ref": "pkg:golang/github.com/google/go-cmp@v0.3.1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20191209160850-c0dbc17a3553", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20191202225959-858c2ad4c8b6", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.34.0", - "pkg:golang/golang.org/x/net@v0.0.0-20190108225652-1e06a53dbb7e", - "pkg:golang/golang.org/x/sync@v0.0.0-20181221193216-37e7f081c4d4", - "pkg:golang/google.golang.org/appengine@v1.4.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20191228213918-04cbcbbfeed8", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20191227053925-7b8e75db28f4", - "dependsOn": [ - "pkg:golang/golang.org/x/mod@v0.1.1-0.20191105210325-c90efee705ee", - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20191230161307-f3c370f40bfb", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/golang.org/x/exp@v0.0.0-20190121172915-509febef88a4", - "pkg:golang/golang.org/x/lint@v0.0.0-20190227174305-5b3e6a55c961", - "pkg:golang/golang.org/x/tools@v0.0.0-20190226205152-f727befe758c", - "pkg:golang/google.golang.org/grpc@v1.19.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190102054323-c2f93a96b099" - ] - }, - { - "ref": "pkg:golang/dmitri.shuralyov.com/gpu/mtl@v0.0.0-20190408044501-666a987793e9", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/BurntSushi/xgb@v0.0.0-20160522181843-27f122750802", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/go-gl/glfw/v3.3/glfw@v0.0.0-20191125211704-12ad95a8df72", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/image@v0.0.0-20190802002840-cff245a6509b", - "dependsOn": [ - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/mobile@v0.0.0-20190719004257-d2bd2a29d028", - "dependsOn": [ - "pkg:golang/golang.org/x/exp@v0.0.0-20190306152737-a1d7652674e8", - "pkg:golang/golang.org/x/image@v0.0.0-20190227222117-0694c2d4d067", - "pkg:golang/golang.org/x/sys@v0.0.0-20190312061237-fead79001313" - ] - }, - { - "ref": "pkg:golang/golang.org/x/mod@v0.1.0", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190510104115-cbcb75029529" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20191012152004-8de300cfc20a", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20190717185122-a985d3407aa7" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190506145303-2d16b83fe98c", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20190502173448-54afdca5d873", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.2.0", - "pkg:golang/golang.org/x/exp@v0.0.0-20190121172915-509febef88a4", - "pkg:golang/golang.org/x/lint@v0.0.0-20190227174305-5b3e6a55c961", - "pkg:golang/golang.org/x/net@v0.0.0-20190213061140-3a22650c66bd", - "pkg:golang/golang.org/x/sync@v0.0.0-20190227155943-e225da77a7e6", - "pkg:golang/golang.org/x/tools@v0.0.0-20190226205152-f727befe758c", - "pkg:golang/google.golang.org/grpc@v1.19.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190102054323-c2f93a96b099" - ] - }, - { - "ref": "pkg:golang/honnef.co/go/tools@v0.0.0-20190418001031-e561f6794a2a", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200207183749-b753a1ba74fa", - "dependsOn": [ - "pkg:golang/golang.org/x/mod@v0.1.1-0.20191105210325-c90efee705ee", - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898" - ] - }, - { - "ref": "pkg:golang/github.com/golang/mock@v1.4.0", - "dependsOn": [ - "pkg:golang/golang.org/x/tools@v0.0.0-20190425150028-36563e24a262", - "pkg:golang/rsc.io/quote/v3@v3.1.0" - ] - }, - { - "ref": "pkg:golang/github.com/google/pprof@v0.0.0-20200212024743-f11f1df84d12", - "dependsOn": [ - "pkg:golang/github.com/chzyer/logex@v1.1.10", - "pkg:golang/github.com/chzyer/readline@v0.0.0-20180603132655-2972be24d48e", - "pkg:golang/github.com/chzyer/test@v0.0.0-20180213035817-a1ea475d72b1", - "pkg:golang/github.com/ianlancetaylor/demangle@v0.0.0-20181102032728-5e5cf60278f6", - "pkg:golang/golang.org/x/sys@v0.0.0-20191204072324-ce4227a45e2e" - ] - }, - { - "ref": "pkg:golang/github.com/go-gl/glfw/v3.3/glfw@v0.0.0-20200222043503-6f7a984d4dc4", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/mod@v0.1.1-0.20191107180719-034126e5016b", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20191011191535-87dc89f01550", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20191001151750-bb3f8db39f24", - "dependsOn": [] - }, - { - "ref": "pkg:golang/rsc.io/sampler@v1.3.0", - "dependsOn": [ - "pkg:golang/golang.org/x/text@v0.0.0-20170915032832-14c0d48ead0c" - ] - }, - { - "ref": "pkg:golang/github.com/golang/mock@v1.2.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/google/btree@v0.0.0-20180813153112-4030bb1f1f0c", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/google/pprof@v0.0.0-20181206194817-3ea8567a2e57", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.4", - "dependsOn": [ - "pkg:golang/google.golang.org/grpc@v1.19.0" - ] - }, - { - "ref": "pkg:golang/github.com/jstemmer/go-junit-report@v0.0.0-20190106144839-af01ea7f8024", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/lint@v0.0.0-20190301231843-5614ed5bae6f", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20190226205417-e64efc72b421", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.34.0", - "pkg:golang/golang.org/x/net@v0.0.0-20190108225652-1e06a53dbb7e", - "pkg:golang/golang.org/x/sync@v0.0.0-20181221193216-37e7f081c4d4", - "pkg:golang/google.golang.org/appengine@v1.4.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/text@v0.3.1-0.20180807135948-17ff2d5776d2", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/time@v0.0.0-20181108054448-85acf8d2951c", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190312170243-e65039ee4138", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a" - ] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.4.0", - "dependsOn": [ - "pkg:golang/github.com/google/go-cmp@v0.2.0", - "pkg:golang/go.opencensus.io@v0.21.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20190301231843-5614ed5bae6f", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190226205417-e64efc72b421", - "pkg:golang/golang.org/x/sync@v0.0.0-20190227155943-e225da77a7e6", - "pkg:golang/golang.org/x/tools@v0.0.0-20190312170243-e65039ee4138", - "pkg:golang/google.golang.org/appengine@v1.4.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190307195333-5fe7a883aa19", - "pkg:golang/google.golang.org/grpc@v1.19.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190102054323-c2f93a96b099" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20190418145605-e7d98fc518a7", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.2.0", - "pkg:golang/golang.org/x/exp@v0.0.0-20190121172915-509febef88a4", - "pkg:golang/golang.org/x/lint@v0.0.0-20190227174305-5b3e6a55c961", - "pkg:golang/golang.org/x/net@v0.0.0-20190213061140-3a22650c66bd", - "pkg:golang/golang.org/x/sync@v0.0.0-20190227155943-e225da77a7e6", - "pkg:golang/golang.org/x/tools@v0.0.0-20190226205152-f727befe758c", - "pkg:golang/google.golang.org/grpc@v1.19.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190102054323-c2f93a96b099" - ] - }, - { - "ref": "pkg:golang/honnef.co/go/tools@v0.0.0-20190106161140-3f1c8253044a", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/hashicorp/golang-lru@v0.5.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20190307195333-5fe7a883aa19", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.2.0", - "pkg:golang/golang.org/x/exp@v0.0.0-20190121172915-509febef88a4", - "pkg:golang/golang.org/x/lint@v0.0.0-20190227174305-5b3e6a55c961", - "pkg:golang/golang.org/x/net@v0.0.0-20190213061140-3a22650c66bd", - "pkg:golang/golang.org/x/sync@v0.0.0-20190227155943-e225da77a7e6", - "pkg:golang/golang.org/x/tools@v0.0.0-20190226205152-f727befe758c", - "pkg:golang/google.golang.org/grpc@v1.19.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190102054323-c2f93a96b099" - ] - }, - { - "ref": "pkg:golang/gopkg.in/errgo.v2@v2.1.0", - "dependsOn": [ - "pkg:golang/github.com/kr/pretty@v0.1.0", - "pkg:golang/gopkg.in/check.v1@v1.0.0-20180628173108-788fd7840127" - ] - }, - { - "ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20190510104115-cbcb75029529", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190404232315-eb5bcb51f2a3", - "pkg:golang/golang.org/x/sys@v0.0.0-20190412213103-97732733099d" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go/pubsub@v1.3.1", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.54.0", - "pkg:golang/cloud.google.com/go/bigquery@v1.5.0", - "pkg:golang/github.com/golang/protobuf@v1.3.4", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/go.opencensus.io@v0.22.3", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "pkg:golang/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e", - "pkg:golang/golang.org/x/time@v0.0.0-20191024005414-555d28b269f0", - "pkg:golang/golang.org/x/tools@v0.0.0-20200312045724-11d5b4c81c7d", - "pkg:golang/google.golang.org/api@v0.20.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200312145019-da6875a35672", - "pkg:golang/google.golang.org/grpc@v1.28.0" - ] - }, - { - "ref": "pkg:golang/google.golang.org/protobuf@v1.20.1-0.20200309200217-e05f789c0967", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.4.0-rc.2", - "pkg:golang/github.com/google/go-cmp@v0.4.0" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go@v0.44.2", - "dependsOn": [ - "pkg:golang/cloud.google.com/go/datastore@v1.0.0", - "pkg:golang/github.com/golang/mock@v1.3.1", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/google/btree@v1.0.0", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/google/martian@v2.1.0%2Bincompatible", - "pkg:golang/github.com/google/pprof@v0.0.0-20190515194954-54271f7e092f", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/jstemmer/go-junit-report@v0.0.0-20190106144839-af01ea7f8024", - "pkg:golang/go.opencensus.io@v0.22.0", - "pkg:golang/golang.org/x/exp@v0.0.0-20190510132918-efd6b22b2522", - "pkg:golang/golang.org/x/lint@v0.0.0-20190409202823-959b441ac422", - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/time@v0.0.0-20190308202827-9d24e82272b4", - "pkg:golang/golang.org/x/tools@v0.0.0-20190628153133-6cdbf07be9d0", - "pkg:golang/google.golang.org/api@v0.8.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190801165951-fa694d86fc64", - "pkg:golang/google.golang.org/grpc@v1.21.1", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190418001031-e561f6794a2a", - "pkg:golang/rsc.io/binaryregexp@v0.2.0" - ] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.8.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.38.0", - "pkg:golang/github.com/golang/protobuf@v1.3.1", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1", - "pkg:golang/go.opencensus.io@v0.21.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20190409202823-959b441ac422", - "pkg:golang/golang.org/x/net@v0.0.0-20190503192946-f4e77d36d62c", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/sys@v0.0.0-20190507160741-ecd444e8653b", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/tools@v0.0.0-20190506145303-2d16b83fe98c", - "pkg:golang/google.golang.org/appengine@v1.5.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190502173448-54afdca5d873", - "pkg:golang/google.golang.org/grpc@v1.20.1", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190418001031-e561f6794a2a" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20190801165951-fa694d86fc64", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/golang.org/x/exp@v0.0.0-20190121172915-509febef88a4", - "pkg:golang/golang.org/x/lint@v0.0.0-20190227174305-5b3e6a55c961", - "pkg:golang/golang.org/x/tools@v0.0.0-20190226205152-f727befe758c", - "pkg:golang/google.golang.org/grpc@v1.19.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190102054323-c2f93a96b099" - ] - }, - { - "ref": "pkg:golang/google.golang.org/grpc@v1.21.1", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.26.0", - "pkg:golang/github.com/BurntSushi/toml@v0.3.1", - "pkg:golang/github.com/client9/misspell@v0.3.4", - "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", - "pkg:golang/github.com/golang/mock@v1.1.1", - "pkg:golang/github.com/golang/protobuf@v1.2.0", - "pkg:golang/github.com/google/go-cmp@v0.2.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20180821212333-d2e6202438be", - "pkg:golang/golang.org/x/sync@v0.0.0-20180314180146-1d60e4601c6f", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/golang.org/x/tools@v0.0.0-20190311212946-11955173bddd", - "pkg:golang/google.golang.org/appengine@v1.1.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20180817151627-c66870c02cf8", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190102054323-c2f93a96b099" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go@v0.44.1", - "dependsOn": [ - "pkg:golang/github.com/golang/mock@v1.3.1", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/google/btree@v1.0.0", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/google/martian@v2.1.0%2Bincompatible", - "pkg:golang/github.com/google/pprof@v0.0.0-20190515194954-54271f7e092f", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/jstemmer/go-junit-report@v0.0.0-20190106144839-af01ea7f8024", - "pkg:golang/go.opencensus.io@v0.22.0", - "pkg:golang/golang.org/x/exp@v0.0.0-20190510132918-efd6b22b2522", - "pkg:golang/golang.org/x/lint@v0.0.0-20190409202823-959b441ac422", - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/sys@v0.0.0-20190624142023-c5567b49c5d0", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/time@v0.0.0-20190308202827-9d24e82272b4", - "pkg:golang/golang.org/x/tools@v0.0.0-20190628153133-6cdbf07be9d0", - "pkg:golang/google.golang.org/api@v0.8.0", - "pkg:golang/google.golang.org/appengine@v1.6.1", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190801165951-fa694d86fc64", - "pkg:golang/google.golang.org/grpc@v1.21.1", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190418001031-e561f6794a2a", - "pkg:golang/rsc.io/binaryregexp@v0.2.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190624142023-c5567b49c5d0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.7.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.38.0", - "pkg:golang/github.com/golang/protobuf@v1.3.1", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1", - "pkg:golang/go.opencensus.io@v0.21.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20190409202823-959b441ac422", - "pkg:golang/golang.org/x/net@v0.0.0-20190503192946-f4e77d36d62c", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/sys@v0.0.0-20190507160741-ecd444e8653b", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/tools@v0.0.0-20190506145303-2d16b83fe98c", - "pkg:golang/google.golang.org/appengine@v1.5.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190502173448-54afdca5d873", - "pkg:golang/google.golang.org/grpc@v1.20.1", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190418001031-e561f6794a2a" - ] - }, - { - "ref": "pkg:golang/google.golang.org/appengine@v1.6.1", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.1", - "pkg:golang/golang.org/x/crypto@v0.0.0-20190605123033-f99c8df09eb5", - "pkg:golang/golang.org/x/net@v0.0.0-20190603091049-60506f45cf65", - "pkg:golang/golang.org/x/sys@v0.0.0-20190606165138-5da285871e9c", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/tools@v0.0.0-20190606124116-d0a3d012864b" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go@v0.45.1", - "dependsOn": [ - "pkg:golang/cloud.google.com/go/bigquery@v1.0.1", - "pkg:golang/cloud.google.com/go/datastore@v1.0.0", - "pkg:golang/github.com/golang/mock@v1.3.1", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/google/martian@v2.1.0%2Bincompatible", - "pkg:golang/github.com/google/pprof@v0.0.0-20190515194954-54271f7e092f", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/jstemmer/go-junit-report@v0.0.0-20190106144839-af01ea7f8024", - "pkg:golang/go.opencensus.io@v0.22.0", - "pkg:golang/golang.org/x/exp@v0.0.0-20190510132918-efd6b22b2522", - "pkg:golang/golang.org/x/lint@v0.0.0-20190409202823-959b441ac422", - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/time@v0.0.0-20190308202827-9d24e82272b4", - "pkg:golang/golang.org/x/tools@v0.0.0-20190628153133-6cdbf07be9d0", - "pkg:golang/google.golang.org/api@v0.9.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55", - "pkg:golang/google.golang.org/grpc@v1.21.1", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190418001031-e561f6794a2a" - ] - }, - { - "ref": "pkg:golang/go.opencensus.io@v0.22.0", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.1", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1", - "pkg:golang/golang.org/x/net@v0.0.0-20190501004415-9ce7a6920f09", - "pkg:golang/golang.org/x/sys@v0.0.0-20190502145724-3ef323f4f1fd", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190425155659-357c62f0e4bb", - "pkg:golang/google.golang.org/grpc@v1.20.1" - ] - }, - { - "ref": "pkg:golang/golang.org/x/time@v0.0.0-20190308202827-9d24e82272b4", - "dependsOn": [] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.9.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.38.0", - "pkg:golang/github.com/golang/protobuf@v1.3.1", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1", - "pkg:golang/go.opencensus.io@v0.21.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20190409202823-959b441ac422", - "pkg:golang/golang.org/x/net@v0.0.0-20190503192946-f4e77d36d62c", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/sys@v0.0.0-20190507160741-ecd444e8653b", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/tools@v0.0.0-20190506145303-2d16b83fe98c", - "pkg:golang/google.golang.org/appengine@v1.5.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190502173448-54afdca5d873", - "pkg:golang/google.golang.org/grpc@v1.20.1", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190418001031-e561f6794a2a" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go@v0.46.3", - "dependsOn": [ - "pkg:golang/cloud.google.com/go/bigquery@v1.0.1", - "pkg:golang/cloud.google.com/go/datastore@v1.0.0", - "pkg:golang/cloud.google.com/go/pubsub@v1.0.1", - "pkg:golang/github.com/golang/mock@v1.3.1", - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/google/martian@v2.1.0%2Bincompatible", - "pkg:golang/github.com/google/pprof@v0.0.0-20190515194954-54271f7e092f", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/jstemmer/go-junit-report@v0.0.0-20190106144839-af01ea7f8024", - "pkg:golang/go.opencensus.io@v0.22.0", - "pkg:golang/golang.org/x/exp@v0.0.0-20190829153037-c13cbed26979", - "pkg:golang/golang.org/x/lint@v0.0.0-20190909230951-414d861bb4ac", - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/tools@v0.0.0-20190911174233-4f2ddba30aff", - "pkg:golang/google.golang.org/api@v0.9.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190911173649-1774047e7e51", - "pkg:golang/google.golang.org/grpc@v1.21.1", - "pkg:golang/honnef.co/go/tools@v0.0.1-2019.2.3" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20190911173649-1774047e7e51", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/golang.org/x/exp@v0.0.0-20190121172915-509febef88a4", - "pkg:golang/golang.org/x/lint@v0.0.0-20190227174305-5b3e6a55c961", - "pkg:golang/golang.org/x/tools@v0.0.0-20190226205152-f727befe758c", - "pkg:golang/google.golang.org/grpc@v1.19.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190102054323-c2f93a96b099" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20191125144606-a911d9008d1f", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20190717185122-a985d3407aa7" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190621195816-6e04913cbbac", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58" - ] - }, - { - "ref": "pkg:golang/github.com/google/pprof@v0.0.0-20190515194954-54271f7e092f", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/exp@v0.0.0-20191129062945-2f5052295587", - "dependsOn": [ - "pkg:golang/dmitri.shuralyov.com/gpu/mtl@v0.0.0-20190408044501-666a987793e9", - "pkg:golang/github.com/BurntSushi/xgb@v0.0.0-20160522181843-27f122750802", - "pkg:golang/github.com/go-gl/glfw/v3.3/glfw@v0.0.0-20191125211704-12ad95a8df72", - "pkg:golang/golang.org/x/image@v0.0.0-20190802002840-cff245a6509b", - "pkg:golang/golang.org/x/mobile@v0.0.0-20190719004257-d2bd2a29d028", - "pkg:golang/golang.org/x/mod@v0.1.0", - "pkg:golang/golang.org/x/sys@v0.0.0-20190412213103-97732733099d", - "pkg:golang/golang.org/x/tools@v0.0.0-20191012152004-8de300cfc20a" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20190724013045-ca1201d0de80", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190726091711-fc99dfbffb4e", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20191216173652-a0e659d51361", - "dependsOn": [ - "pkg:golang/golang.org/x/mod@v0.1.1-0.20191105210325-c90efee705ee", - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898" - ] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.14.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.38.0", - "pkg:golang/github.com/golang/protobuf@v1.3.1", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1", - "pkg:golang/go.opencensus.io@v0.21.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20190409202823-959b441ac422", - "pkg:golang/golang.org/x/net@v0.0.0-20190503192946-f4e77d36d62c", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/sys@v0.0.0-20190507160741-ecd444e8653b", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/tools@v0.0.0-20190506145303-2d16b83fe98c", - "pkg:golang/google.golang.org/appengine@v1.5.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190502173448-54afdca5d873", - "pkg:golang/google.golang.org/grpc@v1.20.1", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190418001031-e561f6794a2a" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20191216164720-4f79533eabd1", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/golang.org/x/exp@v0.0.0-20190121172915-509febef88a4", - "pkg:golang/golang.org/x/lint@v0.0.0-20190227174305-5b3e6a55c961", - "pkg:golang/golang.org/x/tools@v0.0.0-20190226205152-f727befe758c", - "pkg:golang/google.golang.org/grpc@v1.19.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190102054323-c2f93a96b099" - ] - }, - { - "ref": "pkg:golang/golang.org/x/exp@v0.0.0-20191030013958-a1ab85dbe136", - "dependsOn": [ - "pkg:golang/dmitri.shuralyov.com/gpu/mtl@v0.0.0-20190408044501-666a987793e9", - "pkg:golang/github.com/BurntSushi/xgb@v0.0.0-20160522181843-27f122750802", - "pkg:golang/github.com/go-gl/glfw@v0.0.0-20190409004039-e6da0acd62b1", - "pkg:golang/golang.org/x/image@v0.0.0-20190802002840-cff245a6509b", - "pkg:golang/golang.org/x/mobile@v0.0.0-20190719004257-d2bd2a29d028", - "pkg:golang/golang.org/x/mod@v0.1.0", - "pkg:golang/golang.org/x/sys@v0.0.0-20190412213103-97732733099d", - "pkg:golang/golang.org/x/tools@v0.0.0-20191012152004-8de300cfc20a" - ] - }, - { - "ref": "pkg:golang/golang.org/x/lint@v0.0.0-20190930215403-16217165b5de", - "dependsOn": [ - "pkg:golang/golang.org/x/tools@v0.0.0-20190311212946-11955173bddd" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20191113191852-77e3bb0ad9e7", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20190717185122-a985d3407aa7" - ] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.13.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.38.0", - "pkg:golang/github.com/golang/protobuf@v1.3.1", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1", - "pkg:golang/go.opencensus.io@v0.21.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20190409202823-959b441ac422", - "pkg:golang/golang.org/x/net@v0.0.0-20190503192946-f4e77d36d62c", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/sys@v0.0.0-20190507160741-ecd444e8653b", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/tools@v0.0.0-20190506145303-2d16b83fe98c", - "pkg:golang/google.golang.org/appengine@v1.5.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190502173448-54afdca5d873", - "pkg:golang/google.golang.org/grpc@v1.20.1", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190418001031-e561f6794a2a" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20191108220845-16a3f7862a1a", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/golang.org/x/exp@v0.0.0-20190121172915-509febef88a4", - "pkg:golang/golang.org/x/lint@v0.0.0-20190227174305-5b3e6a55c961", - "pkg:golang/golang.org/x/tools@v0.0.0-20190226205152-f727befe758c", - "pkg:golang/google.golang.org/grpc@v1.19.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190102054323-c2f93a96b099" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20191115202509-3a792d9c32b2", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20190717185122-a985d3407aa7" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20191115194625-c23dd37a84c9", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.2", - "pkg:golang/golang.org/x/exp@v0.0.0-20190121172915-509febef88a4", - "pkg:golang/golang.org/x/lint@v0.0.0-20190227174305-5b3e6a55c961", - "pkg:golang/golang.org/x/tools@v0.0.0-20190226205152-f727befe758c", - "pkg:golang/google.golang.org/grpc@v1.19.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190102054323-c2f93a96b099" - ] - }, - { - "ref": "pkg:golang/golang.org/x/exp@v0.0.0-20190306152737-a1d7652674e8", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/image@v0.0.0-20190227222117-0694c2d4d067", - "dependsOn": [ - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190312061237-fead79001313", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/text@v0.0.0-20170915032832-14c0d48ead0c", - "dependsOn": [] - }, - { - "ref": "pkg:golang/cloud.google.com/go@v0.54.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go/bigquery@v1.4.0", - "pkg:golang/cloud.google.com/go/datastore@v1.1.0", - "pkg:golang/cloud.google.com/go/pubsub@v1.2.0", - "pkg:golang/cloud.google.com/go/storage@v1.6.0", - "pkg:golang/github.com/golang/mock@v1.4.1", - "pkg:golang/github.com/golang/protobuf@v1.3.4", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/github.com/google/martian@v2.1.0%2Bincompatible", - "pkg:golang/github.com/google/pprof@v0.0.0-20200229191704-1ebb73c60ed3", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/jstemmer/go-junit-report@v0.9.1", - "pkg:golang/go.opencensus.io@v0.22.3", - "pkg:golang/golang.org/x/lint@v0.0.0-20200302205851-738671d3881b", - "pkg:golang/golang.org/x/net@v0.0.0-20200301022130-244492dfa37a", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20200107190931-bf48bf16ab8d", - "pkg:golang/golang.org/x/sys@v0.0.0-20200302150141-5c8b2ff67527", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/tools@v0.0.0-20200304193943-95d2e580d8eb", - "pkg:golang/google.golang.org/api@v0.20.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200305110556-506484158171", - "pkg:golang/google.golang.org/grpc@v1.27.1", - "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.3" - ] - }, - { - "ref": "pkg:golang/cloud.google.com/go/bigquery@v1.5.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.53.0", - "pkg:golang/cloud.google.com/go/storage@v1.6.0", - "pkg:golang/github.com/golang/protobuf@v1.3.4", - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/golang.org/x/net@v0.0.0-20200226121028-0de0cce0169b", - "pkg:golang/golang.org/x/tools@v0.0.0-20200227222343-706bc42d1f0d", - "pkg:golang/google.golang.org/api@v0.19.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20200228133532-8c2c7df3a383", - "pkg:golang/google.golang.org/grpc@v1.27.1" - ] - }, - { - "ref": "pkg:golang/github.com/golang/protobuf@v1.3.4", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200312045724-11d5b4c81c7d", - "dependsOn": [ - "pkg:golang/golang.org/x/mod@v0.2.0", - "pkg:golang/golang.org/x/net@v0.0.0-20200226121028-0de0cce0169b", - "pkg:golang/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200312145019-da6875a35672", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.3", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc" - ] - }, - { - "ref": "pkg:golang/github.com/golang/protobuf@v1.4.0-rc.2", - "dependsOn": [ - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/google.golang.org/protobuf@v0.0.0-20200228230310-ab0ca4ff8a60" - ] - }, - { - "ref": "pkg:golang/github.com/google/btree@v1.0.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/exp@v0.0.0-20190510132918-efd6b22b2522", - "dependsOn": [ - "pkg:golang/github.com/BurntSushi/xgb@v0.0.0-20160522181843-27f122750802", - "pkg:golang/golang.org/x/image@v0.0.0-20190227222117-0694c2d4d067", - "pkg:golang/golang.org/x/mobile@v0.0.0-20190312151609-d3739f865fa6", - "pkg:golang/golang.org/x/sys@v0.0.0-20190312061237-fead79001313", - "pkg:golang/golang.org/x/tools@v0.0.0-20190312151545-0bb0c0a6e846" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190628153133-6cdbf07be9d0", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58" - ] - }, - { - "ref": "pkg:golang/rsc.io/binaryregexp@v0.2.0", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/crypto@v0.0.0-20190605123033-f99c8df09eb5", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190404232315-eb5bcb51f2a3", - "pkg:golang/golang.org/x/sys@v0.0.0-20190412213103-97732733099d" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20190606165138-5da285871e9c", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190606124116-d0a3d012864b", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20190501004415-9ce7a6920f09", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/exp@v0.0.0-20190829153037-c13cbed26979", - "dependsOn": [ - "pkg:golang/github.com/BurntSushi/xgb@v0.0.0-20160522181843-27f122750802", - "pkg:golang/golang.org/x/image@v0.0.0-20190802002840-cff245a6509b", - "pkg:golang/golang.org/x/mobile@v0.0.0-20190719004257-d2bd2a29d028", - "pkg:golang/golang.org/x/mod@v0.1.0", - "pkg:golang/golang.org/x/sys@v0.0.0-20190412213103-97732733099d", - "pkg:golang/golang.org/x/tools@v0.0.0-20190816200558-6889da9d5479" - ] - }, - { - "ref": "pkg:golang/golang.org/x/lint@v0.0.0-20190909230951-414d861bb4ac", - "dependsOn": [ - "pkg:golang/golang.org/x/tools@v0.0.0-20190311212946-11955173bddd" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190911174233-4f2ddba30aff", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20190717185122-a985d3407aa7" - ] - }, - { - "ref": "pkg:golang/github.com/go-gl/glfw@v0.0.0-20190409004039-e6da0acd62b1", - "dependsOn": [] - }, - { - "ref": "pkg:golang/github.com/golang/mock@v1.4.1", - "dependsOn": [ - "pkg:golang/golang.org/x/tools@v0.0.0-20190425150028-36563e24a262", - "pkg:golang/rsc.io/quote/v3@v3.1.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/net@v0.0.0-20200301022130-244492dfa37a", - "dependsOn": [ - "pkg:golang/golang.org/x/crypto@v0.0.0-20190308221718-c2843e01d9a2", - "pkg:golang/golang.org/x/sys@v0.0.0-20190215142949-d0b11bdaac8a", - "pkg:golang/golang.org/x/text@v0.3.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/sys@v0.0.0-20200302150141-5c8b2ff67527", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200304193943-95d2e580d8eb", - "dependsOn": [ - "pkg:golang/golang.org/x/mod@v0.2.0", - "pkg:golang/golang.org/x/net@v0.0.0-20200226121028-0de0cce0169b", - "pkg:golang/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191204190536-9bdfabe68543" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200305110556-506484158171", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.3", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20200227222343-706bc42d1f0d", - "dependsOn": [ - "pkg:golang/golang.org/x/mod@v0.1.1-0.20191105210325-c90efee705ee", - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20191011141410-1b5146add898" - ] - }, - { - "ref": "pkg:golang/google.golang.org/api@v0.19.0", - "dependsOn": [ - "pkg:golang/cloud.google.com/go@v0.38.0", - "pkg:golang/github.com/google/go-cmp@v0.3.0", - "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", - "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1", - "pkg:golang/go.opencensus.io@v0.21.0", - "pkg:golang/golang.org/x/lint@v0.0.0-20190409202823-959b441ac422", - "pkg:golang/golang.org/x/net@v0.0.0-20190503192946-f4e77d36d62c", - "pkg:golang/golang.org/x/oauth2@v0.0.0-20190604053449-0f29369cfe45", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/sys@v0.0.0-20190507160741-ecd444e8653b", - "pkg:golang/golang.org/x/text@v0.3.2", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/appengine@v1.5.0", - "pkg:golang/google.golang.org/genproto@v0.0.0-20190819201941-24fa4b261c55", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc" - ] - }, - { - "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20200228133532-8c2c7df3a383", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.3.3", - "pkg:golang/golang.org/x/lint@v0.0.0-20190313153728-d0100b6bd8b3", - "pkg:golang/golang.org/x/tools@v0.0.0-20190524140312-2c0ae7006135", - "pkg:golang/google.golang.org/grpc@v1.27.0", - "pkg:golang/honnef.co/go/tools@v0.0.0-20190523083050-ea95bdfd59fc" - ] - }, - { - "ref": "pkg:golang/google.golang.org/protobuf@v0.0.0-20200228230310-ab0ca4ff8a60", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.4.0-rc.1.0.20200221234624-67d41d38c208", - "pkg:golang/github.com/google/go-cmp@v0.4.0" - ] - }, - { - "ref": "pkg:golang/golang.org/x/mobile@v0.0.0-20190312151609-d3739f865fa6", - "dependsOn": [] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190312151545-0bb0c0a6e846", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190311183353-d8887717615a" - ] - }, - { - "ref": "pkg:golang/golang.org/x/tools@v0.0.0-20190816200558-6889da9d5479", - "dependsOn": [ - "pkg:golang/golang.org/x/net@v0.0.0-20190620200207-3b0461eec859", - "pkg:golang/golang.org/x/sync@v0.0.0-20190423024810-112230192c58", - "pkg:golang/golang.org/x/xerrors@v0.0.0-20190717185122-a985d3407aa7" - ] - }, - { - "ref": "pkg:golang/github.com/golang/protobuf@v1.4.0-rc.1.0.20200221234624-67d41d38c208", - "dependsOn": [ - "pkg:golang/github.com/google/go-cmp@v0.4.0", - "pkg:golang/google.golang.org/protobuf@v0.0.0-20200221191635-4d8936d0db64" - ] - }, - { - "ref": "pkg:golang/google.golang.org/protobuf@v0.0.0-20200221191635-4d8936d0db64", - "dependsOn": [ - "pkg:golang/github.com/golang/protobuf@v1.4.0-rc.1", - "pkg:golang/github.com/google/go-cmp@v0.3.1" - ] - }, - { - "ref": "pkg:golang/github.com/golang/protobuf@v1.4.0-rc.1", - "dependsOn": [ - "pkg:golang/github.com/google/go-cmp@v0.3.1", - "pkg:golang/google.golang.org/protobuf@v0.0.0-20200109180630-ec00e32a8dfd" - ] - }, - { - "ref": "pkg:golang/google.golang.org/protobuf@v0.0.0-20200109180630-ec00e32a8dfd", - "dependsOn": [ - "pkg:golang/github.com/google/go-cmp@v0.3.0" - ] - } - ] + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-08-07T00:00:00.000Z", + "component": { + "group": "github.com/RHEcosystemAppEng/SaaSi", + "name": "deployer", + "version": "v0.0.0", + "purl": "pkg:golang/github.com/RHEcosystemAppEng/SaaSi/deployer@v0.0.0", + "type": "application", + "bom-ref": "pkg:golang/github.com/RHEcosystemAppEng/SaaSi/deployer@v0.0.0" + } + }, + "components": [ + { + "group": "github.com/gin-gonic", + "name": "gin", + "version": "v1.9.1", + "purl": "pkg:golang/github.com/gin-gonic/gin@v1.9.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/gin-gonic/gin@v1.9.1" + }, + { + "group": "github.com/google", + "name": "uuid", + "version": "v1.1.2", + "purl": "pkg:golang/github.com/google/uuid@v1.1.2", + "type": "library", + "bom-ref": "pkg:golang/github.com/google/uuid@v1.1.2" + }, + { + "group": "github.com/kr", + "name": "pretty", + "version": "v0.3.1", + "purl": "pkg:golang/github.com/kr/pretty@v0.3.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/kr/pretty@v0.3.1" + }, + { + "group": "gopkg.in", + "name": "yaml.v2", + "version": "v2.4.0", + "purl": "pkg:golang/gopkg.in/yaml.v2@v2.4.0", + "type": "library", + "bom-ref": "pkg:golang/gopkg.in/yaml.v2@v2.4.0" + }, + { + "group": "k8s.io", + "name": "apimachinery", + "version": "v0.26.1", + "purl": "pkg:golang/k8s.io/apimachinery@v0.26.1", + "type": "library", + "bom-ref": "pkg:golang/k8s.io/apimachinery@v0.26.1" + }, + { + "group": "k8s.io", + "name": "client-go", + "version": "v0.26.1", + "purl": "pkg:golang/k8s.io/client-go@v0.26.1", + "type": "library", + "bom-ref": "pkg:golang/k8s.io/client-go@v0.26.1" + }, + { + "group": "github.com/bytedance", + "name": "sonic", + "version": "v1.9.1", + "purl": "pkg:golang/github.com/bytedance/sonic@v1.9.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/bytedance/sonic@v1.9.1" + }, + { + "group": "github.com/gin-contrib", + "name": "sse", + "version": "v0.1.0", + "purl": "pkg:golang/github.com/gin-contrib/sse@v0.1.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/gin-contrib/sse@v0.1.0" + }, + { + "group": "github.com/go-playground/validator", + "name": "v10", + "version": "v10.14.0", + "purl": "pkg:golang/github.com/go-playground/validator/v10@v10.14.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/go-playground/validator/v10@v10.14.0" + }, + { + "group": "github.com/goccy", + "name": "go-json", + "version": "v0.10.2", + "purl": "pkg:golang/github.com/goccy/go-json@v0.10.2", + "type": "library", + "bom-ref": "pkg:golang/github.com/goccy/go-json@v0.10.2" + }, + { + "group": "github.com/json-iterator", + "name": "go", + "version": "v1.1.12", + "purl": "pkg:golang/github.com/json-iterator/go@v1.1.12", + "type": "library", + "bom-ref": "pkg:golang/github.com/json-iterator/go@v1.1.12" + }, + { + "group": "github.com/mattn", + "name": "go-isatty", + "version": "v0.0.19", + "purl": "pkg:golang/github.com/mattn/go-isatty@v0.0.19", + "type": "library", + "bom-ref": "pkg:golang/github.com/mattn/go-isatty@v0.0.19" + }, + { + "group": "github.com/pelletier/go-toml", + "name": "v2", + "version": "v2.0.8", + "purl": "pkg:golang/github.com/pelletier/go-toml/v2@v2.0.8", + "type": "library", + "bom-ref": "pkg:golang/github.com/pelletier/go-toml/v2@v2.0.8" + }, + { + "group": "github.com/stretchr", + "name": "testify", + "version": "v1.8.3", + "purl": "pkg:golang/github.com/stretchr/testify@v1.8.3", + "type": "library", + "bom-ref": "pkg:golang/github.com/stretchr/testify@v1.8.3" + }, + { + "group": "github.com/ugorji/go", + "name": "codec", + "version": "v1.2.11", + "purl": "pkg:golang/github.com/ugorji/go/codec@v1.2.11", + "type": "library", + "bom-ref": "pkg:golang/github.com/ugorji/go/codec@v1.2.11" + }, + { + "group": "golang.org/x", + "name": "net", + "version": "v0.10.0", + "purl": "pkg:golang/golang.org/x/net@v0.10.0", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/net@v0.10.0" + }, + { + "group": "google.golang.org", + "name": "protobuf", + "version": "v1.30.0", + "purl": "pkg:golang/google.golang.org/protobuf@v1.30.0", + "type": "library", + "bom-ref": "pkg:golang/google.golang.org/protobuf@v1.30.0" + }, + { + "group": "gopkg.in", + "name": "yaml.v3", + "version": "v3.0.1", + "purl": "pkg:golang/gopkg.in/yaml.v3@v3.0.1", + "type": "library", + "bom-ref": "pkg:golang/gopkg.in/yaml.v3@v3.0.1" + }, + { + "group": "github.com/chenzhuoyu", + "name": "base64x", + "version": "v0.0.0-20221115062448-fe3a3abad311", + "purl": "pkg:golang/github.com/chenzhuoyu/base64x@v0.0.0-20221115062448-fe3a3abad311", + "type": "library", + "bom-ref": "pkg:golang/github.com/chenzhuoyu/base64x@v0.0.0-20221115062448-fe3a3abad311" + }, + { + "group": "github.com/davecgh", + "name": "go-spew", + "version": "v1.1.1", + "purl": "pkg:golang/github.com/davecgh/go-spew@v1.1.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/davecgh/go-spew@v1.1.1" + }, + { + "group": "github.com/gabriel-vasile", + "name": "mimetype", + "version": "v1.4.2", + "purl": "pkg:golang/github.com/gabriel-vasile/mimetype@v1.4.2", + "type": "library", + "bom-ref": "pkg:golang/github.com/gabriel-vasile/mimetype@v1.4.2" + }, + { + "group": "github.com/go-playground", + "name": "locales", + "version": "v0.14.1", + "purl": "pkg:golang/github.com/go-playground/locales@v0.14.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/go-playground/locales@v0.14.1" + }, + { + "group": "github.com/go-playground", + "name": "universal-translator", + "version": "v0.18.1", + "purl": "pkg:golang/github.com/go-playground/universal-translator@v0.18.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/go-playground/universal-translator@v0.18.1" + }, + { + "group": "github.com/klauspost/cpuid", + "name": "v2", + "version": "v2.2.4", + "purl": "pkg:golang/github.com/klauspost/cpuid/v2@v2.2.4", + "type": "library", + "bom-ref": "pkg:golang/github.com/klauspost/cpuid/v2@v2.2.4" + }, + { + "group": "github.com/leodido", + "name": "go-urn", + "version": "v1.2.4", + "purl": "pkg:golang/github.com/leodido/go-urn@v1.2.4", + "type": "library", + "bom-ref": "pkg:golang/github.com/leodido/go-urn@v1.2.4" + }, + { + "group": "github.com/modern-go", + "name": "concurrent", + "version": "v0.0.0-20180306012644-bacd9c7ef1dd", + "purl": "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd", + "type": "library", + "bom-ref": "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd" + }, + { + "group": "github.com/modern-go", + "name": "reflect2", + "version": "v1.0.2", + "purl": "pkg:golang/github.com/modern-go/reflect2@v1.0.2", + "type": "library", + "bom-ref": "pkg:golang/github.com/modern-go/reflect2@v1.0.2" + }, + { + "group": "github.com/pmezard", + "name": "go-difflib", + "version": "v1.0.0", + "purl": "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/pmezard/go-difflib@v1.0.0" + }, + { + "group": "github.com/twitchyliquid64", + "name": "golang-asm", + "version": "v0.15.1", + "purl": "pkg:golang/github.com/twitchyliquid64/golang-asm@v0.15.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/twitchyliquid64/golang-asm@v0.15.1" + }, + { + "group": "golang.org/x", + "name": "arch", + "version": "v0.3.0", + "purl": "pkg:golang/golang.org/x/arch@v0.3.0", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/arch@v0.3.0" + }, + { + "group": "golang.org/x", + "name": "crypto", + "version": "v0.9.0", + "purl": "pkg:golang/golang.org/x/crypto@v0.9.0", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/crypto@v0.9.0" + }, + { + "group": "golang.org/x", + "name": "sys", + "version": "v0.8.0", + "purl": "pkg:golang/golang.org/x/sys@v0.8.0", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/sys@v0.8.0" + }, + { + "group": "golang.org/x", + "name": "text", + "version": "v0.9.0", + "purl": "pkg:golang/golang.org/x/text@v0.9.0", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/text@v0.9.0" + }, + { + "group": "github.com/go-openapi", + "name": "jsonpointer", + "version": "v0.19.5", + "purl": "pkg:golang/github.com/go-openapi/jsonpointer@v0.19.5", + "type": "library", + "bom-ref": "pkg:golang/github.com/go-openapi/jsonpointer@v0.19.5" + }, + { + "group": "github.com/go-openapi", + "name": "swag", + "version": "v0.19.14", + "purl": "pkg:golang/github.com/go-openapi/swag@v0.19.14", + "type": "library", + "bom-ref": "pkg:golang/github.com/go-openapi/swag@v0.19.14" + }, + { + "group": "github.com/mailru", + "name": "easyjson", + "version": "v0.7.6", + "purl": "pkg:golang/github.com/mailru/easyjson@v0.7.6", + "type": "library", + "bom-ref": "pkg:golang/github.com/mailru/easyjson@v0.7.6" + }, + { + "group": "github.com/go-openapi", + "name": "jsonreference", + "version": "v0.20.0", + "purl": "pkg:golang/github.com/go-openapi/jsonreference@v0.20.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/go-openapi/jsonreference@v0.20.0" + }, + { + "group": "github.com/kr", + "name": "text", + "version": "v0.2.0", + "purl": "pkg:golang/github.com/kr/text@v0.2.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/kr/text@v0.2.0" + }, + { + "group": "github.com/niemeyer", + "name": "pretty", + "version": "v0.0.0-20200227124842-a10e7caefd8e", + "purl": "pkg:golang/github.com/niemeyer/pretty@v0.0.0-20200227124842-a10e7caefd8e", + "type": "library", + "bom-ref": "pkg:golang/github.com/niemeyer/pretty@v0.0.0-20200227124842-a10e7caefd8e" + }, + { + "group": "gopkg.in", + "name": "check.v1", + "version": "v1.0.0-20200227125254-8fa46927fb4f", + "purl": "pkg:golang/gopkg.in/check.v1@v1.0.0-20200227125254-8fa46927fb4f", + "type": "library", + "bom-ref": "pkg:golang/gopkg.in/check.v1@v1.0.0-20200227125254-8fa46927fb4f" + }, + { + "group": "github.com/gogo", + "name": "protobuf", + "version": "v1.3.2", + "purl": "pkg:golang/github.com/gogo/protobuf@v1.3.2", + "type": "library", + "bom-ref": "pkg:golang/github.com/gogo/protobuf@v1.3.2" + }, + { + "group": "github.com/kisielk", + "name": "errcheck", + "version": "v1.5.0", + "purl": "pkg:golang/github.com/kisielk/errcheck@v1.5.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/kisielk/errcheck@v1.5.0" + }, + { + "group": "github.com/kisielk", + "name": "gotool", + "version": "v1.0.0", + "purl": "pkg:golang/github.com/kisielk/gotool@v1.0.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/kisielk/gotool@v1.0.0" + }, + { + "group": "golang.org/x", + "name": "tools", + "version": "v0.6.0", + "purl": "pkg:golang/golang.org/x/tools@v0.6.0", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/tools@v0.6.0" + }, + { + "group": "github.com/golang", + "name": "protobuf", + "version": "v1.5.2", + "purl": "pkg:golang/github.com/golang/protobuf@v1.5.2", + "type": "library", + "bom-ref": "pkg:golang/github.com/golang/protobuf@v1.5.2" + }, + { + "group": "github.com/google", + "name": "go-cmp", + "version": "v0.5.9", + "purl": "pkg:golang/github.com/google/go-cmp@v0.5.9", + "type": "library", + "bom-ref": "pkg:golang/github.com/google/go-cmp@v0.5.9" + }, + { + "group": "github.com/docopt", + "name": "docopt-go", + "version": "v0.0.0-20180111231733-ee0de3bc6815", + "purl": "pkg:golang/github.com/docopt/docopt-go@v0.0.0-20180111231733-ee0de3bc6815", + "type": "library", + "bom-ref": "pkg:golang/github.com/docopt/docopt-go@v0.0.0-20180111231733-ee0de3bc6815" + }, + { + "group": "github.com/stoewer", + "name": "go-strcase", + "version": "v1.2.0", + "purl": "pkg:golang/github.com/stoewer/go-strcase@v1.2.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/stoewer/go-strcase@v1.2.0" + }, + { + "group": "golang.org/x", + "name": "xerrors", + "version": "v0.0.0-20200804184101-5ec99f83aff1", + "purl": "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1" + }, + { + "group": "google.golang.org", + "name": "genproto", + "version": "v0.0.0-20201019141844-1ed22bb0c154", + "purl": "pkg:golang/google.golang.org/genproto@v0.0.0-20201019141844-1ed22bb0c154", + "type": "library", + "bom-ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20201019141844-1ed22bb0c154" + }, + { + "group": "github.com/google", + "name": "gofuzz", + "version": "v1.1.0", + "purl": "pkg:golang/github.com/google/gofuzz@v1.1.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/google/gofuzz@v1.1.0" + }, + { + "group": "github.com/rogpeppe", + "name": "go-internal", + "version": "v1.9.0", + "purl": "pkg:golang/github.com/rogpeppe/go-internal@v1.9.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/rogpeppe/go-internal@v1.9.0" + }, + { + "group": "github.com/creack", + "name": "pty", + "version": "v1.1.9", + "purl": "pkg:golang/github.com/creack/pty@v1.1.9", + "type": "library", + "bom-ref": "pkg:golang/github.com/creack/pty@v1.1.9" + }, + { + "group": "github.com/josharian", + "name": "intern", + "version": "v1.0.0", + "purl": "pkg:golang/github.com/josharian/intern@v1.0.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/josharian/intern@v1.0.0" + }, + { + "group": "github.com/pkg", + "name": "diff", + "version": "v0.0.0-20210226163009-20ebb0f2a09e", + "purl": "pkg:golang/github.com/pkg/diff@v0.0.0-20210226163009-20ebb0f2a09e", + "type": "library", + "bom-ref": "pkg:golang/github.com/pkg/diff@v0.0.0-20210226163009-20ebb0f2a09e" + }, + { + "group": "golang.org/x", + "name": "term", + "version": "v0.8.0", + "purl": "pkg:golang/golang.org/x/term@v0.8.0", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/term@v0.8.0" + }, + { + "group": "golang.org/x", + "name": "oauth2", + "version": "v0.0.0-20220223155221-ee480838109b", + "purl": "pkg:golang/golang.org/x/oauth2@v0.0.0-20220223155221-ee480838109b", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20220223155221-ee480838109b" + }, + { + "group": "cloud.google.com", + "name": "go", + "version": "v0.65.0", + "purl": "pkg:golang/cloud.google.com/go@v0.65.0", + "type": "library", + "bom-ref": "pkg:golang/cloud.google.com/go@v0.65.0" + }, + { + "group": "google.golang.org", + "name": "appengine", + "version": "v1.6.7", + "purl": "pkg:golang/google.golang.org/appengine@v1.6.7", + "type": "library", + "bom-ref": "pkg:golang/google.golang.org/appengine@v1.6.7" + }, + { + "group": "golang.org/x", + "name": "mod", + "version": "v0.8.0", + "purl": "pkg:golang/golang.org/x/mod@v0.8.0", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/mod@v0.8.0" + }, + { + "group": "k8s.io", + "name": "api", + "version": "v0.26.1", + "purl": "pkg:golang/k8s.io/api@v0.26.1", + "type": "library", + "bom-ref": "pkg:golang/k8s.io/api@v0.26.1" + }, + { + "group": "github.com/spf13", + "name": "pflag", + "version": "v1.0.5", + "purl": "pkg:golang/github.com/spf13/pflag@v1.0.5", + "type": "library", + "bom-ref": "pkg:golang/github.com/spf13/pflag@v1.0.5" + }, + { + "group": "gopkg.in", + "name": "inf.v0", + "version": "v0.9.1", + "purl": "pkg:golang/gopkg.in/inf.v0@v0.9.1", + "type": "library", + "bom-ref": "pkg:golang/gopkg.in/inf.v0@v0.9.1" + }, + { + "group": "k8s.io/klog", + "name": "v2", + "version": "v2.80.1", + "purl": "pkg:golang/k8s.io/klog/v2@v2.80.1", + "type": "library", + "bom-ref": "pkg:golang/k8s.io/klog/v2@v2.80.1" + }, + { + "group": "k8s.io", + "name": "utils", + "version": "v0.0.0-20221107191617-1a15be271d1d", + "purl": "pkg:golang/k8s.io/utils@v0.0.0-20221107191617-1a15be271d1d", + "type": "library", + "bom-ref": "pkg:golang/k8s.io/utils@v0.0.0-20221107191617-1a15be271d1d" + }, + { + "group": "sigs.k8s.io", + "name": "json", + "version": "v0.0.0-20220713155537-f223a00ba0e2", + "purl": "pkg:golang/sigs.k8s.io/json@v0.0.0-20220713155537-f223a00ba0e2", + "type": "library", + "bom-ref": "pkg:golang/sigs.k8s.io/json@v0.0.0-20220713155537-f223a00ba0e2" + }, + { + "group": "sigs.k8s.io/structured-merge-diff", + "name": "v4", + "version": "v4.2.3", + "purl": "pkg:golang/sigs.k8s.io/structured-merge-diff/v4@v4.2.3", + "type": "library", + "bom-ref": "pkg:golang/sigs.k8s.io/structured-merge-diff/v4@v4.2.3" + }, + { + "group": "sigs.k8s.io", + "name": "yaml", + "version": "v1.3.0", + "purl": "pkg:golang/sigs.k8s.io/yaml@v1.3.0", + "type": "library", + "bom-ref": "pkg:golang/sigs.k8s.io/yaml@v1.3.0" + }, + { + "group": "github.com/armon", + "name": "go-socks5", + "version": "v0.0.0-20160902184237-e75332964ef5", + "purl": "pkg:golang/github.com/armon/go-socks5@v0.0.0-20160902184237-e75332964ef5", + "type": "library", + "bom-ref": "pkg:golang/github.com/armon/go-socks5@v0.0.0-20160902184237-e75332964ef5" + }, + { + "group": "github.com/elazarl", + "name": "goproxy", + "version": "v0.0.0-20180725130230-947c36da3153", + "purl": "pkg:golang/github.com/elazarl/goproxy@v0.0.0-20180725130230-947c36da3153", + "type": "library", + "bom-ref": "pkg:golang/github.com/elazarl/goproxy@v0.0.0-20180725130230-947c36da3153" + }, + { + "group": "github.com/evanphx", + "name": "json-patch", + "version": "v4.12.0+incompatible", + "purl": "pkg:golang/github.com/evanphx/json-patch@v4.12.0%2Bincompatible", + "type": "library", + "bom-ref": "pkg:golang/github.com/evanphx/json-patch@v4.12.0%2Bincompatible" + }, + { + "group": "github.com/moby", + "name": "spdystream", + "version": "v0.2.0", + "purl": "pkg:golang/github.com/moby/spdystream@v0.2.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/moby/spdystream@v0.2.0" + }, + { + "group": "github.com/mxk", + "name": "go-flowrate", + "version": "v0.0.0-20140419014527-cca7078d478f", + "purl": "pkg:golang/github.com/mxk/go-flowrate@v0.0.0-20140419014527-cca7078d478f", + "type": "library", + "bom-ref": "pkg:golang/github.com/mxk/go-flowrate@v0.0.0-20140419014527-cca7078d478f" + }, + { + "group": "k8s.io", + "name": "kube-openapi", + "version": "v0.0.0-20221012153701-172d655c2280", + "purl": "pkg:golang/k8s.io/kube-openapi@v0.0.0-20221012153701-172d655c2280", + "type": "library", + "bom-ref": "pkg:golang/k8s.io/kube-openapi@v0.0.0-20221012153701-172d655c2280" + }, + { + "group": "github.com/onsi/ginkgo", + "name": "v2", + "version": "v2.4.0", + "purl": "pkg:golang/github.com/onsi/ginkgo/v2@v2.4.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/onsi/ginkgo/v2@v2.4.0" + }, + { + "group": "github.com/onsi", + "name": "gomega", + "version": "v1.23.0", + "purl": "pkg:golang/github.com/onsi/gomega@v1.23.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/onsi/gomega@v1.23.0" + }, + { + "group": "github.com/pkg", + "name": "errors", + "version": "v0.9.1", + "purl": "pkg:golang/github.com/pkg/errors@v0.9.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/pkg/errors@v0.9.1" + }, + { + "group": "github.com/golang", + "name": "groupcache", + "version": "v0.0.0-20210331224755-41bb18bfe9da", + "purl": "pkg:golang/github.com/golang/groupcache@v0.0.0-20210331224755-41bb18bfe9da", + "type": "library", + "bom-ref": "pkg:golang/github.com/golang/groupcache@v0.0.0-20210331224755-41bb18bfe9da" + }, + { + "group": "github.com/gregjones", + "name": "httpcache", + "version": "v0.0.0-20180305231024-9cad4c3443a7", + "purl": "pkg:golang/github.com/gregjones/httpcache@v0.0.0-20180305231024-9cad4c3443a7", + "type": "library", + "bom-ref": "pkg:golang/github.com/gregjones/httpcache@v0.0.0-20180305231024-9cad4c3443a7" + }, + { + "group": "github.com/imdario", + "name": "mergo", + "version": "v0.3.6", + "purl": "pkg:golang/github.com/imdario/mergo@v0.3.6", + "type": "library", + "bom-ref": "pkg:golang/github.com/imdario/mergo@v0.3.6" + }, + { + "group": "github.com/peterbourgon", + "name": "diskv", + "version": "v2.0.1+incompatible", + "purl": "pkg:golang/github.com/peterbourgon/diskv@v2.0.1%2Bincompatible", + "type": "library", + "bom-ref": "pkg:golang/github.com/peterbourgon/diskv@v2.0.1%2Bincompatible" + }, + { + "group": "golang.org/x", + "name": "time", + "version": "v0.0.0-20220210224613-90d013bbcef8", + "purl": "pkg:golang/golang.org/x/time@v0.0.0-20220210224613-90d013bbcef8", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/time@v0.0.0-20220210224613-90d013bbcef8" + }, + { + "group": "github.com/emicklei/go-restful", + "name": "v3", + "version": "v3.9.0", + "purl": "pkg:golang/github.com/emicklei/go-restful/v3@v3.9.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/emicklei/go-restful/v3@v3.9.0" + }, + { + "group": "github.com/google", + "name": "btree", + "version": "v1.0.1", + "purl": "pkg:golang/github.com/google/btree@v1.0.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/google/btree@v1.0.1" + }, + { + "group": "github.com/munnerz", + "name": "goautoneg", + "version": "v0.0.0-20191010083416-a7dc8b61c822", + "purl": "pkg:golang/github.com/munnerz/goautoneg@v0.0.0-20191010083416-a7dc8b61c822", + "type": "library", + "bom-ref": "pkg:golang/github.com/munnerz/goautoneg@v0.0.0-20191010083416-a7dc8b61c822" + }, + { + "group": "github.com/NYTimes", + "name": "gziphandler", + "version": "v0.0.0-20170623195520-56545f4a5d46", + "purl": "pkg:golang/github.com/NYTimes/gziphandler@v0.0.0-20170623195520-56545f4a5d46", + "type": "library", + "bom-ref": "pkg:golang/github.com/NYTimes/gziphandler@v0.0.0-20170623195520-56545f4a5d46" + }, + { + "group": "github.com/asaskevich", + "name": "govalidator", + "version": "v0.0.0-20190424111038-f61b66f89f4a", + "purl": "pkg:golang/github.com/asaskevich/govalidator@v0.0.0-20190424111038-f61b66f89f4a", + "type": "library", + "bom-ref": "pkg:golang/github.com/asaskevich/govalidator@v0.0.0-20190424111038-f61b66f89f4a" + }, + { + "group": "github.com/mitchellh", + "name": "mapstructure", + "version": "v1.1.2", + "purl": "pkg:golang/github.com/mitchellh/mapstructure@v1.1.2", + "type": "library", + "bom-ref": "pkg:golang/github.com/mitchellh/mapstructure@v1.1.2" + }, + { + "group": "k8s.io", + "name": "gengo", + "version": "v0.0.0-20210813121822-485abfe95c7c", + "purl": "pkg:golang/k8s.io/gengo@v0.0.0-20210813121822-485abfe95c7c", + "type": "library", + "bom-ref": "pkg:golang/k8s.io/gengo@v0.0.0-20210813121822-485abfe95c7c" + }, + { + "group": "github.com/PuerkitoBio", + "name": "purell", + "version": "v1.1.1", + "purl": "pkg:golang/github.com/PuerkitoBio/purell@v1.1.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/PuerkitoBio/purell@v1.1.1" + }, + { + "group": "github.com/PuerkitoBio", + "name": "urlesc", + "version": "v0.0.0-20170810143723-de5bf2ad4578", + "purl": "pkg:golang/github.com/PuerkitoBio/urlesc@v0.0.0-20170810143723-de5bf2ad4578", + "type": "library", + "bom-ref": "pkg:golang/github.com/PuerkitoBio/urlesc@v0.0.0-20170810143723-de5bf2ad4578" + }, + { + "group": "github.com/stretchr", + "name": "objx", + "version": "v0.1.0", + "purl": "pkg:golang/github.com/stretchr/objx@v0.1.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/stretchr/objx@v0.1.0" + }, + { + "group": "github.com/yuin", + "name": "goldmark", + "version": "v1.2.1", + "purl": "pkg:golang/github.com/yuin/goldmark@v1.2.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/yuin/goldmark@v1.2.1" + }, + { + "group": "golang.org/x", + "name": "sync", + "version": "v0.0.0-20201020160332-67f06af15bc9", + "purl": "pkg:golang/golang.org/x/sync@v0.0.0-20201020160332-67f06af15bc9", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/sync@v0.0.0-20201020160332-67f06af15bc9" + }, + { + "group": "golang.org/x", + "name": "lint", + "version": "v0.0.0-20200302205851-738671d3881b", + "purl": "pkg:golang/golang.org/x/lint@v0.0.0-20200302205851-738671d3881b", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/lint@v0.0.0-20200302205851-738671d3881b" + }, + { + "group": "google.golang.org", + "name": "grpc", + "version": "v1.31.0", + "purl": "pkg:golang/google.golang.org/grpc@v1.31.0", + "type": "library", + "bom-ref": "pkg:golang/google.golang.org/grpc@v1.31.0" + }, + { + "group": "cloud.google.com/go", + "name": "storage", + "version": "v1.10.0", + "purl": "pkg:golang/cloud.google.com/go/storage@v1.10.0", + "type": "library", + "bom-ref": "pkg:golang/cloud.google.com/go/storage@v1.10.0" + }, + { + "group": "github.com/golang", + "name": "mock", + "version": "v1.4.4", + "purl": "pkg:golang/github.com/golang/mock@v1.4.4", + "type": "library", + "bom-ref": "pkg:golang/github.com/golang/mock@v1.4.4" + }, + { + "group": "github.com/google/martian", + "name": "v3", + "version": "v3.0.0", + "purl": "pkg:golang/github.com/google/martian/v3@v3.0.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/google/martian/v3@v3.0.0" + }, + { + "group": "github.com/google", + "name": "pprof", + "version": "v0.0.0-20200708004538-1a94d8640e99", + "purl": "pkg:golang/github.com/google/pprof@v0.0.0-20200708004538-1a94d8640e99", + "type": "library", + "bom-ref": "pkg:golang/github.com/google/pprof@v0.0.0-20200708004538-1a94d8640e99" + }, + { + "group": "github.com/googleapis/gax-go", + "name": "v2", + "version": "v2.0.5", + "purl": "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", + "type": "library", + "bom-ref": "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5" + }, + { + "group": "github.com/jstemmer", + "name": "go-junit-report", + "version": "v0.9.1", + "purl": "pkg:golang/github.com/jstemmer/go-junit-report@v0.9.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/jstemmer/go-junit-report@v0.9.1" + }, + { + "name": "go.opencensus.io", + "version": "v0.22.4", + "purl": "pkg:golang/go.opencensus.io@v0.22.4", + "type": "library", + "bom-ref": "pkg:golang/go.opencensus.io@v0.22.4" + }, + { + "group": "google.golang.org", + "name": "api", + "version": "v0.30.0", + "purl": "pkg:golang/google.golang.org/api@v0.30.0", + "type": "library", + "bom-ref": "pkg:golang/google.golang.org/api@v0.30.0" + }, + { + "group": "github.com/kr", + "name": "pty", + "version": "v1.1.1", + "purl": "pkg:golang/github.com/kr/pty@v1.1.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/kr/pty@v1.1.1" + }, + { + "group": "github.com/envoyproxy", + "name": "go-control-plane", + "version": "v0.9.4", + "purl": "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.4", + "type": "library", + "bom-ref": "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.4" + }, + { + "group": "github.com/envoyproxy", + "name": "protoc-gen-validate", + "version": "v0.1.0", + "purl": "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0" + }, + { + "group": "github.com/golang", + "name": "glog", + "version": "v0.0.0-20160126235308-23def4e6c14b", + "purl": "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", + "type": "library", + "bom-ref": "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b" + }, + { + "group": "cloud.google.com/go", + "name": "bigquery", + "version": "v1.8.0", + "purl": "pkg:golang/cloud.google.com/go/bigquery@v1.8.0", + "type": "library", + "bom-ref": "pkg:golang/cloud.google.com/go/bigquery@v1.8.0" + }, + { + "group": "github.com/chzyer", + "name": "logex", + "version": "v1.1.10", + "purl": "pkg:golang/github.com/chzyer/logex@v1.1.10", + "type": "library", + "bom-ref": "pkg:golang/github.com/chzyer/logex@v1.1.10" + }, + { + "group": "github.com/chzyer", + "name": "readline", + "version": "v0.0.0-20180603132655-2972be24d48e", + "purl": "pkg:golang/github.com/chzyer/readline@v0.0.0-20180603132655-2972be24d48e", + "type": "library", + "bom-ref": "pkg:golang/github.com/chzyer/readline@v0.0.0-20180603132655-2972be24d48e" + }, + { + "group": "github.com/chzyer", + "name": "test", + "version": "v0.0.0-20180213035817-a1ea475d72b1", + "purl": "pkg:golang/github.com/chzyer/test@v0.0.0-20180213035817-a1ea475d72b1", + "type": "library", + "bom-ref": "pkg:golang/github.com/chzyer/test@v0.0.0-20180213035817-a1ea475d72b1" + }, + { + "group": "github.com/ianlancetaylor", + "name": "demangle", + "version": "v0.0.0-20181102032728-5e5cf60278f6", + "purl": "pkg:golang/github.com/ianlancetaylor/demangle@v0.0.0-20181102032728-5e5cf60278f6", + "type": "library", + "bom-ref": "pkg:golang/github.com/ianlancetaylor/demangle@v0.0.0-20181102032728-5e5cf60278f6" + }, + { + "group": "github.com/cncf/udpa", + "name": "go", + "version": "v0.0.0-20191209042840-269d4d468f6f", + "purl": "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20191209042840-269d4d468f6f", + "type": "library", + "bom-ref": "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20191209042840-269d4d468f6f" + }, + { + "group": "github.com/census-instrumentation", + "name": "opencensus-proto", + "version": "v0.2.1", + "purl": "pkg:golang/github.com/census-instrumentation/opencensus-proto@v0.2.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/census-instrumentation/opencensus-proto@v0.2.1" + }, + { + "group": "github.com/prometheus", + "name": "client_model", + "version": "v0.0.0-20190812154241-14fe0d1b01d4", + "purl": "pkg:golang/github.com/prometheus/client_model@v0.0.0-20190812154241-14fe0d1b01d4", + "type": "library", + "bom-ref": "pkg:golang/github.com/prometheus/client_model@v0.0.0-20190812154241-14fe0d1b01d4" + }, + { + "group": "golang.org/x", + "name": "exp", + "version": "v0.0.0-20200224162631-6cc2880d07d6", + "purl": "pkg:golang/golang.org/x/exp@v0.0.0-20200224162631-6cc2880d07d6", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/exp@v0.0.0-20200224162631-6cc2880d07d6" + }, + { + "group": "honnef.co/go", + "name": "tools", + "version": "v0.0.1-2020.1.4", + "purl": "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.4", + "type": "library", + "bom-ref": "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.4" + }, + { + "group": "cloud.google.com/go", + "name": "datastore", + "version": "v1.1.0", + "purl": "pkg:golang/cloud.google.com/go/datastore@v1.1.0", + "type": "library", + "bom-ref": "pkg:golang/cloud.google.com/go/datastore@v1.1.0" + }, + { + "group": "cloud.google.com/go", + "name": "pubsub", + "version": "v1.3.1", + "purl": "pkg:golang/cloud.google.com/go/pubsub@v1.3.1", + "type": "library", + "bom-ref": "pkg:golang/cloud.google.com/go/pubsub@v1.3.1" + }, + { + "group": "github.com/google", + "name": "martian", + "version": "v2.1.0+incompatible", + "purl": "pkg:golang/github.com/google/martian@v2.1.0%2Bincompatible", + "type": "library", + "bom-ref": "pkg:golang/github.com/google/martian@v2.1.0%2Bincompatible" + }, + { + "group": "github.com/BurntSushi", + "name": "toml", + "version": "v0.3.1", + "purl": "pkg:golang/github.com/BurntSushi/toml@v0.3.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/BurntSushi/toml@v0.3.1" + }, + { + "group": "github.com/client9", + "name": "misspell", + "version": "v0.3.4", + "purl": "pkg:golang/github.com/client9/misspell@v0.3.4", + "type": "library", + "bom-ref": "pkg:golang/github.com/client9/misspell@v0.3.4" + }, + { + "group": "rsc.io/quote", + "name": "v3", + "version": "v3.1.0", + "purl": "pkg:golang/rsc.io/quote/v3@v3.1.0", + "type": "library", + "bom-ref": "pkg:golang/rsc.io/quote/v3@v3.1.0" + }, + { + "group": "github.com/hashicorp", + "name": "golang-lru", + "version": "v0.5.1", + "purl": "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1", + "type": "library", + "bom-ref": "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1" + }, + { + "group": "github.com/google", + "name": "renameio", + "version": "v0.1.0", + "purl": "pkg:golang/github.com/google/renameio@v0.1.0", + "type": "library", + "bom-ref": "pkg:golang/github.com/google/renameio@v0.1.0" + }, + { + "group": "dmitri.shuralyov.com/gpu", + "name": "mtl", + "version": "v0.0.0-20190408044501-666a987793e9", + "purl": "pkg:golang/dmitri.shuralyov.com/gpu/mtl@v0.0.0-20190408044501-666a987793e9", + "type": "library", + "bom-ref": "pkg:golang/dmitri.shuralyov.com/gpu/mtl@v0.0.0-20190408044501-666a987793e9" + }, + { + "group": "github.com/BurntSushi", + "name": "xgb", + "version": "v0.0.0-20160522181843-27f122750802", + "purl": "pkg:golang/github.com/BurntSushi/xgb@v0.0.0-20160522181843-27f122750802", + "type": "library", + "bom-ref": "pkg:golang/github.com/BurntSushi/xgb@v0.0.0-20160522181843-27f122750802" + }, + { + "group": "github.com/go-gl/glfw/v3.3", + "name": "glfw", + "version": "v0.0.0-20200222043503-6f7a984d4dc4", + "purl": "pkg:golang/github.com/go-gl/glfw/v3.3/glfw@v0.0.0-20200222043503-6f7a984d4dc4", + "type": "library", + "bom-ref": "pkg:golang/github.com/go-gl/glfw/v3.3/glfw@v0.0.0-20200222043503-6f7a984d4dc4" + }, + { + "group": "golang.org/x", + "name": "image", + "version": "v0.0.0-20190802002840-cff245a6509b", + "purl": "pkg:golang/golang.org/x/image@v0.0.0-20190802002840-cff245a6509b", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/image@v0.0.0-20190802002840-cff245a6509b" + }, + { + "group": "golang.org/x", + "name": "mobile", + "version": "v0.0.0-20190719004257-d2bd2a29d028", + "purl": "pkg:golang/golang.org/x/mobile@v0.0.0-20190719004257-d2bd2a29d028", + "type": "library", + "bom-ref": "pkg:golang/golang.org/x/mobile@v0.0.0-20190719004257-d2bd2a29d028" + }, + { + "group": "rsc.io", + "name": "sampler", + "version": "v1.3.0", + "purl": "pkg:golang/rsc.io/sampler@v1.3.0", + "type": "library", + "bom-ref": "pkg:golang/rsc.io/sampler@v1.3.0" + }, + { + "group": "gopkg.in", + "name": "errgo.v2", + "version": "v2.1.0", + "purl": "pkg:golang/gopkg.in/errgo.v2@v2.1.0", + "type": "library", + "bom-ref": "pkg:golang/gopkg.in/errgo.v2@v2.1.0" + }, + { + "group": "rsc.io", + "name": "binaryregexp", + "version": "v0.2.0", + "purl": "pkg:golang/rsc.io/binaryregexp@v0.2.0", + "type": "library", + "bom-ref": "pkg:golang/rsc.io/binaryregexp@v0.2.0" + }, + { + "group": "github.com/go-gl", + "name": "glfw", + "version": "v0.0.0-20190409004039-e6da0acd62b1", + "purl": "pkg:golang/github.com/go-gl/glfw@v0.0.0-20190409004039-e6da0acd62b1", + "type": "library", + "bom-ref": "pkg:golang/github.com/go-gl/glfw@v0.0.0-20190409004039-e6da0acd62b1" + } + ], + "dependencies": [ + { + "ref": "pkg:golang/github.com/RHEcosystemAppEng/SaaSi/deployer@v0.0.0", + "dependsOn": [ + "pkg:golang/github.com/gin-gonic/gin@v1.9.1", + "pkg:golang/github.com/google/uuid@v1.1.2", + "pkg:golang/github.com/kr/pretty@v0.3.1", + "pkg:golang/gopkg.in/yaml.v2@v2.4.0", + "pkg:golang/k8s.io/apimachinery@v0.26.1", + "pkg:golang/k8s.io/client-go@v0.26.1" + ] + }, + { + "ref": "pkg:golang/github.com/gin-gonic/gin@v1.9.1", + "dependsOn": [ + "pkg:golang/github.com/bytedance/sonic@v1.9.1", + "pkg:golang/github.com/gin-contrib/sse@v0.1.0", + "pkg:golang/github.com/go-playground/validator/v10@v10.14.0", + "pkg:golang/github.com/goccy/go-json@v0.10.2", + "pkg:golang/github.com/json-iterator/go@v1.1.12", + "pkg:golang/github.com/mattn/go-isatty@v0.0.19", + "pkg:golang/github.com/pelletier/go-toml/v2@v2.0.8", + "pkg:golang/github.com/stretchr/testify@v1.8.3", + "pkg:golang/github.com/ugorji/go/codec@v1.2.11", + "pkg:golang/golang.org/x/net@v0.10.0", + "pkg:golang/google.golang.org/protobuf@v1.30.0", + "pkg:golang/gopkg.in/yaml.v3@v3.0.1", + "pkg:golang/github.com/chenzhuoyu/base64x@v0.0.0-20221115062448-fe3a3abad311", + "pkg:golang/github.com/davecgh/go-spew@v1.1.1", + "pkg:golang/github.com/gabriel-vasile/mimetype@v1.4.2", + "pkg:golang/github.com/go-playground/locales@v0.14.1", + "pkg:golang/github.com/go-playground/universal-translator@v0.18.1", + "pkg:golang/github.com/klauspost/cpuid/v2@v2.2.4", + "pkg:golang/github.com/leodido/go-urn@v1.2.4", + "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd", + "pkg:golang/github.com/modern-go/reflect2@v1.0.2", + "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", + "pkg:golang/github.com/twitchyliquid64/golang-asm@v0.15.1", + "pkg:golang/golang.org/x/arch@v0.3.0", + "pkg:golang/golang.org/x/crypto@v0.9.0", + "pkg:golang/golang.org/x/sys@v0.8.0", + "pkg:golang/golang.org/x/text@v0.9.0" + ] + }, + { + "ref": "pkg:golang/github.com/google/uuid@v1.1.2", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/kr/pretty@v0.3.1", + "dependsOn": [ + "pkg:golang/github.com/kr/text@v0.2.0", + "pkg:golang/github.com/rogpeppe/go-internal@v1.9.0" + ] + }, + { + "ref": "pkg:golang/gopkg.in/yaml.v2@v2.4.0", + "dependsOn": [ + "pkg:golang/gopkg.in/check.v1@v1.0.0-20200227125254-8fa46927fb4f" + ] + }, + { + "ref": "pkg:golang/k8s.io/apimachinery@v0.26.1", + "dependsOn": [ + "pkg:golang/github.com/armon/go-socks5@v0.0.0-20160902184237-e75332964ef5", + "pkg:golang/github.com/davecgh/go-spew@v1.1.1", + "pkg:golang/github.com/elazarl/goproxy@v0.0.0-20180725130230-947c36da3153", + "pkg:golang/github.com/evanphx/json-patch@v4.12.0%2Bincompatible", + "pkg:golang/github.com/gogo/protobuf@v1.3.2", + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/github.com/google/go-cmp@v0.5.9", + "pkg:golang/github.com/google/gofuzz@v1.1.0", + "pkg:golang/github.com/google/uuid@v1.1.2", + "pkg:golang/github.com/moby/spdystream@v0.2.0", + "pkg:golang/github.com/mxk/go-flowrate@v0.0.0-20140419014527-cca7078d478f", + "pkg:golang/github.com/spf13/pflag@v1.0.5", + "pkg:golang/github.com/stretchr/testify@v1.8.3", + "pkg:golang/golang.org/x/net@v0.10.0", + "pkg:golang/gopkg.in/inf.v0@v0.9.1", + "pkg:golang/k8s.io/klog/v2@v2.80.1", + "pkg:golang/k8s.io/kube-openapi@v0.0.0-20221012153701-172d655c2280", + "pkg:golang/k8s.io/utils@v0.0.0-20221107191617-1a15be271d1d", + "pkg:golang/sigs.k8s.io/json@v0.0.0-20220713155537-f223a00ba0e2", + "pkg:golang/sigs.k8s.io/structured-merge-diff/v4@v4.2.3", + "pkg:golang/sigs.k8s.io/yaml@v1.3.0", + "pkg:golang/github.com/json-iterator/go@v1.1.12", + "pkg:golang/github.com/kr/text@v0.2.0", + "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd", + "pkg:golang/github.com/modern-go/reflect2@v1.0.2", + "pkg:golang/github.com/niemeyer/pretty@v0.0.0-20200227124842-a10e7caefd8e", + "pkg:golang/github.com/onsi/ginkgo/v2@v2.4.0", + "pkg:golang/github.com/onsi/gomega@v1.23.0", + "pkg:golang/github.com/pkg/errors@v0.9.1", + "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", + "pkg:golang/golang.org/x/text@v0.9.0", + "pkg:golang/google.golang.org/protobuf@v1.30.0", + "pkg:golang/gopkg.in/check.v1@v1.0.0-20200227125254-8fa46927fb4f", + "pkg:golang/gopkg.in/yaml.v2@v2.4.0", + "pkg:golang/gopkg.in/yaml.v3@v3.0.1" + ] + }, + { + "ref": "pkg:golang/k8s.io/client-go@v0.26.1", + "dependsOn": [ + "pkg:golang/github.com/davecgh/go-spew@v1.1.1", + "pkg:golang/github.com/evanphx/json-patch@v4.12.0%2Bincompatible", + "pkg:golang/github.com/gogo/protobuf@v1.3.2", + "pkg:golang/github.com/golang/groupcache@v0.0.0-20210331224755-41bb18bfe9da", + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/github.com/google/go-cmp@v0.5.9", + "pkg:golang/github.com/google/gofuzz@v1.1.0", + "pkg:golang/github.com/google/uuid@v1.1.2", + "pkg:golang/github.com/gregjones/httpcache@v0.0.0-20180305231024-9cad4c3443a7", + "pkg:golang/github.com/imdario/mergo@v0.3.6", + "pkg:golang/github.com/peterbourgon/diskv@v2.0.1%2Bincompatible", + "pkg:golang/github.com/spf13/pflag@v1.0.5", + "pkg:golang/github.com/stretchr/testify@v1.8.3", + "pkg:golang/golang.org/x/net@v0.10.0", + "pkg:golang/golang.org/x/oauth2@v0.0.0-20220223155221-ee480838109b", + "pkg:golang/golang.org/x/term@v0.8.0", + "pkg:golang/golang.org/x/time@v0.0.0-20220210224613-90d013bbcef8", + "pkg:golang/google.golang.org/protobuf@v1.30.0", + "pkg:golang/k8s.io/api@v0.26.1", + "pkg:golang/k8s.io/apimachinery@v0.26.1", + "pkg:golang/k8s.io/klog/v2@v2.80.1", + "pkg:golang/k8s.io/kube-openapi@v0.0.0-20221012153701-172d655c2280", + "pkg:golang/k8s.io/utils@v0.0.0-20221107191617-1a15be271d1d", + "pkg:golang/sigs.k8s.io/structured-merge-diff/v4@v4.2.3", + "pkg:golang/sigs.k8s.io/yaml@v1.3.0", + "pkg:golang/github.com/emicklei/go-restful/v3@v3.9.0", + "pkg:golang/github.com/go-openapi/jsonpointer@v0.19.5", + "pkg:golang/github.com/go-openapi/jsonreference@v0.20.0", + "pkg:golang/github.com/go-openapi/swag@v0.19.14", + "pkg:golang/github.com/google/btree@v1.0.1", + "pkg:golang/github.com/josharian/intern@v1.0.0", + "pkg:golang/github.com/json-iterator/go@v1.1.12", + "pkg:golang/github.com/mailru/easyjson@v0.7.6", + "pkg:golang/github.com/moby/spdystream@v0.2.0", + "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd", + "pkg:golang/github.com/modern-go/reflect2@v1.0.2", + "pkg:golang/github.com/munnerz/goautoneg@v0.0.0-20191010083416-a7dc8b61c822", + "pkg:golang/github.com/pkg/errors@v0.9.1", + "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", + "pkg:golang/golang.org/x/sys@v0.8.0", + "pkg:golang/golang.org/x/text@v0.9.0", + "pkg:golang/google.golang.org/appengine@v1.6.7", + "pkg:golang/gopkg.in/inf.v0@v0.9.1", + "pkg:golang/gopkg.in/yaml.v2@v2.4.0", + "pkg:golang/gopkg.in/yaml.v3@v3.0.1", + "pkg:golang/sigs.k8s.io/json@v0.0.0-20220713155537-f223a00ba0e2" + ] + }, + { + "ref": "pkg:golang/github.com/bytedance/sonic@v1.9.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/gin-contrib/sse@v0.1.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/go-playground/validator/v10@v10.14.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/goccy/go-json@v0.10.2", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/json-iterator/go@v1.1.12", + "dependsOn": [ + "pkg:golang/github.com/davecgh/go-spew@v1.1.1", + "pkg:golang/github.com/google/gofuzz@v1.1.0", + "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd", + "pkg:golang/github.com/modern-go/reflect2@v1.0.2", + "pkg:golang/github.com/stretchr/testify@v1.8.3" + ] + }, + { + "ref": "pkg:golang/github.com/mattn/go-isatty@v0.0.19", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/pelletier/go-toml/v2@v2.0.8", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/stretchr/testify@v1.8.3", + "dependsOn": [ + "pkg:golang/github.com/davecgh/go-spew@v1.1.1", + "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", + "pkg:golang/github.com/stretchr/objx@v0.1.0", + "pkg:golang/gopkg.in/yaml.v3@v3.0.1", + "pkg:golang/gopkg.in/yaml.v2@v2.4.0" + ] + }, + { + "ref": "pkg:golang/github.com/ugorji/go/codec@v1.2.11", + "dependsOn": [] + }, + { + "ref": "pkg:golang/golang.org/x/net@v0.10.0", + "dependsOn": [ + "pkg:golang/golang.org/x/sys@v0.8.0", + "pkg:golang/golang.org/x/term@v0.8.0", + "pkg:golang/golang.org/x/text@v0.9.0", + "pkg:golang/golang.org/x/crypto@v0.9.0" + ] + }, + { + "ref": "pkg:golang/google.golang.org/protobuf@v1.30.0", + "dependsOn": [ + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/github.com/google/go-cmp@v0.5.9", + "pkg:golang/google.golang.org/genproto@v0.0.0-20201019141844-1ed22bb0c154" + ] + }, + { + "ref": "pkg:golang/gopkg.in/yaml.v3@v3.0.1", + "dependsOn": [ + "pkg:golang/gopkg.in/check.v1@v1.0.0-20200227125254-8fa46927fb4f" + ] + }, + { + "ref": "pkg:golang/github.com/chenzhuoyu/base64x@v0.0.0-20221115062448-fe3a3abad311", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/davecgh/go-spew@v1.1.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/gabriel-vasile/mimetype@v1.4.2", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/go-playground/locales@v0.14.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/go-playground/universal-translator@v0.18.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/klauspost/cpuid/v2@v2.2.4", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/leodido/go-urn@v1.2.4", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/modern-go/reflect2@v1.0.2", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/twitchyliquid64/golang-asm@v0.15.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/golang.org/x/arch@v0.3.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/golang.org/x/crypto@v0.9.0", + "dependsOn": [ + "pkg:golang/golang.org/x/sys@v0.8.0", + "pkg:golang/golang.org/x/net@v0.10.0" + ] + }, + { + "ref": "pkg:golang/golang.org/x/sys@v0.8.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/golang.org/x/text@v0.9.0", + "dependsOn": [ + "pkg:golang/golang.org/x/tools@v0.6.0", + "pkg:golang/golang.org/x/mod@v0.8.0", + "pkg:golang/golang.org/x/sys@v0.8.0" + ] + }, + { + "ref": "pkg:golang/github.com/go-openapi/jsonpointer@v0.19.5", + "dependsOn": [ + "pkg:golang/github.com/go-openapi/swag@v0.19.14", + "pkg:golang/github.com/mailru/easyjson@v0.7.6", + "pkg:golang/github.com/stretchr/testify@v1.8.3" + ] + }, + { + "ref": "pkg:golang/github.com/go-openapi/swag@v0.19.14", + "dependsOn": [ + "pkg:golang/github.com/davecgh/go-spew@v1.1.1", + "pkg:golang/github.com/kr/text@v0.2.0", + "pkg:golang/github.com/mailru/easyjson@v0.7.6", + "pkg:golang/github.com/niemeyer/pretty@v0.0.0-20200227124842-a10e7caefd8e", + "pkg:golang/github.com/stretchr/testify@v1.8.3", + "pkg:golang/gopkg.in/check.v1@v1.0.0-20200227125254-8fa46927fb4f", + "pkg:golang/gopkg.in/yaml.v2@v2.4.0", + "pkg:golang/gopkg.in/yaml.v3@v3.0.1", + "pkg:golang/github.com/kr/pretty@v0.3.1" + ] + }, + { + "ref": "pkg:golang/github.com/mailru/easyjson@v0.7.6", + "dependsOn": [ + "pkg:golang/github.com/josharian/intern@v1.0.0" + ] + }, + { + "ref": "pkg:golang/github.com/go-openapi/jsonreference@v0.20.0", + "dependsOn": [ + "pkg:golang/github.com/go-openapi/jsonpointer@v0.19.5", + "pkg:golang/github.com/stretchr/testify@v1.8.3" + ] + }, + { + "ref": "pkg:golang/github.com/kr/text@v0.2.0", + "dependsOn": [ + "pkg:golang/github.com/creack/pty@v1.1.9", + "pkg:golang/github.com/kr/pty@v1.1.1" + ] + }, + { + "ref": "pkg:golang/github.com/niemeyer/pretty@v0.0.0-20200227124842-a10e7caefd8e", + "dependsOn": [ + "pkg:golang/github.com/kr/text@v0.2.0" + ] + }, + { + "ref": "pkg:golang/gopkg.in/check.v1@v1.0.0-20200227125254-8fa46927fb4f", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/gogo/protobuf@v1.3.2", + "dependsOn": [ + "pkg:golang/github.com/kisielk/errcheck@v1.5.0", + "pkg:golang/github.com/kisielk/gotool@v1.0.0", + "pkg:golang/golang.org/x/tools@v0.6.0" + ] + }, + { + "ref": "pkg:golang/github.com/kisielk/errcheck@v1.5.0", + "dependsOn": [ + "pkg:golang/golang.org/x/tools@v0.6.0" + ] + }, + { + "ref": "pkg:golang/github.com/kisielk/gotool@v1.0.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/golang.org/x/tools@v0.6.0", + "dependsOn": [ + "pkg:golang/github.com/yuin/goldmark@v1.2.1", + "pkg:golang/golang.org/x/mod@v0.8.0", + "pkg:golang/golang.org/x/net@v0.10.0", + "pkg:golang/golang.org/x/sync@v0.0.0-20201020160332-67f06af15bc9", + "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1", + "pkg:golang/google.golang.org/appengine@v1.6.7" + ] + }, + { + "ref": "pkg:golang/github.com/golang/protobuf@v1.5.2", + "dependsOn": [ + "pkg:golang/github.com/google/go-cmp@v0.5.9", + "pkg:golang/google.golang.org/protobuf@v1.30.0" + ] + }, + { + "ref": "pkg:golang/github.com/google/go-cmp@v0.5.9", + "dependsOn": [ + "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1" + ] + }, + { + "ref": "pkg:golang/github.com/docopt/docopt-go@v0.0.0-20180111231733-ee0de3bc6815", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/stoewer/go-strcase@v1.2.0", + "dependsOn": [ + "pkg:golang/github.com/stretchr/testify@v1.8.3" + ] + }, + { + "ref": "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/google.golang.org/genproto@v0.0.0-20201019141844-1ed22bb0c154", + "dependsOn": [ + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/golang.org/x/lint@v0.0.0-20200302205851-738671d3881b", + "pkg:golang/golang.org/x/tools@v0.6.0", + "pkg:golang/google.golang.org/grpc@v1.31.0", + "pkg:golang/google.golang.org/protobuf@v1.30.0", + "pkg:golang/golang.org/x/exp@v0.0.0-20200224162631-6cc2880d07d6", + "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.4", + "pkg:golang/golang.org/x/net@v0.10.0", + "pkg:golang/golang.org/x/sync@v0.0.0-20201020160332-67f06af15bc9" + ] + }, + { + "ref": "pkg:golang/github.com/google/gofuzz@v1.1.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/rogpeppe/go-internal@v1.9.0", + "dependsOn": [ + "pkg:golang/github.com/pkg/diff@v0.0.0-20210226163009-20ebb0f2a09e", + "pkg:golang/gopkg.in/errgo.v2@v2.1.0" + ] + }, + { + "ref": "pkg:golang/github.com/creack/pty@v1.1.9", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/josharian/intern@v1.0.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/pkg/diff@v0.0.0-20210226163009-20ebb0f2a09e", + "dependsOn": [] + }, + { + "ref": "pkg:golang/golang.org/x/term@v0.8.0", + "dependsOn": [ + "pkg:golang/golang.org/x/sys@v0.8.0" + ] + }, + { + "ref": "pkg:golang/golang.org/x/oauth2@v0.0.0-20220223155221-ee480838109b", + "dependsOn": [ + "pkg:golang/cloud.google.com/go@v0.65.0", + "pkg:golang/golang.org/x/net@v0.10.0", + "pkg:golang/google.golang.org/appengine@v1.6.7", + "pkg:golang/golang.org/x/sync@v0.0.0-20201020160332-67f06af15bc9" + ] + }, + { + "ref": "pkg:golang/cloud.google.com/go@v0.65.0", + "dependsOn": [ + "pkg:golang/cloud.google.com/go/storage@v1.10.0", + "pkg:golang/github.com/golang/mock@v1.4.4", + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/github.com/google/go-cmp@v0.5.9", + "pkg:golang/github.com/google/martian/v3@v3.0.0", + "pkg:golang/github.com/google/pprof@v0.0.0-20200708004538-1a94d8640e99", + "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", + "pkg:golang/github.com/jstemmer/go-junit-report@v0.9.1", + "pkg:golang/go.opencensus.io@v0.22.4", + "pkg:golang/golang.org/x/lint@v0.0.0-20200302205851-738671d3881b", + "pkg:golang/golang.org/x/net@v0.10.0", + "pkg:golang/golang.org/x/oauth2@v0.0.0-20220223155221-ee480838109b", + "pkg:golang/golang.org/x/text@v0.9.0", + "pkg:golang/golang.org/x/tools@v0.6.0", + "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1", + "pkg:golang/google.golang.org/api@v0.30.0", + "pkg:golang/google.golang.org/genproto@v0.0.0-20201019141844-1ed22bb0c154", + "pkg:golang/google.golang.org/grpc@v1.31.0", + "pkg:golang/cloud.google.com/go/bigquery@v1.8.0", + "pkg:golang/cloud.google.com/go/datastore@v1.1.0", + "pkg:golang/cloud.google.com/go/pubsub@v1.3.1", + "pkg:golang/github.com/google/martian@v2.1.0%2Bincompatible", + "pkg:golang/golang.org/x/sync@v0.0.0-20201020160332-67f06af15bc9", + "pkg:golang/golang.org/x/sys@v0.8.0", + "pkg:golang/google.golang.org/appengine@v1.6.7", + "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.4", + "pkg:golang/google.golang.org/protobuf@v1.30.0", + "pkg:golang/github.com/golang/groupcache@v0.0.0-20210331224755-41bb18bfe9da", + "pkg:golang/golang.org/x/exp@v0.0.0-20200224162631-6cc2880d07d6", + "pkg:golang/golang.org/x/mod@v0.8.0", + "pkg:golang/github.com/google/btree@v1.0.1", + "pkg:golang/golang.org/x/time@v0.0.0-20220210224613-90d013bbcef8", + "pkg:golang/rsc.io/binaryregexp@v0.2.0" + ] + }, + { + "ref": "pkg:golang/google.golang.org/appengine@v1.6.7", + "dependsOn": [ + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/golang.org/x/net@v0.10.0", + "pkg:golang/golang.org/x/text@v0.9.0", + "pkg:golang/golang.org/x/crypto@v0.9.0", + "pkg:golang/golang.org/x/sys@v0.8.0", + "pkg:golang/golang.org/x/tools@v0.6.0" + ] + }, + { + "ref": "pkg:golang/golang.org/x/mod@v0.8.0", + "dependsOn": [ + "pkg:golang/golang.org/x/crypto@v0.9.0", + "pkg:golang/golang.org/x/tools@v0.6.0", + "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1" + ] + }, + { + "ref": "pkg:golang/k8s.io/api@v0.26.1", + "dependsOn": [ + "pkg:golang/github.com/gogo/protobuf@v1.3.2", + "pkg:golang/github.com/stretchr/testify@v1.8.3", + "pkg:golang/k8s.io/apimachinery@v0.26.1", + "pkg:golang/github.com/davecgh/go-spew@v1.1.1", + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/github.com/google/go-cmp@v0.5.9", + "pkg:golang/github.com/google/gofuzz@v1.1.0", + "pkg:golang/github.com/json-iterator/go@v1.1.12", + "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd", + "pkg:golang/github.com/modern-go/reflect2@v1.0.2", + "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", + "pkg:golang/github.com/spf13/pflag@v1.0.5", + "pkg:golang/golang.org/x/net@v0.10.0", + "pkg:golang/golang.org/x/text@v0.9.0", + "pkg:golang/google.golang.org/protobuf@v1.30.0", + "pkg:golang/gopkg.in/inf.v0@v0.9.1", + "pkg:golang/gopkg.in/yaml.v2@v2.4.0", + "pkg:golang/gopkg.in/yaml.v3@v3.0.1", + "pkg:golang/k8s.io/klog/v2@v2.80.1", + "pkg:golang/k8s.io/utils@v0.0.0-20221107191617-1a15be271d1d", + "pkg:golang/sigs.k8s.io/json@v0.0.0-20220713155537-f223a00ba0e2", + "pkg:golang/sigs.k8s.io/structured-merge-diff/v4@v4.2.3", + "pkg:golang/sigs.k8s.io/yaml@v1.3.0" + ] + }, + { + "ref": "pkg:golang/github.com/spf13/pflag@v1.0.5", + "dependsOn": [] + }, + { + "ref": "pkg:golang/gopkg.in/inf.v0@v0.9.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/k8s.io/klog/v2@v2.80.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/k8s.io/utils@v0.0.0-20221107191617-1a15be271d1d", + "dependsOn": [ + "pkg:golang/github.com/davecgh/go-spew@v1.1.1", + "pkg:golang/k8s.io/klog/v2@v2.80.1" + ] + }, + { + "ref": "pkg:golang/sigs.k8s.io/json@v0.0.0-20220713155537-f223a00ba0e2", + "dependsOn": [] + }, + { + "ref": "pkg:golang/sigs.k8s.io/structured-merge-diff/v4@v4.2.3", + "dependsOn": [ + "pkg:golang/gopkg.in/yaml.v2@v2.4.0", + "pkg:golang/github.com/google/gofuzz@v1.1.0", + "pkg:golang/github.com/json-iterator/go@v1.1.12", + "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd" + ] + }, + { + "ref": "pkg:golang/sigs.k8s.io/yaml@v1.3.0", + "dependsOn": [ + "pkg:golang/github.com/davecgh/go-spew@v1.1.1", + "pkg:golang/gopkg.in/yaml.v2@v2.4.0" + ] + }, + { + "ref": "pkg:golang/github.com/armon/go-socks5@v0.0.0-20160902184237-e75332964ef5", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/elazarl/goproxy@v0.0.0-20180725130230-947c36da3153", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/evanphx/json-patch@v4.12.0%2Bincompatible", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/moby/spdystream@v0.2.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/mxk/go-flowrate@v0.0.0-20140419014527-cca7078d478f", + "dependsOn": [] + }, + { + "ref": "pkg:golang/k8s.io/kube-openapi@v0.0.0-20221012153701-172d655c2280", + "dependsOn": [ + "pkg:golang/github.com/NYTimes/gziphandler@v0.0.0-20170623195520-56545f4a5d46", + "pkg:golang/github.com/asaskevich/govalidator@v0.0.0-20190424111038-f61b66f89f4a", + "pkg:golang/github.com/emicklei/go-restful/v3@v3.9.0", + "pkg:golang/github.com/go-openapi/jsonreference@v0.20.0", + "pkg:golang/github.com/go-openapi/swag@v0.19.14", + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/github.com/google/go-cmp@v0.5.9", + "pkg:golang/github.com/google/gofuzz@v1.1.0", + "pkg:golang/github.com/google/uuid@v1.1.2", + "pkg:golang/github.com/mitchellh/mapstructure@v1.1.2", + "pkg:golang/github.com/munnerz/goautoneg@v0.0.0-20191010083416-a7dc8b61c822", + "pkg:golang/github.com/onsi/ginkgo/v2@v2.4.0", + "pkg:golang/github.com/onsi/gomega@v1.23.0", + "pkg:golang/github.com/spf13/pflag@v1.0.5", + "pkg:golang/github.com/stretchr/testify@v1.8.3", + "pkg:golang/google.golang.org/protobuf@v1.30.0", + "pkg:golang/gopkg.in/yaml.v2@v2.4.0", + "pkg:golang/gopkg.in/yaml.v3@v3.0.1", + "pkg:golang/k8s.io/gengo@v0.0.0-20210813121822-485abfe95c7c", + "pkg:golang/k8s.io/klog/v2@v2.80.1", + "pkg:golang/k8s.io/utils@v0.0.0-20221107191617-1a15be271d1d", + "pkg:golang/sigs.k8s.io/structured-merge-diff/v4@v4.2.3", + "pkg:golang/sigs.k8s.io/yaml@v1.3.0", + "pkg:golang/github.com/PuerkitoBio/purell@v1.1.1", + "pkg:golang/github.com/PuerkitoBio/urlesc@v0.0.0-20170810143723-de5bf2ad4578", + "pkg:golang/github.com/davecgh/go-spew@v1.1.1", + "pkg:golang/github.com/go-openapi/jsonpointer@v0.19.5", + "pkg:golang/github.com/json-iterator/go@v1.1.12", + "pkg:golang/github.com/mailru/easyjson@v0.7.6", + "pkg:golang/github.com/modern-go/concurrent@v0.0.0-20180306012644-bacd9c7ef1dd", + "pkg:golang/github.com/modern-go/reflect2@v1.0.2", + "pkg:golang/github.com/pmezard/go-difflib@v1.0.0", + "pkg:golang/golang.org/x/mod@v0.8.0", + "pkg:golang/golang.org/x/net@v0.10.0", + "pkg:golang/golang.org/x/sys@v0.8.0", + "pkg:golang/golang.org/x/text@v0.9.0", + "pkg:golang/golang.org/x/tools@v0.6.0", + "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1" + ] + }, + { + "ref": "pkg:golang/github.com/onsi/ginkgo/v2@v2.4.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/onsi/gomega@v1.23.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/pkg/errors@v0.9.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/golang/groupcache@v0.0.0-20210331224755-41bb18bfe9da", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/gregjones/httpcache@v0.0.0-20180305231024-9cad4c3443a7", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/imdario/mergo@v0.3.6", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/peterbourgon/diskv@v2.0.1%2Bincompatible", + "dependsOn": [] + }, + { + "ref": "pkg:golang/golang.org/x/time@v0.0.0-20220210224613-90d013bbcef8", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/emicklei/go-restful/v3@v3.9.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/google/btree@v1.0.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/munnerz/goautoneg@v0.0.0-20191010083416-a7dc8b61c822", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/NYTimes/gziphandler@v0.0.0-20170623195520-56545f4a5d46", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/asaskevich/govalidator@v0.0.0-20190424111038-f61b66f89f4a", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/mitchellh/mapstructure@v1.1.2", + "dependsOn": [] + }, + { + "ref": "pkg:golang/k8s.io/gengo@v0.0.0-20210813121822-485abfe95c7c", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/PuerkitoBio/purell@v1.1.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/PuerkitoBio/urlesc@v0.0.0-20170810143723-de5bf2ad4578", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/stretchr/objx@v0.1.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/yuin/goldmark@v1.2.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/golang.org/x/sync@v0.0.0-20201020160332-67f06af15bc9", + "dependsOn": [] + }, + { + "ref": "pkg:golang/golang.org/x/lint@v0.0.0-20200302205851-738671d3881b", + "dependsOn": [ + "pkg:golang/golang.org/x/tools@v0.6.0" + ] + }, + { + "ref": "pkg:golang/google.golang.org/grpc@v1.31.0", + "dependsOn": [ + "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.4", + "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", + "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", + "pkg:golang/github.com/golang/mock@v1.4.4", + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/github.com/google/go-cmp@v0.5.9", + "pkg:golang/golang.org/x/net@v0.10.0", + "pkg:golang/golang.org/x/oauth2@v0.0.0-20220223155221-ee480838109b", + "pkg:golang/golang.org/x/sys@v0.8.0", + "pkg:golang/google.golang.org/genproto@v0.0.0-20201019141844-1ed22bb0c154", + "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20191209042840-269d4d468f6f", + "pkg:golang/cloud.google.com/go@v0.65.0", + "pkg:golang/github.com/BurntSushi/toml@v0.3.1", + "pkg:golang/github.com/client9/misspell@v0.3.4", + "pkg:golang/golang.org/x/lint@v0.0.0-20200302205851-738671d3881b", + "pkg:golang/golang.org/x/sync@v0.0.0-20201020160332-67f06af15bc9", + "pkg:golang/golang.org/x/text@v0.9.0", + "pkg:golang/golang.org/x/tools@v0.6.0", + "pkg:golang/google.golang.org/appengine@v1.6.7", + "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.4" + ] + }, + { + "ref": "pkg:golang/cloud.google.com/go/storage@v1.10.0", + "dependsOn": [ + "pkg:golang/cloud.google.com/go@v0.65.0", + "pkg:golang/cloud.google.com/go/bigquery@v1.8.0", + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/github.com/google/go-cmp@v0.5.9", + "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", + "pkg:golang/golang.org/x/net@v0.10.0", + "pkg:golang/golang.org/x/oauth2@v0.0.0-20220223155221-ee480838109b", + "pkg:golang/golang.org/x/sys@v0.8.0", + "pkg:golang/golang.org/x/tools@v0.6.0", + "pkg:golang/google.golang.org/api@v0.30.0", + "pkg:golang/google.golang.org/genproto@v0.0.0-20201019141844-1ed22bb0c154", + "pkg:golang/google.golang.org/grpc@v1.31.0", + "pkg:golang/cloud.google.com/go/datastore@v1.1.0", + "pkg:golang/golang.org/x/exp@v0.0.0-20200224162631-6cc2880d07d6", + "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.4", + "pkg:golang/cloud.google.com/go/pubsub@v1.3.1", + "pkg:golang/github.com/golang/groupcache@v0.0.0-20210331224755-41bb18bfe9da", + "pkg:golang/github.com/jstemmer/go-junit-report@v0.9.1", + "pkg:golang/go.opencensus.io@v0.22.4", + "pkg:golang/google.golang.org/appengine@v1.6.7" + ] + }, + { + "ref": "pkg:golang/github.com/golang/mock@v1.4.4", + "dependsOn": [ + "pkg:golang/golang.org/x/tools@v0.6.0", + "pkg:golang/rsc.io/quote/v3@v3.1.0" + ] + }, + { + "ref": "pkg:golang/github.com/google/martian/v3@v3.0.0", + "dependsOn": [ + "pkg:golang/golang.org/x/net@v0.10.0" + ] + }, + { + "ref": "pkg:golang/github.com/google/pprof@v0.0.0-20200708004538-1a94d8640e99", + "dependsOn": [ + "pkg:golang/github.com/chzyer/logex@v1.1.10", + "pkg:golang/github.com/chzyer/readline@v0.0.0-20180603132655-2972be24d48e", + "pkg:golang/github.com/chzyer/test@v0.0.0-20180213035817-a1ea475d72b1", + "pkg:golang/github.com/ianlancetaylor/demangle@v0.0.0-20181102032728-5e5cf60278f6", + "pkg:golang/golang.org/x/sys@v0.8.0" + ] + }, + { + "ref": "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", + "dependsOn": [ + "pkg:golang/google.golang.org/grpc@v1.31.0" + ] + }, + { + "ref": "pkg:golang/github.com/jstemmer/go-junit-report@v0.9.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/go.opencensus.io@v0.22.4", + "dependsOn": [ + "pkg:golang/github.com/golang/groupcache@v0.0.0-20210331224755-41bb18bfe9da", + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/github.com/google/go-cmp@v0.5.9", + "pkg:golang/github.com/stretchr/testify@v1.8.3", + "pkg:golang/golang.org/x/net@v0.10.0", + "pkg:golang/golang.org/x/sys@v0.8.0", + "pkg:golang/golang.org/x/text@v0.9.0", + "pkg:golang/google.golang.org/genproto@v0.0.0-20201019141844-1ed22bb0c154", + "pkg:golang/google.golang.org/grpc@v1.31.0", + "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1" + ] + }, + { + "ref": "pkg:golang/google.golang.org/api@v0.30.0", + "dependsOn": [ + "pkg:golang/cloud.google.com/go@v0.65.0", + "pkg:golang/github.com/google/go-cmp@v0.5.9", + "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", + "pkg:golang/go.opencensus.io@v0.22.4", + "pkg:golang/golang.org/x/lint@v0.0.0-20200302205851-738671d3881b", + "pkg:golang/golang.org/x/oauth2@v0.0.0-20220223155221-ee480838109b", + "pkg:golang/golang.org/x/sync@v0.0.0-20201020160332-67f06af15bc9", + "pkg:golang/golang.org/x/sys@v0.8.0", + "pkg:golang/golang.org/x/tools@v0.6.0", + "pkg:golang/google.golang.org/appengine@v1.6.7", + "pkg:golang/google.golang.org/genproto@v0.0.0-20201019141844-1ed22bb0c154", + "pkg:golang/google.golang.org/grpc@v1.31.0", + "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.4", + "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1", + "pkg:golang/golang.org/x/net@v0.10.0", + "pkg:golang/golang.org/x/text@v0.9.0", + "pkg:golang/github.com/golang/protobuf@v1.5.2" + ] + }, + { + "ref": "pkg:golang/github.com/kr/pty@v1.1.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/envoyproxy/go-control-plane@v0.9.4", + "dependsOn": [ + "pkg:golang/github.com/census-instrumentation/opencensus-proto@v0.2.1", + "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/github.com/prometheus/client_model@v0.0.0-20190812154241-14fe0d1b01d4", + "pkg:golang/google.golang.org/genproto@v0.0.0-20201019141844-1ed22bb0c154", + "pkg:golang/google.golang.org/grpc@v1.31.0", + "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20191209042840-269d4d468f6f", + "pkg:golang/github.com/google/go-cmp@v0.5.9" + ] + }, + { + "ref": "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/golang/glog@v0.0.0-20160126235308-23def4e6c14b", + "dependsOn": [] + }, + { + "ref": "pkg:golang/cloud.google.com/go/bigquery@v1.8.0", + "dependsOn": [ + "pkg:golang/cloud.google.com/go@v0.65.0", + "pkg:golang/cloud.google.com/go/storage@v1.10.0", + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/github.com/google/go-cmp@v0.5.9", + "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", + "pkg:golang/golang.org/x/mod@v0.8.0", + "pkg:golang/golang.org/x/net@v0.10.0", + "pkg:golang/golang.org/x/sys@v0.8.0", + "pkg:golang/golang.org/x/tools@v0.6.0", + "pkg:golang/google.golang.org/api@v0.30.0", + "pkg:golang/google.golang.org/genproto@v0.0.0-20201019141844-1ed22bb0c154", + "pkg:golang/google.golang.org/grpc@v1.31.0", + "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.4", + "pkg:golang/github.com/golang/groupcache@v0.0.0-20210331224755-41bb18bfe9da", + "pkg:golang/golang.org/x/exp@v0.0.0-20200224162631-6cc2880d07d6", + "pkg:golang/cloud.google.com/go/pubsub@v1.3.1", + "pkg:golang/google.golang.org/appengine@v1.6.7", + "pkg:golang/golang.org/x/lint@v0.0.0-20200302205851-738671d3881b" + ] + }, + { + "ref": "pkg:golang/github.com/chzyer/logex@v1.1.10", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/chzyer/readline@v0.0.0-20180603132655-2972be24d48e", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/chzyer/test@v0.0.0-20180213035817-a1ea475d72b1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/ianlancetaylor/demangle@v0.0.0-20181102032728-5e5cf60278f6", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/cncf/udpa/go@v0.0.0-20191209042840-269d4d468f6f", + "dependsOn": [ + "pkg:golang/github.com/envoyproxy/protoc-gen-validate@v0.1.0", + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/google.golang.org/grpc@v1.31.0" + ] + }, + { + "ref": "pkg:golang/github.com/census-instrumentation/opencensus-proto@v0.2.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/prometheus/client_model@v0.0.0-20190812154241-14fe0d1b01d4", + "dependsOn": [ + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/golang.org/x/sync@v0.0.0-20201020160332-67f06af15bc9" + ] + }, + { + "ref": "pkg:golang/golang.org/x/exp@v0.0.0-20200224162631-6cc2880d07d6", + "dependsOn": [ + "pkg:golang/dmitri.shuralyov.com/gpu/mtl@v0.0.0-20190408044501-666a987793e9", + "pkg:golang/github.com/BurntSushi/xgb@v0.0.0-20160522181843-27f122750802", + "pkg:golang/github.com/go-gl/glfw/v3.3/glfw@v0.0.0-20200222043503-6f7a984d4dc4", + "pkg:golang/golang.org/x/image@v0.0.0-20190802002840-cff245a6509b", + "pkg:golang/golang.org/x/mobile@v0.0.0-20190719004257-d2bd2a29d028", + "pkg:golang/golang.org/x/mod@v0.8.0", + "pkg:golang/golang.org/x/sys@v0.8.0", + "pkg:golang/golang.org/x/tools@v0.6.0", + "pkg:golang/golang.org/x/xerrors@v0.0.0-20200804184101-5ec99f83aff1", + "pkg:golang/github.com/go-gl/glfw@v0.0.0-20190409004039-e6da0acd62b1" + ] + }, + { + "ref": "pkg:golang/honnef.co/go/tools@v0.0.1-2020.1.4", + "dependsOn": [ + "pkg:golang/github.com/BurntSushi/toml@v0.3.1", + "pkg:golang/github.com/google/renameio@v0.1.0", + "pkg:golang/github.com/kisielk/gotool@v1.0.0", + "pkg:golang/github.com/rogpeppe/go-internal@v1.9.0", + "pkg:golang/golang.org/x/mod@v0.8.0", + "pkg:golang/golang.org/x/tools@v0.6.0" + ] + }, + { + "ref": "pkg:golang/cloud.google.com/go/datastore@v1.1.0", + "dependsOn": [ + "pkg:golang/cloud.google.com/go@v0.65.0", + "pkg:golang/cloud.google.com/go/pubsub@v1.3.1", + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/github.com/google/go-cmp@v0.5.9", + "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", + "pkg:golang/golang.org/x/exp@v0.0.0-20200224162631-6cc2880d07d6", + "pkg:golang/golang.org/x/sys@v0.8.0", + "pkg:golang/golang.org/x/tools@v0.6.0", + "pkg:golang/google.golang.org/api@v0.30.0", + "pkg:golang/google.golang.org/genproto@v0.0.0-20201019141844-1ed22bb0c154", + "pkg:golang/google.golang.org/grpc@v1.31.0", + "pkg:golang/google.golang.org/appengine@v1.6.7" + ] + }, + { + "ref": "pkg:golang/cloud.google.com/go/pubsub@v1.3.1", + "dependsOn": [ + "pkg:golang/cloud.google.com/go@v0.65.0", + "pkg:golang/cloud.google.com/go/bigquery@v1.8.0", + "pkg:golang/github.com/golang/protobuf@v1.5.2", + "pkg:golang/github.com/google/go-cmp@v0.5.9", + "pkg:golang/github.com/googleapis/gax-go/v2@v2.0.5", + "pkg:golang/go.opencensus.io@v0.22.4", + "pkg:golang/golang.org/x/lint@v0.0.0-20200302205851-738671d3881b", + "pkg:golang/golang.org/x/mod@v0.8.0", + "pkg:golang/golang.org/x/net@v0.10.0", + "pkg:golang/golang.org/x/oauth2@v0.0.0-20220223155221-ee480838109b", + "pkg:golang/golang.org/x/sync@v0.0.0-20201020160332-67f06af15bc9", + "pkg:golang/golang.org/x/sys@v0.8.0", + "pkg:golang/golang.org/x/time@v0.0.0-20220210224613-90d013bbcef8", + "pkg:golang/golang.org/x/tools@v0.6.0", + "pkg:golang/google.golang.org/api@v0.30.0", + "pkg:golang/google.golang.org/genproto@v0.0.0-20201019141844-1ed22bb0c154", + "pkg:golang/google.golang.org/grpc@v1.31.0", + "pkg:golang/cloud.google.com/go/storage@v1.10.0", + "pkg:golang/golang.org/x/exp@v0.0.0-20200224162631-6cc2880d07d6" + ] + }, + { + "ref": "pkg:golang/github.com/google/martian@v2.1.0%2Bincompatible", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/BurntSushi/toml@v0.3.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/client9/misspell@v0.3.4", + "dependsOn": [] + }, + { + "ref": "pkg:golang/rsc.io/quote/v3@v3.1.0", + "dependsOn": [ + "pkg:golang/rsc.io/sampler@v1.3.0" + ] + }, + { + "ref": "pkg:golang/github.com/hashicorp/golang-lru@v0.5.1", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/google/renameio@v0.1.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/dmitri.shuralyov.com/gpu/mtl@v0.0.0-20190408044501-666a987793e9", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/BurntSushi/xgb@v0.0.0-20160522181843-27f122750802", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/go-gl/glfw/v3.3/glfw@v0.0.0-20200222043503-6f7a984d4dc4", + "dependsOn": [] + }, + { + "ref": "pkg:golang/golang.org/x/image@v0.0.0-20190802002840-cff245a6509b", + "dependsOn": [ + "pkg:golang/golang.org/x/text@v0.9.0" + ] + }, + { + "ref": "pkg:golang/golang.org/x/mobile@v0.0.0-20190719004257-d2bd2a29d028", + "dependsOn": [ + "pkg:golang/golang.org/x/exp@v0.0.0-20200224162631-6cc2880d07d6", + "pkg:golang/golang.org/x/image@v0.0.0-20190802002840-cff245a6509b", + "pkg:golang/golang.org/x/sys@v0.8.0" + ] + }, + { + "ref": "pkg:golang/rsc.io/sampler@v1.3.0", + "dependsOn": [ + "pkg:golang/golang.org/x/text@v0.9.0" + ] + }, + { + "ref": "pkg:golang/gopkg.in/errgo.v2@v2.1.0", + "dependsOn": [ + "pkg:golang/github.com/kr/pretty@v0.3.1", + "pkg:golang/gopkg.in/check.v1@v1.0.0-20200227125254-8fa46927fb4f" + ] + }, + { + "ref": "pkg:golang/rsc.io/binaryregexp@v0.2.0", + "dependsOn": [] + }, + { + "ref": "pkg:golang/github.com/go-gl/glfw@v0.0.0-20190409004039-e6da0acd62b1", + "dependsOn": [] + } + ] } diff --git a/test/providers/tst_manifests/golang/go_mod_with_ignore/go.mod b/test/providers/tst_manifests/golang/go_mod_with_ignore/go.mod index 7ee7a08f..ff13131e 100644 --- a/test/providers/tst_manifests/golang/go_mod_with_ignore/go.mod +++ b/test/providers/tst_manifests/golang/go_mod_with_ignore/go.mod @@ -15,13 +15,13 @@ require ( require ( github.com/davecgh/go-spew v1.1.1 // indirect github.com/emicklei/go-restful/v3 v3.9.0 // indirect - github.com/go-logr/logr v1.2.3 // indirect exhortignore + github.com/go-logr/logr v1.2.3 // indirect; exhortignore github.com/go-openapi/jsonpointer v0.19.5 // indirect github.com/go-openapi/jsonreference v0.20.0 // indirect github.com/go-openapi/swag v0.19.14 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/protobuf v1.5.2 // indirect - github.com/google/gnostic v0.5.7-v3refs // indirect //exhortignore + github.com/google/gnostic v0.5.7-v3refs // indirect; exhortignore github.com/google/go-cmp v0.5.9 // indirect github.com/google/gofuzz v1.1.0 // indirect github.com/imdario/mergo v0.3.6 // indirect diff --git a/test/it/test_manifests/gradle-groovy/build.gradle b/test/providers/tst_manifests/gradle/deps_with_empty_project_group/build.gradle similarity index 88% rename from test/it/test_manifests/gradle-groovy/build.gradle rename to test/providers/tst_manifests/gradle/deps_with_empty_project_group/build.gradle index ae7fc99f..3421c47b 100644 --- a/test/it/test_manifests/gradle-groovy/build.gradle +++ b/test/providers/tst_manifests/gradle/deps_with_empty_project_group/build.gradle @@ -2,7 +2,7 @@ plugins { id 'java' } -group = 'org.acme.dbaas' +group = '' version = '1.0.0-SNAPSHOT' repositories { @@ -21,8 +21,7 @@ dependencies { implementation "jakarta.validation:jakarta.validation-api:2.0.2" implementation "io.quarkus:quarkus-resteasy-multipart:2.13.7.Final" implementation "io.quarkus:quarkus-hibernate-orm-deployment:2.0.2.Final" - implementation "log4j:log4j:1.2.17" - implementation group: 'log4j', name: 'log4j' + implementation "log4j:log4j:1.2.17" // exhortignore } test { useJUnitPlatform() diff --git a/test/it/test_manifests/gradle-kotlin/build.gradle.kts b/test/providers/tst_manifests/gradle/deps_with_empty_project_group/build.gradle.kts similarity index 92% rename from test/it/test_manifests/gradle-kotlin/build.gradle.kts rename to test/providers/tst_manifests/gradle/deps_with_empty_project_group/build.gradle.kts index 4a2aba94..6d80dc9f 100644 --- a/test/it/test_manifests/gradle-kotlin/build.gradle.kts +++ b/test/providers/tst_manifests/gradle/deps_with_empty_project_group/build.gradle.kts @@ -2,7 +2,6 @@ plugins { id("java") } -group = "org.acme.dbaas" version = "1.0.0-SNAPSHOT" repositories { @@ -21,9 +20,9 @@ dependencies { implementation("jakarta.validation:jakarta.validation-api:2.0.2") implementation("io.quarkus:quarkus-resteasy-multipart:2.13.7.Final") implementation("io.quarkus:quarkus-hibernate-orm-deployment:2.0.2.Final") - implementation("log4j:log4j:1.2.17") + implementation("log4j:log4j:1.2.17") // exhortignore } -tasks.test { +test { useJUnitPlatform() } diff --git a/test/providers/tst_manifests/gradle/deps_with_empty_project_group/depTree.txt b/test/providers/tst_manifests/gradle/deps_with_empty_project_group/depTree.txt new file mode 100644 index 00000000..ada09b9d --- /dev/null +++ b/test/providers/tst_manifests/gradle/deps_with_empty_project_group/depTree.txt @@ -0,0 +1,2590 @@ + +> Task :dependencies + +------------------------------------------------------------ +Root project 'postgresql-orm-quarkus' +------------------------------------------------------------ + +annotationProcessor - Annotation processors and their dependencies for source set 'main'. +No dependencies + +compileClasspath - Compile classpath for source set 'main'. ++--- io.quarkus:quarkus-hibernate-orm:2.13.5.Final +| +--- io.quarkus:quarkus-core:2.13.5.Final -> 2.13.7.Final +| | +--- jakarta.annotation:jakarta.annotation-api:1.3.5 +| | +--- jakarta.enterprise:jakarta.enterprise.cdi-api:2.0.2 +| | | +--- jakarta.el:jakarta.el-api:3.0.3 +| | | +--- jakarta.interceptor:jakarta.interceptor-api:1.2.5 +| | | | +--- jakarta.annotation:jakarta.annotation-api:1.3.5 +| | | | \--- jakarta.ejb:jakarta.ejb-api:3.2.6 +| | | | \--- jakarta.transaction:jakarta.transaction-api:1.3.2 -> 1.3.3 +| | | \--- jakarta.inject:jakarta.inject-api:1.0 +| | +--- jakarta.inject:jakarta.inject-api:1.0 +| | +--- io.quarkus:quarkus-ide-launcher:2.13.7.Final +| | +--- io.quarkus:quarkus-development-mode-spi:2.13.7.Final +| | +--- io.smallrye.config:smallrye-config:2.12.3 +| | | +--- io.smallrye.config:smallrye-config-core:2.12.3 +| | | | +--- org.eclipse.microprofile.config:microprofile-config-api:2.0.1 +| | | | +--- io.smallrye.common:smallrye-common-annotation:1.13.1 +| | | | +--- io.smallrye.common:smallrye-common-expression:1.13.1 +| | | | | +--- io.smallrye.common:smallrye-common-function:1.13.1 +| | | | | | \--- io.smallrye.common:smallrye-common-constraint:1.13.1 +| | | | | | \--- org.jboss.logging:jboss-logging:3.4.3.Final -> 3.5.0.Final +| | | | | \--- org.jboss.logging:jboss-logging:3.4.3.Final -> 3.5.0.Final +| | | | +--- io.smallrye.common:smallrye-common-constraint:1.13.1 (*) +| | | | +--- io.smallrye.common:smallrye-common-classloader:1.13.1 +| | | | +--- org.jboss.logging:jboss-logging:3.4.3.Final -> 3.5.0.Final +| | | | +--- org.ow2.asm:asm:9.3 +| | | | \--- io.smallrye.config:smallrye-config-common:2.12.3 +| | | | +--- org.eclipse.microprofile.config:microprofile-config-api:2.0.1 +| | | | +--- io.smallrye.common:smallrye-common-classloader:1.13.1 +| | | | \--- org.jboss.logging:jboss-logging:3.4.3.Final -> 3.5.0.Final +| | | \--- org.jboss.logging:jboss-logging:3.4.3.Final -> 3.5.0.Final +| | +--- org.jboss.logging:jboss-logging:3.5.0.Final +| | +--- org.jboss.logmanager:jboss-logmanager-embedded:1.0.10 +| | | \--- org.wildfly.common:wildfly-common:1.5.0.Final-format-001 -> 1.5.4.Final-format-001 +| | +--- org.jboss.logging:jboss-logging-annotations:2.2.1.Final +| | +--- org.jboss.threads:jboss-threads:3.4.3.Final +| | | +--- org.jboss.logging:jboss-logging:3.4.1.Final -> 3.5.0.Final +| | | \--- org.wildfly.common:wildfly-common:1.5.0.Final -> 1.5.4.Final-format-001 +| | +--- org.slf4j:slf4j-api:1.7.36 +| | +--- org.jboss.slf4j:slf4j-jboss-logmanager:1.2.0.Final +| | +--- org.graalvm.sdk:graal-sdk:22.3.0 +| | +--- org.wildfly.common:wildfly-common:1.5.4.Final-format-001 +| | +--- io.quarkus:quarkus-bootstrap-runner:2.13.7.Final +| | | +--- io.smallrye.common:smallrye-common-io:1.13.1 +| | | +--- org.jboss.logmanager:jboss-logmanager-embedded:1.0.10 (*) +| | | +--- org.jboss.logging:jboss-logging:3.5.0.Final +| | | \--- io.github.crac:org-crac:0.1.1 +| | \--- io.quarkus:quarkus-fs-util:0.0.9 +| +--- io.quarkus:quarkus-agroal:2.13.5.Final +| | +--- io.quarkus:quarkus-core:2.13.5.Final -> 2.13.7.Final (*) +| | +--- io.quarkus:quarkus-arc:2.13.5.Final -> 2.13.7.Final +| | | +--- io.quarkus.arc:arc:2.13.7.Final +| | | | +--- jakarta.enterprise:jakarta.enterprise.cdi-api:2.0.2 (*) +| | | | +--- jakarta.annotation:jakarta.annotation-api:1.3.5 +| | | | +--- jakarta.transaction:jakarta.transaction-api:1.3.3 +| | | | +--- io.smallrye.reactive:mutiny:1.6.0 -> 1.7.0 +| | | | | +--- org.reactivestreams:reactive-streams:1.0.3 +| | | | | \--- io.smallrye.common:smallrye-common-annotation:1.13.0 -> 1.13.1 +| | | | \--- org.jboss.logging:jboss-logging:3.5.0.Final +| | | +--- io.quarkus:quarkus-core:2.13.7.Final (*) +| | | \--- org.eclipse.microprofile.context-propagation:microprofile-context-propagation-api:1.2 -> 1.3 +| | +--- io.quarkus:quarkus-datasource:2.13.5.Final +| | | +--- io.quarkus:quarkus-core:2.13.5.Final -> 2.13.7.Final (*) +| | | +--- io.quarkus:quarkus-arc:2.13.5.Final -> 2.13.7.Final (*) +| | | +--- io.quarkus:quarkus-datasource-common:2.13.5.Final +| | | \--- io.quarkus:quarkus-credentials:2.13.5.Final -> 2.13.7.Final +| | | \--- io.quarkus.arc:arc:2.13.7.Final (*) +| | +--- io.quarkus:quarkus-narayana-jta:2.13.5.Final +| | | +--- io.quarkus:quarkus-core:2.13.5.Final -> 2.13.7.Final (*) +| | | +--- io.quarkus:quarkus-arc:2.13.5.Final -> 2.13.7.Final (*) +| | | +--- io.quarkus:quarkus-transaction-annotations:2.13.5.Final +| | | +--- io.quarkus:quarkus-mutiny:2.13.5.Final -> 2.13.7.Final +| | | | +--- io.quarkus:quarkus-core:2.13.7.Final (*) +| | | | +--- io.smallrye.reactive:mutiny:1.7.0 (*) +| | | | +--- io.quarkus:quarkus-smallrye-context-propagation:2.13.7.Final +| | | | | +--- io.smallrye:smallrye-context-propagation:1.2.2 +| | | | | | +--- org.eclipse.microprofile.context-propagation:microprofile-context-propagation-api:1.2 -> 1.3 +| | | | | | +--- io.smallrye:smallrye-context-propagation-api:1.2.2 +| | | | | | | +--- org.eclipse.microprofile.context-propagation:microprofile-context-propagation-api:1.2 -> 1.3 +| | | | | | | \--- jakarta.enterprise:jakarta.enterprise.cdi-api:2.0.2 (*) +| | | | | | +--- io.smallrye:smallrye-context-propagation-storage:1.2.2 +| | | | | | +--- org.eclipse.microprofile.config:microprofile-config-api:1.4 -> 2.0.1 +| | | | | | \--- org.jboss.threads:jboss-threads:3.1.1.Final -> 3.4.3.Final (*) +| | | | | +--- jakarta.enterprise:jakarta.enterprise.cdi-api:2.0.2 (*) +| | | | | +--- io.quarkus:quarkus-core:2.13.7.Final (*) +| | | | | \--- io.quarkus:quarkus-arc:2.13.7.Final (*) +| | | | \--- io.smallrye.reactive:mutiny-smallrye-context-propagation:1.7.0 +| | | | +--- org.eclipse.microprofile.context-propagation:microprofile-context-propagation-api:1.3 +| | | | +--- io.smallrye.reactive:mutiny:1.7.0 (*) +| | | | \--- io.smallrye:smallrye-context-propagation:1.2.2 (*) +| | | +--- io.smallrye:smallrye-context-propagation-jta:1.2.2 +| | | | \--- org.eclipse.microprofile.context-propagation:microprofile-context-propagation-api:1.2 -> 1.3 +| | | +--- jakarta.transaction:jakarta.transaction-api:1.3.3 +| | | +--- io.smallrye.reactive:smallrye-reactive-converter-api:2.7.0 +| | | | \--- org.reactivestreams:reactive-streams:1.0.3 +| | | +--- io.smallrye.reactive:smallrye-reactive-converter-mutiny:2.7.0 +| | | | +--- io.smallrye.reactive:mutiny:1.4.0 -> 1.7.0 (*) +| | | | \--- io.smallrye.reactive:smallrye-reactive-converter-api:2.7.0 (*) +| | | +--- org.jboss.narayana.jta:narayana-jta:5.13.1.Alpha1 +| | | | +--- org.jboss:jboss-transaction-spi:7.6.1.Final +| | | | | \--- org.jboss.spec.javax.resource:jboss-connector-api_1.7_spec:1.0.0.Final +| | | | \--- org.jboss.spec.javax.resource:jboss-connector-api_1.7_spec:1.0.0.Final +| | | \--- org.jboss.narayana.jts:narayana-jts-integration:5.13.1.Alpha1 +| | +--- io.agroal:agroal-api:1.16 +| | +--- io.agroal:agroal-narayana:1.16 +| | | +--- io.agroal:agroal-api:1.16 +| | | \--- org.jboss:jboss-transaction-spi:7.6.1.Final (*) +| | +--- io.agroal:agroal-pool:1.16 +| | | \--- io.agroal:agroal-api:1.16 +| | \--- io.quarkus:quarkus-credentials:2.13.5.Final -> 2.13.7.Final (*) +| +--- io.quarkus:quarkus-narayana-jta:2.13.5.Final (*) +| +--- org.hibernate:hibernate-core:5.6.14.Final +| | +--- org.jboss.logging:jboss-logging:3.4.3.Final -> 3.5.0.Final +| | +--- net.bytebuddy:byte-buddy:1.12.18 +| | +--- antlr:antlr:2.7.7 +| | +--- com.fasterxml:classmate:1.5.1 +| | \--- org.hibernate.common:hibernate-commons-annotations:5.1.2.Final +| | \--- org.jboss.logging:jboss-logging:3.3.2.Final -> 3.5.0.Final +| +--- org.hibernate:hibernate-graalvm:5.6.14.Final +| | \--- org.jboss.logging:jboss-logging:3.4.3.Final -> 3.5.0.Final +| +--- org.glassfish.jaxb:jaxb-runtime:2.3.3-b02 +| | +--- org.glassfish.jaxb:txw2:2.3.3-b02 +| | \--- com.sun.istack:istack-commons-runtime:3.0.10 +| +--- org.jboss.spec.javax.xml.bind:jboss-jaxb-api_2.3_spec:2.0.0.Final +| +--- jakarta.persistence:jakarta.persistence-api:2.2.3 +| +--- jakarta.transaction:jakarta.transaction-api:1.3.3 +| +--- org.hibernate:quarkus-local-cache:0.1.1 +| \--- io.quarkus:quarkus-caffeine:2.13.5.Final +| +--- io.quarkus:quarkus-core:2.13.5.Final -> 2.13.7.Final (*) +| \--- com.github.ben-manes.caffeine:caffeine:2.9.3 +| \--- com.google.errorprone:error_prone_annotations:2.10.0 ++--- io.quarkus:quarkus-agroal:2.13.5.Final (*) ++--- io.quarkus:quarkus-resteasy:2.13.5.Final -> 2.13.7.Final +| +--- io.quarkus:quarkus-vertx-http:2.13.7.Final +| | +--- io.quarkus:quarkus-core:2.13.7.Final (*) +| | +--- io.quarkus:quarkus-security-runtime-spi:2.13.7.Final +| | | +--- io.quarkus:quarkus-core:2.13.7.Final (*) +| | | \--- io.quarkus.security:quarkus-security:1.1.4.Final +| | | +--- org.jboss.logging:jboss-logging:3.3.2.Final -> 3.5.0.Final +| | | \--- io.smallrye.reactive:mutiny:0.4.3 -> 1.7.0 (*) +| | +--- io.quarkus:quarkus-credentials:2.13.7.Final (*) +| | +--- io.quarkus:quarkus-mutiny:2.13.7.Final (*) +| | +--- io.smallrye.common:smallrye-common-vertx-context:1.13.1 +| | | +--- io.vertx:vertx-core:4.3.3 -> 4.3.4 +| | | | +--- io.netty:netty-common:4.1.82.Final -> 4.1.86.Final +| | | | +--- io.netty:netty-buffer:4.1.82.Final -> 4.1.86.Final +| | | | | \--- io.netty:netty-common:4.1.86.Final +| | | | +--- io.netty:netty-transport:4.1.82.Final -> 4.1.86.Final +| | | | | +--- io.netty:netty-common:4.1.86.Final +| | | | | +--- io.netty:netty-buffer:4.1.86.Final (*) +| | | | | \--- io.netty:netty-resolver:4.1.86.Final +| | | | | \--- io.netty:netty-common:4.1.86.Final +| | | | +--- io.netty:netty-handler:4.1.82.Final -> 4.1.86.Final +| | | | | +--- io.netty:netty-common:4.1.86.Final +| | | | | +--- io.netty:netty-resolver:4.1.86.Final (*) +| | | | | +--- io.netty:netty-buffer:4.1.86.Final (*) +| | | | | +--- io.netty:netty-transport:4.1.86.Final (*) +| | | | | +--- io.netty:netty-transport-native-unix-common:4.1.86.Final +| | | | | | +--- io.netty:netty-common:4.1.86.Final +| | | | | | +--- io.netty:netty-buffer:4.1.86.Final (*) +| | | | | | \--- io.netty:netty-transport:4.1.86.Final (*) +| | | | | \--- io.netty:netty-codec:4.1.86.Final +| | | | | +--- io.netty:netty-common:4.1.86.Final +| | | | | +--- io.netty:netty-buffer:4.1.86.Final (*) +| | | | | \--- io.netty:netty-transport:4.1.86.Final (*) +| | | | +--- io.netty:netty-handler-proxy:4.1.82.Final +| | | | | +--- io.netty:netty-common:4.1.82.Final -> 4.1.86.Final +| | | | | +--- io.netty:netty-buffer:4.1.82.Final -> 4.1.86.Final (*) +| | | | | +--- io.netty:netty-transport:4.1.82.Final -> 4.1.86.Final (*) +| | | | | +--- io.netty:netty-codec:4.1.82.Final -> 4.1.86.Final (*) +| | | | | +--- io.netty:netty-codec-socks:4.1.82.Final +| | | | | | +--- io.netty:netty-common:4.1.82.Final -> 4.1.86.Final +| | | | | | +--- io.netty:netty-buffer:4.1.82.Final -> 4.1.86.Final (*) +| | | | | | +--- io.netty:netty-transport:4.1.82.Final -> 4.1.86.Final (*) +| | | | | | \--- io.netty:netty-codec:4.1.82.Final -> 4.1.86.Final (*) +| | | | | \--- io.netty:netty-codec-http:4.1.82.Final -> 4.1.86.Final +| | | | | +--- io.netty:netty-common:4.1.86.Final +| | | | | +--- io.netty:netty-buffer:4.1.86.Final (*) +| | | | | +--- io.netty:netty-transport:4.1.86.Final (*) +| | | | | +--- io.netty:netty-codec:4.1.86.Final (*) +| | | | | \--- io.netty:netty-handler:4.1.86.Final (*) +| | | | +--- io.netty:netty-codec-http:4.1.82.Final -> 4.1.86.Final (*) +| | | | +--- io.netty:netty-codec-http2:4.1.82.Final -> 4.1.86.Final +| | | | | +--- io.netty:netty-common:4.1.86.Final +| | | | | +--- io.netty:netty-buffer:4.1.86.Final (*) +| | | | | +--- io.netty:netty-transport:4.1.86.Final (*) +| | | | | +--- io.netty:netty-codec:4.1.86.Final (*) +| | | | | +--- io.netty:netty-handler:4.1.86.Final (*) +| | | | | \--- io.netty:netty-codec-http:4.1.86.Final (*) +| | | | +--- io.netty:netty-resolver:4.1.82.Final -> 4.1.86.Final (*) +| | | | +--- io.netty:netty-resolver-dns:4.1.82.Final +| | | | | +--- io.netty:netty-common:4.1.82.Final -> 4.1.86.Final +| | | | | +--- io.netty:netty-buffer:4.1.82.Final -> 4.1.86.Final (*) +| | | | | +--- io.netty:netty-resolver:4.1.82.Final -> 4.1.86.Final (*) +| | | | | +--- io.netty:netty-transport:4.1.82.Final -> 4.1.86.Final (*) +| | | | | +--- io.netty:netty-codec:4.1.82.Final -> 4.1.86.Final (*) +| | | | | +--- io.netty:netty-codec-dns:4.1.82.Final +| | | | | | +--- io.netty:netty-common:4.1.82.Final -> 4.1.86.Final +| | | | | | +--- io.netty:netty-buffer:4.1.82.Final -> 4.1.86.Final (*) +| | | | | | +--- io.netty:netty-transport:4.1.82.Final -> 4.1.86.Final (*) +| | | | | | \--- io.netty:netty-codec:4.1.82.Final -> 4.1.86.Final (*) +| | | | | \--- io.netty:netty-handler:4.1.82.Final -> 4.1.86.Final (*) +| | | | \--- com.fasterxml.jackson.core:jackson-core:2.13.4 +| | | | \--- com.fasterxml.jackson:jackson-bom:2.13.4 +| | | | +--- com.fasterxml.jackson.core:jackson-annotations:2.13.4 (c) +| | | | +--- com.fasterxml.jackson.core:jackson-core:2.13.4 (c) +| | | | +--- com.fasterxml.jackson.core:jackson-databind:2.13.4 -> 2.13.4.2 (c) +| | | | +--- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.13.4 (c) +| | | | +--- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.13.4 (c) +| | | | +--- com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:2.13.4 (c) +| | | | +--- com.fasterxml.jackson.module:jackson-module-parameter-names:2.13.4 (c) +| | | | +--- com.fasterxml.jackson.jaxrs:jackson-jaxrs-base:2.13.4 (c) +| | | | \--- com.fasterxml.jackson.module:jackson-module-jaxb-annotations:2.13.4 (c) +| | | \--- io.smallrye.common:smallrye-common-constraint:1.13.1 (*) +| | +--- io.quarkus:quarkus-vertx-http-dev-console-runtime-spi:2.13.7.Final +| | | +--- io.quarkus:quarkus-core:2.13.7.Final (*) +| | | +--- io.quarkus.arc:arc:2.13.7.Final (*) +| | | \--- io.vertx:vertx-web:4.3.4 +| | | +--- io.vertx:vertx-web-common:4.3.4 +| | | | \--- io.vertx:vertx-core:4.3.4 (*) +| | | +--- io.vertx:vertx-auth-common:4.3.4 +| | | | \--- io.vertx:vertx-core:4.3.4 (*) +| | | +--- io.vertx:vertx-bridge-common:4.3.4 +| | | | \--- io.vertx:vertx-core:4.3.4 (*) +| | | \--- io.vertx:vertx-core:4.3.4 (*) +| | +--- io.quarkus.security:quarkus-security:1.1.4.Final (*) +| | +--- io.quarkus:quarkus-vertx:2.13.7.Final +| | | +--- io.quarkus:quarkus-arc:2.13.7.Final (*) +| | | +--- io.quarkus:quarkus-netty:2.13.7.Final +| | | | +--- io.netty:netty-codec:4.1.86.Final (*) +| | | | +--- io.netty:netty-codec-http:4.1.86.Final (*) +| | | | +--- io.netty:netty-codec-http2:4.1.86.Final (*) +| | | | +--- io.quarkus:quarkus-arc:2.13.7.Final (*) +| | | | +--- io.netty:netty-handler:4.1.86.Final (*) +| | | | +--- jakarta.enterprise:jakarta.enterprise.cdi-api:2.0.2 (*) +| | | | \--- com.aayushatharva.brotli4j:brotli4j:1.7.1 +| | | +--- io.netty:netty-codec-haproxy:4.1.86.Final +| | | | +--- io.netty:netty-buffer:4.1.86.Final (*) +| | | | +--- io.netty:netty-transport:4.1.86.Final (*) +| | | | \--- io.netty:netty-codec:4.1.86.Final (*) +| | | +--- io.smallrye.common:smallrye-common-annotation:1.13.1 +| | | +--- io.smallrye.common:smallrye-common-vertx-context:1.13.1 (*) +| | | +--- io.quarkus:quarkus-mutiny:2.13.7.Final (*) +| | | +--- io.quarkus:quarkus-vertx-latebound-mdc-provider:2.13.7.Final +| | | | \--- org.jboss.logmanager:jboss-logmanager-embedded:1.0.10 (*) +| | | +--- io.smallrye.reactive:smallrye-mutiny-vertx-core:2.27.0 +| | | | +--- io.smallrye.reactive:mutiny:1.7.0 (*) +| | | | +--- io.smallrye.reactive:smallrye-mutiny-vertx-runtime:2.27.0 +| | | | | +--- io.smallrye.reactive:mutiny:1.7.0 (*) +| | | | | \--- io.vertx:vertx-core:4.3.4 (*) +| | | | +--- io.vertx:vertx-core:4.3.4 (*) +| | | | \--- io.smallrye.reactive:vertx-mutiny-generator:2.27.0 +| | | | +--- io.smallrye.reactive:smallrye-mutiny-vertx-runtime:2.27.0 (*) +| | | | +--- io.vertx:vertx-codegen:4.3.4 +| | | | | \--- com.fasterxml.jackson.core:jackson-core:2.13.4 (*) +| | | | \--- io.smallrye.common:smallrye-common-annotation:1.13.0 -> 1.13.1 +| | | \--- io.smallrye:smallrye-fault-tolerance-vertx:5.5.0 +| | +--- io.smallrye.reactive:smallrye-mutiny-vertx-web:2.27.0 +| | | +--- io.vertx:vertx-web:4.3.4 (*) +| | | +--- io.smallrye.reactive:smallrye-mutiny-vertx-core:2.27.0 (*) +| | | +--- io.smallrye.reactive:smallrye-mutiny-vertx-web-common:2.27.0 +| | | | +--- io.vertx:vertx-web-common:4.3.4 (*) +| | | | \--- io.smallrye.reactive:smallrye-mutiny-vertx-core:2.27.0 (*) +| | | +--- io.smallrye.reactive:smallrye-mutiny-vertx-auth-common:2.27.0 +| | | | +--- io.vertx:vertx-auth-common:4.3.4 (*) +| | | | \--- io.smallrye.reactive:smallrye-mutiny-vertx-core:2.27.0 (*) +| | | +--- io.smallrye.reactive:smallrye-mutiny-vertx-bridge-common:2.27.0 +| | | | +--- io.vertx:vertx-bridge-common:4.3.4 (*) +| | | | \--- io.smallrye.reactive:smallrye-mutiny-vertx-core:2.27.0 (*) +| | | \--- io.smallrye.reactive:smallrye-mutiny-vertx-uri-template:2.27.0 +| | | +--- io.vertx:vertx-uri-template:4.3.4 +| | | | \--- io.vertx:vertx-core:4.3.4 (*) +| | | \--- io.smallrye.reactive:smallrye-mutiny-vertx-core:2.27.0 (*) +| | +--- io.vertx:vertx-web:4.3.4 (*) +| | \--- io.github.crac:org-crac:0.1.1 +| \--- io.quarkus:quarkus-resteasy-server-common:2.13.7.Final +| +--- io.quarkus:quarkus-core:2.13.7.Final (*) +| +--- io.quarkus:quarkus-arc:2.13.7.Final (*) +| +--- io.quarkus:quarkus-resteasy-common:2.13.7.Final +| | +--- io.quarkus:quarkus-core:2.13.7.Final (*) +| | +--- org.jboss.resteasy:resteasy-core:4.7.7.Final +| | | +--- org.jboss.logging:jboss-logging:3.4.2.Final -> 3.5.0.Final +| | | +--- org.jboss.spec.javax.annotation:jboss-annotations-api_1.3_spec:2.0.1.Final +| | | +--- org.jboss.spec.javax.ws.rs:jboss-jaxrs-api_2.1_spec:2.0.1.Final +| | | +--- org.jboss.spec.javax.xml.bind:jboss-jaxb-api_2.3_spec:2.0.0.Final +| | | +--- org.jboss.resteasy:resteasy-core-spi:4.7.7.Final +| | | | +--- org.jboss.logging:jboss-logging:3.4.2.Final -> 3.5.0.Final +| | | | +--- org.jboss.spec.javax.annotation:jboss-annotations-api_1.3_spec:2.0.1.Final +| | | | +--- org.jboss.spec.javax.ws.rs:jboss-jaxrs-api_2.1_spec:2.0.1.Final +| | | | +--- org.jboss.spec.javax.xml.bind:jboss-jaxb-api_2.3_spec:2.0.0.Final +| | | | +--- org.reactivestreams:reactive-streams:1.0.3 +| | | | \--- jakarta.validation:jakarta.validation-api:2.0.2 +| | | +--- org.reactivestreams:reactive-streams:1.0.3 +| | | +--- jakarta.validation:jakarta.validation-api:2.0.2 +| | | +--- com.ibm.async:asyncutil:0.1.0 +| | | \--- io.smallrye.config:smallrye-config:2.3.0 -> 2.12.3 (*) +| | +--- io.quarkus:quarkus-arc:2.13.7.Final (*) +| | \--- com.sun.activation:jakarta.activation:1.2.1 +| \--- jakarta.validation:jakarta.validation-api:2.0.2 ++--- io.quarkus:quarkus-resteasy-jackson:2.13.5.Final +| +--- io.quarkus:quarkus-resteasy:2.13.5.Final -> 2.13.7.Final (*) +| +--- io.quarkus:quarkus-jackson:2.13.5.Final +| | +--- com.fasterxml.jackson.core:jackson-databind:2.13.4.2 +| | | +--- com.fasterxml.jackson.core:jackson-annotations:2.13.4 +| | | | \--- com.fasterxml.jackson:jackson-bom:2.13.4 (*) +| | | +--- com.fasterxml.jackson.core:jackson-core:2.13.4 (*) +| | | \--- com.fasterxml.jackson:jackson-bom:2.13.4 (*) +| | +--- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.13.4 +| | | +--- com.fasterxml.jackson.core:jackson-annotations:2.13.4 (*) +| | | +--- com.fasterxml.jackson.core:jackson-core:2.13.4 (*) +| | | +--- com.fasterxml.jackson.core:jackson-databind:2.13.4 -> 2.13.4.2 (*) +| | | \--- com.fasterxml.jackson:jackson-bom:2.13.4 (*) +| | +--- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.13.4 +| | | +--- com.fasterxml.jackson.core:jackson-core:2.13.4 (*) +| | | +--- com.fasterxml.jackson.core:jackson-databind:2.13.4 -> 2.13.4.2 (*) +| | | \--- com.fasterxml.jackson:jackson-bom:2.13.4 (*) +| | +--- com.fasterxml.jackson.module:jackson-module-parameter-names:2.13.4 +| | | +--- com.fasterxml.jackson.core:jackson-core:2.13.4 (*) +| | | +--- com.fasterxml.jackson.core:jackson-databind:2.13.4 -> 2.13.4.2 (*) +| | | \--- com.fasterxml.jackson:jackson-bom:2.13.4 (*) +| | \--- io.quarkus:quarkus-arc:2.13.5.Final -> 2.13.7.Final (*) +| +--- org.jboss.resteasy:resteasy-jackson2-provider:4.7.7.Final +| | +--- com.fasterxml.jackson.core:jackson-core:2.12.6 -> 2.13.4 (*) +| | +--- com.fasterxml.jackson.core:jackson-databind:2.12.6.1 -> 2.13.4.2 (*) +| | +--- com.fasterxml.jackson.core:jackson-annotations:2.12.6 -> 2.13.4 (*) +| | +--- com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:2.12.6 -> 2.13.4 +| | | +--- com.fasterxml.jackson.jaxrs:jackson-jaxrs-base:2.13.4 +| | | | +--- com.fasterxml.jackson.core:jackson-core:2.13.4 (*) +| | | | +--- com.fasterxml.jackson.core:jackson-databind:2.13.4 -> 2.13.4.2 (*) +| | | | \--- com.fasterxml.jackson:jackson-bom:2.13.4 (*) +| | | +--- com.fasterxml.jackson.module:jackson-module-jaxb-annotations:2.13.4 +| | | | +--- com.fasterxml.jackson.core:jackson-annotations:2.13.4 (*) +| | | | +--- com.fasterxml.jackson.core:jackson-core:2.13.4 (*) +| | | | +--- com.fasterxml.jackson.core:jackson-databind:2.13.4 -> 2.13.4.2 (*) +| | | | \--- com.fasterxml.jackson:jackson-bom:2.13.4 (*) +| | | \--- com.fasterxml.jackson:jackson-bom:2.13.4 (*) +| | +--- com.github.java-json-tools:json-patch:1.13 +| | | +--- com.fasterxml.jackson.core:jackson-databind:2.11.0 -> 2.13.4.2 (*) +| | | +--- com.github.java-json-tools:msg-simple:1.2 +| | | | \--- com.github.java-json-tools:btf:1.3 +| | | \--- com.github.java-json-tools:jackson-coreutils:2.0 +| | \--- org.jboss.logging:jboss-logging:3.4.2.Final -> 3.5.0.Final +| \--- org.jboss.spec.javax.xml.bind:jboss-jaxb-api_2.3_spec:2.0.0.Final ++--- io.quarkus:quarkus-jdbc-postgresql:2.13.5.Final +| +--- io.quarkus:quarkus-arc:2.13.5.Final -> 2.13.7.Final (*) +| \--- org.postgresql:postgresql:42.5.0 ++--- io.quarkus:quarkus-vertx-http:2.13.5.Final -> 2.13.7.Final (*) ++--- io.quarkus:quarkus-kubernetes-service-binding:2.13.5.Final +| \--- io.quarkus:quarkus-core:2.13.5.Final -> 2.13.7.Final (*) ++--- io.quarkus:quarkus-container-image-docker:2.13.5.Final +| \--- io.quarkus:quarkus-container-image:2.13.5.Final +| \--- io.quarkus:quarkus-core:2.13.5.Final -> 2.13.7.Final (*) ++--- jakarta.validation:jakarta.validation-api:2.0.2 ++--- io.quarkus:quarkus-resteasy-multipart:2.13.7.Final +| +--- io.quarkus:quarkus-resteasy:2.13.7.Final (*) +| +--- org.jboss.resteasy:resteasy-multipart-provider:4.7.7.Final +| | +--- org.jboss.resteasy:resteasy-core-spi:4.7.7.Final (*) +| | +--- org.jboss.resteasy:resteasy-core:4.7.7.Final (*) +| | +--- org.jboss.resteasy:resteasy-jaxb-provider:4.7.7.Final +| | | +--- org.jboss.spec.javax.xml.bind:jboss-jaxb-api_2.3_spec:2.0.0.Final +| | | +--- org.glassfish.jaxb:jaxb-runtime:2.3.3-b02 (*) +| | | \--- org.jboss.logging:jboss-logging:3.4.2.Final -> 3.5.0.Final +| | +--- com.sun.mail:jakarta.mail:1.6.5 +| | +--- org.apache.james:apache-mime4j-dom:0.8.3 +| | | \--- org.apache.james:apache-mime4j-core:0.8.3 +| | +--- org.apache.james:apache-mime4j-storage:0.8.3 +| | | +--- org.apache.james:apache-mime4j-dom:0.8.3 (*) +| | | \--- commons-io:commons-io:2.4 -> 2.6 +| | \--- org.jboss.logging:jboss-logging:3.4.2.Final -> 3.5.0.Final +| +--- com.sun.activation:jakarta.activation:1.2.1 +| \--- org.jboss.logging:commons-logging-jboss-logging:1.0.0.Final +| \--- org.jboss.logging:jboss-logging:3.3.1.Final -> 3.5.0.Final ++--- io.quarkus:quarkus-hibernate-orm-deployment:2.0.2.Final +| +--- io.quarkus:quarkus-core-deployment:2.0.2.Final +| | +--- org.aesh:readline:2.1 +| | | \--- org.fusesource.jansi:jansi:1.18 +| | +--- org.apache.commons:commons-lang3:3.12.0 +| | +--- org.wildfly.common:wildfly-common:1.5.4.Final-format-001 +| | +--- io.quarkus.gizmo:gizmo:1.0.9.Final +| | | +--- org.ow2.asm:asm:9.1 -> 9.3 +| | | +--- org.ow2.asm:asm-util:9.1 +| | | | +--- org.ow2.asm:asm:9.1 -> 9.3 +| | | | +--- org.ow2.asm:asm-tree:9.1 +| | | | | \--- org.ow2.asm:asm:9.1 -> 9.3 +| | | | \--- org.ow2.asm:asm-analysis:9.1 +| | | | \--- org.ow2.asm:asm-tree:9.1 (*) +| | | \--- org.jboss:jandex:2.3.0.Final +| | +--- org.jboss:jandex:2.3.0.Final +| | +--- org.ow2.asm:asm:9.1 -> 9.3 +| | +--- io.quarkus:quarkus-development-mode-spi:2.0.2.Final -> 2.13.7.Final +| | +--- io.quarkus:quarkus-class-change-agent:2.0.2.Final +| | +--- io.quarkus:quarkus-bootstrap-core:2.0.2.Final +| | | +--- io.quarkus:quarkus-bootstrap-app-model:2.0.2.Final +| | | | \--- org.jboss.logging:jboss-logging:3.4.2.Final -> 3.5.0.Final +| | | +--- io.quarkus:quarkus-bootstrap-maven-resolver:2.0.2.Final +| | | | +--- io.quarkus:quarkus-bootstrap-app-model:2.0.2.Final (*) +| | | | +--- org.jboss.logmanager:jboss-logmanager-embedded:1.0.9 -> 1.0.10 (*) +| | | | +--- org.jboss.slf4j:slf4j-jboss-logmanager:1.1.0.Final -> 1.2.0.Final +| | | | +--- org.jboss.logging:jboss-logging:3.4.2.Final -> 3.5.0.Final +| | | | +--- org.slf4j:slf4j-api:1.7.30 -> 1.7.36 +| | | | +--- org.apache.maven:maven-embedder:3.8.1 +| | | | | +--- org.apache.maven:maven-settings:3.8.1 +| | | | | | \--- org.codehaus.plexus:plexus-utils:3.2.1 -> 3.3.0 +| | | | | +--- org.apache.maven:maven-settings-builder:3.8.1 +| | | | | | +--- org.apache.maven:maven-builder-support:3.8.1 +| | | | | | +--- org.codehaus.plexus:plexus-interpolation:1.25 +| | | | | | +--- org.codehaus.plexus:plexus-utils:3.2.1 -> 3.3.0 +| | | | | | +--- org.apache.maven:maven-settings:3.8.1 (*) +| | | | | | \--- org.sonatype.plexus:plexus-sec-dispatcher:1.4 +| | | | | | +--- org.codehaus.plexus:plexus-utils:1.5.5 -> 3.3.0 +| | | | | | \--- org.sonatype.plexus:plexus-cipher:1.4 +| | | | | +--- org.apache.maven:maven-core:3.8.1 +| | | | | | +--- org.apache.maven:maven-model:3.8.1 +| | | | | | | \--- org.codehaus.plexus:plexus-utils:3.2.1 -> 3.3.0 +| | | | | | +--- org.apache.maven:maven-settings:3.8.1 (*) +| | | | | | +--- org.apache.maven:maven-settings-builder:3.8.1 (*) +| | | | | | +--- org.apache.maven:maven-builder-support:3.8.1 +| | | | | | +--- org.apache.maven:maven-repository-metadata:3.8.1 +| | | | | | | \--- org.codehaus.plexus:plexus-utils:3.2.1 -> 3.3.0 +| | | | | | +--- org.apache.maven:maven-artifact:3.8.1 +| | | | | | | +--- org.codehaus.plexus:plexus-utils:3.2.1 -> 3.3.0 +| | | | | | | \--- org.apache.commons:commons-lang3:3.8.1 -> 3.12.0 +| | | | | | +--- org.apache.maven:maven-plugin-api:3.8.1 +| | | | | | | +--- org.apache.maven:maven-model:3.8.1 (*) +| | | | | | | +--- org.apache.maven:maven-artifact:3.8.1 (*) +| | | | | | | +--- org.eclipse.sisu:org.eclipse.sisu.plexus:0.3.4 +| | | | | | | | +--- org.codehaus.plexus:plexus-component-annotations:1.5.5 -> 2.1.0 +| | | | | | | | +--- org.codehaus.plexus:plexus-classworlds:2.5.2 -> 2.6.0 +| | | | | | | | \--- org.codehaus.plexus:plexus-utils:3.0.17 -> 3.3.0 +| | | | | | | +--- org.codehaus.plexus:plexus-utils:3.2.1 -> 3.3.0 +| | | | | | | \--- org.codehaus.plexus:plexus-classworlds:2.6.0 +| | | | | | +--- org.apache.maven:maven-model-builder:3.8.1 +| | | | | | | +--- org.codehaus.plexus:plexus-utils:3.2.1 -> 3.3.0 +| | | | | | | +--- org.codehaus.plexus:plexus-interpolation:1.25 +| | | | | | | +--- org.apache.maven:maven-model:3.8.1 (*) +| | | | | | | +--- org.apache.maven:maven-artifact:3.8.1 (*) +| | | | | | | \--- org.apache.maven:maven-builder-support:3.8.1 +| | | | | | +--- org.apache.maven:maven-resolver-provider:3.8.1 +| | | | | | | +--- org.apache.maven:maven-model:3.8.1 (*) +| | | | | | | +--- org.apache.maven:maven-model-builder:3.8.1 (*) +| | | | | | | +--- org.apache.maven:maven-repository-metadata:3.8.1 (*) +| | | | | | | +--- org.apache.maven.resolver:maven-resolver-api:1.6.2 +| | | | | | | +--- org.apache.maven.resolver:maven-resolver-spi:1.6.2 +| | | | | | | | \--- org.apache.maven.resolver:maven-resolver-api:1.6.2 +| | | | | | | +--- org.apache.maven.resolver:maven-resolver-util:1.6.2 +| | | | | | | | \--- org.apache.maven.resolver:maven-resolver-api:1.6.2 +| | | | | | | +--- org.apache.maven.resolver:maven-resolver-impl:1.6.2 +| | | | | | | | +--- org.apache.maven.resolver:maven-resolver-api:1.6.2 +| | | | | | | | +--- org.apache.maven.resolver:maven-resolver-spi:1.6.2 (*) +| | | | | | | | +--- org.apache.maven.resolver:maven-resolver-util:1.6.2 (*) +| | | | | | | | \--- org.apache.commons:commons-lang3:3.8.1 -> 3.12.0 +| | | | | | | \--- org.codehaus.plexus:plexus-utils:3.2.1 -> 3.3.0 +| | | | | | +--- org.apache.maven.resolver:maven-resolver-impl:1.6.2 (*) +| | | | | | +--- org.apache.maven.resolver:maven-resolver-api:1.6.2 +| | | | | | +--- org.apache.maven.resolver:maven-resolver-spi:1.6.2 (*) +| | | | | | +--- org.apache.maven.resolver:maven-resolver-util:1.6.2 (*) +| | | | | | +--- org.apache.maven.shared:maven-shared-utils:3.2.1 +| | | | | | | \--- commons-io:commons-io:2.5 -> 2.6 +| | | | | | +--- org.eclipse.sisu:org.eclipse.sisu.plexus:0.3.4 (*) +| | | | | | +--- com.google.inject:guice:4.2.1 +| | | | | | | +--- aopalliance:aopalliance:1.0 +| | | | | | | \--- com.google.guava:guava:25.1-android +| | | | | | | +--- com.google.code.findbugs:jsr305:3.0.2 +| | | | | | | +--- org.checkerframework:checker-compat-qual:2.0.0 +| | | | | | | +--- com.google.errorprone:error_prone_annotations:2.1.3 -> 2.10.0 +| | | | | | | +--- com.google.j2objc:j2objc-annotations:1.1 +| | | | | | | \--- org.codehaus.mojo:animal-sniffer-annotations:1.14 +| | | | | | +--- org.codehaus.plexus:plexus-utils:3.2.1 -> 3.3.0 +| | | | | | +--- org.codehaus.plexus:plexus-classworlds:2.6.0 +| | | | | | +--- org.codehaus.plexus:plexus-component-annotations:2.1.0 +| | | | | | \--- org.apache.commons:commons-lang3:3.8.1 -> 3.12.0 +| | | | | +--- org.apache.maven:maven-plugin-api:3.8.1 (*) +| | | | | +--- org.apache.maven:maven-model:3.8.1 (*) +| | | | | +--- org.apache.maven:maven-model-builder:3.8.1 (*) +| | | | | +--- org.apache.maven:maven-builder-support:3.8.1 +| | | | | +--- org.apache.maven.resolver:maven-resolver-api:1.6.2 +| | | | | +--- org.apache.maven.resolver:maven-resolver-util:1.6.2 (*) +| | | | | +--- org.apache.maven.shared:maven-shared-utils:3.2.1 (*) +| | | | | +--- com.google.inject:guice:4.2.1 (*) +| | | | | +--- org.codehaus.plexus:plexus-utils:3.2.1 -> 3.3.0 +| | | | | +--- org.codehaus.plexus:plexus-classworlds:2.6.0 +| | | | | +--- org.eclipse.sisu:org.eclipse.sisu.plexus:0.3.4 (*) +| | | | | +--- commons-cli:commons-cli:1.4 +| | | | | \--- org.apache.commons:commons-lang3:3.8.1 -> 3.12.0 +| | | | +--- org.eclipse.sisu:org.eclipse.sisu.plexus:0.3.4 (*) +| | | | +--- org.apache.maven:maven-settings-builder:3.8.1 (*) +| | | | +--- org.apache.maven:maven-resolver-provider:3.8.1 (*) +| | | | +--- org.apache.maven.resolver:maven-resolver-connector-basic:1.6.2 +| | | | | +--- org.apache.maven.resolver:maven-resolver-api:1.6.2 +| | | | | +--- org.apache.maven.resolver:maven-resolver-spi:1.6.2 (*) +| | | | | \--- org.apache.maven.resolver:maven-resolver-util:1.6.2 (*) +| | | | +--- org.apache.maven.resolver:maven-resolver-transport-wagon:1.6.2 +| | | | | +--- org.apache.maven.resolver:maven-resolver-api:1.6.2 +| | | | | +--- org.apache.maven.resolver:maven-resolver-spi:1.6.2 (*) +| | | | | +--- org.apache.maven.resolver:maven-resolver-util:1.6.2 (*) +| | | | | \--- org.slf4j:slf4j-api:1.7.30 -> 1.7.36 +| | | | +--- org.apache.maven.wagon:wagon-http:3.4.3 +| | | | | +--- org.apache.maven.wagon:wagon-http-shared:3.4.3 +| | | | | | +--- org.jsoup:jsoup:1.12.1 +| | | | | | +--- org.apache.httpcomponents:httpclient:4.5.13 +| | | | | | | +--- org.apache.httpcomponents:httpcore:4.4.13 -> 4.4.14 +| | | | | | | \--- commons-codec:commons-codec:1.11 +| | | | | | +--- org.apache.httpcomponents:httpcore:4.4.14 +| | | | | | +--- commons-io:commons-io:2.6 +| | | | | | +--- org.slf4j:slf4j-api:1.7.25 -> 1.7.36 +| | | | | | \--- org.apache.maven.wagon:wagon-provider-api:3.4.3 +| | | | | | \--- org.codehaus.plexus:plexus-utils:3.3.0 +| | | | | +--- org.apache.httpcomponents:httpclient:4.5.13 (*) +| | | | | +--- org.apache.httpcomponents:httpcore:4.4.14 +| | | | | +--- org.codehaus.plexus:plexus-utils:3.3.0 +| | | | | \--- org.apache.maven.wagon:wagon-provider-api:3.4.3 (*) +| | | | \--- org.apache.maven.wagon:wagon-file:3.4.3 +| | | | +--- org.codehaus.plexus:plexus-utils:3.3.0 +| | | | \--- org.apache.maven.wagon:wagon-provider-api:3.4.3 (*) +| | | +--- io.quarkus:quarkus-bootstrap-gradle-resolver:2.0.2.Final +| | | | +--- io.quarkus:quarkus-bootstrap-app-model:2.0.2.Final (*) +| | | | +--- org.jboss.logging:jboss-logging:3.4.2.Final -> 3.5.0.Final +| | | | \--- org.jboss.slf4j:slf4j-jboss-logmanager:1.1.0.Final -> 1.2.0.Final +| | | \--- io.smallrye.common:smallrye-common-io:1.6.0 -> 1.13.1 +| | +--- io.quarkus:quarkus-devtools-utilities:2.0.2.Final +| | +--- io.quarkus:quarkus-core:2.0.2.Final -> 2.13.7.Final (*) +| | +--- io.quarkus:quarkus-builder:2.0.2.Final +| | | +--- org.wildfly.common:wildfly-common:1.5.4.Final-format-001 +| | | +--- org.jboss.logging:jboss-logging:3.4.2.Final -> 3.5.0.Final +| | | \--- org.jboss.threads:jboss-threads:3.4.0.Final -> 3.4.3.Final (*) +| | +--- org.graalvm.sdk:graal-sdk:21.1.0 -> 22.3.0 +| | +--- org.junit.platform:junit-platform-launcher:1.7.2 +| | | +--- org.junit:junit-bom:5.7.2 +| | | | +--- org.junit.jupiter:junit-jupiter:5.7.2 (c) +| | | | +--- org.junit.jupiter:junit-jupiter-api:5.7.2 (c) +| | | | +--- org.junit.jupiter:junit-jupiter-params:5.7.2 (c) +| | | | +--- org.junit.platform:junit-platform-engine:1.7.2 (c) +| | | | +--- org.junit.platform:junit-platform-launcher:1.7.2 (c) +| | | | \--- org.junit.platform:junit-platform-commons:1.7.2 (c) +| | | +--- org.apiguardian:apiguardian-api:1.1.0 +| | | \--- org.junit.platform:junit-platform-engine:1.7.2 +| | | +--- org.junit:junit-bom:5.7.2 (*) +| | | +--- org.apiguardian:apiguardian-api:1.1.0 +| | | +--- org.opentest4j:opentest4j:1.2.0 +| | | \--- org.junit.platform:junit-platform-commons:1.7.2 +| | | +--- org.junit:junit-bom:5.7.2 (*) +| | | \--- org.apiguardian:apiguardian-api:1.1.0 +| | \--- org.junit.jupiter:junit-jupiter:5.7.2 +| | +--- org.junit:junit-bom:5.7.2 (*) +| | +--- org.junit.jupiter:junit-jupiter-api:5.7.2 +| | | +--- org.junit:junit-bom:5.7.2 (*) +| | | +--- org.apiguardian:apiguardian-api:1.1.0 +| | | +--- org.opentest4j:opentest4j:1.2.0 +| | | \--- org.junit.platform:junit-platform-commons:1.7.2 (*) +| | \--- org.junit.jupiter:junit-jupiter-params:5.7.2 +| | +--- org.junit:junit-bom:5.7.2 (*) +| | +--- org.apiguardian:apiguardian-api:1.1.0 +| | \--- org.junit.jupiter:junit-jupiter-api:5.7.2 (*) +| +--- io.quarkus:quarkus-hibernate-orm:2.0.2.Final -> 2.13.5.Final (*) +| +--- io.quarkus:quarkus-narayana-jta-deployment:2.0.2.Final +| | +--- io.quarkus:quarkus-core-deployment:2.0.2.Final (*) +| | +--- io.quarkus:quarkus-arc-deployment:2.0.2.Final +| | | +--- io.quarkus:quarkus-core-deployment:2.0.2.Final (*) +| | | +--- io.quarkus:quarkus-vertx-http-dev-console-spi:2.0.2.Final +| | | | +--- io.quarkus:quarkus-core-deployment:2.0.2.Final (*) +| | | | +--- io.quarkus:quarkus-vertx-http-dev-console-runtime-spi:2.0.2.Final -> 2.13.7.Final (*) +| | | | +--- io.quarkus.arc:arc:2.0.2.Final -> 2.13.7.Final (*) +| | | | \--- io.vertx:vertx-web:4.1.0 -> 4.3.4 (*) +| | | +--- io.quarkus:quarkus-arc:2.0.2.Final -> 2.13.7.Final (*) +| | | \--- io.quarkus.arc:arc-processor:2.0.2.Final +| | | +--- io.quarkus.arc:arc:2.0.2.Final -> 2.13.7.Final (*) +| | | +--- jakarta.enterprise:jakarta.enterprise.cdi-api:2.0.2 (*) +| | | +--- org.jboss.logging:jboss-logging:3.4.2.Final -> 3.5.0.Final +| | | +--- org.jboss:jandex:2.3.0.Final +| | | +--- io.quarkus.gizmo:gizmo:1.0.8.Final -> 1.0.9.Final (*) +| | | \--- jakarta.annotation:jakarta.annotation-api:1.3.5 +| | +--- io.quarkus:quarkus-mutiny-deployment:2.0.2.Final +| | | +--- io.quarkus:quarkus-core-deployment:2.0.2.Final (*) +| | | +--- io.quarkus:quarkus-arc-deployment:2.0.2.Final (*) +| | | +--- io.quarkus:quarkus-smallrye-context-propagation-deployment:2.0.2.Final +| | | | +--- io.quarkus:quarkus-core-deployment:2.0.2.Final (*) +| | | | +--- io.quarkus:quarkus-arc-deployment:2.0.2.Final (*) +| | | | \--- io.quarkus:quarkus-smallrye-context-propagation:2.0.2.Final -> 2.13.7.Final (*) +| | | \--- io.quarkus:quarkus-mutiny:2.0.2.Final -> 2.13.7.Final (*) +| | \--- io.quarkus:quarkus-narayana-jta:2.0.2.Final -> 2.13.5.Final (*) +| +--- io.quarkus:quarkus-agroal-deployment:2.0.2.Final +| | +--- io.quarkus:quarkus-core-deployment:2.0.2.Final (*) +| | +--- io.quarkus:quarkus-arc-deployment:2.0.2.Final (*) +| | +--- io.quarkus:quarkus-datasource-deployment:2.0.2.Final +| | | +--- io.quarkus:quarkus-core-deployment:2.0.2.Final (*) +| | | +--- io.quarkus:quarkus-arc-deployment:2.0.2.Final (*) +| | | +--- io.quarkus:quarkus-datasource:2.0.2.Final -> 2.13.5.Final (*) +| | | \--- io.quarkus:quarkus-datasource-deployment-spi:2.0.2.Final +| | | +--- io.quarkus:quarkus-core-deployment:2.0.2.Final (*) +| | | +--- io.quarkus:quarkus-arc-deployment:2.0.2.Final (*) +| | | \--- io.quarkus:quarkus-datasource-common:2.0.2.Final -> 2.13.5.Final +| | +--- io.quarkus:quarkus-agroal:2.0.2.Final -> 2.13.5.Final (*) +| | +--- io.quarkus:quarkus-agroal-spi:2.0.2.Final +| | | +--- io.quarkus:quarkus-core-deployment:2.0.2.Final (*) +| | | \--- io.quarkus:quarkus-datasource-common:2.0.2.Final -> 2.13.5.Final +| | +--- io.quarkus:quarkus-narayana-jta-deployment:2.0.2.Final (*) +| | +--- io.quarkus:quarkus-credentials-deployment:2.0.2.Final +| | | +--- io.quarkus:quarkus-credentials:2.0.2.Final -> 2.13.7.Final (*) +| | | +--- io.quarkus:quarkus-core-deployment:2.0.2.Final (*) +| | | \--- io.quarkus:quarkus-arc-deployment:2.0.2.Final (*) +| | \--- io.quarkus:quarkus-smallrye-health-spi:2.0.2.Final +| | \--- io.quarkus:quarkus-core-deployment:2.0.2.Final (*) +| +--- io.quarkus:quarkus-arc-deployment:2.0.2.Final (*) +| +--- io.quarkus:quarkus-caffeine-deployment:2.0.2.Final +| | +--- io.quarkus:quarkus-core-deployment:2.0.2.Final (*) +| | \--- io.quarkus:quarkus-caffeine:2.0.2.Final -> 2.13.5.Final (*) +| \--- io.quarkus:quarkus-panache-hibernate-common-deployment:2.0.2.Final +| +--- io.quarkus:quarkus-panache-hibernate-common:2.0.2.Final +| | +--- io.quarkus:quarkus-core:2.0.2.Final -> 2.13.7.Final (*) +| | +--- io.quarkus:quarkus-arc:2.0.2.Final -> 2.13.7.Final (*) +| | +--- io.quarkus:quarkus-panache-common:2.0.2.Final +| | | +--- io.quarkus:quarkus-core:2.0.2.Final -> 2.13.7.Final (*) +| | | \--- io.quarkus:quarkus-arc:2.0.2.Final -> 2.13.7.Final (*) +| | \--- io.quarkus:quarkus-hibernate-orm:2.0.2.Final -> 2.13.5.Final (*) +| +--- io.quarkus:quarkus-panache-common-deployment:2.0.2.Final +| | +--- io.quarkus:quarkus-core-deployment:2.0.2.Final (*) +| | +--- io.quarkus:quarkus-panache-common:2.0.2.Final (*) +| | +--- io.quarkus:quarkus-arc-deployment:2.0.2.Final (*) +| | +--- org.jboss:jandex:2.3.0.Final +| | +--- jakarta.validation:jakarta.validation-api:2.0.2 +| | \--- org.ow2.asm:asm:9.1 -> 9.3 +| +--- io.quarkus:quarkus-arc-deployment:2.0.2.Final (*) +| +--- org.jboss:jandex:2.3.0.Final +| \--- org.ow2.asm:asm:9.1 -> 9.3 +\--- log4j:log4j:1.2.17 + +compileOnly - Compile-only dependencies for the 'main' feature. (n) +No dependencies + +default - Configuration for default artifacts. (n) +No dependencies + +implementation - Implementation dependencies for the 'main' feature. (n) ++--- io.quarkus:quarkus-hibernate-orm:2.13.5.Final (n) ++--- io.quarkus:quarkus-agroal:2.13.5.Final (n) ++--- io.quarkus:quarkus-resteasy:2.13.5.Final (n) ++--- io.quarkus:quarkus-resteasy-jackson:2.13.5.Final (n) ++--- io.quarkus:quarkus-jdbc-postgresql:2.13.5.Final (n) ++--- io.quarkus:quarkus-vertx-http:2.13.5.Final (n) ++--- io.quarkus:quarkus-kubernetes-service-binding:2.13.5.Final (n) ++--- io.quarkus:quarkus-container-image-docker:2.13.5.Final (n) ++--- jakarta.validation:jakarta.validation-api:2.0.2 (n) ++--- io.quarkus:quarkus-resteasy-multipart:2.13.7.Final (n) ++--- io.quarkus:quarkus-hibernate-orm-deployment:2.0.2.Final (n) +\--- log4j:log4j:1.2.17 (n) + +mainSourceElements - List of source directories contained in the Main SourceSet. (n) +No dependencies + +runtimeClasspath - Runtime classpath of source set 'main'. ++--- io.quarkus:quarkus-hibernate-orm:2.13.5.Final +| +--- io.quarkus:quarkus-core:2.13.5.Final -> 2.13.7.Final +| | +--- jakarta.annotation:jakarta.annotation-api:1.3.5 +| | +--- jakarta.enterprise:jakarta.enterprise.cdi-api:2.0.2 +| | | +--- jakarta.el:jakarta.el-api:3.0.3 +| | | +--- jakarta.interceptor:jakarta.interceptor-api:1.2.5 +| | | | +--- jakarta.annotation:jakarta.annotation-api:1.3.5 +| | | | \--- jakarta.ejb:jakarta.ejb-api:3.2.6 +| | | | \--- jakarta.transaction:jakarta.transaction-api:1.3.2 -> 1.3.3 +| | | \--- jakarta.inject:jakarta.inject-api:1.0 +| | +--- jakarta.inject:jakarta.inject-api:1.0 +| | +--- io.quarkus:quarkus-ide-launcher:2.13.7.Final +| | +--- io.quarkus:quarkus-development-mode-spi:2.13.7.Final +| | +--- io.smallrye.config:smallrye-config:2.12.3 +| | | +--- io.smallrye.config:smallrye-config-core:2.12.3 +| | | | +--- org.eclipse.microprofile.config:microprofile-config-api:2.0.1 +| | | | +--- io.smallrye.common:smallrye-common-annotation:1.13.1 +| | | | +--- io.smallrye.common:smallrye-common-expression:1.13.1 +| | | | | +--- io.smallrye.common:smallrye-common-function:1.13.1 +| | | | | | \--- io.smallrye.common:smallrye-common-constraint:1.13.1 +| | | | | | \--- org.jboss.logging:jboss-logging:3.4.3.Final -> 3.5.0.Final +| | | | | \--- org.jboss.logging:jboss-logging:3.4.3.Final -> 3.5.0.Final +| | | | +--- io.smallrye.common:smallrye-common-constraint:1.13.1 (*) +| | | | +--- io.smallrye.common:smallrye-common-classloader:1.13.1 +| | | | +--- org.jboss.logging:jboss-logging:3.4.3.Final -> 3.5.0.Final +| | | | +--- org.ow2.asm:asm:9.3 +| | | | \--- io.smallrye.config:smallrye-config-common:2.12.3 +| | | | +--- org.eclipse.microprofile.config:microprofile-config-api:2.0.1 +| | | | +--- io.smallrye.common:smallrye-common-classloader:1.13.1 +| | | | \--- org.jboss.logging:jboss-logging:3.4.3.Final -> 3.5.0.Final +| | | \--- org.jboss.logging:jboss-logging:3.4.3.Final -> 3.5.0.Final +| | +--- org.jboss.logging:jboss-logging:3.5.0.Final +| | +--- org.jboss.logmanager:jboss-logmanager-embedded:1.0.10 +| | | \--- org.wildfly.common:wildfly-common:1.5.0.Final-format-001 -> 1.5.4.Final-format-001 +| | +--- org.jboss.logging:jboss-logging-annotations:2.2.1.Final +| | +--- org.jboss.threads:jboss-threads:3.4.3.Final +| | | +--- org.jboss.logging:jboss-logging:3.4.1.Final -> 3.5.0.Final +| | | \--- org.wildfly.common:wildfly-common:1.5.0.Final -> 1.5.4.Final-format-001 +| | +--- org.slf4j:slf4j-api:1.7.36 +| | +--- org.jboss.slf4j:slf4j-jboss-logmanager:1.2.0.Final +| | +--- org.graalvm.sdk:graal-sdk:22.3.0 +| | +--- org.wildfly.common:wildfly-common:1.5.4.Final-format-001 +| | +--- io.quarkus:quarkus-bootstrap-runner:2.13.7.Final +| | | +--- io.smallrye.common:smallrye-common-io:1.13.1 +| | | +--- org.jboss.logmanager:jboss-logmanager-embedded:1.0.10 (*) +| | | +--- org.jboss.logging:jboss-logging:3.5.0.Final +| | | \--- io.github.crac:org-crac:0.1.1 +| | \--- io.quarkus:quarkus-fs-util:0.0.9 +| +--- io.quarkus:quarkus-agroal:2.13.5.Final +| | +--- io.quarkus:quarkus-core:2.13.5.Final -> 2.13.7.Final (*) +| | +--- io.quarkus:quarkus-arc:2.13.5.Final -> 2.13.7.Final +| | | +--- io.quarkus.arc:arc:2.13.7.Final +| | | | +--- jakarta.enterprise:jakarta.enterprise.cdi-api:2.0.2 (*) +| | | | +--- jakarta.annotation:jakarta.annotation-api:1.3.5 +| | | | +--- jakarta.transaction:jakarta.transaction-api:1.3.3 +| | | | +--- io.smallrye.reactive:mutiny:1.6.0 -> 1.7.0 +| | | | | +--- org.reactivestreams:reactive-streams:1.0.3 +| | | | | \--- io.smallrye.common:smallrye-common-annotation:1.13.0 -> 1.13.1 +| | | | \--- org.jboss.logging:jboss-logging:3.5.0.Final +| | | +--- io.quarkus:quarkus-core:2.13.7.Final (*) +| | | \--- org.eclipse.microprofile.context-propagation:microprofile-context-propagation-api:1.2 -> 1.3 +| | +--- io.quarkus:quarkus-datasource:2.13.5.Final +| | | +--- io.quarkus:quarkus-core:2.13.5.Final -> 2.13.7.Final (*) +| | | +--- io.quarkus:quarkus-arc:2.13.5.Final -> 2.13.7.Final (*) +| | | +--- io.quarkus:quarkus-datasource-common:2.13.5.Final +| | | \--- io.quarkus:quarkus-credentials:2.13.5.Final -> 2.13.7.Final +| | | \--- io.quarkus.arc:arc:2.13.7.Final (*) +| | +--- io.quarkus:quarkus-narayana-jta:2.13.5.Final +| | | +--- io.quarkus:quarkus-core:2.13.5.Final -> 2.13.7.Final (*) +| | | +--- io.quarkus:quarkus-arc:2.13.5.Final -> 2.13.7.Final (*) +| | | +--- io.quarkus:quarkus-transaction-annotations:2.13.5.Final +| | | +--- io.quarkus:quarkus-mutiny:2.13.5.Final -> 2.13.7.Final +| | | | +--- io.quarkus:quarkus-core:2.13.7.Final (*) +| | | | +--- io.smallrye.reactive:mutiny:1.7.0 (*) +| | | | +--- io.quarkus:quarkus-smallrye-context-propagation:2.13.7.Final +| | | | | +--- io.smallrye:smallrye-context-propagation:1.2.2 +| | | | | | +--- org.eclipse.microprofile.context-propagation:microprofile-context-propagation-api:1.2 -> 1.3 +| | | | | | +--- io.smallrye:smallrye-context-propagation-api:1.2.2 +| | | | | | | +--- org.eclipse.microprofile.context-propagation:microprofile-context-propagation-api:1.2 -> 1.3 +| | | | | | | \--- jakarta.enterprise:jakarta.enterprise.cdi-api:2.0.2 (*) +| | | | | | +--- io.smallrye:smallrye-context-propagation-storage:1.2.2 +| | | | | | +--- org.eclipse.microprofile.config:microprofile-config-api:1.4 -> 2.0.1 +| | | | | | \--- org.jboss.threads:jboss-threads:3.1.1.Final -> 3.4.3.Final (*) +| | | | | +--- jakarta.enterprise:jakarta.enterprise.cdi-api:2.0.2 (*) +| | | | | +--- io.quarkus:quarkus-core:2.13.7.Final (*) +| | | | | \--- io.quarkus:quarkus-arc:2.13.7.Final (*) +| | | | \--- io.smallrye.reactive:mutiny-smallrye-context-propagation:1.7.0 +| | | | +--- org.eclipse.microprofile.context-propagation:microprofile-context-propagation-api:1.3 +| | | | +--- io.smallrye.reactive:mutiny:1.7.0 (*) +| | | | \--- io.smallrye:smallrye-context-propagation:1.2.2 (*) +| | | +--- io.smallrye:smallrye-context-propagation-jta:1.2.2 +| | | | \--- org.eclipse.microprofile.context-propagation:microprofile-context-propagation-api:1.2 -> 1.3 +| | | +--- jakarta.transaction:jakarta.transaction-api:1.3.3 +| | | +--- io.smallrye.reactive:smallrye-reactive-converter-api:2.7.0 +| | | | \--- org.reactivestreams:reactive-streams:1.0.3 +| | | +--- io.smallrye.reactive:smallrye-reactive-converter-mutiny:2.7.0 +| | | | +--- io.smallrye.reactive:mutiny:1.4.0 -> 1.7.0 (*) +| | | | \--- io.smallrye.reactive:smallrye-reactive-converter-api:2.7.0 (*) +| | | +--- org.jboss.narayana.jta:narayana-jta:5.13.1.Alpha1 +| | | | +--- org.jboss:jboss-transaction-spi:7.6.1.Final +| | | | | \--- org.jboss.spec.javax.resource:jboss-connector-api_1.7_spec:1.0.0.Final +| | | | \--- org.jboss.spec.javax.resource:jboss-connector-api_1.7_spec:1.0.0.Final +| | | \--- org.jboss.narayana.jts:narayana-jts-integration:5.13.1.Alpha1 +| | +--- io.agroal:agroal-api:1.16 +| | +--- io.agroal:agroal-narayana:1.16 +| | | +--- io.agroal:agroal-api:1.16 +| | | \--- org.jboss:jboss-transaction-spi:7.6.1.Final (*) +| | +--- io.agroal:agroal-pool:1.16 +| | | \--- io.agroal:agroal-api:1.16 +| | \--- io.quarkus:quarkus-credentials:2.13.5.Final -> 2.13.7.Final (*) +| +--- io.quarkus:quarkus-narayana-jta:2.13.5.Final (*) +| +--- org.hibernate:hibernate-core:5.6.14.Final +| | +--- org.jboss.logging:jboss-logging:3.4.3.Final -> 3.5.0.Final +| | +--- net.bytebuddy:byte-buddy:1.12.18 +| | +--- antlr:antlr:2.7.7 +| | +--- com.fasterxml:classmate:1.5.1 +| | \--- org.hibernate.common:hibernate-commons-annotations:5.1.2.Final +| | \--- org.jboss.logging:jboss-logging:3.3.2.Final -> 3.5.0.Final +| +--- org.hibernate:hibernate-graalvm:5.6.14.Final +| | \--- org.jboss.logging:jboss-logging:3.4.3.Final -> 3.5.0.Final +| +--- org.glassfish.jaxb:jaxb-runtime:2.3.3-b02 +| | +--- org.glassfish.jaxb:txw2:2.3.3-b02 +| | +--- com.sun.istack:istack-commons-runtime:3.0.10 +| | \--- com.sun.activation:jakarta.activation:1.2.1 +| +--- org.jboss.spec.javax.xml.bind:jboss-jaxb-api_2.3_spec:2.0.0.Final +| +--- jakarta.persistence:jakarta.persistence-api:2.2.3 +| +--- jakarta.transaction:jakarta.transaction-api:1.3.3 +| +--- org.hibernate:quarkus-local-cache:0.1.1 +| \--- io.quarkus:quarkus-caffeine:2.13.5.Final +| +--- io.quarkus:quarkus-core:2.13.5.Final -> 2.13.7.Final (*) +| \--- com.github.ben-manes.caffeine:caffeine:2.9.3 +| \--- com.google.errorprone:error_prone_annotations:2.10.0 ++--- io.quarkus:quarkus-agroal:2.13.5.Final (*) ++--- io.quarkus:quarkus-resteasy:2.13.5.Final -> 2.13.7.Final +| +--- io.quarkus:quarkus-vertx-http:2.13.7.Final +| | +--- io.quarkus:quarkus-core:2.13.7.Final (*) +| | +--- io.quarkus:quarkus-security-runtime-spi:2.13.7.Final +| | | +--- io.quarkus:quarkus-core:2.13.7.Final (*) +| | | \--- io.quarkus.security:quarkus-security:1.1.4.Final +| | | +--- org.jboss.logging:jboss-logging:3.3.2.Final -> 3.5.0.Final +| | | \--- io.smallrye.reactive:mutiny:0.4.3 -> 1.7.0 (*) +| | +--- io.quarkus:quarkus-credentials:2.13.7.Final (*) +| | +--- io.quarkus:quarkus-mutiny:2.13.7.Final (*) +| | +--- io.smallrye.common:smallrye-common-vertx-context:1.13.1 +| | | +--- io.vertx:vertx-core:4.3.3 -> 4.3.4 +| | | | +--- io.netty:netty-common:4.1.82.Final -> 4.1.86.Final +| | | | +--- io.netty:netty-buffer:4.1.82.Final -> 4.1.86.Final +| | | | | \--- io.netty:netty-common:4.1.86.Final +| | | | +--- io.netty:netty-transport:4.1.82.Final -> 4.1.86.Final +| | | | | +--- io.netty:netty-common:4.1.86.Final +| | | | | +--- io.netty:netty-buffer:4.1.86.Final (*) +| | | | | \--- io.netty:netty-resolver:4.1.86.Final +| | | | | \--- io.netty:netty-common:4.1.86.Final +| | | | +--- io.netty:netty-handler:4.1.82.Final -> 4.1.86.Final +| | | | | +--- io.netty:netty-common:4.1.86.Final +| | | | | +--- io.netty:netty-resolver:4.1.86.Final (*) +| | | | | +--- io.netty:netty-buffer:4.1.86.Final (*) +| | | | | +--- io.netty:netty-transport:4.1.86.Final (*) +| | | | | +--- io.netty:netty-transport-native-unix-common:4.1.86.Final +| | | | | | +--- io.netty:netty-common:4.1.86.Final +| | | | | | +--- io.netty:netty-buffer:4.1.86.Final (*) +| | | | | | \--- io.netty:netty-transport:4.1.86.Final (*) +| | | | | \--- io.netty:netty-codec:4.1.86.Final +| | | | | +--- io.netty:netty-common:4.1.86.Final +| | | | | +--- io.netty:netty-buffer:4.1.86.Final (*) +| | | | | \--- io.netty:netty-transport:4.1.86.Final (*) +| | | | +--- io.netty:netty-handler-proxy:4.1.82.Final +| | | | | +--- io.netty:netty-common:4.1.82.Final -> 4.1.86.Final +| | | | | +--- io.netty:netty-buffer:4.1.82.Final -> 4.1.86.Final (*) +| | | | | +--- io.netty:netty-transport:4.1.82.Final -> 4.1.86.Final (*) +| | | | | +--- io.netty:netty-codec:4.1.82.Final -> 4.1.86.Final (*) +| | | | | +--- io.netty:netty-codec-socks:4.1.82.Final +| | | | | | +--- io.netty:netty-common:4.1.82.Final -> 4.1.86.Final +| | | | | | +--- io.netty:netty-buffer:4.1.82.Final -> 4.1.86.Final (*) +| | | | | | +--- io.netty:netty-transport:4.1.82.Final -> 4.1.86.Final (*) +| | | | | | \--- io.netty:netty-codec:4.1.82.Final -> 4.1.86.Final (*) +| | | | | \--- io.netty:netty-codec-http:4.1.82.Final -> 4.1.86.Final +| | | | | +--- io.netty:netty-common:4.1.86.Final +| | | | | +--- io.netty:netty-buffer:4.1.86.Final (*) +| | | | | +--- io.netty:netty-transport:4.1.86.Final (*) +| | | | | +--- io.netty:netty-codec:4.1.86.Final (*) +| | | | | \--- io.netty:netty-handler:4.1.86.Final (*) +| | | | +--- io.netty:netty-codec-http:4.1.82.Final -> 4.1.86.Final (*) +| | | | +--- io.netty:netty-codec-http2:4.1.82.Final -> 4.1.86.Final +| | | | | +--- io.netty:netty-common:4.1.86.Final +| | | | | +--- io.netty:netty-buffer:4.1.86.Final (*) +| | | | | +--- io.netty:netty-transport:4.1.86.Final (*) +| | | | | +--- io.netty:netty-codec:4.1.86.Final (*) +| | | | | +--- io.netty:netty-handler:4.1.86.Final (*) +| | | | | \--- io.netty:netty-codec-http:4.1.86.Final (*) +| | | | +--- io.netty:netty-resolver:4.1.82.Final -> 4.1.86.Final (*) +| | | | +--- io.netty:netty-resolver-dns:4.1.82.Final +| | | | | +--- io.netty:netty-common:4.1.82.Final -> 4.1.86.Final +| | | | | +--- io.netty:netty-buffer:4.1.82.Final -> 4.1.86.Final (*) +| | | | | +--- io.netty:netty-resolver:4.1.82.Final -> 4.1.86.Final (*) +| | | | | +--- io.netty:netty-transport:4.1.82.Final -> 4.1.86.Final (*) +| | | | | +--- io.netty:netty-codec:4.1.82.Final -> 4.1.86.Final (*) +| | | | | +--- io.netty:netty-codec-dns:4.1.82.Final +| | | | | | +--- io.netty:netty-common:4.1.82.Final -> 4.1.86.Final +| | | | | | +--- io.netty:netty-buffer:4.1.82.Final -> 4.1.86.Final (*) +| | | | | | +--- io.netty:netty-transport:4.1.82.Final -> 4.1.86.Final (*) +| | | | | | \--- io.netty:netty-codec:4.1.82.Final -> 4.1.86.Final (*) +| | | | | \--- io.netty:netty-handler:4.1.82.Final -> 4.1.86.Final (*) +| | | | \--- com.fasterxml.jackson.core:jackson-core:2.13.4 +| | | | \--- com.fasterxml.jackson:jackson-bom:2.13.4 +| | | | +--- com.fasterxml.jackson.core:jackson-annotations:2.13.4 (c) +| | | | +--- com.fasterxml.jackson.core:jackson-core:2.13.4 (c) +| | | | +--- com.fasterxml.jackson.core:jackson-databind:2.13.4 -> 2.13.4.2 (c) +| | | | +--- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.13.4 (c) +| | | | +--- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.13.4 (c) +| | | | +--- com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:2.13.4 (c) +| | | | +--- com.fasterxml.jackson.module:jackson-module-parameter-names:2.13.4 (c) +| | | | +--- com.fasterxml.jackson.jaxrs:jackson-jaxrs-base:2.13.4 (c) +| | | | \--- com.fasterxml.jackson.module:jackson-module-jaxb-annotations:2.13.4 (c) +| | | \--- io.smallrye.common:smallrye-common-constraint:1.13.1 (*) +| | +--- io.quarkus:quarkus-vertx-http-dev-console-runtime-spi:2.13.7.Final +| | | +--- io.quarkus:quarkus-core:2.13.7.Final (*) +| | | +--- io.quarkus.arc:arc:2.13.7.Final (*) +| | | \--- io.vertx:vertx-web:4.3.4 +| | | +--- io.vertx:vertx-web-common:4.3.4 +| | | | \--- io.vertx:vertx-core:4.3.4 (*) +| | | +--- io.vertx:vertx-auth-common:4.3.4 +| | | | \--- io.vertx:vertx-core:4.3.4 (*) +| | | +--- io.vertx:vertx-bridge-common:4.3.4 +| | | | \--- io.vertx:vertx-core:4.3.4 (*) +| | | \--- io.vertx:vertx-core:4.3.4 (*) +| | +--- io.quarkus.security:quarkus-security:1.1.4.Final (*) +| | +--- io.quarkus:quarkus-vertx:2.13.7.Final +| | | +--- io.quarkus:quarkus-arc:2.13.7.Final (*) +| | | +--- io.quarkus:quarkus-netty:2.13.7.Final +| | | | +--- io.netty:netty-codec:4.1.86.Final (*) +| | | | +--- io.netty:netty-codec-http:4.1.86.Final (*) +| | | | +--- io.netty:netty-codec-http2:4.1.86.Final (*) +| | | | +--- io.quarkus:quarkus-arc:2.13.7.Final (*) +| | | | +--- io.netty:netty-handler:4.1.86.Final (*) +| | | | +--- jakarta.enterprise:jakarta.enterprise.cdi-api:2.0.2 (*) +| | | | \--- com.aayushatharva.brotli4j:brotli4j:1.7.1 +| | | +--- io.netty:netty-codec-haproxy:4.1.86.Final +| | | | +--- io.netty:netty-buffer:4.1.86.Final (*) +| | | | +--- io.netty:netty-transport:4.1.86.Final (*) +| | | | \--- io.netty:netty-codec:4.1.86.Final (*) +| | | +--- io.smallrye.common:smallrye-common-annotation:1.13.1 +| | | +--- io.smallrye.common:smallrye-common-vertx-context:1.13.1 (*) +| | | +--- io.quarkus:quarkus-mutiny:2.13.7.Final (*) +| | | +--- io.quarkus:quarkus-vertx-latebound-mdc-provider:2.13.7.Final +| | | | \--- org.jboss.logmanager:jboss-logmanager-embedded:1.0.10 (*) +| | | +--- io.smallrye.reactive:smallrye-mutiny-vertx-core:2.27.0 +| | | | +--- io.smallrye.reactive:mutiny:1.7.0 (*) +| | | | +--- io.smallrye.reactive:smallrye-mutiny-vertx-runtime:2.27.0 +| | | | | +--- io.smallrye.reactive:mutiny:1.7.0 (*) +| | | | | \--- io.vertx:vertx-core:4.3.4 (*) +| | | | +--- io.vertx:vertx-core:4.3.4 (*) +| | | | \--- io.smallrye.reactive:vertx-mutiny-generator:2.27.0 +| | | | +--- io.smallrye.reactive:smallrye-mutiny-vertx-runtime:2.27.0 (*) +| | | | +--- io.vertx:vertx-codegen:4.3.4 +| | | | | \--- com.fasterxml.jackson.core:jackson-core:2.13.4 (*) +| | | | \--- io.smallrye.common:smallrye-common-annotation:1.13.0 -> 1.13.1 +| | | \--- io.smallrye:smallrye-fault-tolerance-vertx:5.5.0 +| | +--- io.smallrye.reactive:smallrye-mutiny-vertx-web:2.27.0 +| | | +--- io.vertx:vertx-web:4.3.4 (*) +| | | +--- io.smallrye.reactive:smallrye-mutiny-vertx-core:2.27.0 (*) +| | | +--- io.smallrye.reactive:smallrye-mutiny-vertx-web-common:2.27.0 +| | | | +--- io.vertx:vertx-web-common:4.3.4 (*) +| | | | \--- io.smallrye.reactive:smallrye-mutiny-vertx-core:2.27.0 (*) +| | | +--- io.smallrye.reactive:smallrye-mutiny-vertx-auth-common:2.27.0 +| | | | +--- io.vertx:vertx-auth-common:4.3.4 (*) +| | | | \--- io.smallrye.reactive:smallrye-mutiny-vertx-core:2.27.0 (*) +| | | +--- io.smallrye.reactive:smallrye-mutiny-vertx-bridge-common:2.27.0 +| | | | +--- io.vertx:vertx-bridge-common:4.3.4 (*) +| | | | \--- io.smallrye.reactive:smallrye-mutiny-vertx-core:2.27.0 (*) +| | | \--- io.smallrye.reactive:smallrye-mutiny-vertx-uri-template:2.27.0 +| | | +--- io.vertx:vertx-uri-template:4.3.4 +| | | | \--- io.vertx:vertx-core:4.3.4 (*) +| | | \--- io.smallrye.reactive:smallrye-mutiny-vertx-core:2.27.0 (*) +| | +--- io.vertx:vertx-web:4.3.4 (*) +| | \--- io.github.crac:org-crac:0.1.1 +| \--- io.quarkus:quarkus-resteasy-server-common:2.13.7.Final +| +--- io.quarkus:quarkus-core:2.13.7.Final (*) +| +--- io.quarkus:quarkus-arc:2.13.7.Final (*) +| +--- io.quarkus:quarkus-resteasy-common:2.13.7.Final +| | +--- io.quarkus:quarkus-core:2.13.7.Final (*) +| | +--- org.jboss.resteasy:resteasy-core:4.7.7.Final +| | | +--- org.jboss.logging:jboss-logging:3.4.2.Final -> 3.5.0.Final +| | | +--- org.jboss.spec.javax.annotation:jboss-annotations-api_1.3_spec:2.0.1.Final +| | | +--- org.jboss.spec.javax.ws.rs:jboss-jaxrs-api_2.1_spec:2.0.1.Final +| | | +--- org.jboss.spec.javax.xml.bind:jboss-jaxb-api_2.3_spec:2.0.0.Final +| | | +--- org.jboss.resteasy:resteasy-core-spi:4.7.7.Final +| | | | +--- org.jboss.logging:jboss-logging:3.4.2.Final -> 3.5.0.Final +| | | | +--- org.jboss.spec.javax.annotation:jboss-annotations-api_1.3_spec:2.0.1.Final +| | | | +--- org.jboss.spec.javax.ws.rs:jboss-jaxrs-api_2.1_spec:2.0.1.Final +| | | | +--- org.jboss.spec.javax.xml.bind:jboss-jaxb-api_2.3_spec:2.0.0.Final +| | | | +--- org.reactivestreams:reactive-streams:1.0.3 +| | | | \--- jakarta.validation:jakarta.validation-api:2.0.2 +| | | +--- org.reactivestreams:reactive-streams:1.0.3 +| | | +--- jakarta.validation:jakarta.validation-api:2.0.2 +| | | +--- com.ibm.async:asyncutil:0.1.0 +| | | \--- io.smallrye.config:smallrye-config:2.3.0 -> 2.12.3 (*) +| | +--- io.quarkus:quarkus-arc:2.13.7.Final (*) +| | \--- com.sun.activation:jakarta.activation:1.2.1 +| \--- jakarta.validation:jakarta.validation-api:2.0.2 ++--- io.quarkus:quarkus-resteasy-jackson:2.13.5.Final +| +--- io.quarkus:quarkus-resteasy:2.13.5.Final -> 2.13.7.Final (*) +| +--- io.quarkus:quarkus-jackson:2.13.5.Final +| | +--- com.fasterxml.jackson.core:jackson-databind:2.13.4.2 +| | | +--- com.fasterxml.jackson.core:jackson-annotations:2.13.4 +| | | | \--- com.fasterxml.jackson:jackson-bom:2.13.4 (*) +| | | +--- com.fasterxml.jackson.core:jackson-core:2.13.4 (*) +| | | \--- com.fasterxml.jackson:jackson-bom:2.13.4 (*) +| | +--- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.13.4 +| | | +--- com.fasterxml.jackson.core:jackson-annotations:2.13.4 (*) +| | | +--- com.fasterxml.jackson.core:jackson-core:2.13.4 (*) +| | | +--- com.fasterxml.jackson.core:jackson-databind:2.13.4 -> 2.13.4.2 (*) +| | | \--- com.fasterxml.jackson:jackson-bom:2.13.4 (*) +| | +--- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.13.4 +| | | +--- com.fasterxml.jackson.core:jackson-core:2.13.4 (*) +| | | +--- com.fasterxml.jackson.core:jackson-databind:2.13.4 -> 2.13.4.2 (*) +| | | \--- com.fasterxml.jackson:jackson-bom:2.13.4 (*) +| | +--- com.fasterxml.jackson.module:jackson-module-parameter-names:2.13.4 +| | | +--- com.fasterxml.jackson.core:jackson-core:2.13.4 (*) +| | | +--- com.fasterxml.jackson.core:jackson-databind:2.13.4 -> 2.13.4.2 (*) +| | | \--- com.fasterxml.jackson:jackson-bom:2.13.4 (*) +| | \--- io.quarkus:quarkus-arc:2.13.5.Final -> 2.13.7.Final (*) +| +--- org.jboss.resteasy:resteasy-jackson2-provider:4.7.7.Final +| | +--- com.fasterxml.jackson.core:jackson-core:2.12.6 -> 2.13.4 (*) +| | +--- com.fasterxml.jackson.core:jackson-databind:2.12.6.1 -> 2.13.4.2 (*) +| | +--- com.fasterxml.jackson.core:jackson-annotations:2.12.6 -> 2.13.4 (*) +| | +--- com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:2.12.6 -> 2.13.4 +| | | +--- com.fasterxml.jackson.jaxrs:jackson-jaxrs-base:2.13.4 +| | | | +--- com.fasterxml.jackson.core:jackson-core:2.13.4 (*) +| | | | +--- com.fasterxml.jackson.core:jackson-databind:2.13.4 -> 2.13.4.2 (*) +| | | | \--- com.fasterxml.jackson:jackson-bom:2.13.4 (*) +| | | +--- com.fasterxml.jackson.module:jackson-module-jaxb-annotations:2.13.4 +| | | | +--- com.fasterxml.jackson.core:jackson-annotations:2.13.4 (*) +| | | | +--- com.fasterxml.jackson.core:jackson-core:2.13.4 (*) +| | | | +--- com.fasterxml.jackson.core:jackson-databind:2.13.4 -> 2.13.4.2 (*) +| | | | \--- com.fasterxml.jackson:jackson-bom:2.13.4 (*) +| | | \--- com.fasterxml.jackson:jackson-bom:2.13.4 (*) +| | +--- com.github.java-json-tools:json-patch:1.13 +| | | +--- com.fasterxml.jackson.core:jackson-databind:2.11.0 -> 2.13.4.2 (*) +| | | +--- com.github.java-json-tools:msg-simple:1.2 +| | | | \--- com.github.java-json-tools:btf:1.3 +| | | \--- com.github.java-json-tools:jackson-coreutils:2.0 +| | | +--- com.fasterxml.jackson.core:jackson-databind:2.11.0 -> 2.13.4.2 (*) +| | | \--- com.github.java-json-tools:msg-simple:1.2 (*) +| | \--- org.jboss.logging:jboss-logging:3.4.2.Final -> 3.5.0.Final +| \--- org.jboss.spec.javax.xml.bind:jboss-jaxb-api_2.3_spec:2.0.0.Final ++--- io.quarkus:quarkus-jdbc-postgresql:2.13.5.Final +| +--- io.quarkus:quarkus-arc:2.13.5.Final -> 2.13.7.Final (*) +| \--- org.postgresql:postgresql:42.5.0 ++--- io.quarkus:quarkus-vertx-http:2.13.5.Final -> 2.13.7.Final (*) ++--- io.quarkus:quarkus-kubernetes-service-binding:2.13.5.Final +| \--- io.quarkus:quarkus-core:2.13.5.Final -> 2.13.7.Final (*) ++--- io.quarkus:quarkus-container-image-docker:2.13.5.Final +| \--- io.quarkus:quarkus-container-image:2.13.5.Final +| \--- io.quarkus:quarkus-core:2.13.5.Final -> 2.13.7.Final (*) ++--- jakarta.validation:jakarta.validation-api:2.0.2 ++--- io.quarkus:quarkus-resteasy-multipart:2.13.7.Final +| +--- io.quarkus:quarkus-resteasy:2.13.7.Final (*) +| +--- org.jboss.resteasy:resteasy-multipart-provider:4.7.7.Final +| | +--- org.jboss.resteasy:resteasy-core-spi:4.7.7.Final (*) +| | +--- org.jboss.resteasy:resteasy-core:4.7.7.Final (*) +| | +--- org.jboss.resteasy:resteasy-jaxb-provider:4.7.7.Final +| | | +--- org.jboss.spec.javax.xml.bind:jboss-jaxb-api_2.3_spec:2.0.0.Final +| | | +--- org.glassfish.jaxb:jaxb-runtime:2.3.3-b02 (*) +| | | \--- org.jboss.logging:jboss-logging:3.4.2.Final -> 3.5.0.Final +| | +--- com.sun.mail:jakarta.mail:1.6.5 +| | +--- org.apache.james:apache-mime4j-dom:0.8.3 +| | | \--- org.apache.james:apache-mime4j-core:0.8.3 +| | +--- org.apache.james:apache-mime4j-storage:0.8.3 +| | | +--- org.apache.james:apache-mime4j-dom:0.8.3 (*) +| | | \--- commons-io:commons-io:2.4 -> 2.6 +| | \--- org.jboss.logging:jboss-logging:3.4.2.Final -> 3.5.0.Final +| +--- com.sun.activation:jakarta.activation:1.2.1 +| \--- org.jboss.logging:commons-logging-jboss-logging:1.0.0.Final +| \--- org.jboss.logging:jboss-logging:3.3.1.Final -> 3.5.0.Final ++--- io.quarkus:quarkus-hibernate-orm-deployment:2.0.2.Final +| +--- io.quarkus:quarkus-core-deployment:2.0.2.Final +| | +--- org.aesh:readline:2.1 +| | | \--- org.fusesource.jansi:jansi:1.18 +| | +--- org.apache.commons:commons-lang3:3.12.0 +| | +--- org.wildfly.common:wildfly-common:1.5.4.Final-format-001 +| | +--- io.quarkus.gizmo:gizmo:1.0.9.Final +| | | +--- org.ow2.asm:asm:9.1 -> 9.3 +| | | +--- org.ow2.asm:asm-util:9.1 +| | | | +--- org.ow2.asm:asm:9.1 -> 9.3 +| | | | +--- org.ow2.asm:asm-tree:9.1 +| | | | | \--- org.ow2.asm:asm:9.1 -> 9.3 +| | | | \--- org.ow2.asm:asm-analysis:9.1 +| | | | \--- org.ow2.asm:asm-tree:9.1 (*) +| | | \--- org.jboss:jandex:2.3.0.Final +| | +--- org.jboss:jandex:2.3.0.Final +| | +--- org.ow2.asm:asm:9.1 -> 9.3 +| | +--- io.quarkus:quarkus-development-mode-spi:2.0.2.Final -> 2.13.7.Final +| | +--- io.quarkus:quarkus-class-change-agent:2.0.2.Final +| | +--- io.quarkus:quarkus-bootstrap-core:2.0.2.Final +| | | +--- io.quarkus:quarkus-bootstrap-app-model:2.0.2.Final +| | | | +--- org.jboss.logging:jboss-logging:3.4.2.Final -> 3.5.0.Final +| | | | \--- org.jboss.logging:commons-logging-jboss-logging:1.0.0.Final (*) +| | | +--- io.quarkus:quarkus-bootstrap-maven-resolver:2.0.2.Final +| | | | +--- io.quarkus:quarkus-bootstrap-app-model:2.0.2.Final (*) +| | | | +--- org.jboss.logmanager:jboss-logmanager-embedded:1.0.9 -> 1.0.10 (*) +| | | | +--- org.jboss.slf4j:slf4j-jboss-logmanager:1.1.0.Final -> 1.2.0.Final +| | | | +--- org.jboss.logging:jboss-logging:3.4.2.Final -> 3.5.0.Final +| | | | +--- org.slf4j:slf4j-api:1.7.30 -> 1.7.36 +| | | | +--- org.apache.maven:maven-embedder:3.8.1 +| | | | | +--- org.apache.maven:maven-settings:3.8.1 +| | | | | | \--- org.codehaus.plexus:plexus-utils:3.2.1 -> 3.3.0 +| | | | | +--- org.apache.maven:maven-settings-builder:3.8.1 +| | | | | | +--- org.apache.maven:maven-builder-support:3.8.1 +| | | | | | +--- org.codehaus.plexus:plexus-interpolation:1.25 +| | | | | | +--- org.codehaus.plexus:plexus-utils:3.2.1 -> 3.3.0 +| | | | | | +--- org.apache.maven:maven-settings:3.8.1 (*) +| | | | | | \--- org.sonatype.plexus:plexus-sec-dispatcher:1.4 +| | | | | | +--- org.codehaus.plexus:plexus-utils:1.5.5 -> 3.3.0 +| | | | | | \--- org.sonatype.plexus:plexus-cipher:1.4 +| | | | | +--- org.apache.maven:maven-core:3.8.1 +| | | | | | +--- org.apache.maven:maven-model:3.8.1 +| | | | | | | \--- org.codehaus.plexus:plexus-utils:3.2.1 -> 3.3.0 +| | | | | | +--- org.apache.maven:maven-settings:3.8.1 (*) +| | | | | | +--- org.apache.maven:maven-settings-builder:3.8.1 (*) +| | | | | | +--- org.apache.maven:maven-builder-support:3.8.1 +| | | | | | +--- org.apache.maven:maven-repository-metadata:3.8.1 +| | | | | | | \--- org.codehaus.plexus:plexus-utils:3.2.1 -> 3.3.0 +| | | | | | +--- org.apache.maven:maven-artifact:3.8.1 +| | | | | | | +--- org.codehaus.plexus:plexus-utils:3.2.1 -> 3.3.0 +| | | | | | | \--- org.apache.commons:commons-lang3:3.8.1 -> 3.12.0 +| | | | | | +--- org.apache.maven:maven-plugin-api:3.8.1 +| | | | | | | +--- org.apache.maven:maven-model:3.8.1 (*) +| | | | | | | +--- org.apache.maven:maven-artifact:3.8.1 (*) +| | | | | | | +--- org.eclipse.sisu:org.eclipse.sisu.plexus:0.3.4 +| | | | | | | | +--- org.codehaus.plexus:plexus-component-annotations:1.5.5 -> 2.1.0 +| | | | | | | | +--- org.codehaus.plexus:plexus-classworlds:2.5.2 -> 2.6.0 +| | | | | | | | \--- org.codehaus.plexus:plexus-utils:3.0.17 -> 3.3.0 +| | | | | | | +--- org.codehaus.plexus:plexus-utils:3.2.1 -> 3.3.0 +| | | | | | | \--- org.codehaus.plexus:plexus-classworlds:2.6.0 +| | | | | | +--- org.apache.maven:maven-model-builder:3.8.1 +| | | | | | | +--- org.codehaus.plexus:plexus-utils:3.2.1 -> 3.3.0 +| | | | | | | +--- org.codehaus.plexus:plexus-interpolation:1.25 +| | | | | | | +--- org.apache.maven:maven-model:3.8.1 (*) +| | | | | | | +--- org.apache.maven:maven-artifact:3.8.1 (*) +| | | | | | | \--- org.apache.maven:maven-builder-support:3.8.1 +| | | | | | +--- org.apache.maven:maven-resolver-provider:3.8.1 +| | | | | | | +--- org.apache.maven:maven-model:3.8.1 (*) +| | | | | | | +--- org.apache.maven:maven-model-builder:3.8.1 (*) +| | | | | | | +--- org.apache.maven:maven-repository-metadata:3.8.1 (*) +| | | | | | | +--- org.apache.maven.resolver:maven-resolver-api:1.6.2 +| | | | | | | +--- org.apache.maven.resolver:maven-resolver-spi:1.6.2 +| | | | | | | | \--- org.apache.maven.resolver:maven-resolver-api:1.6.2 +| | | | | | | +--- org.apache.maven.resolver:maven-resolver-util:1.6.2 +| | | | | | | | \--- org.apache.maven.resolver:maven-resolver-api:1.6.2 +| | | | | | | +--- org.apache.maven.resolver:maven-resolver-impl:1.6.2 +| | | | | | | | +--- org.apache.maven.resolver:maven-resolver-api:1.6.2 +| | | | | | | | +--- org.apache.maven.resolver:maven-resolver-spi:1.6.2 (*) +| | | | | | | | +--- org.apache.maven.resolver:maven-resolver-util:1.6.2 (*) +| | | | | | | | \--- org.apache.commons:commons-lang3:3.8.1 -> 3.12.0 +| | | | | | | \--- org.codehaus.plexus:plexus-utils:3.2.1 -> 3.3.0 +| | | | | | +--- org.apache.maven.resolver:maven-resolver-impl:1.6.2 (*) +| | | | | | +--- org.apache.maven.resolver:maven-resolver-api:1.6.2 +| | | | | | +--- org.apache.maven.resolver:maven-resolver-spi:1.6.2 (*) +| | | | | | +--- org.apache.maven.resolver:maven-resolver-util:1.6.2 (*) +| | | | | | +--- org.apache.maven.shared:maven-shared-utils:3.2.1 +| | | | | | | \--- commons-io:commons-io:2.5 -> 2.6 +| | | | | | +--- org.eclipse.sisu:org.eclipse.sisu.plexus:0.3.4 (*) +| | | | | | +--- com.google.inject:guice:4.2.1 +| | | | | | | +--- aopalliance:aopalliance:1.0 +| | | | | | | \--- com.google.guava:guava:25.1-android +| | | | | | | +--- com.google.code.findbugs:jsr305:3.0.2 +| | | | | | | +--- org.checkerframework:checker-compat-qual:2.0.0 +| | | | | | | +--- com.google.errorprone:error_prone_annotations:2.1.3 -> 2.10.0 +| | | | | | | +--- com.google.j2objc:j2objc-annotations:1.1 +| | | | | | | \--- org.codehaus.mojo:animal-sniffer-annotations:1.14 +| | | | | | +--- org.codehaus.plexus:plexus-utils:3.2.1 -> 3.3.0 +| | | | | | +--- org.codehaus.plexus:plexus-classworlds:2.6.0 +| | | | | | +--- org.codehaus.plexus:plexus-component-annotations:2.1.0 +| | | | | | \--- org.apache.commons:commons-lang3:3.8.1 -> 3.12.0 +| | | | | +--- org.apache.maven:maven-plugin-api:3.8.1 (*) +| | | | | +--- org.apache.maven:maven-model:3.8.1 (*) +| | | | | +--- org.apache.maven:maven-model-builder:3.8.1 (*) +| | | | | +--- org.apache.maven:maven-builder-support:3.8.1 +| | | | | +--- org.apache.maven.resolver:maven-resolver-api:1.6.2 +| | | | | +--- org.apache.maven.resolver:maven-resolver-util:1.6.2 (*) +| | | | | +--- org.apache.maven.shared:maven-shared-utils:3.2.1 (*) +| | | | | +--- com.google.inject:guice:4.2.1 (*) +| | | | | +--- org.codehaus.plexus:plexus-utils:3.2.1 -> 3.3.0 +| | | | | +--- org.codehaus.plexus:plexus-classworlds:2.6.0 +| | | | | +--- org.eclipse.sisu:org.eclipse.sisu.plexus:0.3.4 (*) +| | | | | +--- commons-cli:commons-cli:1.4 +| | | | | \--- org.apache.commons:commons-lang3:3.8.1 -> 3.12.0 +| | | | +--- org.eclipse.sisu:org.eclipse.sisu.plexus:0.3.4 (*) +| | | | +--- org.apache.maven:maven-settings-builder:3.8.1 (*) +| | | | +--- org.apache.maven:maven-resolver-provider:3.8.1 (*) +| | | | +--- org.apache.maven.resolver:maven-resolver-connector-basic:1.6.2 +| | | | | +--- org.apache.maven.resolver:maven-resolver-api:1.6.2 +| | | | | +--- org.apache.maven.resolver:maven-resolver-spi:1.6.2 (*) +| | | | | \--- org.apache.maven.resolver:maven-resolver-util:1.6.2 (*) +| | | | +--- org.apache.maven.resolver:maven-resolver-transport-wagon:1.6.2 +| | | | | +--- org.apache.maven.resolver:maven-resolver-api:1.6.2 +| | | | | +--- org.apache.maven.resolver:maven-resolver-spi:1.6.2 (*) +| | | | | +--- org.apache.maven.resolver:maven-resolver-util:1.6.2 (*) +| | | | | \--- org.slf4j:slf4j-api:1.7.30 -> 1.7.36 +| | | | +--- org.apache.maven.wagon:wagon-http:3.4.3 +| | | | | +--- org.apache.maven.wagon:wagon-http-shared:3.4.3 +| | | | | | +--- org.jsoup:jsoup:1.12.1 +| | | | | | +--- org.apache.httpcomponents:httpclient:4.5.13 +| | | | | | | +--- org.apache.httpcomponents:httpcore:4.4.13 -> 4.4.14 +| | | | | | | \--- commons-codec:commons-codec:1.11 +| | | | | | +--- org.apache.httpcomponents:httpcore:4.4.14 +| | | | | | +--- commons-io:commons-io:2.6 +| | | | | | +--- org.slf4j:slf4j-api:1.7.25 -> 1.7.36 +| | | | | | \--- org.apache.maven.wagon:wagon-provider-api:3.4.3 +| | | | | | \--- org.codehaus.plexus:plexus-utils:3.3.0 +| | | | | +--- org.apache.httpcomponents:httpclient:4.5.13 (*) +| | | | | +--- org.apache.httpcomponents:httpcore:4.4.14 +| | | | | +--- org.codehaus.plexus:plexus-utils:3.3.0 +| | | | | \--- org.apache.maven.wagon:wagon-provider-api:3.4.3 (*) +| | | | \--- org.apache.maven.wagon:wagon-file:3.4.3 +| | | | +--- org.codehaus.plexus:plexus-utils:3.3.0 +| | | | \--- org.apache.maven.wagon:wagon-provider-api:3.4.3 (*) +| | | +--- io.quarkus:quarkus-bootstrap-gradle-resolver:2.0.2.Final +| | | | +--- io.quarkus:quarkus-bootstrap-app-model:2.0.2.Final (*) +| | | | +--- org.jboss.logging:jboss-logging:3.4.2.Final -> 3.5.0.Final +| | | | \--- org.jboss.slf4j:slf4j-jboss-logmanager:1.1.0.Final -> 1.2.0.Final +| | | \--- io.smallrye.common:smallrye-common-io:1.6.0 -> 1.13.1 +| | +--- io.quarkus:quarkus-devtools-utilities:2.0.2.Final +| | +--- org.eclipse.sisu:org.eclipse.sisu.inject:0.3.4 +| | +--- io.quarkus:quarkus-core:2.0.2.Final -> 2.13.7.Final (*) +| | +--- io.quarkus:quarkus-builder:2.0.2.Final +| | | +--- org.wildfly.common:wildfly-common:1.5.4.Final-format-001 +| | | +--- org.jboss.logging:jboss-logging:3.4.2.Final -> 3.5.0.Final +| | | \--- org.jboss.threads:jboss-threads:3.4.0.Final -> 3.4.3.Final (*) +| | +--- org.graalvm.sdk:graal-sdk:21.1.0 -> 22.3.0 +| | +--- org.junit.platform:junit-platform-launcher:1.7.2 +| | | +--- org.junit:junit-bom:5.7.2 +| | | | +--- org.junit.jupiter:junit-jupiter:5.7.2 (c) +| | | | +--- org.junit.jupiter:junit-jupiter-api:5.7.2 (c) +| | | | +--- org.junit.jupiter:junit-jupiter-engine:5.7.2 (c) +| | | | +--- org.junit.jupiter:junit-jupiter-params:5.7.2 (c) +| | | | +--- org.junit.platform:junit-platform-engine:1.7.2 (c) +| | | | +--- org.junit.platform:junit-platform-launcher:1.7.2 (c) +| | | | \--- org.junit.platform:junit-platform-commons:1.7.2 (c) +| | | +--- org.apiguardian:apiguardian-api:1.1.0 +| | | \--- org.junit.platform:junit-platform-engine:1.7.2 +| | | +--- org.junit:junit-bom:5.7.2 (*) +| | | +--- org.apiguardian:apiguardian-api:1.1.0 +| | | +--- org.opentest4j:opentest4j:1.2.0 +| | | \--- org.junit.platform:junit-platform-commons:1.7.2 +| | | +--- org.junit:junit-bom:5.7.2 (*) +| | | \--- org.apiguardian:apiguardian-api:1.1.0 +| | \--- org.junit.jupiter:junit-jupiter:5.7.2 +| | +--- org.junit:junit-bom:5.7.2 (*) +| | +--- org.junit.jupiter:junit-jupiter-api:5.7.2 +| | | +--- org.junit:junit-bom:5.7.2 (*) +| | | +--- org.apiguardian:apiguardian-api:1.1.0 +| | | +--- org.opentest4j:opentest4j:1.2.0 +| | | \--- org.junit.platform:junit-platform-commons:1.7.2 (*) +| | +--- org.junit.jupiter:junit-jupiter-params:5.7.2 +| | | +--- org.junit:junit-bom:5.7.2 (*) +| | | +--- org.apiguardian:apiguardian-api:1.1.0 +| | | \--- org.junit.jupiter:junit-jupiter-api:5.7.2 (*) +| | \--- org.junit.jupiter:junit-jupiter-engine:5.7.2 +| | +--- org.junit:junit-bom:5.7.2 (*) +| | +--- org.apiguardian:apiguardian-api:1.1.0 +| | +--- org.junit.platform:junit-platform-engine:1.7.2 (*) +| | \--- org.junit.jupiter:junit-jupiter-api:5.7.2 (*) +| +--- io.quarkus:quarkus-hibernate-orm:2.0.2.Final -> 2.13.5.Final (*) +| +--- io.quarkus:quarkus-narayana-jta-deployment:2.0.2.Final +| | +--- io.quarkus:quarkus-core-deployment:2.0.2.Final (*) +| | +--- io.quarkus:quarkus-arc-deployment:2.0.2.Final +| | | +--- io.quarkus:quarkus-core-deployment:2.0.2.Final (*) +| | | +--- io.quarkus:quarkus-vertx-http-dev-console-spi:2.0.2.Final +| | | | +--- io.quarkus:quarkus-core-deployment:2.0.2.Final (*) +| | | | +--- io.quarkus:quarkus-vertx-http-dev-console-runtime-spi:2.0.2.Final -> 2.13.7.Final (*) +| | | | +--- io.quarkus.arc:arc:2.0.2.Final -> 2.13.7.Final (*) +| | | | \--- io.vertx:vertx-web:4.1.0 -> 4.3.4 (*) +| | | +--- io.quarkus:quarkus-arc:2.0.2.Final -> 2.13.7.Final (*) +| | | \--- io.quarkus.arc:arc-processor:2.0.2.Final +| | | +--- io.quarkus.arc:arc:2.0.2.Final -> 2.13.7.Final (*) +| | | +--- jakarta.enterprise:jakarta.enterprise.cdi-api:2.0.2 (*) +| | | +--- org.jboss.logging:jboss-logging:3.4.2.Final -> 3.5.0.Final +| | | +--- org.jboss:jandex:2.3.0.Final +| | | +--- io.quarkus.gizmo:gizmo:1.0.8.Final -> 1.0.9.Final (*) +| | | \--- jakarta.annotation:jakarta.annotation-api:1.3.5 +| | +--- io.quarkus:quarkus-mutiny-deployment:2.0.2.Final +| | | +--- io.quarkus:quarkus-core-deployment:2.0.2.Final (*) +| | | +--- io.quarkus:quarkus-arc-deployment:2.0.2.Final (*) +| | | +--- io.quarkus:quarkus-smallrye-context-propagation-deployment:2.0.2.Final +| | | | +--- io.quarkus:quarkus-core-deployment:2.0.2.Final (*) +| | | | +--- io.quarkus:quarkus-arc-deployment:2.0.2.Final (*) +| | | | \--- io.quarkus:quarkus-smallrye-context-propagation:2.0.2.Final -> 2.13.7.Final (*) +| | | \--- io.quarkus:quarkus-mutiny:2.0.2.Final -> 2.13.7.Final (*) +| | \--- io.quarkus:quarkus-narayana-jta:2.0.2.Final -> 2.13.5.Final (*) +| +--- io.quarkus:quarkus-agroal-deployment:2.0.2.Final +| | +--- io.quarkus:quarkus-core-deployment:2.0.2.Final (*) +| | +--- io.quarkus:quarkus-arc-deployment:2.0.2.Final (*) +| | +--- io.quarkus:quarkus-datasource-deployment:2.0.2.Final +| | | +--- io.quarkus:quarkus-core-deployment:2.0.2.Final (*) +| | | +--- io.quarkus:quarkus-arc-deployment:2.0.2.Final (*) +| | | +--- io.quarkus:quarkus-datasource:2.0.2.Final -> 2.13.5.Final (*) +| | | \--- io.quarkus:quarkus-datasource-deployment-spi:2.0.2.Final +| | | +--- io.quarkus:quarkus-core-deployment:2.0.2.Final (*) +| | | +--- io.quarkus:quarkus-arc-deployment:2.0.2.Final (*) +| | | \--- io.quarkus:quarkus-datasource-common:2.0.2.Final -> 2.13.5.Final +| | +--- io.quarkus:quarkus-agroal:2.0.2.Final -> 2.13.5.Final (*) +| | +--- io.quarkus:quarkus-agroal-spi:2.0.2.Final +| | | +--- io.quarkus:quarkus-core-deployment:2.0.2.Final (*) +| | | \--- io.quarkus:quarkus-datasource-common:2.0.2.Final -> 2.13.5.Final +| | +--- io.quarkus:quarkus-narayana-jta-deployment:2.0.2.Final (*) +| | +--- io.quarkus:quarkus-credentials-deployment:2.0.2.Final +| | | +--- io.quarkus:quarkus-credentials:2.0.2.Final -> 2.13.7.Final (*) +| | | +--- io.quarkus:quarkus-core-deployment:2.0.2.Final (*) +| | | \--- io.quarkus:quarkus-arc-deployment:2.0.2.Final (*) +| | \--- io.quarkus:quarkus-smallrye-health-spi:2.0.2.Final +| | \--- io.quarkus:quarkus-core-deployment:2.0.2.Final (*) +| +--- io.quarkus:quarkus-arc-deployment:2.0.2.Final (*) +| +--- io.quarkus:quarkus-caffeine-deployment:2.0.2.Final +| | +--- io.quarkus:quarkus-core-deployment:2.0.2.Final (*) +| | \--- io.quarkus:quarkus-caffeine:2.0.2.Final -> 2.13.5.Final (*) +| \--- io.quarkus:quarkus-panache-hibernate-common-deployment:2.0.2.Final +| +--- io.quarkus:quarkus-panache-hibernate-common:2.0.2.Final +| | +--- io.quarkus:quarkus-core:2.0.2.Final -> 2.13.7.Final (*) +| | +--- io.quarkus:quarkus-arc:2.0.2.Final -> 2.13.7.Final (*) +| | +--- io.quarkus:quarkus-panache-common:2.0.2.Final +| | | +--- io.quarkus:quarkus-core:2.0.2.Final -> 2.13.7.Final (*) +| | | \--- io.quarkus:quarkus-arc:2.0.2.Final -> 2.13.7.Final (*) +| | \--- io.quarkus:quarkus-hibernate-orm:2.0.2.Final -> 2.13.5.Final (*) +| +--- io.quarkus:quarkus-panache-common-deployment:2.0.2.Final +| | +--- io.quarkus:quarkus-core-deployment:2.0.2.Final (*) +| | +--- io.quarkus:quarkus-panache-common:2.0.2.Final (*) +| | +--- io.quarkus:quarkus-arc-deployment:2.0.2.Final (*) +| | +--- org.jboss:jandex:2.3.0.Final +| | +--- jakarta.validation:jakarta.validation-api:2.0.2 +| | \--- org.ow2.asm:asm:9.1 -> 9.3 +| +--- io.quarkus:quarkus-arc-deployment:2.0.2.Final (*) +| +--- org.jboss:jandex:2.3.0.Final +| \--- org.ow2.asm:asm:9.1 -> 9.3 +\--- log4j:log4j:1.2.17 + +runtimeElements - Runtime elements for the 'main' feature. (n) +No dependencies + +runtimeOnly - Runtime-only dependencies for the 'main' feature. (n) +No dependencies + +testAnnotationProcessor - Annotation processors and their dependencies for source set 'test'. +No dependencies + +testCompileClasspath - Compile classpath for source set 'test'. ++--- io.quarkus:quarkus-hibernate-orm:2.13.5.Final +| +--- io.quarkus:quarkus-core:2.13.5.Final -> 2.13.7.Final +| | +--- jakarta.annotation:jakarta.annotation-api:1.3.5 +| | +--- jakarta.enterprise:jakarta.enterprise.cdi-api:2.0.2 +| | | +--- jakarta.el:jakarta.el-api:3.0.3 +| | | +--- jakarta.interceptor:jakarta.interceptor-api:1.2.5 +| | | | +--- jakarta.annotation:jakarta.annotation-api:1.3.5 +| | | | \--- jakarta.ejb:jakarta.ejb-api:3.2.6 +| | | | \--- jakarta.transaction:jakarta.transaction-api:1.3.2 -> 1.3.3 +| | | \--- jakarta.inject:jakarta.inject-api:1.0 +| | +--- jakarta.inject:jakarta.inject-api:1.0 +| | +--- io.quarkus:quarkus-ide-launcher:2.13.7.Final +| | +--- io.quarkus:quarkus-development-mode-spi:2.13.7.Final +| | +--- io.smallrye.config:smallrye-config:2.12.3 +| | | +--- io.smallrye.config:smallrye-config-core:2.12.3 +| | | | +--- org.eclipse.microprofile.config:microprofile-config-api:2.0.1 +| | | | +--- io.smallrye.common:smallrye-common-annotation:1.13.1 +| | | | +--- io.smallrye.common:smallrye-common-expression:1.13.1 +| | | | | +--- io.smallrye.common:smallrye-common-function:1.13.1 +| | | | | | \--- io.smallrye.common:smallrye-common-constraint:1.13.1 +| | | | | | \--- org.jboss.logging:jboss-logging:3.4.3.Final -> 3.5.0.Final +| | | | | \--- org.jboss.logging:jboss-logging:3.4.3.Final -> 3.5.0.Final +| | | | +--- io.smallrye.common:smallrye-common-constraint:1.13.1 (*) +| | | | +--- io.smallrye.common:smallrye-common-classloader:1.13.1 +| | | | +--- org.jboss.logging:jboss-logging:3.4.3.Final -> 3.5.0.Final +| | | | +--- org.ow2.asm:asm:9.3 +| | | | \--- io.smallrye.config:smallrye-config-common:2.12.3 +| | | | +--- org.eclipse.microprofile.config:microprofile-config-api:2.0.1 +| | | | +--- io.smallrye.common:smallrye-common-classloader:1.13.1 +| | | | \--- org.jboss.logging:jboss-logging:3.4.3.Final -> 3.5.0.Final +| | | \--- org.jboss.logging:jboss-logging:3.4.3.Final -> 3.5.0.Final +| | +--- org.jboss.logging:jboss-logging:3.5.0.Final +| | +--- org.jboss.logmanager:jboss-logmanager-embedded:1.0.10 +| | | \--- org.wildfly.common:wildfly-common:1.5.0.Final-format-001 -> 1.5.4.Final-format-001 +| | +--- org.jboss.logging:jboss-logging-annotations:2.2.1.Final +| | +--- org.jboss.threads:jboss-threads:3.4.3.Final +| | | +--- org.jboss.logging:jboss-logging:3.4.1.Final -> 3.5.0.Final +| | | \--- org.wildfly.common:wildfly-common:1.5.0.Final -> 1.5.4.Final-format-001 +| | +--- org.slf4j:slf4j-api:1.7.36 +| | +--- org.jboss.slf4j:slf4j-jboss-logmanager:1.2.0.Final +| | +--- org.graalvm.sdk:graal-sdk:22.3.0 +| | +--- org.wildfly.common:wildfly-common:1.5.4.Final-format-001 +| | +--- io.quarkus:quarkus-bootstrap-runner:2.13.7.Final +| | | +--- io.smallrye.common:smallrye-common-io:1.13.1 +| | | +--- org.jboss.logmanager:jboss-logmanager-embedded:1.0.10 (*) +| | | +--- org.jboss.logging:jboss-logging:3.5.0.Final +| | | \--- io.github.crac:org-crac:0.1.1 +| | \--- io.quarkus:quarkus-fs-util:0.0.9 +| +--- io.quarkus:quarkus-agroal:2.13.5.Final +| | +--- io.quarkus:quarkus-core:2.13.5.Final -> 2.13.7.Final (*) +| | +--- io.quarkus:quarkus-arc:2.13.5.Final -> 2.13.7.Final +| | | +--- io.quarkus.arc:arc:2.13.7.Final +| | | | +--- jakarta.enterprise:jakarta.enterprise.cdi-api:2.0.2 (*) +| | | | +--- jakarta.annotation:jakarta.annotation-api:1.3.5 +| | | | +--- jakarta.transaction:jakarta.transaction-api:1.3.3 +| | | | +--- io.smallrye.reactive:mutiny:1.6.0 -> 1.7.0 +| | | | | +--- org.reactivestreams:reactive-streams:1.0.3 +| | | | | \--- io.smallrye.common:smallrye-common-annotation:1.13.0 -> 1.13.1 +| | | | \--- org.jboss.logging:jboss-logging:3.5.0.Final +| | | +--- io.quarkus:quarkus-core:2.13.7.Final (*) +| | | \--- org.eclipse.microprofile.context-propagation:microprofile-context-propagation-api:1.2 -> 1.3 +| | +--- io.quarkus:quarkus-datasource:2.13.5.Final +| | | +--- io.quarkus:quarkus-core:2.13.5.Final -> 2.13.7.Final (*) +| | | +--- io.quarkus:quarkus-arc:2.13.5.Final -> 2.13.7.Final (*) +| | | +--- io.quarkus:quarkus-datasource-common:2.13.5.Final +| | | \--- io.quarkus:quarkus-credentials:2.13.5.Final -> 2.13.7.Final +| | | \--- io.quarkus.arc:arc:2.13.7.Final (*) +| | +--- io.quarkus:quarkus-narayana-jta:2.13.5.Final +| | | +--- io.quarkus:quarkus-core:2.13.5.Final -> 2.13.7.Final (*) +| | | +--- io.quarkus:quarkus-arc:2.13.5.Final -> 2.13.7.Final (*) +| | | +--- io.quarkus:quarkus-transaction-annotations:2.13.5.Final +| | | +--- io.quarkus:quarkus-mutiny:2.13.5.Final -> 2.13.7.Final +| | | | +--- io.quarkus:quarkus-core:2.13.7.Final (*) +| | | | +--- io.smallrye.reactive:mutiny:1.7.0 (*) +| | | | +--- io.quarkus:quarkus-smallrye-context-propagation:2.13.7.Final +| | | | | +--- io.smallrye:smallrye-context-propagation:1.2.2 +| | | | | | +--- org.eclipse.microprofile.context-propagation:microprofile-context-propagation-api:1.2 -> 1.3 +| | | | | | +--- io.smallrye:smallrye-context-propagation-api:1.2.2 +| | | | | | | +--- org.eclipse.microprofile.context-propagation:microprofile-context-propagation-api:1.2 -> 1.3 +| | | | | | | \--- jakarta.enterprise:jakarta.enterprise.cdi-api:2.0.2 (*) +| | | | | | +--- io.smallrye:smallrye-context-propagation-storage:1.2.2 +| | | | | | +--- org.eclipse.microprofile.config:microprofile-config-api:1.4 -> 2.0.1 +| | | | | | \--- org.jboss.threads:jboss-threads:3.1.1.Final -> 3.4.3.Final (*) +| | | | | +--- jakarta.enterprise:jakarta.enterprise.cdi-api:2.0.2 (*) +| | | | | +--- io.quarkus:quarkus-core:2.13.7.Final (*) +| | | | | \--- io.quarkus:quarkus-arc:2.13.7.Final (*) +| | | | \--- io.smallrye.reactive:mutiny-smallrye-context-propagation:1.7.0 +| | | | +--- org.eclipse.microprofile.context-propagation:microprofile-context-propagation-api:1.3 +| | | | +--- io.smallrye.reactive:mutiny:1.7.0 (*) +| | | | \--- io.smallrye:smallrye-context-propagation:1.2.2 (*) +| | | +--- io.smallrye:smallrye-context-propagation-jta:1.2.2 +| | | | \--- org.eclipse.microprofile.context-propagation:microprofile-context-propagation-api:1.2 -> 1.3 +| | | +--- jakarta.transaction:jakarta.transaction-api:1.3.3 +| | | +--- io.smallrye.reactive:smallrye-reactive-converter-api:2.7.0 +| | | | \--- org.reactivestreams:reactive-streams:1.0.3 +| | | +--- io.smallrye.reactive:smallrye-reactive-converter-mutiny:2.7.0 +| | | | +--- io.smallrye.reactive:mutiny:1.4.0 -> 1.7.0 (*) +| | | | \--- io.smallrye.reactive:smallrye-reactive-converter-api:2.7.0 (*) +| | | +--- org.jboss.narayana.jta:narayana-jta:5.13.1.Alpha1 +| | | | +--- org.jboss:jboss-transaction-spi:7.6.1.Final +| | | | | \--- org.jboss.spec.javax.resource:jboss-connector-api_1.7_spec:1.0.0.Final +| | | | \--- org.jboss.spec.javax.resource:jboss-connector-api_1.7_spec:1.0.0.Final +| | | \--- org.jboss.narayana.jts:narayana-jts-integration:5.13.1.Alpha1 +| | +--- io.agroal:agroal-api:1.16 +| | +--- io.agroal:agroal-narayana:1.16 +| | | +--- io.agroal:agroal-api:1.16 +| | | \--- org.jboss:jboss-transaction-spi:7.6.1.Final (*) +| | +--- io.agroal:agroal-pool:1.16 +| | | \--- io.agroal:agroal-api:1.16 +| | \--- io.quarkus:quarkus-credentials:2.13.5.Final -> 2.13.7.Final (*) +| +--- io.quarkus:quarkus-narayana-jta:2.13.5.Final (*) +| +--- org.hibernate:hibernate-core:5.6.14.Final +| | +--- org.jboss.logging:jboss-logging:3.4.3.Final -> 3.5.0.Final +| | +--- net.bytebuddy:byte-buddy:1.12.18 +| | +--- antlr:antlr:2.7.7 +| | +--- com.fasterxml:classmate:1.5.1 +| | \--- org.hibernate.common:hibernate-commons-annotations:5.1.2.Final +| | \--- org.jboss.logging:jboss-logging:3.3.2.Final -> 3.5.0.Final +| +--- org.hibernate:hibernate-graalvm:5.6.14.Final +| | \--- org.jboss.logging:jboss-logging:3.4.3.Final -> 3.5.0.Final +| +--- org.glassfish.jaxb:jaxb-runtime:2.3.3-b02 +| | +--- org.glassfish.jaxb:txw2:2.3.3-b02 +| | \--- com.sun.istack:istack-commons-runtime:3.0.10 +| +--- org.jboss.spec.javax.xml.bind:jboss-jaxb-api_2.3_spec:2.0.0.Final +| +--- jakarta.persistence:jakarta.persistence-api:2.2.3 +| +--- jakarta.transaction:jakarta.transaction-api:1.3.3 +| +--- org.hibernate:quarkus-local-cache:0.1.1 +| \--- io.quarkus:quarkus-caffeine:2.13.5.Final +| +--- io.quarkus:quarkus-core:2.13.5.Final -> 2.13.7.Final (*) +| \--- com.github.ben-manes.caffeine:caffeine:2.9.3 +| \--- com.google.errorprone:error_prone_annotations:2.10.0 ++--- io.quarkus:quarkus-agroal:2.13.5.Final (*) ++--- io.quarkus:quarkus-resteasy:2.13.5.Final -> 2.13.7.Final +| +--- io.quarkus:quarkus-vertx-http:2.13.7.Final +| | +--- io.quarkus:quarkus-core:2.13.7.Final (*) +| | +--- io.quarkus:quarkus-security-runtime-spi:2.13.7.Final +| | | +--- io.quarkus:quarkus-core:2.13.7.Final (*) +| | | \--- io.quarkus.security:quarkus-security:1.1.4.Final +| | | +--- org.jboss.logging:jboss-logging:3.3.2.Final -> 3.5.0.Final +| | | \--- io.smallrye.reactive:mutiny:0.4.3 -> 1.7.0 (*) +| | +--- io.quarkus:quarkus-credentials:2.13.7.Final (*) +| | +--- io.quarkus:quarkus-mutiny:2.13.7.Final (*) +| | +--- io.smallrye.common:smallrye-common-vertx-context:1.13.1 +| | | +--- io.vertx:vertx-core:4.3.3 -> 4.3.4 +| | | | +--- io.netty:netty-common:4.1.82.Final -> 4.1.86.Final +| | | | +--- io.netty:netty-buffer:4.1.82.Final -> 4.1.86.Final +| | | | | \--- io.netty:netty-common:4.1.86.Final +| | | | +--- io.netty:netty-transport:4.1.82.Final -> 4.1.86.Final +| | | | | +--- io.netty:netty-common:4.1.86.Final +| | | | | +--- io.netty:netty-buffer:4.1.86.Final (*) +| | | | | \--- io.netty:netty-resolver:4.1.86.Final +| | | | | \--- io.netty:netty-common:4.1.86.Final +| | | | +--- io.netty:netty-handler:4.1.82.Final -> 4.1.86.Final +| | | | | +--- io.netty:netty-common:4.1.86.Final +| | | | | +--- io.netty:netty-resolver:4.1.86.Final (*) +| | | | | +--- io.netty:netty-buffer:4.1.86.Final (*) +| | | | | +--- io.netty:netty-transport:4.1.86.Final (*) +| | | | | +--- io.netty:netty-transport-native-unix-common:4.1.86.Final +| | | | | | +--- io.netty:netty-common:4.1.86.Final +| | | | | | +--- io.netty:netty-buffer:4.1.86.Final (*) +| | | | | | \--- io.netty:netty-transport:4.1.86.Final (*) +| | | | | \--- io.netty:netty-codec:4.1.86.Final +| | | | | +--- io.netty:netty-common:4.1.86.Final +| | | | | +--- io.netty:netty-buffer:4.1.86.Final (*) +| | | | | \--- io.netty:netty-transport:4.1.86.Final (*) +| | | | +--- io.netty:netty-handler-proxy:4.1.82.Final +| | | | | +--- io.netty:netty-common:4.1.82.Final -> 4.1.86.Final +| | | | | +--- io.netty:netty-buffer:4.1.82.Final -> 4.1.86.Final (*) +| | | | | +--- io.netty:netty-transport:4.1.82.Final -> 4.1.86.Final (*) +| | | | | +--- io.netty:netty-codec:4.1.82.Final -> 4.1.86.Final (*) +| | | | | +--- io.netty:netty-codec-socks:4.1.82.Final +| | | | | | +--- io.netty:netty-common:4.1.82.Final -> 4.1.86.Final +| | | | | | +--- io.netty:netty-buffer:4.1.82.Final -> 4.1.86.Final (*) +| | | | | | +--- io.netty:netty-transport:4.1.82.Final -> 4.1.86.Final (*) +| | | | | | \--- io.netty:netty-codec:4.1.82.Final -> 4.1.86.Final (*) +| | | | | \--- io.netty:netty-codec-http:4.1.82.Final -> 4.1.86.Final +| | | | | +--- io.netty:netty-common:4.1.86.Final +| | | | | +--- io.netty:netty-buffer:4.1.86.Final (*) +| | | | | +--- io.netty:netty-transport:4.1.86.Final (*) +| | | | | +--- io.netty:netty-codec:4.1.86.Final (*) +| | | | | \--- io.netty:netty-handler:4.1.86.Final (*) +| | | | +--- io.netty:netty-codec-http:4.1.82.Final -> 4.1.86.Final (*) +| | | | +--- io.netty:netty-codec-http2:4.1.82.Final -> 4.1.86.Final +| | | | | +--- io.netty:netty-common:4.1.86.Final +| | | | | +--- io.netty:netty-buffer:4.1.86.Final (*) +| | | | | +--- io.netty:netty-transport:4.1.86.Final (*) +| | | | | +--- io.netty:netty-codec:4.1.86.Final (*) +| | | | | +--- io.netty:netty-handler:4.1.86.Final (*) +| | | | | \--- io.netty:netty-codec-http:4.1.86.Final (*) +| | | | +--- io.netty:netty-resolver:4.1.82.Final -> 4.1.86.Final (*) +| | | | +--- io.netty:netty-resolver-dns:4.1.82.Final +| | | | | +--- io.netty:netty-common:4.1.82.Final -> 4.1.86.Final +| | | | | +--- io.netty:netty-buffer:4.1.82.Final -> 4.1.86.Final (*) +| | | | | +--- io.netty:netty-resolver:4.1.82.Final -> 4.1.86.Final (*) +| | | | | +--- io.netty:netty-transport:4.1.82.Final -> 4.1.86.Final (*) +| | | | | +--- io.netty:netty-codec:4.1.82.Final -> 4.1.86.Final (*) +| | | | | +--- io.netty:netty-codec-dns:4.1.82.Final +| | | | | | +--- io.netty:netty-common:4.1.82.Final -> 4.1.86.Final +| | | | | | +--- io.netty:netty-buffer:4.1.82.Final -> 4.1.86.Final (*) +| | | | | | +--- io.netty:netty-transport:4.1.82.Final -> 4.1.86.Final (*) +| | | | | | \--- io.netty:netty-codec:4.1.82.Final -> 4.1.86.Final (*) +| | | | | \--- io.netty:netty-handler:4.1.82.Final -> 4.1.86.Final (*) +| | | | \--- com.fasterxml.jackson.core:jackson-core:2.13.4 +| | | | \--- com.fasterxml.jackson:jackson-bom:2.13.4 +| | | | +--- com.fasterxml.jackson.core:jackson-annotations:2.13.4 (c) +| | | | +--- com.fasterxml.jackson.core:jackson-core:2.13.4 (c) +| | | | +--- com.fasterxml.jackson.core:jackson-databind:2.13.4 -> 2.13.4.2 (c) +| | | | +--- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.13.4 (c) +| | | | +--- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.13.4 (c) +| | | | +--- com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:2.13.4 (c) +| | | | +--- com.fasterxml.jackson.module:jackson-module-parameter-names:2.13.4 (c) +| | | | +--- com.fasterxml.jackson.jaxrs:jackson-jaxrs-base:2.13.4 (c) +| | | | \--- com.fasterxml.jackson.module:jackson-module-jaxb-annotations:2.13.4 (c) +| | | \--- io.smallrye.common:smallrye-common-constraint:1.13.1 (*) +| | +--- io.quarkus:quarkus-vertx-http-dev-console-runtime-spi:2.13.7.Final +| | | +--- io.quarkus:quarkus-core:2.13.7.Final (*) +| | | +--- io.quarkus.arc:arc:2.13.7.Final (*) +| | | \--- io.vertx:vertx-web:4.3.4 +| | | +--- io.vertx:vertx-web-common:4.3.4 +| | | | \--- io.vertx:vertx-core:4.3.4 (*) +| | | +--- io.vertx:vertx-auth-common:4.3.4 +| | | | \--- io.vertx:vertx-core:4.3.4 (*) +| | | +--- io.vertx:vertx-bridge-common:4.3.4 +| | | | \--- io.vertx:vertx-core:4.3.4 (*) +| | | \--- io.vertx:vertx-core:4.3.4 (*) +| | +--- io.quarkus.security:quarkus-security:1.1.4.Final (*) +| | +--- io.quarkus:quarkus-vertx:2.13.7.Final +| | | +--- io.quarkus:quarkus-arc:2.13.7.Final (*) +| | | +--- io.quarkus:quarkus-netty:2.13.7.Final +| | | | +--- io.netty:netty-codec:4.1.86.Final (*) +| | | | +--- io.netty:netty-codec-http:4.1.86.Final (*) +| | | | +--- io.netty:netty-codec-http2:4.1.86.Final (*) +| | | | +--- io.quarkus:quarkus-arc:2.13.7.Final (*) +| | | | +--- io.netty:netty-handler:4.1.86.Final (*) +| | | | +--- jakarta.enterprise:jakarta.enterprise.cdi-api:2.0.2 (*) +| | | | \--- com.aayushatharva.brotli4j:brotli4j:1.7.1 +| | | +--- io.netty:netty-codec-haproxy:4.1.86.Final +| | | | +--- io.netty:netty-buffer:4.1.86.Final (*) +| | | | +--- io.netty:netty-transport:4.1.86.Final (*) +| | | | \--- io.netty:netty-codec:4.1.86.Final (*) +| | | +--- io.smallrye.common:smallrye-common-annotation:1.13.1 +| | | +--- io.smallrye.common:smallrye-common-vertx-context:1.13.1 (*) +| | | +--- io.quarkus:quarkus-mutiny:2.13.7.Final (*) +| | | +--- io.quarkus:quarkus-vertx-latebound-mdc-provider:2.13.7.Final +| | | | \--- org.jboss.logmanager:jboss-logmanager-embedded:1.0.10 (*) +| | | +--- io.smallrye.reactive:smallrye-mutiny-vertx-core:2.27.0 +| | | | +--- io.smallrye.reactive:mutiny:1.7.0 (*) +| | | | +--- io.smallrye.reactive:smallrye-mutiny-vertx-runtime:2.27.0 +| | | | | +--- io.smallrye.reactive:mutiny:1.7.0 (*) +| | | | | \--- io.vertx:vertx-core:4.3.4 (*) +| | | | +--- io.vertx:vertx-core:4.3.4 (*) +| | | | \--- io.smallrye.reactive:vertx-mutiny-generator:2.27.0 +| | | | +--- io.smallrye.reactive:smallrye-mutiny-vertx-runtime:2.27.0 (*) +| | | | +--- io.vertx:vertx-codegen:4.3.4 +| | | | | \--- com.fasterxml.jackson.core:jackson-core:2.13.4 (*) +| | | | \--- io.smallrye.common:smallrye-common-annotation:1.13.0 -> 1.13.1 +| | | \--- io.smallrye:smallrye-fault-tolerance-vertx:5.5.0 +| | +--- io.smallrye.reactive:smallrye-mutiny-vertx-web:2.27.0 +| | | +--- io.vertx:vertx-web:4.3.4 (*) +| | | +--- io.smallrye.reactive:smallrye-mutiny-vertx-core:2.27.0 (*) +| | | +--- io.smallrye.reactive:smallrye-mutiny-vertx-web-common:2.27.0 +| | | | +--- io.vertx:vertx-web-common:4.3.4 (*) +| | | | \--- io.smallrye.reactive:smallrye-mutiny-vertx-core:2.27.0 (*) +| | | +--- io.smallrye.reactive:smallrye-mutiny-vertx-auth-common:2.27.0 +| | | | +--- io.vertx:vertx-auth-common:4.3.4 (*) +| | | | \--- io.smallrye.reactive:smallrye-mutiny-vertx-core:2.27.0 (*) +| | | +--- io.smallrye.reactive:smallrye-mutiny-vertx-bridge-common:2.27.0 +| | | | +--- io.vertx:vertx-bridge-common:4.3.4 (*) +| | | | \--- io.smallrye.reactive:smallrye-mutiny-vertx-core:2.27.0 (*) +| | | \--- io.smallrye.reactive:smallrye-mutiny-vertx-uri-template:2.27.0 +| | | +--- io.vertx:vertx-uri-template:4.3.4 +| | | | \--- io.vertx:vertx-core:4.3.4 (*) +| | | \--- io.smallrye.reactive:smallrye-mutiny-vertx-core:2.27.0 (*) +| | +--- io.vertx:vertx-web:4.3.4 (*) +| | \--- io.github.crac:org-crac:0.1.1 +| \--- io.quarkus:quarkus-resteasy-server-common:2.13.7.Final +| +--- io.quarkus:quarkus-core:2.13.7.Final (*) +| +--- io.quarkus:quarkus-arc:2.13.7.Final (*) +| +--- io.quarkus:quarkus-resteasy-common:2.13.7.Final +| | +--- io.quarkus:quarkus-core:2.13.7.Final (*) +| | +--- org.jboss.resteasy:resteasy-core:4.7.7.Final +| | | +--- org.jboss.logging:jboss-logging:3.4.2.Final -> 3.5.0.Final +| | | +--- org.jboss.spec.javax.annotation:jboss-annotations-api_1.3_spec:2.0.1.Final +| | | +--- org.jboss.spec.javax.ws.rs:jboss-jaxrs-api_2.1_spec:2.0.1.Final +| | | +--- org.jboss.spec.javax.xml.bind:jboss-jaxb-api_2.3_spec:2.0.0.Final +| | | +--- org.jboss.resteasy:resteasy-core-spi:4.7.7.Final +| | | | +--- org.jboss.logging:jboss-logging:3.4.2.Final -> 3.5.0.Final +| | | | +--- org.jboss.spec.javax.annotation:jboss-annotations-api_1.3_spec:2.0.1.Final +| | | | +--- org.jboss.spec.javax.ws.rs:jboss-jaxrs-api_2.1_spec:2.0.1.Final +| | | | +--- org.jboss.spec.javax.xml.bind:jboss-jaxb-api_2.3_spec:2.0.0.Final +| | | | +--- org.reactivestreams:reactive-streams:1.0.3 +| | | | \--- jakarta.validation:jakarta.validation-api:2.0.2 +| | | +--- org.reactivestreams:reactive-streams:1.0.3 +| | | +--- jakarta.validation:jakarta.validation-api:2.0.2 +| | | +--- com.ibm.async:asyncutil:0.1.0 +| | | \--- io.smallrye.config:smallrye-config:2.3.0 -> 2.12.3 (*) +| | +--- io.quarkus:quarkus-arc:2.13.7.Final (*) +| | \--- com.sun.activation:jakarta.activation:1.2.1 +| \--- jakarta.validation:jakarta.validation-api:2.0.2 ++--- io.quarkus:quarkus-resteasy-jackson:2.13.5.Final +| +--- io.quarkus:quarkus-resteasy:2.13.5.Final -> 2.13.7.Final (*) +| +--- io.quarkus:quarkus-jackson:2.13.5.Final +| | +--- com.fasterxml.jackson.core:jackson-databind:2.13.4.2 +| | | +--- com.fasterxml.jackson.core:jackson-annotations:2.13.4 +| | | | \--- com.fasterxml.jackson:jackson-bom:2.13.4 (*) +| | | +--- com.fasterxml.jackson.core:jackson-core:2.13.4 (*) +| | | \--- com.fasterxml.jackson:jackson-bom:2.13.4 (*) +| | +--- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.13.4 +| | | +--- com.fasterxml.jackson.core:jackson-annotations:2.13.4 (*) +| | | +--- com.fasterxml.jackson.core:jackson-core:2.13.4 (*) +| | | +--- com.fasterxml.jackson.core:jackson-databind:2.13.4 -> 2.13.4.2 (*) +| | | \--- com.fasterxml.jackson:jackson-bom:2.13.4 (*) +| | +--- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.13.4 +| | | +--- com.fasterxml.jackson.core:jackson-core:2.13.4 (*) +| | | +--- com.fasterxml.jackson.core:jackson-databind:2.13.4 -> 2.13.4.2 (*) +| | | \--- com.fasterxml.jackson:jackson-bom:2.13.4 (*) +| | +--- com.fasterxml.jackson.module:jackson-module-parameter-names:2.13.4 +| | | +--- com.fasterxml.jackson.core:jackson-core:2.13.4 (*) +| | | +--- com.fasterxml.jackson.core:jackson-databind:2.13.4 -> 2.13.4.2 (*) +| | | \--- com.fasterxml.jackson:jackson-bom:2.13.4 (*) +| | \--- io.quarkus:quarkus-arc:2.13.5.Final -> 2.13.7.Final (*) +| +--- org.jboss.resteasy:resteasy-jackson2-provider:4.7.7.Final +| | +--- com.fasterxml.jackson.core:jackson-core:2.12.6 -> 2.13.4 (*) +| | +--- com.fasterxml.jackson.core:jackson-databind:2.12.6.1 -> 2.13.4.2 (*) +| | +--- com.fasterxml.jackson.core:jackson-annotations:2.12.6 -> 2.13.4 (*) +| | +--- com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:2.12.6 -> 2.13.4 +| | | +--- com.fasterxml.jackson.jaxrs:jackson-jaxrs-base:2.13.4 +| | | | +--- com.fasterxml.jackson.core:jackson-core:2.13.4 (*) +| | | | +--- com.fasterxml.jackson.core:jackson-databind:2.13.4 -> 2.13.4.2 (*) +| | | | \--- com.fasterxml.jackson:jackson-bom:2.13.4 (*) +| | | +--- com.fasterxml.jackson.module:jackson-module-jaxb-annotations:2.13.4 +| | | | +--- com.fasterxml.jackson.core:jackson-annotations:2.13.4 (*) +| | | | +--- com.fasterxml.jackson.core:jackson-core:2.13.4 (*) +| | | | +--- com.fasterxml.jackson.core:jackson-databind:2.13.4 -> 2.13.4.2 (*) +| | | | \--- com.fasterxml.jackson:jackson-bom:2.13.4 (*) +| | | \--- com.fasterxml.jackson:jackson-bom:2.13.4 (*) +| | +--- com.github.java-json-tools:json-patch:1.13 +| | | +--- com.fasterxml.jackson.core:jackson-databind:2.11.0 -> 2.13.4.2 (*) +| | | +--- com.github.java-json-tools:msg-simple:1.2 +| | | | \--- com.github.java-json-tools:btf:1.3 +| | | \--- com.github.java-json-tools:jackson-coreutils:2.0 +| | \--- org.jboss.logging:jboss-logging:3.4.2.Final -> 3.5.0.Final +| \--- org.jboss.spec.javax.xml.bind:jboss-jaxb-api_2.3_spec:2.0.0.Final ++--- io.quarkus:quarkus-jdbc-postgresql:2.13.5.Final +| +--- io.quarkus:quarkus-arc:2.13.5.Final -> 2.13.7.Final (*) +| \--- org.postgresql:postgresql:42.5.0 ++--- io.quarkus:quarkus-vertx-http:2.13.5.Final -> 2.13.7.Final (*) ++--- io.quarkus:quarkus-kubernetes-service-binding:2.13.5.Final +| \--- io.quarkus:quarkus-core:2.13.5.Final -> 2.13.7.Final (*) ++--- io.quarkus:quarkus-container-image-docker:2.13.5.Final +| \--- io.quarkus:quarkus-container-image:2.13.5.Final +| \--- io.quarkus:quarkus-core:2.13.5.Final -> 2.13.7.Final (*) ++--- jakarta.validation:jakarta.validation-api:2.0.2 ++--- io.quarkus:quarkus-resteasy-multipart:2.13.7.Final +| +--- io.quarkus:quarkus-resteasy:2.13.7.Final (*) +| +--- org.jboss.resteasy:resteasy-multipart-provider:4.7.7.Final +| | +--- org.jboss.resteasy:resteasy-core-spi:4.7.7.Final (*) +| | +--- org.jboss.resteasy:resteasy-core:4.7.7.Final (*) +| | +--- org.jboss.resteasy:resteasy-jaxb-provider:4.7.7.Final +| | | +--- org.jboss.spec.javax.xml.bind:jboss-jaxb-api_2.3_spec:2.0.0.Final +| | | +--- org.glassfish.jaxb:jaxb-runtime:2.3.3-b02 (*) +| | | \--- org.jboss.logging:jboss-logging:3.4.2.Final -> 3.5.0.Final +| | +--- com.sun.mail:jakarta.mail:1.6.5 +| | +--- org.apache.james:apache-mime4j-dom:0.8.3 +| | | \--- org.apache.james:apache-mime4j-core:0.8.3 +| | +--- org.apache.james:apache-mime4j-storage:0.8.3 +| | | +--- org.apache.james:apache-mime4j-dom:0.8.3 (*) +| | | \--- commons-io:commons-io:2.4 -> 2.6 +| | \--- org.jboss.logging:jboss-logging:3.4.2.Final -> 3.5.0.Final +| +--- com.sun.activation:jakarta.activation:1.2.1 +| \--- org.jboss.logging:commons-logging-jboss-logging:1.0.0.Final +| \--- org.jboss.logging:jboss-logging:3.3.1.Final -> 3.5.0.Final ++--- io.quarkus:quarkus-hibernate-orm-deployment:2.0.2.Final +| +--- io.quarkus:quarkus-core-deployment:2.0.2.Final +| | +--- org.aesh:readline:2.1 +| | | \--- org.fusesource.jansi:jansi:1.18 +| | +--- org.apache.commons:commons-lang3:3.12.0 +| | +--- org.wildfly.common:wildfly-common:1.5.4.Final-format-001 +| | +--- io.quarkus.gizmo:gizmo:1.0.9.Final +| | | +--- org.ow2.asm:asm:9.1 -> 9.3 +| | | +--- org.ow2.asm:asm-util:9.1 +| | | | +--- org.ow2.asm:asm:9.1 -> 9.3 +| | | | +--- org.ow2.asm:asm-tree:9.1 +| | | | | \--- org.ow2.asm:asm:9.1 -> 9.3 +| | | | \--- org.ow2.asm:asm-analysis:9.1 +| | | | \--- org.ow2.asm:asm-tree:9.1 (*) +| | | \--- org.jboss:jandex:2.3.0.Final +| | +--- org.jboss:jandex:2.3.0.Final +| | +--- org.ow2.asm:asm:9.1 -> 9.3 +| | +--- io.quarkus:quarkus-development-mode-spi:2.0.2.Final -> 2.13.7.Final +| | +--- io.quarkus:quarkus-class-change-agent:2.0.2.Final +| | +--- io.quarkus:quarkus-bootstrap-core:2.0.2.Final +| | | +--- io.quarkus:quarkus-bootstrap-app-model:2.0.2.Final +| | | | \--- org.jboss.logging:jboss-logging:3.4.2.Final -> 3.5.0.Final +| | | +--- io.quarkus:quarkus-bootstrap-maven-resolver:2.0.2.Final +| | | | +--- io.quarkus:quarkus-bootstrap-app-model:2.0.2.Final (*) +| | | | +--- org.jboss.logmanager:jboss-logmanager-embedded:1.0.9 -> 1.0.10 (*) +| | | | +--- org.jboss.slf4j:slf4j-jboss-logmanager:1.1.0.Final -> 1.2.0.Final +| | | | +--- org.jboss.logging:jboss-logging:3.4.2.Final -> 3.5.0.Final +| | | | +--- org.slf4j:slf4j-api:1.7.30 -> 1.7.36 +| | | | +--- org.apache.maven:maven-embedder:3.8.1 +| | | | | +--- org.apache.maven:maven-settings:3.8.1 +| | | | | | \--- org.codehaus.plexus:plexus-utils:3.2.1 -> 3.3.0 +| | | | | +--- org.apache.maven:maven-settings-builder:3.8.1 +| | | | | | +--- org.apache.maven:maven-builder-support:3.8.1 +| | | | | | +--- org.codehaus.plexus:plexus-interpolation:1.25 +| | | | | | +--- org.codehaus.plexus:plexus-utils:3.2.1 -> 3.3.0 +| | | | | | +--- org.apache.maven:maven-settings:3.8.1 (*) +| | | | | | \--- org.sonatype.plexus:plexus-sec-dispatcher:1.4 +| | | | | | +--- org.codehaus.plexus:plexus-utils:1.5.5 -> 3.3.0 +| | | | | | \--- org.sonatype.plexus:plexus-cipher:1.4 +| | | | | +--- org.apache.maven:maven-core:3.8.1 +| | | | | | +--- org.apache.maven:maven-model:3.8.1 +| | | | | | | \--- org.codehaus.plexus:plexus-utils:3.2.1 -> 3.3.0 +| | | | | | +--- org.apache.maven:maven-settings:3.8.1 (*) +| | | | | | +--- org.apache.maven:maven-settings-builder:3.8.1 (*) +| | | | | | +--- org.apache.maven:maven-builder-support:3.8.1 +| | | | | | +--- org.apache.maven:maven-repository-metadata:3.8.1 +| | | | | | | \--- org.codehaus.plexus:plexus-utils:3.2.1 -> 3.3.0 +| | | | | | +--- org.apache.maven:maven-artifact:3.8.1 +| | | | | | | +--- org.codehaus.plexus:plexus-utils:3.2.1 -> 3.3.0 +| | | | | | | \--- org.apache.commons:commons-lang3:3.8.1 -> 3.12.0 +| | | | | | +--- org.apache.maven:maven-plugin-api:3.8.1 +| | | | | | | +--- org.apache.maven:maven-model:3.8.1 (*) +| | | | | | | +--- org.apache.maven:maven-artifact:3.8.1 (*) +| | | | | | | +--- org.eclipse.sisu:org.eclipse.sisu.plexus:0.3.4 +| | | | | | | | +--- org.codehaus.plexus:plexus-component-annotations:1.5.5 -> 2.1.0 +| | | | | | | | +--- org.codehaus.plexus:plexus-classworlds:2.5.2 -> 2.6.0 +| | | | | | | | \--- org.codehaus.plexus:plexus-utils:3.0.17 -> 3.3.0 +| | | | | | | +--- org.codehaus.plexus:plexus-utils:3.2.1 -> 3.3.0 +| | | | | | | \--- org.codehaus.plexus:plexus-classworlds:2.6.0 +| | | | | | +--- org.apache.maven:maven-model-builder:3.8.1 +| | | | | | | +--- org.codehaus.plexus:plexus-utils:3.2.1 -> 3.3.0 +| | | | | | | +--- org.codehaus.plexus:plexus-interpolation:1.25 +| | | | | | | +--- org.apache.maven:maven-model:3.8.1 (*) +| | | | | | | +--- org.apache.maven:maven-artifact:3.8.1 (*) +| | | | | | | \--- org.apache.maven:maven-builder-support:3.8.1 +| | | | | | +--- org.apache.maven:maven-resolver-provider:3.8.1 +| | | | | | | +--- org.apache.maven:maven-model:3.8.1 (*) +| | | | | | | +--- org.apache.maven:maven-model-builder:3.8.1 (*) +| | | | | | | +--- org.apache.maven:maven-repository-metadata:3.8.1 (*) +| | | | | | | +--- org.apache.maven.resolver:maven-resolver-api:1.6.2 +| | | | | | | +--- org.apache.maven.resolver:maven-resolver-spi:1.6.2 +| | | | | | | | \--- org.apache.maven.resolver:maven-resolver-api:1.6.2 +| | | | | | | +--- org.apache.maven.resolver:maven-resolver-util:1.6.2 +| | | | | | | | \--- org.apache.maven.resolver:maven-resolver-api:1.6.2 +| | | | | | | +--- org.apache.maven.resolver:maven-resolver-impl:1.6.2 +| | | | | | | | +--- org.apache.maven.resolver:maven-resolver-api:1.6.2 +| | | | | | | | +--- org.apache.maven.resolver:maven-resolver-spi:1.6.2 (*) +| | | | | | | | +--- org.apache.maven.resolver:maven-resolver-util:1.6.2 (*) +| | | | | | | | \--- org.apache.commons:commons-lang3:3.8.1 -> 3.12.0 +| | | | | | | \--- org.codehaus.plexus:plexus-utils:3.2.1 -> 3.3.0 +| | | | | | +--- org.apache.maven.resolver:maven-resolver-impl:1.6.2 (*) +| | | | | | +--- org.apache.maven.resolver:maven-resolver-api:1.6.2 +| | | | | | +--- org.apache.maven.resolver:maven-resolver-spi:1.6.2 (*) +| | | | | | +--- org.apache.maven.resolver:maven-resolver-util:1.6.2 (*) +| | | | | | +--- org.apache.maven.shared:maven-shared-utils:3.2.1 +| | | | | | | \--- commons-io:commons-io:2.5 -> 2.6 +| | | | | | +--- org.eclipse.sisu:org.eclipse.sisu.plexus:0.3.4 (*) +| | | | | | +--- com.google.inject:guice:4.2.1 +| | | | | | | +--- aopalliance:aopalliance:1.0 +| | | | | | | \--- com.google.guava:guava:25.1-android +| | | | | | | +--- com.google.code.findbugs:jsr305:3.0.2 +| | | | | | | +--- org.checkerframework:checker-compat-qual:2.0.0 +| | | | | | | +--- com.google.errorprone:error_prone_annotations:2.1.3 -> 2.10.0 +| | | | | | | +--- com.google.j2objc:j2objc-annotations:1.1 +| | | | | | | \--- org.codehaus.mojo:animal-sniffer-annotations:1.14 +| | | | | | +--- org.codehaus.plexus:plexus-utils:3.2.1 -> 3.3.0 +| | | | | | +--- org.codehaus.plexus:plexus-classworlds:2.6.0 +| | | | | | +--- org.codehaus.plexus:plexus-component-annotations:2.1.0 +| | | | | | \--- org.apache.commons:commons-lang3:3.8.1 -> 3.12.0 +| | | | | +--- org.apache.maven:maven-plugin-api:3.8.1 (*) +| | | | | +--- org.apache.maven:maven-model:3.8.1 (*) +| | | | | +--- org.apache.maven:maven-model-builder:3.8.1 (*) +| | | | | +--- org.apache.maven:maven-builder-support:3.8.1 +| | | | | +--- org.apache.maven.resolver:maven-resolver-api:1.6.2 +| | | | | +--- org.apache.maven.resolver:maven-resolver-util:1.6.2 (*) +| | | | | +--- org.apache.maven.shared:maven-shared-utils:3.2.1 (*) +| | | | | +--- com.google.inject:guice:4.2.1 (*) +| | | | | +--- org.codehaus.plexus:plexus-utils:3.2.1 -> 3.3.0 +| | | | | +--- org.codehaus.plexus:plexus-classworlds:2.6.0 +| | | | | +--- org.eclipse.sisu:org.eclipse.sisu.plexus:0.3.4 (*) +| | | | | +--- commons-cli:commons-cli:1.4 +| | | | | \--- org.apache.commons:commons-lang3:3.8.1 -> 3.12.0 +| | | | +--- org.eclipse.sisu:org.eclipse.sisu.plexus:0.3.4 (*) +| | | | +--- org.apache.maven:maven-settings-builder:3.8.1 (*) +| | | | +--- org.apache.maven:maven-resolver-provider:3.8.1 (*) +| | | | +--- org.apache.maven.resolver:maven-resolver-connector-basic:1.6.2 +| | | | | +--- org.apache.maven.resolver:maven-resolver-api:1.6.2 +| | | | | +--- org.apache.maven.resolver:maven-resolver-spi:1.6.2 (*) +| | | | | \--- org.apache.maven.resolver:maven-resolver-util:1.6.2 (*) +| | | | +--- org.apache.maven.resolver:maven-resolver-transport-wagon:1.6.2 +| | | | | +--- org.apache.maven.resolver:maven-resolver-api:1.6.2 +| | | | | +--- org.apache.maven.resolver:maven-resolver-spi:1.6.2 (*) +| | | | | +--- org.apache.maven.resolver:maven-resolver-util:1.6.2 (*) +| | | | | \--- org.slf4j:slf4j-api:1.7.30 -> 1.7.36 +| | | | +--- org.apache.maven.wagon:wagon-http:3.4.3 +| | | | | +--- org.apache.maven.wagon:wagon-http-shared:3.4.3 +| | | | | | +--- org.jsoup:jsoup:1.12.1 +| | | | | | +--- org.apache.httpcomponents:httpclient:4.5.13 +| | | | | | | +--- org.apache.httpcomponents:httpcore:4.4.13 -> 4.4.14 +| | | | | | | \--- commons-codec:commons-codec:1.11 +| | | | | | +--- org.apache.httpcomponents:httpcore:4.4.14 +| | | | | | +--- commons-io:commons-io:2.6 +| | | | | | +--- org.slf4j:slf4j-api:1.7.25 -> 1.7.36 +| | | | | | \--- org.apache.maven.wagon:wagon-provider-api:3.4.3 +| | | | | | \--- org.codehaus.plexus:plexus-utils:3.3.0 +| | | | | +--- org.apache.httpcomponents:httpclient:4.5.13 (*) +| | | | | +--- org.apache.httpcomponents:httpcore:4.4.14 +| | | | | +--- org.codehaus.plexus:plexus-utils:3.3.0 +| | | | | \--- org.apache.maven.wagon:wagon-provider-api:3.4.3 (*) +| | | | \--- org.apache.maven.wagon:wagon-file:3.4.3 +| | | | +--- org.codehaus.plexus:plexus-utils:3.3.0 +| | | | \--- org.apache.maven.wagon:wagon-provider-api:3.4.3 (*) +| | | +--- io.quarkus:quarkus-bootstrap-gradle-resolver:2.0.2.Final +| | | | +--- io.quarkus:quarkus-bootstrap-app-model:2.0.2.Final (*) +| | | | +--- org.jboss.logging:jboss-logging:3.4.2.Final -> 3.5.0.Final +| | | | \--- org.jboss.slf4j:slf4j-jboss-logmanager:1.1.0.Final -> 1.2.0.Final +| | | \--- io.smallrye.common:smallrye-common-io:1.6.0 -> 1.13.1 +| | +--- io.quarkus:quarkus-devtools-utilities:2.0.2.Final +| | +--- io.quarkus:quarkus-core:2.0.2.Final -> 2.13.7.Final (*) +| | +--- io.quarkus:quarkus-builder:2.0.2.Final +| | | +--- org.wildfly.common:wildfly-common:1.5.4.Final-format-001 +| | | +--- org.jboss.logging:jboss-logging:3.4.2.Final -> 3.5.0.Final +| | | \--- org.jboss.threads:jboss-threads:3.4.0.Final -> 3.4.3.Final (*) +| | +--- org.graalvm.sdk:graal-sdk:21.1.0 -> 22.3.0 +| | +--- org.junit.platform:junit-platform-launcher:1.7.2 +| | | +--- org.junit:junit-bom:5.7.2 +| | | | +--- org.junit.jupiter:junit-jupiter:5.7.2 (c) +| | | | +--- org.junit.jupiter:junit-jupiter-api:5.7.2 (c) +| | | | +--- org.junit.jupiter:junit-jupiter-params:5.7.2 (c) +| | | | +--- org.junit.platform:junit-platform-engine:1.7.2 (c) +| | | | +--- org.junit.platform:junit-platform-launcher:1.7.2 (c) +| | | | \--- org.junit.platform:junit-platform-commons:1.7.2 (c) +| | | +--- org.apiguardian:apiguardian-api:1.1.0 +| | | \--- org.junit.platform:junit-platform-engine:1.7.2 +| | | +--- org.junit:junit-bom:5.7.2 (*) +| | | +--- org.apiguardian:apiguardian-api:1.1.0 +| | | +--- org.opentest4j:opentest4j:1.2.0 +| | | \--- org.junit.platform:junit-platform-commons:1.7.2 +| | | +--- org.junit:junit-bom:5.7.2 (*) +| | | \--- org.apiguardian:apiguardian-api:1.1.0 +| | \--- org.junit.jupiter:junit-jupiter:5.7.2 +| | +--- org.junit:junit-bom:5.7.2 (*) +| | +--- org.junit.jupiter:junit-jupiter-api:5.7.2 +| | | +--- org.junit:junit-bom:5.7.2 (*) +| | | +--- org.apiguardian:apiguardian-api:1.1.0 +| | | +--- org.opentest4j:opentest4j:1.2.0 +| | | \--- org.junit.platform:junit-platform-commons:1.7.2 (*) +| | \--- org.junit.jupiter:junit-jupiter-params:5.7.2 +| | +--- org.junit:junit-bom:5.7.2 (*) +| | +--- org.apiguardian:apiguardian-api:1.1.0 +| | \--- org.junit.jupiter:junit-jupiter-api:5.7.2 (*) +| +--- io.quarkus:quarkus-hibernate-orm:2.0.2.Final -> 2.13.5.Final (*) +| +--- io.quarkus:quarkus-narayana-jta-deployment:2.0.2.Final +| | +--- io.quarkus:quarkus-core-deployment:2.0.2.Final (*) +| | +--- io.quarkus:quarkus-arc-deployment:2.0.2.Final +| | | +--- io.quarkus:quarkus-core-deployment:2.0.2.Final (*) +| | | +--- io.quarkus:quarkus-vertx-http-dev-console-spi:2.0.2.Final +| | | | +--- io.quarkus:quarkus-core-deployment:2.0.2.Final (*) +| | | | +--- io.quarkus:quarkus-vertx-http-dev-console-runtime-spi:2.0.2.Final -> 2.13.7.Final (*) +| | | | +--- io.quarkus.arc:arc:2.0.2.Final -> 2.13.7.Final (*) +| | | | \--- io.vertx:vertx-web:4.1.0 -> 4.3.4 (*) +| | | +--- io.quarkus:quarkus-arc:2.0.2.Final -> 2.13.7.Final (*) +| | | \--- io.quarkus.arc:arc-processor:2.0.2.Final +| | | +--- io.quarkus.arc:arc:2.0.2.Final -> 2.13.7.Final (*) +| | | +--- jakarta.enterprise:jakarta.enterprise.cdi-api:2.0.2 (*) +| | | +--- org.jboss.logging:jboss-logging:3.4.2.Final -> 3.5.0.Final +| | | +--- org.jboss:jandex:2.3.0.Final +| | | +--- io.quarkus.gizmo:gizmo:1.0.8.Final -> 1.0.9.Final (*) +| | | \--- jakarta.annotation:jakarta.annotation-api:1.3.5 +| | +--- io.quarkus:quarkus-mutiny-deployment:2.0.2.Final +| | | +--- io.quarkus:quarkus-core-deployment:2.0.2.Final (*) +| | | +--- io.quarkus:quarkus-arc-deployment:2.0.2.Final (*) +| | | +--- io.quarkus:quarkus-smallrye-context-propagation-deployment:2.0.2.Final +| | | | +--- io.quarkus:quarkus-core-deployment:2.0.2.Final (*) +| | | | +--- io.quarkus:quarkus-arc-deployment:2.0.2.Final (*) +| | | | \--- io.quarkus:quarkus-smallrye-context-propagation:2.0.2.Final -> 2.13.7.Final (*) +| | | \--- io.quarkus:quarkus-mutiny:2.0.2.Final -> 2.13.7.Final (*) +| | \--- io.quarkus:quarkus-narayana-jta:2.0.2.Final -> 2.13.5.Final (*) +| +--- io.quarkus:quarkus-agroal-deployment:2.0.2.Final +| | +--- io.quarkus:quarkus-core-deployment:2.0.2.Final (*) +| | +--- io.quarkus:quarkus-arc-deployment:2.0.2.Final (*) +| | +--- io.quarkus:quarkus-datasource-deployment:2.0.2.Final +| | | +--- io.quarkus:quarkus-core-deployment:2.0.2.Final (*) +| | | +--- io.quarkus:quarkus-arc-deployment:2.0.2.Final (*) +| | | +--- io.quarkus:quarkus-datasource:2.0.2.Final -> 2.13.5.Final (*) +| | | \--- io.quarkus:quarkus-datasource-deployment-spi:2.0.2.Final +| | | +--- io.quarkus:quarkus-core-deployment:2.0.2.Final (*) +| | | +--- io.quarkus:quarkus-arc-deployment:2.0.2.Final (*) +| | | \--- io.quarkus:quarkus-datasource-common:2.0.2.Final -> 2.13.5.Final +| | +--- io.quarkus:quarkus-agroal:2.0.2.Final -> 2.13.5.Final (*) +| | +--- io.quarkus:quarkus-agroal-spi:2.0.2.Final +| | | +--- io.quarkus:quarkus-core-deployment:2.0.2.Final (*) +| | | \--- io.quarkus:quarkus-datasource-common:2.0.2.Final -> 2.13.5.Final +| | +--- io.quarkus:quarkus-narayana-jta-deployment:2.0.2.Final (*) +| | +--- io.quarkus:quarkus-credentials-deployment:2.0.2.Final +| | | +--- io.quarkus:quarkus-credentials:2.0.2.Final -> 2.13.7.Final (*) +| | | +--- io.quarkus:quarkus-core-deployment:2.0.2.Final (*) +| | | \--- io.quarkus:quarkus-arc-deployment:2.0.2.Final (*) +| | \--- io.quarkus:quarkus-smallrye-health-spi:2.0.2.Final +| | \--- io.quarkus:quarkus-core-deployment:2.0.2.Final (*) +| +--- io.quarkus:quarkus-arc-deployment:2.0.2.Final (*) +| +--- io.quarkus:quarkus-caffeine-deployment:2.0.2.Final +| | +--- io.quarkus:quarkus-core-deployment:2.0.2.Final (*) +| | \--- io.quarkus:quarkus-caffeine:2.0.2.Final -> 2.13.5.Final (*) +| \--- io.quarkus:quarkus-panache-hibernate-common-deployment:2.0.2.Final +| +--- io.quarkus:quarkus-panache-hibernate-common:2.0.2.Final +| | +--- io.quarkus:quarkus-core:2.0.2.Final -> 2.13.7.Final (*) +| | +--- io.quarkus:quarkus-arc:2.0.2.Final -> 2.13.7.Final (*) +| | +--- io.quarkus:quarkus-panache-common:2.0.2.Final +| | | +--- io.quarkus:quarkus-core:2.0.2.Final -> 2.13.7.Final (*) +| | | \--- io.quarkus:quarkus-arc:2.0.2.Final -> 2.13.7.Final (*) +| | \--- io.quarkus:quarkus-hibernate-orm:2.0.2.Final -> 2.13.5.Final (*) +| +--- io.quarkus:quarkus-panache-common-deployment:2.0.2.Final +| | +--- io.quarkus:quarkus-core-deployment:2.0.2.Final (*) +| | +--- io.quarkus:quarkus-panache-common:2.0.2.Final (*) +| | +--- io.quarkus:quarkus-arc-deployment:2.0.2.Final (*) +| | +--- org.jboss:jandex:2.3.0.Final +| | +--- jakarta.validation:jakarta.validation-api:2.0.2 +| | \--- org.ow2.asm:asm:9.1 -> 9.3 +| +--- io.quarkus:quarkus-arc-deployment:2.0.2.Final (*) +| +--- org.jboss:jandex:2.3.0.Final +| \--- org.ow2.asm:asm:9.1 -> 9.3 +\--- log4j:log4j:1.2.17 + +testCompileOnly - Compile only dependencies for source set 'test'. (n) +No dependencies + +testImplementation - Implementation only dependencies for source set 'test'. (n) +No dependencies + +testRuntimeClasspath - Runtime classpath of source set 'test'. ++--- io.quarkus:quarkus-hibernate-orm:2.13.5.Final +| +--- io.quarkus:quarkus-core:2.13.5.Final -> 2.13.7.Final +| | +--- jakarta.annotation:jakarta.annotation-api:1.3.5 +| | +--- jakarta.enterprise:jakarta.enterprise.cdi-api:2.0.2 +| | | +--- jakarta.el:jakarta.el-api:3.0.3 +| | | +--- jakarta.interceptor:jakarta.interceptor-api:1.2.5 +| | | | +--- jakarta.annotation:jakarta.annotation-api:1.3.5 +| | | | \--- jakarta.ejb:jakarta.ejb-api:3.2.6 +| | | | \--- jakarta.transaction:jakarta.transaction-api:1.3.2 -> 1.3.3 +| | | \--- jakarta.inject:jakarta.inject-api:1.0 +| | +--- jakarta.inject:jakarta.inject-api:1.0 +| | +--- io.quarkus:quarkus-ide-launcher:2.13.7.Final +| | +--- io.quarkus:quarkus-development-mode-spi:2.13.7.Final +| | +--- io.smallrye.config:smallrye-config:2.12.3 +| | | +--- io.smallrye.config:smallrye-config-core:2.12.3 +| | | | +--- org.eclipse.microprofile.config:microprofile-config-api:2.0.1 +| | | | +--- io.smallrye.common:smallrye-common-annotation:1.13.1 +| | | | +--- io.smallrye.common:smallrye-common-expression:1.13.1 +| | | | | +--- io.smallrye.common:smallrye-common-function:1.13.1 +| | | | | | \--- io.smallrye.common:smallrye-common-constraint:1.13.1 +| | | | | | \--- org.jboss.logging:jboss-logging:3.4.3.Final -> 3.5.0.Final +| | | | | \--- org.jboss.logging:jboss-logging:3.4.3.Final -> 3.5.0.Final +| | | | +--- io.smallrye.common:smallrye-common-constraint:1.13.1 (*) +| | | | +--- io.smallrye.common:smallrye-common-classloader:1.13.1 +| | | | +--- org.jboss.logging:jboss-logging:3.4.3.Final -> 3.5.0.Final +| | | | +--- org.ow2.asm:asm:9.3 +| | | | \--- io.smallrye.config:smallrye-config-common:2.12.3 +| | | | +--- org.eclipse.microprofile.config:microprofile-config-api:2.0.1 +| | | | +--- io.smallrye.common:smallrye-common-classloader:1.13.1 +| | | | \--- org.jboss.logging:jboss-logging:3.4.3.Final -> 3.5.0.Final +| | | \--- org.jboss.logging:jboss-logging:3.4.3.Final -> 3.5.0.Final +| | +--- org.jboss.logging:jboss-logging:3.5.0.Final +| | +--- org.jboss.logmanager:jboss-logmanager-embedded:1.0.10 +| | | \--- org.wildfly.common:wildfly-common:1.5.0.Final-format-001 -> 1.5.4.Final-format-001 +| | +--- org.jboss.logging:jboss-logging-annotations:2.2.1.Final +| | +--- org.jboss.threads:jboss-threads:3.4.3.Final +| | | +--- org.jboss.logging:jboss-logging:3.4.1.Final -> 3.5.0.Final +| | | \--- org.wildfly.common:wildfly-common:1.5.0.Final -> 1.5.4.Final-format-001 +| | +--- org.slf4j:slf4j-api:1.7.36 +| | +--- org.jboss.slf4j:slf4j-jboss-logmanager:1.2.0.Final +| | +--- org.graalvm.sdk:graal-sdk:22.3.0 +| | +--- org.wildfly.common:wildfly-common:1.5.4.Final-format-001 +| | +--- io.quarkus:quarkus-bootstrap-runner:2.13.7.Final +| | | +--- io.smallrye.common:smallrye-common-io:1.13.1 +| | | +--- org.jboss.logmanager:jboss-logmanager-embedded:1.0.10 (*) +| | | +--- org.jboss.logging:jboss-logging:3.5.0.Final +| | | \--- io.github.crac:org-crac:0.1.1 +| | \--- io.quarkus:quarkus-fs-util:0.0.9 +| +--- io.quarkus:quarkus-agroal:2.13.5.Final +| | +--- io.quarkus:quarkus-core:2.13.5.Final -> 2.13.7.Final (*) +| | +--- io.quarkus:quarkus-arc:2.13.5.Final -> 2.13.7.Final +| | | +--- io.quarkus.arc:arc:2.13.7.Final +| | | | +--- jakarta.enterprise:jakarta.enterprise.cdi-api:2.0.2 (*) +| | | | +--- jakarta.annotation:jakarta.annotation-api:1.3.5 +| | | | +--- jakarta.transaction:jakarta.transaction-api:1.3.3 +| | | | +--- io.smallrye.reactive:mutiny:1.6.0 -> 1.7.0 +| | | | | +--- org.reactivestreams:reactive-streams:1.0.3 +| | | | | \--- io.smallrye.common:smallrye-common-annotation:1.13.0 -> 1.13.1 +| | | | \--- org.jboss.logging:jboss-logging:3.5.0.Final +| | | +--- io.quarkus:quarkus-core:2.13.7.Final (*) +| | | \--- org.eclipse.microprofile.context-propagation:microprofile-context-propagation-api:1.2 -> 1.3 +| | +--- io.quarkus:quarkus-datasource:2.13.5.Final +| | | +--- io.quarkus:quarkus-core:2.13.5.Final -> 2.13.7.Final (*) +| | | +--- io.quarkus:quarkus-arc:2.13.5.Final -> 2.13.7.Final (*) +| | | +--- io.quarkus:quarkus-datasource-common:2.13.5.Final +| | | \--- io.quarkus:quarkus-credentials:2.13.5.Final -> 2.13.7.Final +| | | \--- io.quarkus.arc:arc:2.13.7.Final (*) +| | +--- io.quarkus:quarkus-narayana-jta:2.13.5.Final +| | | +--- io.quarkus:quarkus-core:2.13.5.Final -> 2.13.7.Final (*) +| | | +--- io.quarkus:quarkus-arc:2.13.5.Final -> 2.13.7.Final (*) +| | | +--- io.quarkus:quarkus-transaction-annotations:2.13.5.Final +| | | +--- io.quarkus:quarkus-mutiny:2.13.5.Final -> 2.13.7.Final +| | | | +--- io.quarkus:quarkus-core:2.13.7.Final (*) +| | | | +--- io.smallrye.reactive:mutiny:1.7.0 (*) +| | | | +--- io.quarkus:quarkus-smallrye-context-propagation:2.13.7.Final +| | | | | +--- io.smallrye:smallrye-context-propagation:1.2.2 +| | | | | | +--- org.eclipse.microprofile.context-propagation:microprofile-context-propagation-api:1.2 -> 1.3 +| | | | | | +--- io.smallrye:smallrye-context-propagation-api:1.2.2 +| | | | | | | +--- org.eclipse.microprofile.context-propagation:microprofile-context-propagation-api:1.2 -> 1.3 +| | | | | | | \--- jakarta.enterprise:jakarta.enterprise.cdi-api:2.0.2 (*) +| | | | | | +--- io.smallrye:smallrye-context-propagation-storage:1.2.2 +| | | | | | +--- org.eclipse.microprofile.config:microprofile-config-api:1.4 -> 2.0.1 +| | | | | | \--- org.jboss.threads:jboss-threads:3.1.1.Final -> 3.4.3.Final (*) +| | | | | +--- jakarta.enterprise:jakarta.enterprise.cdi-api:2.0.2 (*) +| | | | | +--- io.quarkus:quarkus-core:2.13.7.Final (*) +| | | | | \--- io.quarkus:quarkus-arc:2.13.7.Final (*) +| | | | \--- io.smallrye.reactive:mutiny-smallrye-context-propagation:1.7.0 +| | | | +--- org.eclipse.microprofile.context-propagation:microprofile-context-propagation-api:1.3 +| | | | +--- io.smallrye.reactive:mutiny:1.7.0 (*) +| | | | \--- io.smallrye:smallrye-context-propagation:1.2.2 (*) +| | | +--- io.smallrye:smallrye-context-propagation-jta:1.2.2 +| | | | \--- org.eclipse.microprofile.context-propagation:microprofile-context-propagation-api:1.2 -> 1.3 +| | | +--- jakarta.transaction:jakarta.transaction-api:1.3.3 +| | | +--- io.smallrye.reactive:smallrye-reactive-converter-api:2.7.0 +| | | | \--- org.reactivestreams:reactive-streams:1.0.3 +| | | +--- io.smallrye.reactive:smallrye-reactive-converter-mutiny:2.7.0 +| | | | +--- io.smallrye.reactive:mutiny:1.4.0 -> 1.7.0 (*) +| | | | \--- io.smallrye.reactive:smallrye-reactive-converter-api:2.7.0 (*) +| | | +--- org.jboss.narayana.jta:narayana-jta:5.13.1.Alpha1 +| | | | +--- org.jboss:jboss-transaction-spi:7.6.1.Final +| | | | | \--- org.jboss.spec.javax.resource:jboss-connector-api_1.7_spec:1.0.0.Final +| | | | \--- org.jboss.spec.javax.resource:jboss-connector-api_1.7_spec:1.0.0.Final +| | | \--- org.jboss.narayana.jts:narayana-jts-integration:5.13.1.Alpha1 +| | +--- io.agroal:agroal-api:1.16 +| | +--- io.agroal:agroal-narayana:1.16 +| | | +--- io.agroal:agroal-api:1.16 +| | | \--- org.jboss:jboss-transaction-spi:7.6.1.Final (*) +| | +--- io.agroal:agroal-pool:1.16 +| | | \--- io.agroal:agroal-api:1.16 +| | \--- io.quarkus:quarkus-credentials:2.13.5.Final -> 2.13.7.Final (*) +| +--- io.quarkus:quarkus-narayana-jta:2.13.5.Final (*) +| +--- org.hibernate:hibernate-core:5.6.14.Final +| | +--- org.jboss.logging:jboss-logging:3.4.3.Final -> 3.5.0.Final +| | +--- net.bytebuddy:byte-buddy:1.12.18 +| | +--- antlr:antlr:2.7.7 +| | +--- com.fasterxml:classmate:1.5.1 +| | \--- org.hibernate.common:hibernate-commons-annotations:5.1.2.Final +| | \--- org.jboss.logging:jboss-logging:3.3.2.Final -> 3.5.0.Final +| +--- org.hibernate:hibernate-graalvm:5.6.14.Final +| | \--- org.jboss.logging:jboss-logging:3.4.3.Final -> 3.5.0.Final +| +--- org.glassfish.jaxb:jaxb-runtime:2.3.3-b02 +| | +--- org.glassfish.jaxb:txw2:2.3.3-b02 +| | +--- com.sun.istack:istack-commons-runtime:3.0.10 +| | \--- com.sun.activation:jakarta.activation:1.2.1 +| +--- org.jboss.spec.javax.xml.bind:jboss-jaxb-api_2.3_spec:2.0.0.Final +| +--- jakarta.persistence:jakarta.persistence-api:2.2.3 +| +--- jakarta.transaction:jakarta.transaction-api:1.3.3 +| +--- org.hibernate:quarkus-local-cache:0.1.1 +| \--- io.quarkus:quarkus-caffeine:2.13.5.Final +| +--- io.quarkus:quarkus-core:2.13.5.Final -> 2.13.7.Final (*) +| \--- com.github.ben-manes.caffeine:caffeine:2.9.3 +| \--- com.google.errorprone:error_prone_annotations:2.10.0 ++--- io.quarkus:quarkus-agroal:2.13.5.Final (*) ++--- io.quarkus:quarkus-resteasy:2.13.5.Final -> 2.13.7.Final +| +--- io.quarkus:quarkus-vertx-http:2.13.7.Final +| | +--- io.quarkus:quarkus-core:2.13.7.Final (*) +| | +--- io.quarkus:quarkus-security-runtime-spi:2.13.7.Final +| | | +--- io.quarkus:quarkus-core:2.13.7.Final (*) +| | | \--- io.quarkus.security:quarkus-security:1.1.4.Final +| | | +--- org.jboss.logging:jboss-logging:3.3.2.Final -> 3.5.0.Final +| | | \--- io.smallrye.reactive:mutiny:0.4.3 -> 1.7.0 (*) +| | +--- io.quarkus:quarkus-credentials:2.13.7.Final (*) +| | +--- io.quarkus:quarkus-mutiny:2.13.7.Final (*) +| | +--- io.smallrye.common:smallrye-common-vertx-context:1.13.1 +| | | +--- io.vertx:vertx-core:4.3.3 -> 4.3.4 +| | | | +--- io.netty:netty-common:4.1.82.Final -> 4.1.86.Final +| | | | +--- io.netty:netty-buffer:4.1.82.Final -> 4.1.86.Final +| | | | | \--- io.netty:netty-common:4.1.86.Final +| | | | +--- io.netty:netty-transport:4.1.82.Final -> 4.1.86.Final +| | | | | +--- io.netty:netty-common:4.1.86.Final +| | | | | +--- io.netty:netty-buffer:4.1.86.Final (*) +| | | | | \--- io.netty:netty-resolver:4.1.86.Final +| | | | | \--- io.netty:netty-common:4.1.86.Final +| | | | +--- io.netty:netty-handler:4.1.82.Final -> 4.1.86.Final +| | | | | +--- io.netty:netty-common:4.1.86.Final +| | | | | +--- io.netty:netty-resolver:4.1.86.Final (*) +| | | | | +--- io.netty:netty-buffer:4.1.86.Final (*) +| | | | | +--- io.netty:netty-transport:4.1.86.Final (*) +| | | | | +--- io.netty:netty-transport-native-unix-common:4.1.86.Final +| | | | | | +--- io.netty:netty-common:4.1.86.Final +| | | | | | +--- io.netty:netty-buffer:4.1.86.Final (*) +| | | | | | \--- io.netty:netty-transport:4.1.86.Final (*) +| | | | | \--- io.netty:netty-codec:4.1.86.Final +| | | | | +--- io.netty:netty-common:4.1.86.Final +| | | | | +--- io.netty:netty-buffer:4.1.86.Final (*) +| | | | | \--- io.netty:netty-transport:4.1.86.Final (*) +| | | | +--- io.netty:netty-handler-proxy:4.1.82.Final +| | | | | +--- io.netty:netty-common:4.1.82.Final -> 4.1.86.Final +| | | | | +--- io.netty:netty-buffer:4.1.82.Final -> 4.1.86.Final (*) +| | | | | +--- io.netty:netty-transport:4.1.82.Final -> 4.1.86.Final (*) +| | | | | +--- io.netty:netty-codec:4.1.82.Final -> 4.1.86.Final (*) +| | | | | +--- io.netty:netty-codec-socks:4.1.82.Final +| | | | | | +--- io.netty:netty-common:4.1.82.Final -> 4.1.86.Final +| | | | | | +--- io.netty:netty-buffer:4.1.82.Final -> 4.1.86.Final (*) +| | | | | | +--- io.netty:netty-transport:4.1.82.Final -> 4.1.86.Final (*) +| | | | | | \--- io.netty:netty-codec:4.1.82.Final -> 4.1.86.Final (*) +| | | | | \--- io.netty:netty-codec-http:4.1.82.Final -> 4.1.86.Final +| | | | | +--- io.netty:netty-common:4.1.86.Final +| | | | | +--- io.netty:netty-buffer:4.1.86.Final (*) +| | | | | +--- io.netty:netty-transport:4.1.86.Final (*) +| | | | | +--- io.netty:netty-codec:4.1.86.Final (*) +| | | | | \--- io.netty:netty-handler:4.1.86.Final (*) +| | | | +--- io.netty:netty-codec-http:4.1.82.Final -> 4.1.86.Final (*) +| | | | +--- io.netty:netty-codec-http2:4.1.82.Final -> 4.1.86.Final +| | | | | +--- io.netty:netty-common:4.1.86.Final +| | | | | +--- io.netty:netty-buffer:4.1.86.Final (*) +| | | | | +--- io.netty:netty-transport:4.1.86.Final (*) +| | | | | +--- io.netty:netty-codec:4.1.86.Final (*) +| | | | | +--- io.netty:netty-handler:4.1.86.Final (*) +| | | | | \--- io.netty:netty-codec-http:4.1.86.Final (*) +| | | | +--- io.netty:netty-resolver:4.1.82.Final -> 4.1.86.Final (*) +| | | | +--- io.netty:netty-resolver-dns:4.1.82.Final +| | | | | +--- io.netty:netty-common:4.1.82.Final -> 4.1.86.Final +| | | | | +--- io.netty:netty-buffer:4.1.82.Final -> 4.1.86.Final (*) +| | | | | +--- io.netty:netty-resolver:4.1.82.Final -> 4.1.86.Final (*) +| | | | | +--- io.netty:netty-transport:4.1.82.Final -> 4.1.86.Final (*) +| | | | | +--- io.netty:netty-codec:4.1.82.Final -> 4.1.86.Final (*) +| | | | | +--- io.netty:netty-codec-dns:4.1.82.Final +| | | | | | +--- io.netty:netty-common:4.1.82.Final -> 4.1.86.Final +| | | | | | +--- io.netty:netty-buffer:4.1.82.Final -> 4.1.86.Final (*) +| | | | | | +--- io.netty:netty-transport:4.1.82.Final -> 4.1.86.Final (*) +| | | | | | \--- io.netty:netty-codec:4.1.82.Final -> 4.1.86.Final (*) +| | | | | \--- io.netty:netty-handler:4.1.82.Final -> 4.1.86.Final (*) +| | | | \--- com.fasterxml.jackson.core:jackson-core:2.13.4 +| | | | \--- com.fasterxml.jackson:jackson-bom:2.13.4 +| | | | +--- com.fasterxml.jackson.core:jackson-annotations:2.13.4 (c) +| | | | +--- com.fasterxml.jackson.core:jackson-core:2.13.4 (c) +| | | | +--- com.fasterxml.jackson.core:jackson-databind:2.13.4 -> 2.13.4.2 (c) +| | | | +--- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.13.4 (c) +| | | | +--- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.13.4 (c) +| | | | +--- com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:2.13.4 (c) +| | | | +--- com.fasterxml.jackson.module:jackson-module-parameter-names:2.13.4 (c) +| | | | +--- com.fasterxml.jackson.jaxrs:jackson-jaxrs-base:2.13.4 (c) +| | | | \--- com.fasterxml.jackson.module:jackson-module-jaxb-annotations:2.13.4 (c) +| | | \--- io.smallrye.common:smallrye-common-constraint:1.13.1 (*) +| | +--- io.quarkus:quarkus-vertx-http-dev-console-runtime-spi:2.13.7.Final +| | | +--- io.quarkus:quarkus-core:2.13.7.Final (*) +| | | +--- io.quarkus.arc:arc:2.13.7.Final (*) +| | | \--- io.vertx:vertx-web:4.3.4 +| | | +--- io.vertx:vertx-web-common:4.3.4 +| | | | \--- io.vertx:vertx-core:4.3.4 (*) +| | | +--- io.vertx:vertx-auth-common:4.3.4 +| | | | \--- io.vertx:vertx-core:4.3.4 (*) +| | | +--- io.vertx:vertx-bridge-common:4.3.4 +| | | | \--- io.vertx:vertx-core:4.3.4 (*) +| | | \--- io.vertx:vertx-core:4.3.4 (*) +| | +--- io.quarkus.security:quarkus-security:1.1.4.Final (*) +| | +--- io.quarkus:quarkus-vertx:2.13.7.Final +| | | +--- io.quarkus:quarkus-arc:2.13.7.Final (*) +| | | +--- io.quarkus:quarkus-netty:2.13.7.Final +| | | | +--- io.netty:netty-codec:4.1.86.Final (*) +| | | | +--- io.netty:netty-codec-http:4.1.86.Final (*) +| | | | +--- io.netty:netty-codec-http2:4.1.86.Final (*) +| | | | +--- io.quarkus:quarkus-arc:2.13.7.Final (*) +| | | | +--- io.netty:netty-handler:4.1.86.Final (*) +| | | | +--- jakarta.enterprise:jakarta.enterprise.cdi-api:2.0.2 (*) +| | | | \--- com.aayushatharva.brotli4j:brotli4j:1.7.1 +| | | +--- io.netty:netty-codec-haproxy:4.1.86.Final +| | | | +--- io.netty:netty-buffer:4.1.86.Final (*) +| | | | +--- io.netty:netty-transport:4.1.86.Final (*) +| | | | \--- io.netty:netty-codec:4.1.86.Final (*) +| | | +--- io.smallrye.common:smallrye-common-annotation:1.13.1 +| | | +--- io.smallrye.common:smallrye-common-vertx-context:1.13.1 (*) +| | | +--- io.quarkus:quarkus-mutiny:2.13.7.Final (*) +| | | +--- io.quarkus:quarkus-vertx-latebound-mdc-provider:2.13.7.Final +| | | | \--- org.jboss.logmanager:jboss-logmanager-embedded:1.0.10 (*) +| | | +--- io.smallrye.reactive:smallrye-mutiny-vertx-core:2.27.0 +| | | | +--- io.smallrye.reactive:mutiny:1.7.0 (*) +| | | | +--- io.smallrye.reactive:smallrye-mutiny-vertx-runtime:2.27.0 +| | | | | +--- io.smallrye.reactive:mutiny:1.7.0 (*) +| | | | | \--- io.vertx:vertx-core:4.3.4 (*) +| | | | +--- io.vertx:vertx-core:4.3.4 (*) +| | | | \--- io.smallrye.reactive:vertx-mutiny-generator:2.27.0 +| | | | +--- io.smallrye.reactive:smallrye-mutiny-vertx-runtime:2.27.0 (*) +| | | | +--- io.vertx:vertx-codegen:4.3.4 +| | | | | \--- com.fasterxml.jackson.core:jackson-core:2.13.4 (*) +| | | | \--- io.smallrye.common:smallrye-common-annotation:1.13.0 -> 1.13.1 +| | | \--- io.smallrye:smallrye-fault-tolerance-vertx:5.5.0 +| | +--- io.smallrye.reactive:smallrye-mutiny-vertx-web:2.27.0 +| | | +--- io.vertx:vertx-web:4.3.4 (*) +| | | +--- io.smallrye.reactive:smallrye-mutiny-vertx-core:2.27.0 (*) +| | | +--- io.smallrye.reactive:smallrye-mutiny-vertx-web-common:2.27.0 +| | | | +--- io.vertx:vertx-web-common:4.3.4 (*) +| | | | \--- io.smallrye.reactive:smallrye-mutiny-vertx-core:2.27.0 (*) +| | | +--- io.smallrye.reactive:smallrye-mutiny-vertx-auth-common:2.27.0 +| | | | +--- io.vertx:vertx-auth-common:4.3.4 (*) +| | | | \--- io.smallrye.reactive:smallrye-mutiny-vertx-core:2.27.0 (*) +| | | +--- io.smallrye.reactive:smallrye-mutiny-vertx-bridge-common:2.27.0 +| | | | +--- io.vertx:vertx-bridge-common:4.3.4 (*) +| | | | \--- io.smallrye.reactive:smallrye-mutiny-vertx-core:2.27.0 (*) +| | | \--- io.smallrye.reactive:smallrye-mutiny-vertx-uri-template:2.27.0 +| | | +--- io.vertx:vertx-uri-template:4.3.4 +| | | | \--- io.vertx:vertx-core:4.3.4 (*) +| | | \--- io.smallrye.reactive:smallrye-mutiny-vertx-core:2.27.0 (*) +| | +--- io.vertx:vertx-web:4.3.4 (*) +| | \--- io.github.crac:org-crac:0.1.1 +| \--- io.quarkus:quarkus-resteasy-server-common:2.13.7.Final +| +--- io.quarkus:quarkus-core:2.13.7.Final (*) +| +--- io.quarkus:quarkus-arc:2.13.7.Final (*) +| +--- io.quarkus:quarkus-resteasy-common:2.13.7.Final +| | +--- io.quarkus:quarkus-core:2.13.7.Final (*) +| | +--- org.jboss.resteasy:resteasy-core:4.7.7.Final +| | | +--- org.jboss.logging:jboss-logging:3.4.2.Final -> 3.5.0.Final +| | | +--- org.jboss.spec.javax.annotation:jboss-annotations-api_1.3_spec:2.0.1.Final +| | | +--- org.jboss.spec.javax.ws.rs:jboss-jaxrs-api_2.1_spec:2.0.1.Final +| | | +--- org.jboss.spec.javax.xml.bind:jboss-jaxb-api_2.3_spec:2.0.0.Final +| | | +--- org.jboss.resteasy:resteasy-core-spi:4.7.7.Final +| | | | +--- org.jboss.logging:jboss-logging:3.4.2.Final -> 3.5.0.Final +| | | | +--- org.jboss.spec.javax.annotation:jboss-annotations-api_1.3_spec:2.0.1.Final +| | | | +--- org.jboss.spec.javax.ws.rs:jboss-jaxrs-api_2.1_spec:2.0.1.Final +| | | | +--- org.jboss.spec.javax.xml.bind:jboss-jaxb-api_2.3_spec:2.0.0.Final +| | | | +--- org.reactivestreams:reactive-streams:1.0.3 +| | | | \--- jakarta.validation:jakarta.validation-api:2.0.2 +| | | +--- org.reactivestreams:reactive-streams:1.0.3 +| | | +--- jakarta.validation:jakarta.validation-api:2.0.2 +| | | +--- com.ibm.async:asyncutil:0.1.0 +| | | \--- io.smallrye.config:smallrye-config:2.3.0 -> 2.12.3 (*) +| | +--- io.quarkus:quarkus-arc:2.13.7.Final (*) +| | \--- com.sun.activation:jakarta.activation:1.2.1 +| \--- jakarta.validation:jakarta.validation-api:2.0.2 ++--- io.quarkus:quarkus-resteasy-jackson:2.13.5.Final +| +--- io.quarkus:quarkus-resteasy:2.13.5.Final -> 2.13.7.Final (*) +| +--- io.quarkus:quarkus-jackson:2.13.5.Final +| | +--- com.fasterxml.jackson.core:jackson-databind:2.13.4.2 +| | | +--- com.fasterxml.jackson.core:jackson-annotations:2.13.4 +| | | | \--- com.fasterxml.jackson:jackson-bom:2.13.4 (*) +| | | +--- com.fasterxml.jackson.core:jackson-core:2.13.4 (*) +| | | \--- com.fasterxml.jackson:jackson-bom:2.13.4 (*) +| | +--- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.13.4 +| | | +--- com.fasterxml.jackson.core:jackson-annotations:2.13.4 (*) +| | | +--- com.fasterxml.jackson.core:jackson-core:2.13.4 (*) +| | | +--- com.fasterxml.jackson.core:jackson-databind:2.13.4 -> 2.13.4.2 (*) +| | | \--- com.fasterxml.jackson:jackson-bom:2.13.4 (*) +| | +--- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.13.4 +| | | +--- com.fasterxml.jackson.core:jackson-core:2.13.4 (*) +| | | +--- com.fasterxml.jackson.core:jackson-databind:2.13.4 -> 2.13.4.2 (*) +| | | \--- com.fasterxml.jackson:jackson-bom:2.13.4 (*) +| | +--- com.fasterxml.jackson.module:jackson-module-parameter-names:2.13.4 +| | | +--- com.fasterxml.jackson.core:jackson-core:2.13.4 (*) +| | | +--- com.fasterxml.jackson.core:jackson-databind:2.13.4 -> 2.13.4.2 (*) +| | | \--- com.fasterxml.jackson:jackson-bom:2.13.4 (*) +| | \--- io.quarkus:quarkus-arc:2.13.5.Final -> 2.13.7.Final (*) +| +--- org.jboss.resteasy:resteasy-jackson2-provider:4.7.7.Final +| | +--- com.fasterxml.jackson.core:jackson-core:2.12.6 -> 2.13.4 (*) +| | +--- com.fasterxml.jackson.core:jackson-databind:2.12.6.1 -> 2.13.4.2 (*) +| | +--- com.fasterxml.jackson.core:jackson-annotations:2.12.6 -> 2.13.4 (*) +| | +--- com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:2.12.6 -> 2.13.4 +| | | +--- com.fasterxml.jackson.jaxrs:jackson-jaxrs-base:2.13.4 +| | | | +--- com.fasterxml.jackson.core:jackson-core:2.13.4 (*) +| | | | +--- com.fasterxml.jackson.core:jackson-databind:2.13.4 -> 2.13.4.2 (*) +| | | | \--- com.fasterxml.jackson:jackson-bom:2.13.4 (*) +| | | +--- com.fasterxml.jackson.module:jackson-module-jaxb-annotations:2.13.4 +| | | | +--- com.fasterxml.jackson.core:jackson-annotations:2.13.4 (*) +| | | | +--- com.fasterxml.jackson.core:jackson-core:2.13.4 (*) +| | | | +--- com.fasterxml.jackson.core:jackson-databind:2.13.4 -> 2.13.4.2 (*) +| | | | \--- com.fasterxml.jackson:jackson-bom:2.13.4 (*) +| | | \--- com.fasterxml.jackson:jackson-bom:2.13.4 (*) +| | +--- com.github.java-json-tools:json-patch:1.13 +| | | +--- com.fasterxml.jackson.core:jackson-databind:2.11.0 -> 2.13.4.2 (*) +| | | +--- com.github.java-json-tools:msg-simple:1.2 +| | | | \--- com.github.java-json-tools:btf:1.3 +| | | \--- com.github.java-json-tools:jackson-coreutils:2.0 +| | | +--- com.fasterxml.jackson.core:jackson-databind:2.11.0 -> 2.13.4.2 (*) +| | | \--- com.github.java-json-tools:msg-simple:1.2 (*) +| | \--- org.jboss.logging:jboss-logging:3.4.2.Final -> 3.5.0.Final +| \--- org.jboss.spec.javax.xml.bind:jboss-jaxb-api_2.3_spec:2.0.0.Final ++--- io.quarkus:quarkus-jdbc-postgresql:2.13.5.Final +| +--- io.quarkus:quarkus-arc:2.13.5.Final -> 2.13.7.Final (*) +| \--- org.postgresql:postgresql:42.5.0 ++--- io.quarkus:quarkus-vertx-http:2.13.5.Final -> 2.13.7.Final (*) ++--- io.quarkus:quarkus-kubernetes-service-binding:2.13.5.Final +| \--- io.quarkus:quarkus-core:2.13.5.Final -> 2.13.7.Final (*) ++--- io.quarkus:quarkus-container-image-docker:2.13.5.Final +| \--- io.quarkus:quarkus-container-image:2.13.5.Final +| \--- io.quarkus:quarkus-core:2.13.5.Final -> 2.13.7.Final (*) ++--- jakarta.validation:jakarta.validation-api:2.0.2 ++--- io.quarkus:quarkus-resteasy-multipart:2.13.7.Final +| +--- io.quarkus:quarkus-resteasy:2.13.7.Final (*) +| +--- org.jboss.resteasy:resteasy-multipart-provider:4.7.7.Final +| | +--- org.jboss.resteasy:resteasy-core-spi:4.7.7.Final (*) +| | +--- org.jboss.resteasy:resteasy-core:4.7.7.Final (*) +| | +--- org.jboss.resteasy:resteasy-jaxb-provider:4.7.7.Final +| | | +--- org.jboss.spec.javax.xml.bind:jboss-jaxb-api_2.3_spec:2.0.0.Final +| | | +--- org.glassfish.jaxb:jaxb-runtime:2.3.3-b02 (*) +| | | \--- org.jboss.logging:jboss-logging:3.4.2.Final -> 3.5.0.Final +| | +--- com.sun.mail:jakarta.mail:1.6.5 +| | +--- org.apache.james:apache-mime4j-dom:0.8.3 +| | | \--- org.apache.james:apache-mime4j-core:0.8.3 +| | +--- org.apache.james:apache-mime4j-storage:0.8.3 +| | | +--- org.apache.james:apache-mime4j-dom:0.8.3 (*) +| | | \--- commons-io:commons-io:2.4 -> 2.6 +| | \--- org.jboss.logging:jboss-logging:3.4.2.Final -> 3.5.0.Final +| +--- com.sun.activation:jakarta.activation:1.2.1 +| \--- org.jboss.logging:commons-logging-jboss-logging:1.0.0.Final +| \--- org.jboss.logging:jboss-logging:3.3.1.Final -> 3.5.0.Final ++--- io.quarkus:quarkus-hibernate-orm-deployment:2.0.2.Final +| +--- io.quarkus:quarkus-core-deployment:2.0.2.Final +| | +--- org.aesh:readline:2.1 +| | | \--- org.fusesource.jansi:jansi:1.18 +| | +--- org.apache.commons:commons-lang3:3.12.0 +| | +--- org.wildfly.common:wildfly-common:1.5.4.Final-format-001 +| | +--- io.quarkus.gizmo:gizmo:1.0.9.Final +| | | +--- org.ow2.asm:asm:9.1 -> 9.3 +| | | +--- org.ow2.asm:asm-util:9.1 +| | | | +--- org.ow2.asm:asm:9.1 -> 9.3 +| | | | +--- org.ow2.asm:asm-tree:9.1 +| | | | | \--- org.ow2.asm:asm:9.1 -> 9.3 +| | | | \--- org.ow2.asm:asm-analysis:9.1 +| | | | \--- org.ow2.asm:asm-tree:9.1 (*) +| | | \--- org.jboss:jandex:2.3.0.Final +| | +--- org.jboss:jandex:2.3.0.Final +| | +--- org.ow2.asm:asm:9.1 -> 9.3 +| | +--- io.quarkus:quarkus-development-mode-spi:2.0.2.Final -> 2.13.7.Final +| | +--- io.quarkus:quarkus-class-change-agent:2.0.2.Final +| | +--- io.quarkus:quarkus-bootstrap-core:2.0.2.Final +| | | +--- io.quarkus:quarkus-bootstrap-app-model:2.0.2.Final +| | | | +--- org.jboss.logging:jboss-logging:3.4.2.Final -> 3.5.0.Final +| | | | \--- org.jboss.logging:commons-logging-jboss-logging:1.0.0.Final (*) +| | | +--- io.quarkus:quarkus-bootstrap-maven-resolver:2.0.2.Final +| | | | +--- io.quarkus:quarkus-bootstrap-app-model:2.0.2.Final (*) +| | | | +--- org.jboss.logmanager:jboss-logmanager-embedded:1.0.9 -> 1.0.10 (*) +| | | | +--- org.jboss.slf4j:slf4j-jboss-logmanager:1.1.0.Final -> 1.2.0.Final +| | | | +--- org.jboss.logging:jboss-logging:3.4.2.Final -> 3.5.0.Final +| | | | +--- org.slf4j:slf4j-api:1.7.30 -> 1.7.36 +| | | | +--- org.apache.maven:maven-embedder:3.8.1 +| | | | | +--- org.apache.maven:maven-settings:3.8.1 +| | | | | | \--- org.codehaus.plexus:plexus-utils:3.2.1 -> 3.3.0 +| | | | | +--- org.apache.maven:maven-settings-builder:3.8.1 +| | | | | | +--- org.apache.maven:maven-builder-support:3.8.1 +| | | | | | +--- org.codehaus.plexus:plexus-interpolation:1.25 +| | | | | | +--- org.codehaus.plexus:plexus-utils:3.2.1 -> 3.3.0 +| | | | | | +--- org.apache.maven:maven-settings:3.8.1 (*) +| | | | | | \--- org.sonatype.plexus:plexus-sec-dispatcher:1.4 +| | | | | | +--- org.codehaus.plexus:plexus-utils:1.5.5 -> 3.3.0 +| | | | | | \--- org.sonatype.plexus:plexus-cipher:1.4 +| | | | | +--- org.apache.maven:maven-core:3.8.1 +| | | | | | +--- org.apache.maven:maven-model:3.8.1 +| | | | | | | \--- org.codehaus.plexus:plexus-utils:3.2.1 -> 3.3.0 +| | | | | | +--- org.apache.maven:maven-settings:3.8.1 (*) +| | | | | | +--- org.apache.maven:maven-settings-builder:3.8.1 (*) +| | | | | | +--- org.apache.maven:maven-builder-support:3.8.1 +| | | | | | +--- org.apache.maven:maven-repository-metadata:3.8.1 +| | | | | | | \--- org.codehaus.plexus:plexus-utils:3.2.1 -> 3.3.0 +| | | | | | +--- org.apache.maven:maven-artifact:3.8.1 +| | | | | | | +--- org.codehaus.plexus:plexus-utils:3.2.1 -> 3.3.0 +| | | | | | | \--- org.apache.commons:commons-lang3:3.8.1 -> 3.12.0 +| | | | | | +--- org.apache.maven:maven-plugin-api:3.8.1 +| | | | | | | +--- org.apache.maven:maven-model:3.8.1 (*) +| | | | | | | +--- org.apache.maven:maven-artifact:3.8.1 (*) +| | | | | | | +--- org.eclipse.sisu:org.eclipse.sisu.plexus:0.3.4 +| | | | | | | | +--- org.codehaus.plexus:plexus-component-annotations:1.5.5 -> 2.1.0 +| | | | | | | | +--- org.codehaus.plexus:plexus-classworlds:2.5.2 -> 2.6.0 +| | | | | | | | \--- org.codehaus.plexus:plexus-utils:3.0.17 -> 3.3.0 +| | | | | | | +--- org.codehaus.plexus:plexus-utils:3.2.1 -> 3.3.0 +| | | | | | | \--- org.codehaus.plexus:plexus-classworlds:2.6.0 +| | | | | | +--- org.apache.maven:maven-model-builder:3.8.1 +| | | | | | | +--- org.codehaus.plexus:plexus-utils:3.2.1 -> 3.3.0 +| | | | | | | +--- org.codehaus.plexus:plexus-interpolation:1.25 +| | | | | | | +--- org.apache.maven:maven-model:3.8.1 (*) +| | | | | | | +--- org.apache.maven:maven-artifact:3.8.1 (*) +| | | | | | | \--- org.apache.maven:maven-builder-support:3.8.1 +| | | | | | +--- org.apache.maven:maven-resolver-provider:3.8.1 +| | | | | | | +--- org.apache.maven:maven-model:3.8.1 (*) +| | | | | | | +--- org.apache.maven:maven-model-builder:3.8.1 (*) +| | | | | | | +--- org.apache.maven:maven-repository-metadata:3.8.1 (*) +| | | | | | | +--- org.apache.maven.resolver:maven-resolver-api:1.6.2 +| | | | | | | +--- org.apache.maven.resolver:maven-resolver-spi:1.6.2 +| | | | | | | | \--- org.apache.maven.resolver:maven-resolver-api:1.6.2 +| | | | | | | +--- org.apache.maven.resolver:maven-resolver-util:1.6.2 +| | | | | | | | \--- org.apache.maven.resolver:maven-resolver-api:1.6.2 +| | | | | | | +--- org.apache.maven.resolver:maven-resolver-impl:1.6.2 +| | | | | | | | +--- org.apache.maven.resolver:maven-resolver-api:1.6.2 +| | | | | | | | +--- org.apache.maven.resolver:maven-resolver-spi:1.6.2 (*) +| | | | | | | | +--- org.apache.maven.resolver:maven-resolver-util:1.6.2 (*) +| | | | | | | | \--- org.apache.commons:commons-lang3:3.8.1 -> 3.12.0 +| | | | | | | \--- org.codehaus.plexus:plexus-utils:3.2.1 -> 3.3.0 +| | | | | | +--- org.apache.maven.resolver:maven-resolver-impl:1.6.2 (*) +| | | | | | +--- org.apache.maven.resolver:maven-resolver-api:1.6.2 +| | | | | | +--- org.apache.maven.resolver:maven-resolver-spi:1.6.2 (*) +| | | | | | +--- org.apache.maven.resolver:maven-resolver-util:1.6.2 (*) +| | | | | | +--- org.apache.maven.shared:maven-shared-utils:3.2.1 +| | | | | | | \--- commons-io:commons-io:2.5 -> 2.6 +| | | | | | +--- org.eclipse.sisu:org.eclipse.sisu.plexus:0.3.4 (*) +| | | | | | +--- com.google.inject:guice:4.2.1 +| | | | | | | +--- aopalliance:aopalliance:1.0 +| | | | | | | \--- com.google.guava:guava:25.1-android +| | | | | | | +--- com.google.code.findbugs:jsr305:3.0.2 +| | | | | | | +--- org.checkerframework:checker-compat-qual:2.0.0 +| | | | | | | +--- com.google.errorprone:error_prone_annotations:2.1.3 -> 2.10.0 +| | | | | | | +--- com.google.j2objc:j2objc-annotations:1.1 +| | | | | | | \--- org.codehaus.mojo:animal-sniffer-annotations:1.14 +| | | | | | +--- org.codehaus.plexus:plexus-utils:3.2.1 -> 3.3.0 +| | | | | | +--- org.codehaus.plexus:plexus-classworlds:2.6.0 +| | | | | | +--- org.codehaus.plexus:plexus-component-annotations:2.1.0 +| | | | | | \--- org.apache.commons:commons-lang3:3.8.1 -> 3.12.0 +| | | | | +--- org.apache.maven:maven-plugin-api:3.8.1 (*) +| | | | | +--- org.apache.maven:maven-model:3.8.1 (*) +| | | | | +--- org.apache.maven:maven-model-builder:3.8.1 (*) +| | | | | +--- org.apache.maven:maven-builder-support:3.8.1 +| | | | | +--- org.apache.maven.resolver:maven-resolver-api:1.6.2 +| | | | | +--- org.apache.maven.resolver:maven-resolver-util:1.6.2 (*) +| | | | | +--- org.apache.maven.shared:maven-shared-utils:3.2.1 (*) +| | | | | +--- com.google.inject:guice:4.2.1 (*) +| | | | | +--- org.codehaus.plexus:plexus-utils:3.2.1 -> 3.3.0 +| | | | | +--- org.codehaus.plexus:plexus-classworlds:2.6.0 +| | | | | +--- org.eclipse.sisu:org.eclipse.sisu.plexus:0.3.4 (*) +| | | | | +--- commons-cli:commons-cli:1.4 +| | | | | \--- org.apache.commons:commons-lang3:3.8.1 -> 3.12.0 +| | | | +--- org.eclipse.sisu:org.eclipse.sisu.plexus:0.3.4 (*) +| | | | +--- org.apache.maven:maven-settings-builder:3.8.1 (*) +| | | | +--- org.apache.maven:maven-resolver-provider:3.8.1 (*) +| | | | +--- org.apache.maven.resolver:maven-resolver-connector-basic:1.6.2 +| | | | | +--- org.apache.maven.resolver:maven-resolver-api:1.6.2 +| | | | | +--- org.apache.maven.resolver:maven-resolver-spi:1.6.2 (*) +| | | | | \--- org.apache.maven.resolver:maven-resolver-util:1.6.2 (*) +| | | | +--- org.apache.maven.resolver:maven-resolver-transport-wagon:1.6.2 +| | | | | +--- org.apache.maven.resolver:maven-resolver-api:1.6.2 +| | | | | +--- org.apache.maven.resolver:maven-resolver-spi:1.6.2 (*) +| | | | | +--- org.apache.maven.resolver:maven-resolver-util:1.6.2 (*) +| | | | | \--- org.slf4j:slf4j-api:1.7.30 -> 1.7.36 +| | | | +--- org.apache.maven.wagon:wagon-http:3.4.3 +| | | | | +--- org.apache.maven.wagon:wagon-http-shared:3.4.3 +| | | | | | +--- org.jsoup:jsoup:1.12.1 +| | | | | | +--- org.apache.httpcomponents:httpclient:4.5.13 +| | | | | | | +--- org.apache.httpcomponents:httpcore:4.4.13 -> 4.4.14 +| | | | | | | \--- commons-codec:commons-codec:1.11 +| | | | | | +--- org.apache.httpcomponents:httpcore:4.4.14 +| | | | | | +--- commons-io:commons-io:2.6 +| | | | | | +--- org.slf4j:slf4j-api:1.7.25 -> 1.7.36 +| | | | | | \--- org.apache.maven.wagon:wagon-provider-api:3.4.3 +| | | | | | \--- org.codehaus.plexus:plexus-utils:3.3.0 +| | | | | +--- org.apache.httpcomponents:httpclient:4.5.13 (*) +| | | | | +--- org.apache.httpcomponents:httpcore:4.4.14 +| | | | | +--- org.codehaus.plexus:plexus-utils:3.3.0 +| | | | | \--- org.apache.maven.wagon:wagon-provider-api:3.4.3 (*) +| | | | \--- org.apache.maven.wagon:wagon-file:3.4.3 +| | | | +--- org.codehaus.plexus:plexus-utils:3.3.0 +| | | | \--- org.apache.maven.wagon:wagon-provider-api:3.4.3 (*) +| | | +--- io.quarkus:quarkus-bootstrap-gradle-resolver:2.0.2.Final +| | | | +--- io.quarkus:quarkus-bootstrap-app-model:2.0.2.Final (*) +| | | | +--- org.jboss.logging:jboss-logging:3.4.2.Final -> 3.5.0.Final +| | | | \--- org.jboss.slf4j:slf4j-jboss-logmanager:1.1.0.Final -> 1.2.0.Final +| | | \--- io.smallrye.common:smallrye-common-io:1.6.0 -> 1.13.1 +| | +--- io.quarkus:quarkus-devtools-utilities:2.0.2.Final +| | +--- org.eclipse.sisu:org.eclipse.sisu.inject:0.3.4 +| | +--- io.quarkus:quarkus-core:2.0.2.Final -> 2.13.7.Final (*) +| | +--- io.quarkus:quarkus-builder:2.0.2.Final +| | | +--- org.wildfly.common:wildfly-common:1.5.4.Final-format-001 +| | | +--- org.jboss.logging:jboss-logging:3.4.2.Final -> 3.5.0.Final +| | | \--- org.jboss.threads:jboss-threads:3.4.0.Final -> 3.4.3.Final (*) +| | +--- org.graalvm.sdk:graal-sdk:21.1.0 -> 22.3.0 +| | +--- org.junit.platform:junit-platform-launcher:1.7.2 +| | | +--- org.junit:junit-bom:5.7.2 +| | | | +--- org.junit.jupiter:junit-jupiter:5.7.2 (c) +| | | | +--- org.junit.jupiter:junit-jupiter-api:5.7.2 (c) +| | | | +--- org.junit.jupiter:junit-jupiter-engine:5.7.2 (c) +| | | | +--- org.junit.jupiter:junit-jupiter-params:5.7.2 (c) +| | | | +--- org.junit.platform:junit-platform-engine:1.7.2 (c) +| | | | +--- org.junit.platform:junit-platform-launcher:1.7.2 (c) +| | | | \--- org.junit.platform:junit-platform-commons:1.7.2 (c) +| | | +--- org.apiguardian:apiguardian-api:1.1.0 +| | | \--- org.junit.platform:junit-platform-engine:1.7.2 +| | | +--- org.junit:junit-bom:5.7.2 (*) +| | | +--- org.apiguardian:apiguardian-api:1.1.0 +| | | +--- org.opentest4j:opentest4j:1.2.0 +| | | \--- org.junit.platform:junit-platform-commons:1.7.2 +| | | +--- org.junit:junit-bom:5.7.2 (*) +| | | \--- org.apiguardian:apiguardian-api:1.1.0 +| | \--- org.junit.jupiter:junit-jupiter:5.7.2 +| | +--- org.junit:junit-bom:5.7.2 (*) +| | +--- org.junit.jupiter:junit-jupiter-api:5.7.2 +| | | +--- org.junit:junit-bom:5.7.2 (*) +| | | +--- org.apiguardian:apiguardian-api:1.1.0 +| | | +--- org.opentest4j:opentest4j:1.2.0 +| | | \--- org.junit.platform:junit-platform-commons:1.7.2 (*) +| | +--- org.junit.jupiter:junit-jupiter-params:5.7.2 +| | | +--- org.junit:junit-bom:5.7.2 (*) +| | | +--- org.apiguardian:apiguardian-api:1.1.0 +| | | \--- org.junit.jupiter:junit-jupiter-api:5.7.2 (*) +| | \--- org.junit.jupiter:junit-jupiter-engine:5.7.2 +| | +--- org.junit:junit-bom:5.7.2 (*) +| | +--- org.apiguardian:apiguardian-api:1.1.0 +| | +--- org.junit.platform:junit-platform-engine:1.7.2 (*) +| | \--- org.junit.jupiter:junit-jupiter-api:5.7.2 (*) +| +--- io.quarkus:quarkus-hibernate-orm:2.0.2.Final -> 2.13.5.Final (*) +| +--- io.quarkus:quarkus-narayana-jta-deployment:2.0.2.Final +| | +--- io.quarkus:quarkus-core-deployment:2.0.2.Final (*) +| | +--- io.quarkus:quarkus-arc-deployment:2.0.2.Final +| | | +--- io.quarkus:quarkus-core-deployment:2.0.2.Final (*) +| | | +--- io.quarkus:quarkus-vertx-http-dev-console-spi:2.0.2.Final +| | | | +--- io.quarkus:quarkus-core-deployment:2.0.2.Final (*) +| | | | +--- io.quarkus:quarkus-vertx-http-dev-console-runtime-spi:2.0.2.Final -> 2.13.7.Final (*) +| | | | +--- io.quarkus.arc:arc:2.0.2.Final -> 2.13.7.Final (*) +| | | | \--- io.vertx:vertx-web:4.1.0 -> 4.3.4 (*) +| | | +--- io.quarkus:quarkus-arc:2.0.2.Final -> 2.13.7.Final (*) +| | | \--- io.quarkus.arc:arc-processor:2.0.2.Final +| | | +--- io.quarkus.arc:arc:2.0.2.Final -> 2.13.7.Final (*) +| | | +--- jakarta.enterprise:jakarta.enterprise.cdi-api:2.0.2 (*) +| | | +--- org.jboss.logging:jboss-logging:3.4.2.Final -> 3.5.0.Final +| | | +--- org.jboss:jandex:2.3.0.Final +| | | +--- io.quarkus.gizmo:gizmo:1.0.8.Final -> 1.0.9.Final (*) +| | | \--- jakarta.annotation:jakarta.annotation-api:1.3.5 +| | +--- io.quarkus:quarkus-mutiny-deployment:2.0.2.Final +| | | +--- io.quarkus:quarkus-core-deployment:2.0.2.Final (*) +| | | +--- io.quarkus:quarkus-arc-deployment:2.0.2.Final (*) +| | | +--- io.quarkus:quarkus-smallrye-context-propagation-deployment:2.0.2.Final +| | | | +--- io.quarkus:quarkus-core-deployment:2.0.2.Final (*) +| | | | +--- io.quarkus:quarkus-arc-deployment:2.0.2.Final (*) +| | | | \--- io.quarkus:quarkus-smallrye-context-propagation:2.0.2.Final -> 2.13.7.Final (*) +| | | \--- io.quarkus:quarkus-mutiny:2.0.2.Final -> 2.13.7.Final (*) +| | \--- io.quarkus:quarkus-narayana-jta:2.0.2.Final -> 2.13.5.Final (*) +| +--- io.quarkus:quarkus-agroal-deployment:2.0.2.Final +| | +--- io.quarkus:quarkus-core-deployment:2.0.2.Final (*) +| | +--- io.quarkus:quarkus-arc-deployment:2.0.2.Final (*) +| | +--- io.quarkus:quarkus-datasource-deployment:2.0.2.Final +| | | +--- io.quarkus:quarkus-core-deployment:2.0.2.Final (*) +| | | +--- io.quarkus:quarkus-arc-deployment:2.0.2.Final (*) +| | | +--- io.quarkus:quarkus-datasource:2.0.2.Final -> 2.13.5.Final (*) +| | | \--- io.quarkus:quarkus-datasource-deployment-spi:2.0.2.Final +| | | +--- io.quarkus:quarkus-core-deployment:2.0.2.Final (*) +| | | +--- io.quarkus:quarkus-arc-deployment:2.0.2.Final (*) +| | | \--- io.quarkus:quarkus-datasource-common:2.0.2.Final -> 2.13.5.Final +| | +--- io.quarkus:quarkus-agroal:2.0.2.Final -> 2.13.5.Final (*) +| | +--- io.quarkus:quarkus-agroal-spi:2.0.2.Final +| | | +--- io.quarkus:quarkus-core-deployment:2.0.2.Final (*) +| | | \--- io.quarkus:quarkus-datasource-common:2.0.2.Final -> 2.13.5.Final +| | +--- io.quarkus:quarkus-narayana-jta-deployment:2.0.2.Final (*) +| | +--- io.quarkus:quarkus-credentials-deployment:2.0.2.Final +| | | +--- io.quarkus:quarkus-credentials:2.0.2.Final -> 2.13.7.Final (*) +| | | +--- io.quarkus:quarkus-core-deployment:2.0.2.Final (*) +| | | \--- io.quarkus:quarkus-arc-deployment:2.0.2.Final (*) +| | \--- io.quarkus:quarkus-smallrye-health-spi:2.0.2.Final +| | \--- io.quarkus:quarkus-core-deployment:2.0.2.Final (*) +| +--- io.quarkus:quarkus-arc-deployment:2.0.2.Final (*) +| +--- io.quarkus:quarkus-caffeine-deployment:2.0.2.Final +| | +--- io.quarkus:quarkus-core-deployment:2.0.2.Final (*) +| | \--- io.quarkus:quarkus-caffeine:2.0.2.Final -> 2.13.5.Final (*) +| \--- io.quarkus:quarkus-panache-hibernate-common-deployment:2.0.2.Final +| +--- io.quarkus:quarkus-panache-hibernate-common:2.0.2.Final +| | +--- io.quarkus:quarkus-core:2.0.2.Final -> 2.13.7.Final (*) +| | +--- io.quarkus:quarkus-arc:2.0.2.Final -> 2.13.7.Final (*) +| | +--- io.quarkus:quarkus-panache-common:2.0.2.Final +| | | +--- io.quarkus:quarkus-core:2.0.2.Final -> 2.13.7.Final (*) +| | | \--- io.quarkus:quarkus-arc:2.0.2.Final -> 2.13.7.Final (*) +| | \--- io.quarkus:quarkus-hibernate-orm:2.0.2.Final -> 2.13.5.Final (*) +| +--- io.quarkus:quarkus-panache-common-deployment:2.0.2.Final +| | +--- io.quarkus:quarkus-core-deployment:2.0.2.Final (*) +| | +--- io.quarkus:quarkus-panache-common:2.0.2.Final (*) +| | +--- io.quarkus:quarkus-arc-deployment:2.0.2.Final (*) +| | +--- org.jboss:jandex:2.3.0.Final +| | +--- jakarta.validation:jakarta.validation-api:2.0.2 +| | \--- org.ow2.asm:asm:9.1 -> 9.3 +| +--- io.quarkus:quarkus-arc-deployment:2.0.2.Final (*) +| +--- org.jboss:jandex:2.3.0.Final +| \--- org.ow2.asm:asm:9.1 -> 9.3 +\--- log4j:log4j:1.2.17 + +testRuntimeOnly - Runtime only dependencies for source set 'test'. (n) +No dependencies + +(c) - A dependency constraint, not a dependency. The dependency affected by the constraint occurs elsewhere in the tree. +(*) - Indicates repeated occurrences of a transitive dependency subtree. Gradle expands transitive dependency subtrees only once per project; repeat occurrences only display the root of the subtree, followed by this annotation. + +(n) - A dependency or dependency configuration that cannot be resolved. + +A web-based, searchable dependency report is available by adding the --scan option. + +BUILD SUCCESSFUL in 714ms +1 actionable task: 1 executed diff --git a/test/providers/tst_manifests/gradle/deps_with_empty_project_group/gradle.properties b/test/providers/tst_manifests/gradle/deps_with_empty_project_group/gradle.properties new file mode 100644 index 00000000..ecc230b6 --- /dev/null +++ b/test/providers/tst_manifests/gradle/deps_with_empty_project_group/gradle.properties @@ -0,0 +1,123 @@ + +> Task :properties + +------------------------------------------------------------ +Root project 'postgresql-orm-quarkus' +------------------------------------------------------------ + +allprojects: [root project 'postgresql-orm-quarkus'] +ant: org.gradle.api.internal.project.DefaultAntBuilder@3ff817a5 +antBuilderFactory: org.gradle.api.internal.project.DefaultAntBuilderFactory@c5e51e1 +archivesBaseName: postgresql-orm-quarkus +artifacts: org.gradle.api.internal.artifacts.dsl.DefaultArtifactHandler_Decorated@2f0518ba +asDynamicObject: DynamicObject for root project 'postgresql-orm-quarkus' +autoTargetJvmDisabled: false +base: extension 'base' +baseClassLoaderScope: org.gradle.api.internal.initialization.DefaultClassLoaderScope@36e6e946 +buildDir: /home/nsantsch/RedHat/exhort-javascript-api/test/providers/tst_manifests/gradle/deps_with_empty_project_group/build +buildFile: /home/nsantsch/RedHat/exhort-javascript-api/test/providers/tst_manifests/gradle/deps_with_empty_project_group/build.gradle +buildPath: : +buildScriptSource: org.gradle.groovy.scripts.TextResourceScriptSource@49dc9500 +buildTreePath: : +buildscript: org.gradle.api.internal.initialization.DefaultScriptHandler_Decorated@37f31483 +childProjects: {} +childProjectsUnchecked: {} +class: class org.gradle.api.internal.project.DefaultProject_Decorated +classLoaderScope: org.gradle.api.internal.initialization.DefaultClassLoaderScope@30b40a0f +clean: task ':clean' +components: SoftwareComponent container +configurationActions: org.gradle.configuration.project.DefaultProjectConfigurationActionContainer@31197986 +configurationTargetIdentifier: org.gradle.configuration.ConfigurationTargetIdentifier$1@1cc09e30 +configurations: configuration container for root project 'postgresql-orm-quarkus' +convention: org.gradle.internal.extensibility.DefaultConvention@33b8d627 +crossProjectModelAccess: org.gradle.api.internal.project.DefaultCrossProjectModelAccess@23cc562d +defaultArtifacts: extension 'defaultArtifacts' +defaultTasks: [] +deferredProjectConfiguration: org.gradle.api.internal.project.DeferredProjectConfiguration@59e3ce9b +dependencies: org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler_Decorated@414afa89 +dependencyFactory: org.gradle.api.internal.artifacts.DefaultDependencyFactory@34361569 +dependencyLocking: org.gradle.internal.locking.DefaultDependencyLockingHandler_Decorated@750a50fc +depth: 0 +description: null +detachedState: false +displayName: root project 'postgresql-orm-quarkus' +distsDirName: distributions +distsDirectory: extension 'base' property 'distsDirectory' +docsDir: /home/nsantsch/RedHat/exhort-javascript-api/test/providers/tst_manifests/gradle/deps_with_empty_project_group/build/docs +docsDirName: docs +ext: org.gradle.internal.extensibility.DefaultExtraPropertiesExtension@24d2e5a0 +extensions: org.gradle.internal.extensibility.DefaultConvention@33b8d627 +fileOperations: org.gradle.api.internal.file.DefaultFileOperations@20cb310e +fileResolver: org.gradle.api.internal.file.BaseDirFileResolver@761085b +gradle: build 'postgresql-orm-quarkus' +group: +identityPath: : +inheritedScope: org.gradle.internal.extensibility.ExtensibleDynamicObject$InheritedDynamicObject@63a1f338 +internalStatus: property(java.lang.Object, fixed(class java.lang.String, integration)) +isolated: DefaultIsolatedProject{root project 'postgresql-orm-quarkus'} +java: extension 'java' +javaToolchains: extension 'javaToolchains' +layout: org.gradle.api.internal.file.DefaultProjectLayout@2957ed4b +libs: extension 'libs' +libsDirName: libs +libsDirectory: extension 'base' property 'libsDirectory' +lifecycleActionsState: null +listenerBuildOperationDecorator: org.gradle.configuration.internal.DefaultListenerBuildOperationDecorator@4a2f142e +logger: org.gradle.internal.logging.slf4j.OutputEventListenerBackedLogger@3bcd2b05 +logging: org.gradle.internal.logging.services.DefaultLoggingManager@7555f5cf +model: root project 'postgresql-orm-quarkus' +modelIdentityDisplayName: null +modelRegistry: org.gradle.model.internal.registry.DefaultModelRegistry@63fe739b +name: postgresql-orm-quarkus +normalization: org.gradle.normalization.internal.DefaultInputNormalizationHandler_Decorated@1da48045 +objects: org.gradle.api.internal.model.DefaultObjectFactory@2f1869bb +org.gradle.java.installations.paths: +owner: root project 'postgresql-orm-quarkus' +parent: null +parentIdentifier: null +path: : +pluginContext: false +pluginManager: org.gradle.api.internal.plugins.DefaultPluginManager_Decorated@75391a1a +plugins: Plugin collection +processOperations: org.gradle.process.internal.DefaultExecActionFactory@654bcd8d +project: root project 'postgresql-orm-quarkus' +projectConfigurator: org.gradle.api.internal.project.BuildOperationCrossProjectConfigurator@5cd4dfc9 +projectDir: /home/nsantsch/RedHat/exhort-javascript-api/test/providers/tst_manifests/gradle/deps_with_empty_project_group +projectEvaluationBroadcaster: ProjectEvaluationListener broadcast +projectEvaluator: org.gradle.configuration.project.LifecycleProjectEvaluator@306d2059 +projectIdentity: root project : +projectPath: : +properties: {...} +providers: org.gradle.api.internal.provider.DefaultProviderFactory_Decorated@db90584 +reporting: extension 'reporting' +repositories: repository container +resources: org.gradle.api.internal.resources.DefaultResourceHandler@3625861b +rootDir: /home/nsantsch/RedHat/exhort-javascript-api/test/providers/tst_manifests/gradle/deps_with_empty_project_group +rootProject: root project 'postgresql-orm-quarkus' +rootScript: false +script: false +scriptHandlerFactory: org.gradle.api.internal.initialization.DefaultScriptHandlerFactory@4c752d81 +scriptPluginFactory: org.gradle.configuration.ScriptPluginFactorySelector@1543b3be +serviceRegistryFactory: org.gradle.internal.service.scopes.BuildScopeServiceRegistryFactory@501311b7 +services: project services +sourceCompatibility: 21 +sourceSets: SourceSet container +standardOutputCapture: org.gradle.internal.logging.services.DefaultLoggingManager@7555f5cf +state: project state 'EXECUTED' +status: integration +subprojects: [] +targetCompatibility: 21 +taskDependencyFactory: org.gradle.api.internal.tasks.DefaultTaskDependencyFactory@4a9c50f0 +taskThatOwnsThisObject: null +tasks: task set +test: task ':test' +testReportDir: /home/nsantsch/RedHat/exhort-javascript-api/test/providers/tst_manifests/gradle/deps_with_empty_project_group/build/reports/tests +testReportDirName: tests +testResultsDir: /home/nsantsch/RedHat/exhort-javascript-api/test/providers/tst_manifests/gradle/deps_with_empty_project_group/build/test-results +testResultsDirName: test-results +testing: extension 'testing' +version: 1.0.0-SNAPSHOT +versionCatalogs: extension 'versionCatalogs' + +BUILD SUCCESSFUL in 506ms +1 actionable task: 1 executed diff --git a/test/providers/tst_manifests/gradle/deps_with_empty_project_group/gradle/libs.versions.toml b/test/providers/tst_manifests/gradle/deps_with_empty_project_group/gradle/libs.versions.toml new file mode 100644 index 00000000..c3426fa0 --- /dev/null +++ b/test/providers/tst_manifests/gradle/deps_with_empty_project_group/gradle/libs.versions.toml @@ -0,0 +1,26 @@ +# This file was generated by the Gradle 'init' task. +# https://docs.gradle.org/current/userguide/platforms.html#sub::toml-dependencies-format + +[versions] +io-quarkus-quarkus-agroal = "2.13.5.Final" +io-quarkus-quarkus-container-image-docker = "2.13.5.Final" +io-quarkus-quarkus-hibernate-orm = "2.13.5.Final" +io-quarkus-quarkus-hibernate-orm-deployment = "2.0.2.Final" +io-quarkus-quarkus-jdbc-postgresql = "2.13.5.Final" +io-quarkus-quarkus-kubernetes-service-binding = "2.13.5.Final" +io-quarkus-quarkus-resteasy = "2.13.5.Final" +io-quarkus-quarkus-resteasy-jackson = "2.13.5.Final" +io-quarkus-quarkus-vertx-http = "2.13.5.Final" +jakarta-validation-jakarta-validation-api = "2.0.2" + +[libraries] +io-quarkus-quarkus-agroal = { module = "io.quarkus:quarkus-agroal", version.ref = "io-quarkus-quarkus-agroal" } +io-quarkus-quarkus-container-image-docker = { module = "io.quarkus:quarkus-container-image-docker", version.ref = "io-quarkus-quarkus-container-image-docker" } +io-quarkus-quarkus-hibernate-orm = { module = "io.quarkus:quarkus-hibernate-orm", version.ref = "io-quarkus-quarkus-hibernate-orm" } +io-quarkus-quarkus-hibernate-orm-deployment = { module = "io.quarkus:quarkus-hibernate-orm-deployment", version.ref = "io-quarkus-quarkus-hibernate-orm-deployment" } +io-quarkus-quarkus-jdbc-postgresql = { module = "io.quarkus:quarkus-jdbc-postgresql", version.ref = "io-quarkus-quarkus-jdbc-postgresql" } +io-quarkus-quarkus-kubernetes-service-binding = { module = "io.quarkus:quarkus-kubernetes-service-binding", version.ref = "io-quarkus-quarkus-kubernetes-service-binding" } +io-quarkus-quarkus-resteasy = { module = "io.quarkus:quarkus-resteasy", version.ref = "io-quarkus-quarkus-resteasy" } +io-quarkus-quarkus-resteasy-jackson = { module = "io.quarkus:quarkus-resteasy-jackson", version.ref = "io-quarkus-quarkus-resteasy-jackson" } +io-quarkus-quarkus-vertx-http = { module = "io.quarkus:quarkus-vertx-http", version.ref = "io-quarkus-quarkus-vertx-http" } +jakarta-validation-jakarta-validation-api = { module = "jakarta.validation:jakarta.validation-api", version.ref = "jakarta-validation-jakarta-validation-api" } diff --git a/test/providers/tst_manifests/gradle/deps_with_empty_project_group/settings.gradle b/test/providers/tst_manifests/gradle/deps_with_empty_project_group/settings.gradle new file mode 100644 index 00000000..ace59c2f --- /dev/null +++ b/test/providers/tst_manifests/gradle/deps_with_empty_project_group/settings.gradle @@ -0,0 +1,5 @@ +/* + * This file was generated by the Gradle 'init' task. + */ + +rootProject.name = 'postgresql-orm-quarkus' diff --git a/test/providers/tst_manifests/gradle/deps_with_empty_project_group/settings.gradle.kts b/test/providers/tst_manifests/gradle/deps_with_empty_project_group/settings.gradle.kts new file mode 100644 index 00000000..2d781048 --- /dev/null +++ b/test/providers/tst_manifests/gradle/deps_with_empty_project_group/settings.gradle.kts @@ -0,0 +1,5 @@ +/* + * This file was generated by the Gradle 'init' task. + */ + +rootProject.name = "postgresql-orm-quarkus" diff --git a/test/providers/tst_manifests/gradle/deps_with_ignore_full_specification/expected_component_sbom.json b/test/providers/tst_manifests/gradle/deps_with_ignore_full_specification/expected_component_sbom.json index cf3442fc..ef2291f2 100644 --- a/test/providers/tst_manifests/gradle/deps_with_ignore_full_specification/expected_component_sbom.json +++ b/test/providers/tst_manifests/gradle/deps_with_ignore_full_specification/expected_component_sbom.json @@ -1,131 +1,123 @@ { - "bomFormat" : "CycloneDX", - "specVersion" : "1.4", - "version" : 1, - "metadata" : { - "timestamp" : "2023-08-07T00:00:00.000Z", - "component" : { - "group" : "org.acme.dbaas", - "name" : "postgresql-orm-quarkus", - "version" : "1.0.0-SNAPSHOT", - "purl" : "pkg:maven/org.acme.dbaas/postgresql-orm-quarkus@1.0.0-SNAPSHOT", - "type" : "application", - "bom-ref" : "pkg:maven/org.acme.dbaas/postgresql-orm-quarkus@1.0.0-SNAPSHOT" + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-08-07T00:00:00.000Z", + "component": { + "group": "org.acme.dbaas", + "name": "postgresql-orm-quarkus", + "version": "1.0.0-SNAPSHOT", + "purl": "pkg:maven/org.acme.dbaas/postgresql-orm-quarkus@1.0.0-SNAPSHOT", + "type": "application", + "bom-ref": "pkg:maven/org.acme.dbaas/postgresql-orm-quarkus@1.0.0-SNAPSHOT" } }, - "components" : [ + "components": [ { - "group" : "org.acme.dbaas", - "name" : "postgresql-orm-quarkus", - "version" : "1.0.0-SNAPSHOT", - "purl" : "pkg:maven/org.acme.dbaas/postgresql-orm-quarkus@1.0.0-SNAPSHOT", - "type" : "application", - "bom-ref" : "pkg:maven/org.acme.dbaas/postgresql-orm-quarkus@1.0.0-SNAPSHOT" - }, - { - "group" : "io.quarkus", - "name" : "quarkus-hibernate-orm", - "version" : "2.13.5.Final", - "purl" : "pkg:maven/io.quarkus/quarkus-hibernate-orm@2.13.5.Final", - "type" : "library", + "group": "io.quarkus", + "name": "quarkus-hibernate-orm", + "version": "2.13.5.Final", + "purl": "pkg:maven/io.quarkus/quarkus-hibernate-orm@2.13.5.Final", + "type": "library", "scope": "required", - "bom-ref" : "pkg:maven/io.quarkus/quarkus-hibernate-orm@2.13.5.Final" + "bom-ref": "pkg:maven/io.quarkus/quarkus-hibernate-orm@2.13.5.Final" }, { - "group" : "io.quarkus", - "name" : "quarkus-agroal", - "version" : "2.13.5.Final", - "purl" : "pkg:maven/io.quarkus/quarkus-agroal@2.13.5.Final", - "type" : "library", + "group": "io.quarkus", + "name": "quarkus-agroal", + "version": "2.13.5.Final", + "purl": "pkg:maven/io.quarkus/quarkus-agroal@2.13.5.Final", + "type": "library", "scope": "required", - "bom-ref" : "pkg:maven/io.quarkus/quarkus-agroal@2.13.5.Final" + "bom-ref": "pkg:maven/io.quarkus/quarkus-agroal@2.13.5.Final" }, { - "group" : "io.quarkus", - "name" : "quarkus-resteasy", - "version" : "2.13.7.Final", - "purl" : "pkg:maven/io.quarkus/quarkus-resteasy@2.13.7.Final", - "type" : "library", + "group": "io.quarkus", + "name": "quarkus-resteasy", + "version": "2.13.7.Final", + "purl": "pkg:maven/io.quarkus/quarkus-resteasy@2.13.7.Final", + "type": "library", "scope": "required", - "bom-ref" : "pkg:maven/io.quarkus/quarkus-resteasy@2.13.7.Final" + "bom-ref": "pkg:maven/io.quarkus/quarkus-resteasy@2.13.7.Final" }, { - "group" : "io.quarkus", - "name" : "quarkus-resteasy-jackson", - "version" : "2.13.5.Final", - "purl" : "pkg:maven/io.quarkus/quarkus-resteasy-jackson@2.13.5.Final", - "type" : "library", + "group": "io.quarkus", + "name": "quarkus-resteasy-jackson", + "version": "2.13.5.Final", + "purl": "pkg:maven/io.quarkus/quarkus-resteasy-jackson@2.13.5.Final", + "type": "library", "scope": "required", - "bom-ref" : "pkg:maven/io.quarkus/quarkus-resteasy-jackson@2.13.5.Final" + "bom-ref": "pkg:maven/io.quarkus/quarkus-resteasy-jackson@2.13.5.Final" }, { - "group" : "io.quarkus", - "name" : "quarkus-jdbc-postgresql", - "version" : "2.13.5.Final", - "purl" : "pkg:maven/io.quarkus/quarkus-jdbc-postgresql@2.13.5.Final", - "type" : "library", + "group": "io.quarkus", + "name": "quarkus-jdbc-postgresql", + "version": "2.13.5.Final", + "purl": "pkg:maven/io.quarkus/quarkus-jdbc-postgresql@2.13.5.Final", + "type": "library", "scope": "required", - "bom-ref" : "pkg:maven/io.quarkus/quarkus-jdbc-postgresql@2.13.5.Final" + "bom-ref": "pkg:maven/io.quarkus/quarkus-jdbc-postgresql@2.13.5.Final" }, { - "group" : "io.quarkus", - "name" : "quarkus-vertx-http", - "version" : "2.13.7.Final", - "purl" : "pkg:maven/io.quarkus/quarkus-vertx-http@2.13.7.Final", - "type" : "library", + "group": "io.quarkus", + "name": "quarkus-vertx-http", + "version": "2.13.7.Final", + "purl": "pkg:maven/io.quarkus/quarkus-vertx-http@2.13.7.Final", + "type": "library", "scope": "required", - "bom-ref" : "pkg:maven/io.quarkus/quarkus-vertx-http@2.13.7.Final" + "bom-ref": "pkg:maven/io.quarkus/quarkus-vertx-http@2.13.7.Final" }, { - "group" : "io.quarkus", - "name" : "quarkus-kubernetes-service-binding", - "version" : "2.13.5.Final", - "purl" : "pkg:maven/io.quarkus/quarkus-kubernetes-service-binding@2.13.5.Final", - "type" : "library", + "group": "io.quarkus", + "name": "quarkus-kubernetes-service-binding", + "version": "2.13.5.Final", + "purl": "pkg:maven/io.quarkus/quarkus-kubernetes-service-binding@2.13.5.Final", + "type": "library", "scope": "required", - "bom-ref" : "pkg:maven/io.quarkus/quarkus-kubernetes-service-binding@2.13.5.Final" + "bom-ref": "pkg:maven/io.quarkus/quarkus-kubernetes-service-binding@2.13.5.Final" }, { - "group" : "io.quarkus", - "name" : "quarkus-container-image-docker", - "version" : "2.13.5.Final", - "purl" : "pkg:maven/io.quarkus/quarkus-container-image-docker@2.13.5.Final", - "type" : "library", + "group": "io.quarkus", + "name": "quarkus-container-image-docker", + "version": "2.13.5.Final", + "purl": "pkg:maven/io.quarkus/quarkus-container-image-docker@2.13.5.Final", + "type": "library", "scope": "required", - "bom-ref" : "pkg:maven/io.quarkus/quarkus-container-image-docker@2.13.5.Final" + "bom-ref": "pkg:maven/io.quarkus/quarkus-container-image-docker@2.13.5.Final" }, { - "group" : "jakarta.validation", - "name" : "jakarta.validation-api", - "version" : "2.0.2", - "purl" : "pkg:maven/jakarta.validation/jakarta.validation-api@2.0.2", - "type" : "library", + "group": "jakarta.validation", + "name": "jakarta.validation-api", + "version": "2.0.2", + "purl": "pkg:maven/jakarta.validation/jakarta.validation-api@2.0.2", + "type": "library", "scope": "required", - "bom-ref" : "pkg:maven/jakarta.validation/jakarta.validation-api@2.0.2" + "bom-ref": "pkg:maven/jakarta.validation/jakarta.validation-api@2.0.2" }, { - "group" : "io.quarkus", - "name" : "quarkus-resteasy-multipart", - "version" : "2.13.7.Final", - "purl" : "pkg:maven/io.quarkus/quarkus-resteasy-multipart@2.13.7.Final", - "type" : "library", + "group": "io.quarkus", + "name": "quarkus-resteasy-multipart", + "version": "2.13.7.Final", + "purl": "pkg:maven/io.quarkus/quarkus-resteasy-multipart@2.13.7.Final", + "type": "library", "scope": "required", - "bom-ref" : "pkg:maven/io.quarkus/quarkus-resteasy-multipart@2.13.7.Final" + "bom-ref": "pkg:maven/io.quarkus/quarkus-resteasy-multipart@2.13.7.Final" }, { - "group" : "io.quarkus", - "name" : "quarkus-hibernate-orm-deployment", - "version" : "2.0.2.Final", - "purl" : "pkg:maven/io.quarkus/quarkus-hibernate-orm-deployment@2.0.2.Final", - "type" : "library", - "scope": "required", - "bom-ref" : "pkg:maven/io.quarkus/quarkus-hibernate-orm-deployment@2.0.2.Final" + "group": "io.quarkus", + "name": "quarkus-hibernate-orm-deployment", + "version": "2.0.2.Final", + "purl": "pkg:maven/io.quarkus/quarkus-hibernate-orm-deployment@2.0.2.Final", + "type": "library", + "scope": "required", + "bom-ref": "pkg:maven/io.quarkus/quarkus-hibernate-orm-deployment@2.0.2.Final" } ], - "dependencies" : [ + "dependencies": [ { - "ref" : "pkg:maven/org.acme.dbaas/postgresql-orm-quarkus@1.0.0-SNAPSHOT", - "dependsOn" : [ + "ref": "pkg:maven/org.acme.dbaas/postgresql-orm-quarkus@1.0.0-SNAPSHOT", + "dependsOn": [ "pkg:maven/io.quarkus/quarkus-hibernate-orm@2.13.5.Final", "pkg:maven/io.quarkus/quarkus-agroal@2.13.5.Final", "pkg:maven/io.quarkus/quarkus-resteasy@2.13.7.Final", @@ -140,48 +132,48 @@ ] }, { - "ref" : "pkg:maven/io.quarkus/quarkus-hibernate-orm@2.13.5.Final", - "dependsOn" : [ ] + "ref": "pkg:maven/io.quarkus/quarkus-hibernate-orm@2.13.5.Final", + "dependsOn": [] }, { - "ref" : "pkg:maven/io.quarkus/quarkus-agroal@2.13.5.Final", - "dependsOn" : [ ] + "ref": "pkg:maven/io.quarkus/quarkus-agroal@2.13.5.Final", + "dependsOn": [] }, { - "ref" : "pkg:maven/io.quarkus/quarkus-resteasy@2.13.7.Final", - "dependsOn" : [ ] + "ref": "pkg:maven/io.quarkus/quarkus-resteasy@2.13.7.Final", + "dependsOn": [] }, { - "ref" : "pkg:maven/io.quarkus/quarkus-resteasy-jackson@2.13.5.Final", - "dependsOn" : [ ] + "ref": "pkg:maven/io.quarkus/quarkus-resteasy-jackson@2.13.5.Final", + "dependsOn": [] }, { - "ref" : "pkg:maven/io.quarkus/quarkus-jdbc-postgresql@2.13.5.Final", - "dependsOn" : [ ] + "ref": "pkg:maven/io.quarkus/quarkus-jdbc-postgresql@2.13.5.Final", + "dependsOn": [] }, { - "ref" : "pkg:maven/io.quarkus/quarkus-vertx-http@2.13.7.Final", - "dependsOn" : [ ] + "ref": "pkg:maven/io.quarkus/quarkus-vertx-http@2.13.7.Final", + "dependsOn": [] }, { - "ref" : "pkg:maven/io.quarkus/quarkus-kubernetes-service-binding@2.13.5.Final", - "dependsOn" : [ ] + "ref": "pkg:maven/io.quarkus/quarkus-kubernetes-service-binding@2.13.5.Final", + "dependsOn": [] }, { - "ref" : "pkg:maven/io.quarkus/quarkus-container-image-docker@2.13.5.Final", - "dependsOn" : [ ] + "ref": "pkg:maven/io.quarkus/quarkus-container-image-docker@2.13.5.Final", + "dependsOn": [] }, { - "ref" : "pkg:maven/jakarta.validation/jakarta.validation-api@2.0.2", - "dependsOn" : [ ] + "ref": "pkg:maven/jakarta.validation/jakarta.validation-api@2.0.2", + "dependsOn": [] }, { - "ref" : "pkg:maven/io.quarkus/quarkus-resteasy-multipart@2.13.7.Final", - "dependsOn" : [ ] + "ref": "pkg:maven/io.quarkus/quarkus-resteasy-multipart@2.13.7.Final", + "dependsOn": [] }, { - "ref" : "pkg:maven/io.quarkus/quarkus-hibernate-orm-deployment@2.0.2.Final", - "dependsOn" : [ ] + "ref": "pkg:maven/io.quarkus/quarkus-hibernate-orm-deployment@2.0.2.Final", + "dependsOn": [] } ] } diff --git a/test/providers/tst_manifests/gradle/deps_with_ignore_full_specification/expected_stack_sbom.json b/test/providers/tst_manifests/gradle/deps_with_ignore_full_specification/expected_stack_sbom.json index 5fc5d431..809da96f 100644 --- a/test/providers/tst_manifests/gradle/deps_with_ignore_full_specification/expected_stack_sbom.json +++ b/test/providers/tst_manifests/gradle/deps_with_ignore_full_specification/expected_stack_sbom.json @@ -14,14 +14,6 @@ } }, "components": [ - { - "group": "org.acme.dbaas", - "name": "postgresql-orm-quarkus", - "version": "1.0.0-SNAPSHOT", - "purl": "pkg:maven/org.acme.dbaas/postgresql-orm-quarkus@1.0.0-SNAPSHOT", - "type": "application", - "bom-ref": "pkg:maven/org.acme.dbaas/postgresql-orm-quarkus@1.0.0-SNAPSHOT" - }, { "group": "io.quarkus", "name": "quarkus-hibernate-orm", diff --git a/test/providers/tst_manifests/gradle/deps_with_ignore_named_params/expected_component_sbom.json b/test/providers/tst_manifests/gradle/deps_with_ignore_named_params/expected_component_sbom.json index cf3442fc..ef2291f2 100644 --- a/test/providers/tst_manifests/gradle/deps_with_ignore_named_params/expected_component_sbom.json +++ b/test/providers/tst_manifests/gradle/deps_with_ignore_named_params/expected_component_sbom.json @@ -1,131 +1,123 @@ { - "bomFormat" : "CycloneDX", - "specVersion" : "1.4", - "version" : 1, - "metadata" : { - "timestamp" : "2023-08-07T00:00:00.000Z", - "component" : { - "group" : "org.acme.dbaas", - "name" : "postgresql-orm-quarkus", - "version" : "1.0.0-SNAPSHOT", - "purl" : "pkg:maven/org.acme.dbaas/postgresql-orm-quarkus@1.0.0-SNAPSHOT", - "type" : "application", - "bom-ref" : "pkg:maven/org.acme.dbaas/postgresql-orm-quarkus@1.0.0-SNAPSHOT" + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-08-07T00:00:00.000Z", + "component": { + "group": "org.acme.dbaas", + "name": "postgresql-orm-quarkus", + "version": "1.0.0-SNAPSHOT", + "purl": "pkg:maven/org.acme.dbaas/postgresql-orm-quarkus@1.0.0-SNAPSHOT", + "type": "application", + "bom-ref": "pkg:maven/org.acme.dbaas/postgresql-orm-quarkus@1.0.0-SNAPSHOT" } }, - "components" : [ + "components": [ { - "group" : "org.acme.dbaas", - "name" : "postgresql-orm-quarkus", - "version" : "1.0.0-SNAPSHOT", - "purl" : "pkg:maven/org.acme.dbaas/postgresql-orm-quarkus@1.0.0-SNAPSHOT", - "type" : "application", - "bom-ref" : "pkg:maven/org.acme.dbaas/postgresql-orm-quarkus@1.0.0-SNAPSHOT" - }, - { - "group" : "io.quarkus", - "name" : "quarkus-hibernate-orm", - "version" : "2.13.5.Final", - "purl" : "pkg:maven/io.quarkus/quarkus-hibernate-orm@2.13.5.Final", - "type" : "library", + "group": "io.quarkus", + "name": "quarkus-hibernate-orm", + "version": "2.13.5.Final", + "purl": "pkg:maven/io.quarkus/quarkus-hibernate-orm@2.13.5.Final", + "type": "library", "scope": "required", - "bom-ref" : "pkg:maven/io.quarkus/quarkus-hibernate-orm@2.13.5.Final" + "bom-ref": "pkg:maven/io.quarkus/quarkus-hibernate-orm@2.13.5.Final" }, { - "group" : "io.quarkus", - "name" : "quarkus-agroal", - "version" : "2.13.5.Final", - "purl" : "pkg:maven/io.quarkus/quarkus-agroal@2.13.5.Final", - "type" : "library", + "group": "io.quarkus", + "name": "quarkus-agroal", + "version": "2.13.5.Final", + "purl": "pkg:maven/io.quarkus/quarkus-agroal@2.13.5.Final", + "type": "library", "scope": "required", - "bom-ref" : "pkg:maven/io.quarkus/quarkus-agroal@2.13.5.Final" + "bom-ref": "pkg:maven/io.quarkus/quarkus-agroal@2.13.5.Final" }, { - "group" : "io.quarkus", - "name" : "quarkus-resteasy", - "version" : "2.13.7.Final", - "purl" : "pkg:maven/io.quarkus/quarkus-resteasy@2.13.7.Final", - "type" : "library", + "group": "io.quarkus", + "name": "quarkus-resteasy", + "version": "2.13.7.Final", + "purl": "pkg:maven/io.quarkus/quarkus-resteasy@2.13.7.Final", + "type": "library", "scope": "required", - "bom-ref" : "pkg:maven/io.quarkus/quarkus-resteasy@2.13.7.Final" + "bom-ref": "pkg:maven/io.quarkus/quarkus-resteasy@2.13.7.Final" }, { - "group" : "io.quarkus", - "name" : "quarkus-resteasy-jackson", - "version" : "2.13.5.Final", - "purl" : "pkg:maven/io.quarkus/quarkus-resteasy-jackson@2.13.5.Final", - "type" : "library", + "group": "io.quarkus", + "name": "quarkus-resteasy-jackson", + "version": "2.13.5.Final", + "purl": "pkg:maven/io.quarkus/quarkus-resteasy-jackson@2.13.5.Final", + "type": "library", "scope": "required", - "bom-ref" : "pkg:maven/io.quarkus/quarkus-resteasy-jackson@2.13.5.Final" + "bom-ref": "pkg:maven/io.quarkus/quarkus-resteasy-jackson@2.13.5.Final" }, { - "group" : "io.quarkus", - "name" : "quarkus-jdbc-postgresql", - "version" : "2.13.5.Final", - "purl" : "pkg:maven/io.quarkus/quarkus-jdbc-postgresql@2.13.5.Final", - "type" : "library", + "group": "io.quarkus", + "name": "quarkus-jdbc-postgresql", + "version": "2.13.5.Final", + "purl": "pkg:maven/io.quarkus/quarkus-jdbc-postgresql@2.13.5.Final", + "type": "library", "scope": "required", - "bom-ref" : "pkg:maven/io.quarkus/quarkus-jdbc-postgresql@2.13.5.Final" + "bom-ref": "pkg:maven/io.quarkus/quarkus-jdbc-postgresql@2.13.5.Final" }, { - "group" : "io.quarkus", - "name" : "quarkus-vertx-http", - "version" : "2.13.7.Final", - "purl" : "pkg:maven/io.quarkus/quarkus-vertx-http@2.13.7.Final", - "type" : "library", + "group": "io.quarkus", + "name": "quarkus-vertx-http", + "version": "2.13.7.Final", + "purl": "pkg:maven/io.quarkus/quarkus-vertx-http@2.13.7.Final", + "type": "library", "scope": "required", - "bom-ref" : "pkg:maven/io.quarkus/quarkus-vertx-http@2.13.7.Final" + "bom-ref": "pkg:maven/io.quarkus/quarkus-vertx-http@2.13.7.Final" }, { - "group" : "io.quarkus", - "name" : "quarkus-kubernetes-service-binding", - "version" : "2.13.5.Final", - "purl" : "pkg:maven/io.quarkus/quarkus-kubernetes-service-binding@2.13.5.Final", - "type" : "library", + "group": "io.quarkus", + "name": "quarkus-kubernetes-service-binding", + "version": "2.13.5.Final", + "purl": "pkg:maven/io.quarkus/quarkus-kubernetes-service-binding@2.13.5.Final", + "type": "library", "scope": "required", - "bom-ref" : "pkg:maven/io.quarkus/quarkus-kubernetes-service-binding@2.13.5.Final" + "bom-ref": "pkg:maven/io.quarkus/quarkus-kubernetes-service-binding@2.13.5.Final" }, { - "group" : "io.quarkus", - "name" : "quarkus-container-image-docker", - "version" : "2.13.5.Final", - "purl" : "pkg:maven/io.quarkus/quarkus-container-image-docker@2.13.5.Final", - "type" : "library", + "group": "io.quarkus", + "name": "quarkus-container-image-docker", + "version": "2.13.5.Final", + "purl": "pkg:maven/io.quarkus/quarkus-container-image-docker@2.13.5.Final", + "type": "library", "scope": "required", - "bom-ref" : "pkg:maven/io.quarkus/quarkus-container-image-docker@2.13.5.Final" + "bom-ref": "pkg:maven/io.quarkus/quarkus-container-image-docker@2.13.5.Final" }, { - "group" : "jakarta.validation", - "name" : "jakarta.validation-api", - "version" : "2.0.2", - "purl" : "pkg:maven/jakarta.validation/jakarta.validation-api@2.0.2", - "type" : "library", + "group": "jakarta.validation", + "name": "jakarta.validation-api", + "version": "2.0.2", + "purl": "pkg:maven/jakarta.validation/jakarta.validation-api@2.0.2", + "type": "library", "scope": "required", - "bom-ref" : "pkg:maven/jakarta.validation/jakarta.validation-api@2.0.2" + "bom-ref": "pkg:maven/jakarta.validation/jakarta.validation-api@2.0.2" }, { - "group" : "io.quarkus", - "name" : "quarkus-resteasy-multipart", - "version" : "2.13.7.Final", - "purl" : "pkg:maven/io.quarkus/quarkus-resteasy-multipart@2.13.7.Final", - "type" : "library", + "group": "io.quarkus", + "name": "quarkus-resteasy-multipart", + "version": "2.13.7.Final", + "purl": "pkg:maven/io.quarkus/quarkus-resteasy-multipart@2.13.7.Final", + "type": "library", "scope": "required", - "bom-ref" : "pkg:maven/io.quarkus/quarkus-resteasy-multipart@2.13.7.Final" + "bom-ref": "pkg:maven/io.quarkus/quarkus-resteasy-multipart@2.13.7.Final" }, { - "group" : "io.quarkus", - "name" : "quarkus-hibernate-orm-deployment", - "version" : "2.0.2.Final", - "purl" : "pkg:maven/io.quarkus/quarkus-hibernate-orm-deployment@2.0.2.Final", - "type" : "library", - "scope": "required", - "bom-ref" : "pkg:maven/io.quarkus/quarkus-hibernate-orm-deployment@2.0.2.Final" + "group": "io.quarkus", + "name": "quarkus-hibernate-orm-deployment", + "version": "2.0.2.Final", + "purl": "pkg:maven/io.quarkus/quarkus-hibernate-orm-deployment@2.0.2.Final", + "type": "library", + "scope": "required", + "bom-ref": "pkg:maven/io.quarkus/quarkus-hibernate-orm-deployment@2.0.2.Final" } ], - "dependencies" : [ + "dependencies": [ { - "ref" : "pkg:maven/org.acme.dbaas/postgresql-orm-quarkus@1.0.0-SNAPSHOT", - "dependsOn" : [ + "ref": "pkg:maven/org.acme.dbaas/postgresql-orm-quarkus@1.0.0-SNAPSHOT", + "dependsOn": [ "pkg:maven/io.quarkus/quarkus-hibernate-orm@2.13.5.Final", "pkg:maven/io.quarkus/quarkus-agroal@2.13.5.Final", "pkg:maven/io.quarkus/quarkus-resteasy@2.13.7.Final", @@ -140,48 +132,48 @@ ] }, { - "ref" : "pkg:maven/io.quarkus/quarkus-hibernate-orm@2.13.5.Final", - "dependsOn" : [ ] + "ref": "pkg:maven/io.quarkus/quarkus-hibernate-orm@2.13.5.Final", + "dependsOn": [] }, { - "ref" : "pkg:maven/io.quarkus/quarkus-agroal@2.13.5.Final", - "dependsOn" : [ ] + "ref": "pkg:maven/io.quarkus/quarkus-agroal@2.13.5.Final", + "dependsOn": [] }, { - "ref" : "pkg:maven/io.quarkus/quarkus-resteasy@2.13.7.Final", - "dependsOn" : [ ] + "ref": "pkg:maven/io.quarkus/quarkus-resteasy@2.13.7.Final", + "dependsOn": [] }, { - "ref" : "pkg:maven/io.quarkus/quarkus-resteasy-jackson@2.13.5.Final", - "dependsOn" : [ ] + "ref": "pkg:maven/io.quarkus/quarkus-resteasy-jackson@2.13.5.Final", + "dependsOn": [] }, { - "ref" : "pkg:maven/io.quarkus/quarkus-jdbc-postgresql@2.13.5.Final", - "dependsOn" : [ ] + "ref": "pkg:maven/io.quarkus/quarkus-jdbc-postgresql@2.13.5.Final", + "dependsOn": [] }, { - "ref" : "pkg:maven/io.quarkus/quarkus-vertx-http@2.13.7.Final", - "dependsOn" : [ ] + "ref": "pkg:maven/io.quarkus/quarkus-vertx-http@2.13.7.Final", + "dependsOn": [] }, { - "ref" : "pkg:maven/io.quarkus/quarkus-kubernetes-service-binding@2.13.5.Final", - "dependsOn" : [ ] + "ref": "pkg:maven/io.quarkus/quarkus-kubernetes-service-binding@2.13.5.Final", + "dependsOn": [] }, { - "ref" : "pkg:maven/io.quarkus/quarkus-container-image-docker@2.13.5.Final", - "dependsOn" : [ ] + "ref": "pkg:maven/io.quarkus/quarkus-container-image-docker@2.13.5.Final", + "dependsOn": [] }, { - "ref" : "pkg:maven/jakarta.validation/jakarta.validation-api@2.0.2", - "dependsOn" : [ ] + "ref": "pkg:maven/jakarta.validation/jakarta.validation-api@2.0.2", + "dependsOn": [] }, { - "ref" : "pkg:maven/io.quarkus/quarkus-resteasy-multipart@2.13.7.Final", - "dependsOn" : [ ] + "ref": "pkg:maven/io.quarkus/quarkus-resteasy-multipart@2.13.7.Final", + "dependsOn": [] }, { - "ref" : "pkg:maven/io.quarkus/quarkus-hibernate-orm-deployment@2.0.2.Final", - "dependsOn" : [ ] + "ref": "pkg:maven/io.quarkus/quarkus-hibernate-orm-deployment@2.0.2.Final", + "dependsOn": [] } ] } diff --git a/test/providers/tst_manifests/gradle/deps_with_ignore_named_params/expected_stack_sbom.json b/test/providers/tst_manifests/gradle/deps_with_ignore_named_params/expected_stack_sbom.json index 5fc5d431..809da96f 100644 --- a/test/providers/tst_manifests/gradle/deps_with_ignore_named_params/expected_stack_sbom.json +++ b/test/providers/tst_manifests/gradle/deps_with_ignore_named_params/expected_stack_sbom.json @@ -14,14 +14,6 @@ } }, "components": [ - { - "group": "org.acme.dbaas", - "name": "postgresql-orm-quarkus", - "version": "1.0.0-SNAPSHOT", - "purl": "pkg:maven/org.acme.dbaas/postgresql-orm-quarkus@1.0.0-SNAPSHOT", - "type": "application", - "bom-ref": "pkg:maven/org.acme.dbaas/postgresql-orm-quarkus@1.0.0-SNAPSHOT" - }, { "group": "io.quarkus", "name": "quarkus-hibernate-orm", diff --git a/test/providers/tst_manifests/gradle/deps_with_ignore_notations/expected_component_sbom.json b/test/providers/tst_manifests/gradle/deps_with_ignore_notations/expected_component_sbom.json index 24fef975..3a801ae8 100644 --- a/test/providers/tst_manifests/gradle/deps_with_ignore_notations/expected_component_sbom.json +++ b/test/providers/tst_manifests/gradle/deps_with_ignore_notations/expected_component_sbom.json @@ -14,14 +14,6 @@ } }, "components": [ - { - "group": "org.acme.dbaas", - "name": "postgresql-orm-quarkus", - "version": "1.0.0-SNAPSHOT", - "purl": "pkg:maven/org.acme.dbaas/postgresql-orm-quarkus@1.0.0-SNAPSHOT", - "type": "application", - "bom-ref": "pkg:maven/org.acme.dbaas/postgresql-orm-quarkus@1.0.0-SNAPSHOT" - }, { "group": "io.quarkus", "name": "quarkus-hibernate-orm", diff --git a/test/providers/tst_manifests/gradle/deps_with_ignore_notations/expected_stack_sbom.json b/test/providers/tst_manifests/gradle/deps_with_ignore_notations/expected_stack_sbom.json index 76084d3a..316f17a1 100644 --- a/test/providers/tst_manifests/gradle/deps_with_ignore_notations/expected_stack_sbom.json +++ b/test/providers/tst_manifests/gradle/deps_with_ignore_notations/expected_stack_sbom.json @@ -14,14 +14,6 @@ } }, "components": [ - { - "group": "org.acme.dbaas", - "name": "postgresql-orm-quarkus", - "version": "1.0.0-SNAPSHOT", - "purl": "pkg:maven/org.acme.dbaas/postgresql-orm-quarkus@1.0.0-SNAPSHOT", - "type": "application", - "bom-ref": "pkg:maven/org.acme.dbaas/postgresql-orm-quarkus@1.0.0-SNAPSHOT" - }, { "group": "io.quarkus", "name": "quarkus-hibernate-orm", diff --git a/test/providers/tst_manifests/gradle/deps_with_no_ignore_common_paths/expected_component_sbom.json b/test/providers/tst_manifests/gradle/deps_with_no_ignore_common_paths/expected_component_sbom.json index 24fef975..3a801ae8 100644 --- a/test/providers/tst_manifests/gradle/deps_with_no_ignore_common_paths/expected_component_sbom.json +++ b/test/providers/tst_manifests/gradle/deps_with_no_ignore_common_paths/expected_component_sbom.json @@ -14,14 +14,6 @@ } }, "components": [ - { - "group": "org.acme.dbaas", - "name": "postgresql-orm-quarkus", - "version": "1.0.0-SNAPSHOT", - "purl": "pkg:maven/org.acme.dbaas/postgresql-orm-quarkus@1.0.0-SNAPSHOT", - "type": "application", - "bom-ref": "pkg:maven/org.acme.dbaas/postgresql-orm-quarkus@1.0.0-SNAPSHOT" - }, { "group": "io.quarkus", "name": "quarkus-hibernate-orm", diff --git a/test/providers/tst_manifests/gradle/deps_with_no_ignore_common_paths/expected_stack_sbom.json b/test/providers/tst_manifests/gradle/deps_with_no_ignore_common_paths/expected_stack_sbom.json index 76084d3a..316f17a1 100644 --- a/test/providers/tst_manifests/gradle/deps_with_no_ignore_common_paths/expected_stack_sbom.json +++ b/test/providers/tst_manifests/gradle/deps_with_no_ignore_common_paths/expected_stack_sbom.json @@ -14,14 +14,6 @@ } }, "components": [ - { - "group": "org.acme.dbaas", - "name": "postgresql-orm-quarkus", - "version": "1.0.0-SNAPSHOT", - "purl": "pkg:maven/org.acme.dbaas/postgresql-orm-quarkus@1.0.0-SNAPSHOT", - "type": "application", - "bom-ref": "pkg:maven/org.acme.dbaas/postgresql-orm-quarkus@1.0.0-SNAPSHOT" - }, { "group": "io.quarkus", "name": "quarkus-hibernate-orm", diff --git a/test/providers/tst_manifests/image/httpd:2.4.49.json b/test/providers/tst_manifests/image/httpd:2.4.49.json index 8a166dc5..47a7d52b 100644 --- a/test/providers/tst_manifests/image/httpd:2.4.49.json +++ b/test/providers/tst_manifests/image/httpd:2.4.49.json @@ -10773,7 +10773,7 @@ ] }, { - "bom-ref": "pkg:deb/debian/perl-base@5.28.1-6%2Bdeb10u1?arch=amd64&distro=debian-10&package-id=12ef1f27f6a6900d&upstream=perl", + "bom-ref": "pkg:deb/debian/perl-base@5.28.1-6%2Bdeb10u1?arch=amd64&distro=debian-10&package-id=b9e426935a3c0ab8&upstream=perl", "type": "library", "publisher": "Niko Tyni ", "name": "perl-base", @@ -10824,11 +10824,6 @@ "name": "Artistic" } }, - { - "license": { - "name": "Artistic-dist" - } - }, { "license": { "name": "BSD-3-clause-GENERIC" @@ -10908,6 +10903,11 @@ "license": { "name": "Unicode" } + }, + { + "license": { + "name": "Artistic-dist" + } } ], "cpe": "cpe:2.3:a:perl-base:perl-base:5.28.1-6\\+deb10u1:*:*:*:*:*:*:*", @@ -11727,6 +11727,10 @@ } ], "properties": [ + { + "name": "syft:distro:extendedSupport", + "value": "false" + }, { "name": "syft:distro:id", "value": "debian" @@ -54703,7 +54707,7 @@ { "ref": "pkg:deb/debian/debconf@1.5.71?arch=all&distro=debian-10&package-id=fe38a53949ca2b50", "dependsOn": [ - "pkg:deb/debian/perl-base@5.28.1-6%2Bdeb10u1?arch=amd64&distro=debian-10&package-id=12ef1f27f6a6900d&upstream=perl" + "pkg:deb/debian/perl-base@5.28.1-6%2Bdeb10u1?arch=amd64&distro=debian-10&package-id=b9e426935a3c0ab8&upstream=perl" ] }, { @@ -54792,7 +54796,7 @@ { "ref": "pkg:deb/debian/init-system-helpers@1.56%2Bnmu1?arch=all&distro=debian-10&package-id=4a3347396c872902", "dependsOn": [ - "pkg:deb/debian/perl-base@5.28.1-6%2Bdeb10u1?arch=amd64&distro=debian-10&package-id=12ef1f27f6a6900d&upstream=perl" + "pkg:deb/debian/perl-base@5.28.1-6%2Bdeb10u1?arch=amd64&distro=debian-10&package-id=b9e426935a3c0ab8&upstream=perl" ] }, { @@ -55378,7 +55382,7 @@ ] }, { - "ref": "pkg:deb/debian/perl-base@5.28.1-6%2Bdeb10u1?arch=amd64&distro=debian-10&package-id=12ef1f27f6a6900d&upstream=perl", + "ref": "pkg:deb/debian/perl-base@5.28.1-6%2Bdeb10u1?arch=amd64&distro=debian-10&package-id=b9e426935a3c0ab8&upstream=perl", "dependsOn": [ "pkg:deb/debian/dpkg@1.19.7?arch=amd64&distro=debian-10&package-id=da9ff9a377f09d63", "pkg:deb/debian/libc6@2.28-10?arch=amd64&distro=debian-10&package-id=3885776e13200a70&upstream=glibc" diff --git a/test/providers/tst_manifests/image/httpd:2.4.49^^amd64.json b/test/providers/tst_manifests/image/httpd:2.4.49^^amd64.json index 8a166dc5..47a7d52b 100644 --- a/test/providers/tst_manifests/image/httpd:2.4.49^^amd64.json +++ b/test/providers/tst_manifests/image/httpd:2.4.49^^amd64.json @@ -10773,7 +10773,7 @@ ] }, { - "bom-ref": "pkg:deb/debian/perl-base@5.28.1-6%2Bdeb10u1?arch=amd64&distro=debian-10&package-id=12ef1f27f6a6900d&upstream=perl", + "bom-ref": "pkg:deb/debian/perl-base@5.28.1-6%2Bdeb10u1?arch=amd64&distro=debian-10&package-id=b9e426935a3c0ab8&upstream=perl", "type": "library", "publisher": "Niko Tyni ", "name": "perl-base", @@ -10824,11 +10824,6 @@ "name": "Artistic" } }, - { - "license": { - "name": "Artistic-dist" - } - }, { "license": { "name": "BSD-3-clause-GENERIC" @@ -10908,6 +10903,11 @@ "license": { "name": "Unicode" } + }, + { + "license": { + "name": "Artistic-dist" + } } ], "cpe": "cpe:2.3:a:perl-base:perl-base:5.28.1-6\\+deb10u1:*:*:*:*:*:*:*", @@ -11727,6 +11727,10 @@ } ], "properties": [ + { + "name": "syft:distro:extendedSupport", + "value": "false" + }, { "name": "syft:distro:id", "value": "debian" @@ -54703,7 +54707,7 @@ { "ref": "pkg:deb/debian/debconf@1.5.71?arch=all&distro=debian-10&package-id=fe38a53949ca2b50", "dependsOn": [ - "pkg:deb/debian/perl-base@5.28.1-6%2Bdeb10u1?arch=amd64&distro=debian-10&package-id=12ef1f27f6a6900d&upstream=perl" + "pkg:deb/debian/perl-base@5.28.1-6%2Bdeb10u1?arch=amd64&distro=debian-10&package-id=b9e426935a3c0ab8&upstream=perl" ] }, { @@ -54792,7 +54796,7 @@ { "ref": "pkg:deb/debian/init-system-helpers@1.56%2Bnmu1?arch=all&distro=debian-10&package-id=4a3347396c872902", "dependsOn": [ - "pkg:deb/debian/perl-base@5.28.1-6%2Bdeb10u1?arch=amd64&distro=debian-10&package-id=12ef1f27f6a6900d&upstream=perl" + "pkg:deb/debian/perl-base@5.28.1-6%2Bdeb10u1?arch=amd64&distro=debian-10&package-id=b9e426935a3c0ab8&upstream=perl" ] }, { @@ -55378,7 +55382,7 @@ ] }, { - "ref": "pkg:deb/debian/perl-base@5.28.1-6%2Bdeb10u1?arch=amd64&distro=debian-10&package-id=12ef1f27f6a6900d&upstream=perl", + "ref": "pkg:deb/debian/perl-base@5.28.1-6%2Bdeb10u1?arch=amd64&distro=debian-10&package-id=b9e426935a3c0ab8&upstream=perl", "dependsOn": [ "pkg:deb/debian/dpkg@1.19.7?arch=amd64&distro=debian-10&package-id=da9ff9a377f09d63", "pkg:deb/debian/libc6@2.28-10?arch=amd64&distro=debian-10&package-id=3885776e13200a70&upstream=glibc" diff --git a/test/providers/tst_manifests/image/httpd@sha256:4b5cb7697fea2aa6d398504c381b693a54ae9ad5e6317fcdbb7a2d9b8c3b1364.json b/test/providers/tst_manifests/image/httpd@sha256:4b5cb7697fea2aa6d398504c381b693a54ae9ad5e6317fcdbb7a2d9b8c3b1364.json index 8a166dc5..47a7d52b 100644 --- a/test/providers/tst_manifests/image/httpd@sha256:4b5cb7697fea2aa6d398504c381b693a54ae9ad5e6317fcdbb7a2d9b8c3b1364.json +++ b/test/providers/tst_manifests/image/httpd@sha256:4b5cb7697fea2aa6d398504c381b693a54ae9ad5e6317fcdbb7a2d9b8c3b1364.json @@ -10773,7 +10773,7 @@ ] }, { - "bom-ref": "pkg:deb/debian/perl-base@5.28.1-6%2Bdeb10u1?arch=amd64&distro=debian-10&package-id=12ef1f27f6a6900d&upstream=perl", + "bom-ref": "pkg:deb/debian/perl-base@5.28.1-6%2Bdeb10u1?arch=amd64&distro=debian-10&package-id=b9e426935a3c0ab8&upstream=perl", "type": "library", "publisher": "Niko Tyni ", "name": "perl-base", @@ -10824,11 +10824,6 @@ "name": "Artistic" } }, - { - "license": { - "name": "Artistic-dist" - } - }, { "license": { "name": "BSD-3-clause-GENERIC" @@ -10908,6 +10903,11 @@ "license": { "name": "Unicode" } + }, + { + "license": { + "name": "Artistic-dist" + } } ], "cpe": "cpe:2.3:a:perl-base:perl-base:5.28.1-6\\+deb10u1:*:*:*:*:*:*:*", @@ -11727,6 +11727,10 @@ } ], "properties": [ + { + "name": "syft:distro:extendedSupport", + "value": "false" + }, { "name": "syft:distro:id", "value": "debian" @@ -54703,7 +54707,7 @@ { "ref": "pkg:deb/debian/debconf@1.5.71?arch=all&distro=debian-10&package-id=fe38a53949ca2b50", "dependsOn": [ - "pkg:deb/debian/perl-base@5.28.1-6%2Bdeb10u1?arch=amd64&distro=debian-10&package-id=12ef1f27f6a6900d&upstream=perl" + "pkg:deb/debian/perl-base@5.28.1-6%2Bdeb10u1?arch=amd64&distro=debian-10&package-id=b9e426935a3c0ab8&upstream=perl" ] }, { @@ -54792,7 +54796,7 @@ { "ref": "pkg:deb/debian/init-system-helpers@1.56%2Bnmu1?arch=all&distro=debian-10&package-id=4a3347396c872902", "dependsOn": [ - "pkg:deb/debian/perl-base@5.28.1-6%2Bdeb10u1?arch=amd64&distro=debian-10&package-id=12ef1f27f6a6900d&upstream=perl" + "pkg:deb/debian/perl-base@5.28.1-6%2Bdeb10u1?arch=amd64&distro=debian-10&package-id=b9e426935a3c0ab8&upstream=perl" ] }, { @@ -55378,7 +55382,7 @@ ] }, { - "ref": "pkg:deb/debian/perl-base@5.28.1-6%2Bdeb10u1?arch=amd64&distro=debian-10&package-id=12ef1f27f6a6900d&upstream=perl", + "ref": "pkg:deb/debian/perl-base@5.28.1-6%2Bdeb10u1?arch=amd64&distro=debian-10&package-id=b9e426935a3c0ab8&upstream=perl", "dependsOn": [ "pkg:deb/debian/dpkg@1.19.7?arch=amd64&distro=debian-10&package-id=da9ff9a377f09d63", "pkg:deb/debian/libc6@2.28-10?arch=amd64&distro=debian-10&package-id=3885776e13200a70&upstream=glibc" diff --git a/test/providers/tst_manifests/js-common/package_json_deps_with_exhortignore_object/component_expected_sbom.json b/test/providers/tst_manifests/js-common/package_json_deps_with_exhortignore_object/component_expected_sbom.json index 640c87ec..c958098e 100644 --- a/test/providers/tst_manifests/js-common/package_json_deps_with_exhortignore_object/component_expected_sbom.json +++ b/test/providers/tst_manifests/js-common/package_json_deps_with_exhortignore_object/component_expected_sbom.json @@ -13,13 +13,6 @@ } }, "components": [ - { - "name": "backend", - "version": "1.0.0", - "purl": "pkg:npm/backend@1.0.0", - "type": "application", - "bom-ref": "pkg:npm/backend@1.0.0" - }, { "group": "@hapi", "name": "joi", diff --git a/test/providers/tst_manifests/js-common/package_json_deps_with_mixed_dep_types/component_expected_sbom.json b/test/providers/tst_manifests/js-common/package_json_deps_with_mixed_dep_types/component_expected_sbom.json new file mode 100644 index 00000000..fd792c94 --- /dev/null +++ b/test/providers/tst_manifests/js-common/package_json_deps_with_mixed_dep_types/component_expected_sbom.json @@ -0,0 +1,72 @@ +{ + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-08-07T00:00:00.000Z", + "component": { + "name": "mixed-deps-test", + "version": "1.0.0", + "purl": "pkg:npm/mixed-deps-test@1.0.0", + "type": "application", + "bom-ref": "pkg:npm/mixed-deps-test@1.0.0" + } + }, + "components": [ + { + "name": "axios", + "version": "0.19.0", + "purl": "pkg:npm/axios@0.19.0", + "type": "library", + "bom-ref": "pkg:npm/axios@0.19.0" + }, + { + "name": "express", + "version": "4.17.1", + "purl": "pkg:npm/express@4.17.1", + "type": "library", + "bom-ref": "pkg:npm/express@4.17.1" + }, + { + "name": "lodash", + "version": "4.17.19", + "purl": "pkg:npm/lodash@4.17.19", + "type": "library", + "bom-ref": "pkg:npm/lodash@4.17.19" + }, + { + "name": "minimist", + "version": "1.2.0", + "purl": "pkg:npm/minimist@1.2.0", + "type": "library", + "bom-ref": "pkg:npm/minimist@1.2.0" + } + ], + "dependencies": [ + { + "ref": "pkg:npm/mixed-deps-test@1.0.0", + "dependsOn": [ + "pkg:npm/axios@0.19.0", + "pkg:npm/express@4.17.1", + "pkg:npm/lodash@4.17.19", + "pkg:npm/minimist@1.2.0" + ] + }, + { + "ref": "pkg:npm/axios@0.19.0", + "dependsOn": [] + }, + { + "ref": "pkg:npm/express@4.17.1", + "dependsOn": [] + }, + { + "ref": "pkg:npm/lodash@4.17.19", + "dependsOn": [] + }, + { + "ref": "pkg:npm/minimist@1.2.0", + "dependsOn": [] + } + ] +} diff --git a/test/providers/tst_manifests/js-common/package_json_deps_without_exhortignore_object/component_expected_sbom.json b/test/providers/tst_manifests/js-common/package_json_deps_without_exhortignore_object/component_expected_sbom.json index 64f35806..46d31c2d 100644 --- a/test/providers/tst_manifests/js-common/package_json_deps_without_exhortignore_object/component_expected_sbom.json +++ b/test/providers/tst_manifests/js-common/package_json_deps_without_exhortignore_object/component_expected_sbom.json @@ -13,13 +13,6 @@ } }, "components": [ - { - "name": "backend", - "version": "1.0.0", - "purl": "pkg:npm/backend@1.0.0", - "type": "application", - "bom-ref": "pkg:npm/backend@1.0.0" - }, { "group": "@hapi", "name": "joi", @@ -76,8 +69,8 @@ "purl": "pkg:npm/jsonwebtoken@8.5.1", "type": "library", "bom-ref": "pkg:npm/jsonwebtoken@8.5.1" - }, - { + }, + { "name": "jsdom", "version": "19.0.0", "purl": "pkg:npm/jsdom@19.0.0", @@ -139,10 +132,10 @@ "ref": "pkg:npm/express@4.18.2", "dependsOn": [] }, - { - "ref": "pkg:npm/jsdom@19.0.0", - "dependsOn": [] - }, + { + "ref": "pkg:npm/jsdom@19.0.0", + "dependsOn": [] + }, { "ref": "pkg:npm/jsonwebtoken@8.5.1", "dependsOn": [] diff --git a/test/providers/tst_manifests/maven/pom_deps_with_ignore_on_artifact/component_analysis_expected_sbom.json b/test/providers/tst_manifests/maven/pom_deps_with_ignore_on_artifact/component_analysis_expected_sbom.json index 23027793..d3d1350f 100644 --- a/test/providers/tst_manifests/maven/pom_deps_with_ignore_on_artifact/component_analysis_expected_sbom.json +++ b/test/providers/tst_manifests/maven/pom_deps_with_ignore_on_artifact/component_analysis_expected_sbom.json @@ -13,15 +13,6 @@ "bom-ref": "pkg:maven/pom-with-deps-and-ignore/pom-with-dependency-not-ignored-for-tests@0.0.1" } }, - "components": [ - { - "group": "pom-with-deps-and-ignore", - "name": "pom-with-dependency-not-ignored-for-tests", - "version": "0.0.1", - "purl": "pkg:maven/pom-with-deps-and-ignore/pom-with-dependency-not-ignored-for-tests@0.0.1", - "type": "application", - "bom-ref": "pkg:maven/pom-with-deps-and-ignore/pom-with-dependency-not-ignored-for-tests@0.0.1" - } - ], + "components": [], "dependencies": [] } diff --git a/test/providers/tst_manifests/maven/pom_deps_with_ignore_on_artifact/stack_analysis_expected_sbom.json b/test/providers/tst_manifests/maven/pom_deps_with_ignore_on_artifact/stack_analysis_expected_sbom.json index b352fac2..52db3a8e 100644 --- a/test/providers/tst_manifests/maven/pom_deps_with_ignore_on_artifact/stack_analysis_expected_sbom.json +++ b/test/providers/tst_manifests/maven/pom_deps_with_ignore_on_artifact/stack_analysis_expected_sbom.json @@ -13,15 +13,6 @@ "bom-ref": "pkg:maven/pom-with-deps-and-ignore/pom-with-dependency-not-ignored-for-tests@0.0.1" } }, - "components": [ - { - "group": "pom-with-deps-and-ignore", - "name": "pom-with-dependency-not-ignored-for-tests", - "version": "0.0.1", - "purl": "pkg:maven/pom-with-deps-and-ignore/pom-with-dependency-not-ignored-for-tests@0.0.1", - "type": "application", - "bom-ref": "pkg:maven/pom-with-deps-and-ignore/pom-with-dependency-not-ignored-for-tests@0.0.1" - } - ], + "components": [], "dependencies": [] } diff --git a/test/providers/tst_manifests/maven/pom_deps_with_ignore_on_dependency/component_analysis_expected_sbom.json b/test/providers/tst_manifests/maven/pom_deps_with_ignore_on_dependency/component_analysis_expected_sbom.json index 23027793..d3d1350f 100644 --- a/test/providers/tst_manifests/maven/pom_deps_with_ignore_on_dependency/component_analysis_expected_sbom.json +++ b/test/providers/tst_manifests/maven/pom_deps_with_ignore_on_dependency/component_analysis_expected_sbom.json @@ -13,15 +13,6 @@ "bom-ref": "pkg:maven/pom-with-deps-and-ignore/pom-with-dependency-not-ignored-for-tests@0.0.1" } }, - "components": [ - { - "group": "pom-with-deps-and-ignore", - "name": "pom-with-dependency-not-ignored-for-tests", - "version": "0.0.1", - "purl": "pkg:maven/pom-with-deps-and-ignore/pom-with-dependency-not-ignored-for-tests@0.0.1", - "type": "application", - "bom-ref": "pkg:maven/pom-with-deps-and-ignore/pom-with-dependency-not-ignored-for-tests@0.0.1" - } - ], + "components": [], "dependencies": [] } diff --git a/test/providers/tst_manifests/maven/pom_deps_with_ignore_on_dependency/stack_analysis_expected_sbom.json b/test/providers/tst_manifests/maven/pom_deps_with_ignore_on_dependency/stack_analysis_expected_sbom.json index b352fac2..52db3a8e 100644 --- a/test/providers/tst_manifests/maven/pom_deps_with_ignore_on_dependency/stack_analysis_expected_sbom.json +++ b/test/providers/tst_manifests/maven/pom_deps_with_ignore_on_dependency/stack_analysis_expected_sbom.json @@ -13,15 +13,6 @@ "bom-ref": "pkg:maven/pom-with-deps-and-ignore/pom-with-dependency-not-ignored-for-tests@0.0.1" } }, - "components": [ - { - "group": "pom-with-deps-and-ignore", - "name": "pom-with-dependency-not-ignored-for-tests", - "version": "0.0.1", - "purl": "pkg:maven/pom-with-deps-and-ignore/pom-with-dependency-not-ignored-for-tests@0.0.1", - "type": "application", - "bom-ref": "pkg:maven/pom-with-deps-and-ignore/pom-with-dependency-not-ignored-for-tests@0.0.1" - } - ], + "components": [], "dependencies": [] } diff --git a/test/providers/tst_manifests/maven/pom_deps_with_ignore_on_group/component_analysis_expected_sbom.json b/test/providers/tst_manifests/maven/pom_deps_with_ignore_on_group/component_analysis_expected_sbom.json index 23027793..d3d1350f 100644 --- a/test/providers/tst_manifests/maven/pom_deps_with_ignore_on_group/component_analysis_expected_sbom.json +++ b/test/providers/tst_manifests/maven/pom_deps_with_ignore_on_group/component_analysis_expected_sbom.json @@ -13,15 +13,6 @@ "bom-ref": "pkg:maven/pom-with-deps-and-ignore/pom-with-dependency-not-ignored-for-tests@0.0.1" } }, - "components": [ - { - "group": "pom-with-deps-and-ignore", - "name": "pom-with-dependency-not-ignored-for-tests", - "version": "0.0.1", - "purl": "pkg:maven/pom-with-deps-and-ignore/pom-with-dependency-not-ignored-for-tests@0.0.1", - "type": "application", - "bom-ref": "pkg:maven/pom-with-deps-and-ignore/pom-with-dependency-not-ignored-for-tests@0.0.1" - } - ], + "components": [], "dependencies": [] } diff --git a/test/providers/tst_manifests/maven/pom_deps_with_ignore_on_group/stack_analysis_expected_sbom.json b/test/providers/tst_manifests/maven/pom_deps_with_ignore_on_group/stack_analysis_expected_sbom.json index b352fac2..52db3a8e 100644 --- a/test/providers/tst_manifests/maven/pom_deps_with_ignore_on_group/stack_analysis_expected_sbom.json +++ b/test/providers/tst_manifests/maven/pom_deps_with_ignore_on_group/stack_analysis_expected_sbom.json @@ -13,15 +13,6 @@ "bom-ref": "pkg:maven/pom-with-deps-and-ignore/pom-with-dependency-not-ignored-for-tests@0.0.1" } }, - "components": [ - { - "group": "pom-with-deps-and-ignore", - "name": "pom-with-dependency-not-ignored-for-tests", - "version": "0.0.1", - "purl": "pkg:maven/pom-with-deps-and-ignore/pom-with-dependency-not-ignored-for-tests@0.0.1", - "type": "application", - "bom-ref": "pkg:maven/pom-with-deps-and-ignore/pom-with-dependency-not-ignored-for-tests@0.0.1" - } - ], + "components": [], "dependencies": [] } diff --git a/test/providers/tst_manifests/maven/pom_deps_with_ignore_on_version/component_analysis_expected_sbom.json b/test/providers/tst_manifests/maven/pom_deps_with_ignore_on_version/component_analysis_expected_sbom.json index 23027793..d3d1350f 100644 --- a/test/providers/tst_manifests/maven/pom_deps_with_ignore_on_version/component_analysis_expected_sbom.json +++ b/test/providers/tst_manifests/maven/pom_deps_with_ignore_on_version/component_analysis_expected_sbom.json @@ -13,15 +13,6 @@ "bom-ref": "pkg:maven/pom-with-deps-and-ignore/pom-with-dependency-not-ignored-for-tests@0.0.1" } }, - "components": [ - { - "group": "pom-with-deps-and-ignore", - "name": "pom-with-dependency-not-ignored-for-tests", - "version": "0.0.1", - "purl": "pkg:maven/pom-with-deps-and-ignore/pom-with-dependency-not-ignored-for-tests@0.0.1", - "type": "application", - "bom-ref": "pkg:maven/pom-with-deps-and-ignore/pom-with-dependency-not-ignored-for-tests@0.0.1" - } - ], + "components": [], "dependencies": [] } diff --git a/test/providers/tst_manifests/maven/pom_deps_with_ignore_on_version/stack_analysis_expected_sbom.json b/test/providers/tst_manifests/maven/pom_deps_with_ignore_on_version/stack_analysis_expected_sbom.json index b352fac2..52db3a8e 100644 --- a/test/providers/tst_manifests/maven/pom_deps_with_ignore_on_version/stack_analysis_expected_sbom.json +++ b/test/providers/tst_manifests/maven/pom_deps_with_ignore_on_version/stack_analysis_expected_sbom.json @@ -13,15 +13,6 @@ "bom-ref": "pkg:maven/pom-with-deps-and-ignore/pom-with-dependency-not-ignored-for-tests@0.0.1" } }, - "components": [ - { - "group": "pom-with-deps-and-ignore", - "name": "pom-with-dependency-not-ignored-for-tests", - "version": "0.0.1", - "purl": "pkg:maven/pom-with-deps-and-ignore/pom-with-dependency-not-ignored-for-tests@0.0.1", - "type": "application", - "bom-ref": "pkg:maven/pom-with-deps-and-ignore/pom-with-dependency-not-ignored-for-tests@0.0.1" - } - ], + "components": [], "dependencies": [] } diff --git a/test/providers/tst_manifests/maven/pom_deps_with_ignore_on_wrong/component_analysis_expected_sbom.json b/test/providers/tst_manifests/maven/pom_deps_with_ignore_on_wrong/component_analysis_expected_sbom.json index bb128b4d..4d5a6e9a 100644 --- a/test/providers/tst_manifests/maven/pom_deps_with_ignore_on_wrong/component_analysis_expected_sbom.json +++ b/test/providers/tst_manifests/maven/pom_deps_with_ignore_on_wrong/component_analysis_expected_sbom.json @@ -14,14 +14,6 @@ } }, "components": [ - { - "group": "pom-with-deps-no-ignore", - "name": "pom-with-dependency-not-ignored-for-tests", - "version": "0.0.1", - "purl": "pkg:maven/pom-with-deps-no-ignore/pom-with-dependency-not-ignored-for-tests@0.0.1", - "type": "application", - "bom-ref": "pkg:maven/pom-with-deps-no-ignore/pom-with-dependency-not-ignored-for-tests@0.0.1" - }, { "group": "log4j", "name": "log4j", diff --git a/test/providers/tst_manifests/maven/pom_deps_with_ignore_on_wrong/stack_analysis_expected_sbom.json b/test/providers/tst_manifests/maven/pom_deps_with_ignore_on_wrong/stack_analysis_expected_sbom.json index bb128b4d..4d5a6e9a 100644 --- a/test/providers/tst_manifests/maven/pom_deps_with_ignore_on_wrong/stack_analysis_expected_sbom.json +++ b/test/providers/tst_manifests/maven/pom_deps_with_ignore_on_wrong/stack_analysis_expected_sbom.json @@ -14,14 +14,6 @@ } }, "components": [ - { - "group": "pom-with-deps-no-ignore", - "name": "pom-with-dependency-not-ignored-for-tests", - "version": "0.0.1", - "purl": "pkg:maven/pom-with-deps-no-ignore/pom-with-dependency-not-ignored-for-tests@0.0.1", - "type": "application", - "bom-ref": "pkg:maven/pom-with-deps-no-ignore/pom-with-dependency-not-ignored-for-tests@0.0.1" - }, { "group": "log4j", "name": "log4j", diff --git a/test/providers/tst_manifests/maven/pom_deps_with_ignore_version_from_property/component_analysis_expected_sbom.json b/test/providers/tst_manifests/maven/pom_deps_with_ignore_version_from_property/component_analysis_expected_sbom.json index 915610fc..737f578b 100644 --- a/test/providers/tst_manifests/maven/pom_deps_with_ignore_version_from_property/component_analysis_expected_sbom.json +++ b/test/providers/tst_manifests/maven/pom_deps_with_ignore_version_from_property/component_analysis_expected_sbom.json @@ -10,18 +10,17 @@ "version": "0.0.1", "purl": "pkg:maven/pom-with-deps-and-ignore/pom-with-dependency-not-ignored-for-tests@0.0.1", "type": "application", - "bom-ref": "pkg:maven/pom-with-deps-and-ignore/pom-with-dependency-not-ignored-for-tests@0.0.1" + "bom-ref": "pkg:maven/pom-with-deps-and-ignore/pom-with-dependency-not-ignored-for-tests@0.0.1", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ] } }, "components": [ - { - "group": "pom-with-deps-and-ignore", - "name": "pom-with-dependency-not-ignored-for-tests", - "version": "0.0.1", - "purl": "pkg:maven/pom-with-deps-and-ignore/pom-with-dependency-not-ignored-for-tests@0.0.1", - "type": "application", - "bom-ref": "pkg:maven/pom-with-deps-and-ignore/pom-with-dependency-not-ignored-for-tests@0.0.1" - }, { "group": "org.bouncycastle", "name": "bcprov-jdk18on", diff --git a/test/providers/tst_manifests/maven/pom_deps_with_ignore_version_from_property/pom.xml b/test/providers/tst_manifests/maven/pom_deps_with_ignore_version_from_property/pom.xml index ad641fdb..6af16633 100644 --- a/test/providers/tst_manifests/maven/pom_deps_with_ignore_version_from_property/pom.xml +++ b/test/providers/tst_manifests/maven/pom_deps_with_ignore_version_from_property/pom.xml @@ -6,7 +6,16 @@ pom-with-deps-and-ignore pom-with-dependency-not-ignored-for-tests 0.0.1 - + + + + + Apache-2.0 + https://www.apache.org/licenses/LICENSE-2.0 + repo + Apache License, Version 2.0 + + 1.2.17 diff --git a/test/providers/tst_manifests/maven/pom_deps_with_ignore_version_from_property/stack_analysis_expected_sbom.json b/test/providers/tst_manifests/maven/pom_deps_with_ignore_version_from_property/stack_analysis_expected_sbom.json index 72759f37..737f578b 100644 --- a/test/providers/tst_manifests/maven/pom_deps_with_ignore_version_from_property/stack_analysis_expected_sbom.json +++ b/test/providers/tst_manifests/maven/pom_deps_with_ignore_version_from_property/stack_analysis_expected_sbom.json @@ -10,18 +10,17 @@ "version": "0.0.1", "purl": "pkg:maven/pom-with-deps-and-ignore/pom-with-dependency-not-ignored-for-tests@0.0.1", "type": "application", - "bom-ref": "pkg:maven/pom-with-deps-and-ignore/pom-with-dependency-not-ignored-for-tests@0.0.1" + "bom-ref": "pkg:maven/pom-with-deps-and-ignore/pom-with-dependency-not-ignored-for-tests@0.0.1", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ] } }, "components": [ - { - "group": "pom-with-deps-and-ignore", - "name": "pom-with-dependency-not-ignored-for-tests", - "version": "0.0.1", - "purl": "pkg:maven/pom-with-deps-and-ignore/pom-with-dependency-not-ignored-for-tests@0.0.1", - "type": "application", - "bom-ref": "pkg:maven/pom-with-deps-and-ignore/pom-with-dependency-not-ignored-for-tests@0.0.1" - }, { "group": "org.bouncycastle", "name": "bcprov-jdk18on", @@ -43,4 +42,4 @@ "dependsOn": [] } ] -} \ No newline at end of file +} diff --git a/test/providers/tst_manifests/maven/pom_deps_with_no_ignore/component_analysis_expected_sbom.json b/test/providers/tst_manifests/maven/pom_deps_with_no_ignore/component_analysis_expected_sbom.json index bb128b4d..4d5a6e9a 100644 --- a/test/providers/tst_manifests/maven/pom_deps_with_no_ignore/component_analysis_expected_sbom.json +++ b/test/providers/tst_manifests/maven/pom_deps_with_no_ignore/component_analysis_expected_sbom.json @@ -14,14 +14,6 @@ } }, "components": [ - { - "group": "pom-with-deps-no-ignore", - "name": "pom-with-dependency-not-ignored-for-tests", - "version": "0.0.1", - "purl": "pkg:maven/pom-with-deps-no-ignore/pom-with-dependency-not-ignored-for-tests@0.0.1", - "type": "application", - "bom-ref": "pkg:maven/pom-with-deps-no-ignore/pom-with-dependency-not-ignored-for-tests@0.0.1" - }, { "group": "log4j", "name": "log4j", diff --git a/test/providers/tst_manifests/maven/pom_deps_with_no_ignore/stack_analysis_expected_sbom.json b/test/providers/tst_manifests/maven/pom_deps_with_no_ignore/stack_analysis_expected_sbom.json index bb128b4d..4d5a6e9a 100644 --- a/test/providers/tst_manifests/maven/pom_deps_with_no_ignore/stack_analysis_expected_sbom.json +++ b/test/providers/tst_manifests/maven/pom_deps_with_no_ignore/stack_analysis_expected_sbom.json @@ -14,14 +14,6 @@ } }, "components": [ - { - "group": "pom-with-deps-no-ignore", - "name": "pom-with-dependency-not-ignored-for-tests", - "version": "0.0.1", - "purl": "pkg:maven/pom-with-deps-no-ignore/pom-with-dependency-not-ignored-for-tests@0.0.1", - "type": "application", - "bom-ref": "pkg:maven/pom-with-deps-no-ignore/pom-with-dependency-not-ignored-for-tests@0.0.1" - }, { "group": "log4j", "name": "log4j", diff --git a/test/providers/tst_manifests/maven/pom_deps_with_no_ignore_common_paths/component_analysis_expected_sbom.json b/test/providers/tst_manifests/maven/pom_deps_with_no_ignore_common_paths/component_analysis_expected_sbom.json index 5fbcdd37..8252726f 100644 --- a/test/providers/tst_manifests/maven/pom_deps_with_no_ignore_common_paths/component_analysis_expected_sbom.json +++ b/test/providers/tst_manifests/maven/pom_deps_with_no_ignore_common_paths/component_analysis_expected_sbom.json @@ -14,14 +14,6 @@ } }, "components": [ - { - "group": "pom-with-deps-no-ignore", - "name": "pom-with-dependency-not-ignored-common-paths", - "version": "0.0.1", - "purl": "pkg:maven/pom-with-deps-no-ignore/pom-with-dependency-not-ignored-common-paths@0.0.1", - "type": "application", - "bom-ref": "pkg:maven/pom-with-deps-no-ignore/pom-with-dependency-not-ignored-common-paths@0.0.1" - }, { "group": "org.springframework.boot", "name": "spring-boot-starter", diff --git a/test/providers/tst_manifests/maven/pom_deps_with_no_ignore_common_paths/stack_analysis_expected_sbom.json b/test/providers/tst_manifests/maven/pom_deps_with_no_ignore_common_paths/stack_analysis_expected_sbom.json index aba67c67..dce561dc 100644 --- a/test/providers/tst_manifests/maven/pom_deps_with_no_ignore_common_paths/stack_analysis_expected_sbom.json +++ b/test/providers/tst_manifests/maven/pom_deps_with_no_ignore_common_paths/stack_analysis_expected_sbom.json @@ -14,14 +14,6 @@ } }, "components": [ - { - "group": "pom-with-deps-no-ignore", - "name": "pom-with-dependency-not-ignored-common-paths", - "version": "0.0.1", - "purl": "pkg:maven/pom-with-deps-no-ignore/pom-with-dependency-not-ignored-common-paths@0.0.1", - "type": "application", - "bom-ref": "pkg:maven/pom-with-deps-no-ignore/pom-with-dependency-not-ignored-common-paths@0.0.1" - }, { "group": "org.springframework.boot", "name": "spring-boot-starter", diff --git a/test/providers/tst_manifests/maven/pom_with_multiple_modules/component_analysis_expected_sbom.json b/test/providers/tst_manifests/maven/pom_with_multiple_modules/component_analysis_expected_sbom.json index 595b410b..86798f3c 100644 --- a/test/providers/tst_manifests/maven/pom_with_multiple_modules/component_analysis_expected_sbom.json +++ b/test/providers/tst_manifests/maven/pom_with_multiple_modules/component_analysis_expected_sbom.json @@ -14,14 +14,6 @@ } }, "components": [ - { - "group": "org.example", - "name": "root-example", - "version": "1.0-SNAPSHOT", - "purl": "pkg:maven/org.example/root-example@1.0-SNAPSHOT", - "type": "application", - "bom-ref": "pkg:maven/org.example/root-example@1.0-SNAPSHOT" - }, { "group": "commons-io", "name": "commons-io", diff --git a/test/providers/tst_manifests/maven/pom_with_one_module/component_analysis_expected_sbom.json b/test/providers/tst_manifests/maven/pom_with_one_module/component_analysis_expected_sbom.json index 5e85b63b..9b49c76b 100644 --- a/test/providers/tst_manifests/maven/pom_with_one_module/component_analysis_expected_sbom.json +++ b/test/providers/tst_manifests/maven/pom_with_one_module/component_analysis_expected_sbom.json @@ -14,14 +14,6 @@ } }, "components": [ - { - "group": "org.zgrinber.tracing", - "name": "tracing-parent", - "version": "1", - "purl": "pkg:maven/org.zgrinber.tracing/tracing-parent@1", - "type": "application", - "bom-ref": "pkg:maven/org.zgrinber.tracing/tracing-parent@1" - }, { "group": "com.fasterxml.jackson.core", "name": "jackson-databind", diff --git a/test/providers/tst_manifests/maven/poms_deps_with_2_ignore_long/component_analysis_expected_sbom.json b/test/providers/tst_manifests/maven/poms_deps_with_2_ignore_long/component_analysis_expected_sbom.json index 12776a1e..f5ee9fed 100644 --- a/test/providers/tst_manifests/maven/poms_deps_with_2_ignore_long/component_analysis_expected_sbom.json +++ b/test/providers/tst_manifests/maven/poms_deps_with_2_ignore_long/component_analysis_expected_sbom.json @@ -14,14 +14,6 @@ } }, "components": [ - { - "group": "com.example", - "name": "demo", - "version": "0.0.1-SNAPSHOT", - "purl": "pkg:maven/com.example/demo@0.0.1-SNAPSHOT", - "type": "application", - "bom-ref": "pkg:maven/com.example/demo@0.0.1-SNAPSHOT" - }, { "group": "org.springframework.boot", "name": "spring-boot-starter", diff --git a/test/providers/tst_manifests/maven/poms_deps_with_2_ignore_long/stack_analysis_expected_sbom.json b/test/providers/tst_manifests/maven/poms_deps_with_2_ignore_long/stack_analysis_expected_sbom.json index aafb08d9..6ea36932 100644 --- a/test/providers/tst_manifests/maven/poms_deps_with_2_ignore_long/stack_analysis_expected_sbom.json +++ b/test/providers/tst_manifests/maven/poms_deps_with_2_ignore_long/stack_analysis_expected_sbom.json @@ -14,14 +14,6 @@ } }, "components": [ - { - "group": "com.example", - "name": "demo", - "version": "0.0.1-SNAPSHOT", - "purl": "pkg:maven/com.example/demo@0.0.1-SNAPSHOT", - "type": "application", - "bom-ref": "pkg:maven/com.example/demo@0.0.1-SNAPSHOT" - }, { "group": "org.springframework.boot", "name": "spring-boot-starter", @@ -1908,4 +1900,4 @@ "dependsOn": [] } ] -} \ No newline at end of file +} diff --git a/test/providers/tst_manifests/maven/poms_deps_with_ignore_long/component_analysis_expected_sbom.json b/test/providers/tst_manifests/maven/poms_deps_with_ignore_long/component_analysis_expected_sbom.json index 7d390e88..bebbedf7 100644 --- a/test/providers/tst_manifests/maven/poms_deps_with_ignore_long/component_analysis_expected_sbom.json +++ b/test/providers/tst_manifests/maven/poms_deps_with_ignore_long/component_analysis_expected_sbom.json @@ -14,14 +14,6 @@ } }, "components": [ - { - "group": "com.redhat.examples", - "name": "custom-metrics-demo", - "version": "0.0.1-SNAPSHOT", - "purl": "pkg:maven/com.redhat.examples/custom-metrics-demo@0.0.1-SNAPSHOT", - "type": "application", - "bom-ref": "pkg:maven/com.redhat.examples/custom-metrics-demo@0.0.1-SNAPSHOT" - }, { "group": "org.springframework.boot", "name": "spring-boot-starter-actuator", diff --git a/test/providers/tst_manifests/maven/poms_deps_with_ignore_long/stack_analysis_expected_sbom.json b/test/providers/tst_manifests/maven/poms_deps_with_ignore_long/stack_analysis_expected_sbom.json index ebc27adf..e85e2477 100644 --- a/test/providers/tst_manifests/maven/poms_deps_with_ignore_long/stack_analysis_expected_sbom.json +++ b/test/providers/tst_manifests/maven/poms_deps_with_ignore_long/stack_analysis_expected_sbom.json @@ -14,14 +14,6 @@ } }, "components": [ - { - "group": "com.redhat.examples", - "name": "custom-metrics-demo", - "version": "0.0.1-SNAPSHOT", - "purl": "pkg:maven/com.redhat.examples/custom-metrics-demo@0.0.1-SNAPSHOT", - "type": "application", - "bom-ref": "pkg:maven/com.redhat.examples/custom-metrics-demo@0.0.1-SNAPSHOT" - }, { "group": "org.springframework.boot", "name": "spring-boot-starter-actuator", diff --git a/test/providers/tst_manifests/maven/poms_deps_with_no_ignore_long/component_analysis_expected_sbom.json b/test/providers/tst_manifests/maven/poms_deps_with_no_ignore_long/component_analysis_expected_sbom.json index a60e6fc2..cff34ed5 100644 --- a/test/providers/tst_manifests/maven/poms_deps_with_no_ignore_long/component_analysis_expected_sbom.json +++ b/test/providers/tst_manifests/maven/poms_deps_with_no_ignore_long/component_analysis_expected_sbom.json @@ -14,14 +14,6 @@ } }, "components": [ - { - "group": "com.redhat.examples", - "name": "custom-metrics-demo", - "version": "0.0.1-SNAPSHOT", - "purl": "pkg:maven/com.redhat.examples/custom-metrics-demo@0.0.1-SNAPSHOT", - "type": "application", - "bom-ref": "pkg:maven/com.redhat.examples/custom-metrics-demo@0.0.1-SNAPSHOT" - }, { "group": "org.springframework.boot", "name": "spring-boot-starter-actuator", diff --git a/test/providers/tst_manifests/maven/poms_deps_with_no_ignore_long/stack_analysis_expected_sbom.json b/test/providers/tst_manifests/maven/poms_deps_with_no_ignore_long/stack_analysis_expected_sbom.json index 848d40a0..8a7fa169 100644 --- a/test/providers/tst_manifests/maven/poms_deps_with_no_ignore_long/stack_analysis_expected_sbom.json +++ b/test/providers/tst_manifests/maven/poms_deps_with_no_ignore_long/stack_analysis_expected_sbom.json @@ -14,14 +14,6 @@ } }, "components": [ - { - "group": "com.redhat.examples", - "name": "custom-metrics-demo", - "version": "0.0.1-SNAPSHOT", - "purl": "pkg:maven/com.redhat.examples/custom-metrics-demo@0.0.1-SNAPSHOT", - "type": "application", - "bom-ref": "pkg:maven/com.redhat.examples/custom-metrics-demo@0.0.1-SNAPSHOT" - }, { "group": "org.springframework.boot", "name": "spring-boot-starter-actuator", diff --git a/test/providers/tst_manifests/npm/package_json_deps_with_exhortignore_object/stack_expected_sbom.json b/test/providers/tst_manifests/npm/package_json_deps_with_exhortignore_object/stack_expected_sbom.json index 5cbb1ca4..73316509 100644 --- a/test/providers/tst_manifests/npm/package_json_deps_with_exhortignore_object/stack_expected_sbom.json +++ b/test/providers/tst_manifests/npm/package_json_deps_with_exhortignore_object/stack_expected_sbom.json @@ -13,13 +13,6 @@ } }, "components": [ - { - "name": "backend", - "version": "1.0.0", - "purl": "pkg:npm/backend@1.0.0", - "type": "application", - "bom-ref": "pkg:npm/backend@1.0.0" - }, { "group": "@hapi", "name": "joi", @@ -2530,4 +2523,4 @@ "dependsOn": [] } ] -} \ No newline at end of file +} diff --git a/test/providers/tst_manifests/npm/package_json_deps_with_mixed_dep_types/listing_component.json b/test/providers/tst_manifests/npm/package_json_deps_with_mixed_dep_types/listing_component.json new file mode 100644 index 00000000..2a4ce931 --- /dev/null +++ b/test/providers/tst_manifests/npm/package_json_deps_with_mixed_dep_types/listing_component.json @@ -0,0 +1,26 @@ +{ + "version": "1.0.0", + "name": "mixed-deps-test", + "dependencies": { + "express": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "overridden": false + }, + "axios": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.0.tgz", + "overridden": false + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "overridden": false + }, + "lodash": { + "version": "4.17.19", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz", + "overridden": false + } + } +} diff --git a/test/providers/tst_manifests/npm/package_json_deps_with_mixed_dep_types/listing_stack.json b/test/providers/tst_manifests/npm/package_json_deps_with_mixed_dep_types/listing_stack.json new file mode 100644 index 00000000..94c6ee69 --- /dev/null +++ b/test/providers/tst_manifests/npm/package_json_deps_with_mixed_dep_types/listing_stack.json @@ -0,0 +1,40 @@ +{ + "version": "1.0.0", + "name": "mixed-deps-test", + "dependencies": { + "express": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "overridden": false, + "dependencies": { + "body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "overridden": false + } + } + }, + "axios": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.0.tgz", + "overridden": false, + "dependencies": { + "follow-redirects": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", + "overridden": false + } + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "overridden": false + }, + "lodash": { + "version": "4.17.19", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz", + "overridden": false + } + } +} diff --git a/test/providers/tst_manifests/npm/package_json_deps_with_mixed_dep_types/package-lock.json b/test/providers/tst_manifests/npm/package_json_deps_with_mixed_dep_types/package-lock.json new file mode 100644 index 00000000..6c6813fe --- /dev/null +++ b/test/providers/tst_manifests/npm/package_json_deps_with_mixed_dep_types/package-lock.json @@ -0,0 +1,5 @@ +{ + "name": "mixed-deps-test", + "version": "1.0.0", + "lockfileVersion": 3 +} diff --git a/test/providers/tst_manifests/npm/package_json_deps_with_mixed_dep_types/package.json b/test/providers/tst_manifests/npm/package_json_deps_with_mixed_dep_types/package.json new file mode 100644 index 00000000..eb16da72 --- /dev/null +++ b/test/providers/tst_manifests/npm/package_json_deps_with_mixed_dep_types/package.json @@ -0,0 +1,21 @@ +{ + "name": "mixed-deps-test", + "version": "1.0.0", + "dependencies": { + "express": "4.17.1", + "axios": "0.19.0" + }, + "peerDependencies": { + "minimist": "1.2.0" + }, + "optionalDependencies": { + "lodash": "4.17.19" + }, + "bundledDependencies": [ + "express" + ], + "devDependencies": { + "jest": "26.0.0", + "eslint": "7.0.0" + } +} diff --git a/test/providers/tst_manifests/npm/package_json_deps_with_mixed_dep_types/stack_expected_sbom.json b/test/providers/tst_manifests/npm/package_json_deps_with_mixed_dep_types/stack_expected_sbom.json new file mode 100644 index 00000000..a3c9274a --- /dev/null +++ b/test/providers/tst_manifests/npm/package_json_deps_with_mixed_dep_types/stack_expected_sbom.json @@ -0,0 +1,98 @@ +{ + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-08-07T00:00:00.000Z", + "component": { + "name": "mixed-deps-test", + "version": "1.0.0", + "purl": "pkg:npm/mixed-deps-test@1.0.0", + "type": "application", + "bom-ref": "pkg:npm/mixed-deps-test@1.0.0" + } + }, + "components": [ + { + "name": "express", + "version": "4.17.1", + "purl": "pkg:npm/express@4.17.1", + "type": "library", + "bom-ref": "pkg:npm/express@4.17.1" + }, + { + "name": "body-parser", + "version": "1.19.0", + "purl": "pkg:npm/body-parser@1.19.0", + "type": "library", + "bom-ref": "pkg:npm/body-parser@1.19.0" + }, + { + "name": "axios", + "version": "0.19.0", + "purl": "pkg:npm/axios@0.19.0", + "type": "library", + "bom-ref": "pkg:npm/axios@0.19.0" + }, + { + "name": "follow-redirects", + "version": "1.5.10", + "purl": "pkg:npm/follow-redirects@1.5.10", + "type": "library", + "bom-ref": "pkg:npm/follow-redirects@1.5.10" + }, + { + "name": "minimist", + "version": "1.2.0", + "purl": "pkg:npm/minimist@1.2.0", + "type": "library", + "bom-ref": "pkg:npm/minimist@1.2.0" + }, + { + "name": "lodash", + "version": "4.17.19", + "purl": "pkg:npm/lodash@4.17.19", + "type": "library", + "bom-ref": "pkg:npm/lodash@4.17.19" + } + ], + "dependencies": [ + { + "ref": "pkg:npm/mixed-deps-test@1.0.0", + "dependsOn": [ + "pkg:npm/express@4.17.1", + "pkg:npm/axios@0.19.0", + "pkg:npm/minimist@1.2.0", + "pkg:npm/lodash@4.17.19" + ] + }, + { + "ref": "pkg:npm/express@4.17.1", + "dependsOn": [ + "pkg:npm/body-parser@1.19.0" + ] + }, + { + "ref": "pkg:npm/body-parser@1.19.0", + "dependsOn": [] + }, + { + "ref": "pkg:npm/axios@0.19.0", + "dependsOn": [ + "pkg:npm/follow-redirects@1.5.10" + ] + }, + { + "ref": "pkg:npm/follow-redirects@1.5.10", + "dependsOn": [] + }, + { + "ref": "pkg:npm/minimist@1.2.0", + "dependsOn": [] + }, + { + "ref": "pkg:npm/lodash@4.17.19", + "dependsOn": [] + } + ] +} diff --git a/test/providers/tst_manifests/npm/package_json_deps_without_exhortignore_object/package-lock.json b/test/providers/tst_manifests/npm/package_json_deps_without_exhortignore_object/package-lock.json index 869eddb4..c33f65e2 100644 --- a/test/providers/tst_manifests/npm/package_json_deps_without_exhortignore_object/package-lock.json +++ b/test/providers/tst_manifests/npm/package_json_deps_without_exhortignore_object/package-lock.json @@ -15,6 +15,7 @@ "bcryptjs": "^2.4.3", "dotenv": "^8.2.0", "express": "^4.17.1", + "jsdom": "^19.0.0", "jsonwebtoken": "^8.5.1", "mongoose": "^5.9.18", "nodemon": "^2.0.4" @@ -66,6 +67,15 @@ "@hapi/hoek": "^9.0.0" } }, + "node_modules/@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, "node_modules/@types/bson": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/@types/bson/-/bson-4.0.5.tgz", @@ -88,6 +98,13 @@ "resolved": "https://registry.npmjs.org/@types/node/-/node-20.4.8.tgz", "integrity": "sha512-0mHckf6D2DiIAzh8fM8f3HQCvMKDpK94YQ0DSVkfWTG9BZleYIWudw9cJxX8oCk9bM+vAkDyujDV6dmKHbvQpg==" }, + "node_modules/abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "deprecated": "Use your platform's native atob() and btoa() methods instead", + "license": "BSD-3-Clause" + }, "node_modules/abbrev": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", @@ -105,6 +122,84 @@ "node": ">= 0.6" } }, + "node_modules/acorn": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", + "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "license": "MIT", + "dependencies": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "node_modules/acorn-globals/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "license": "MIT", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/agent-base/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/agent-base/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, "node_modules/anymatch": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", @@ -122,6 +217,12 @@ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" + }, "node_modules/axios": { "version": "0.19.2", "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz", @@ -211,6 +312,12 @@ "node": ">=8" } }, + "node_modules/browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", + "license": "BSD-2-Clause" + }, "node_modules/bson": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/bson/-/bson-1.1.6.tgz", @@ -244,6 +351,19 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/chokidar": { "version": "3.5.3", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", @@ -270,6 +390,18 @@ "fsevents": "~2.3.2" } }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -312,6 +444,57 @@ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" }, + "node_modules/cssom": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", + "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==", + "license": "MIT" + }, + "node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "license": "MIT", + "dependencies": { + "cssom": "~0.3.6" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "license": "MIT" + }, + "node_modules/data-urls": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", + "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", + "license": "MIT", + "dependencies": { + "abab": "^2.0.6", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^11.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/data-urls/node_modules/whatwg-url": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", + "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", + "license": "MIT", + "dependencies": { + "tr46": "^3.0.0", + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -320,6 +503,21 @@ "ms": "2.0.0" } }, + "node_modules/decimal.js": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz", + "integrity": "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==", + "license": "MIT" + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/denque": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/denque/-/denque-1.5.1.tgz", @@ -345,6 +543,19 @@ "npm": "1.2.8000 || >= 1.4.16" } }, + "node_modules/domexception": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", + "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", + "deprecated": "Use your platform's native DOMException instead", + "license": "MIT", + "dependencies": { + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/dotenv": { "version": "8.6.0", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz", @@ -353,6 +564,20 @@ "node": ">=10" } }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/ecdsa-sig-formatter": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", @@ -374,11 +599,108 @@ "node": ">= 0.8" } }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" }, + "node_modules/escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "license": "BSD-2-Clause", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/etag": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", @@ -475,6 +797,22 @@ "ms": "2.0.0" } }, + "node_modules/form-data": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz", + "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/forwarded": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", @@ -505,24 +843,51 @@ } }, "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/glob-parent": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", @@ -534,15 +899,16 @@ "node": ">= 6" } }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dependencies": { - "function-bind": "^1.1.1" - }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", "engines": { - "node": ">= 0.4.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/has-flag": { @@ -553,10 +919,11 @@ "node": ">=4" } }, - "node_modules/has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -564,10 +931,14 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, "engines": { "node": ">= 0.4" }, @@ -575,6 +946,30 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/html-encoding-sniffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", + "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", + "license": "MIT", + "dependencies": { + "whatwg-encoding": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/http-errors": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", @@ -590,6 +985,79 @@ "node": ">= 0.8" } }, + "node_modules/http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "license": "MIT", + "dependencies": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/http-proxy-agent/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/http-proxy-agent/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "license": "MIT", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/https-proxy-agent/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/https-proxy-agent/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, "node_modules/iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -657,11 +1125,63 @@ "node": ">=0.12.0" } }, + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "license": "MIT" + }, "node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" }, + "node_modules/jsdom": { + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-19.0.0.tgz", + "integrity": "sha512-RYAyjCbxy/vri/CfnjUWJQQtZ3LKlLnDqj+9XLNnJPgEGeirZs3hllKR20re8LUZ6o1b1X4Jat+Qd26zmP41+A==", + "license": "MIT", + "dependencies": { + "abab": "^2.0.5", + "acorn": "^8.5.0", + "acorn-globals": "^6.0.0", + "cssom": "^0.5.0", + "cssstyle": "^2.3.0", + "data-urls": "^3.0.1", + "decimal.js": "^10.3.1", + "domexception": "^4.0.0", + "escodegen": "^2.0.0", + "form-data": "^4.0.0", + "html-encoding-sniffer": "^3.0.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^3.0.0", + "webidl-conversions": "^7.0.0", + "whatwg-encoding": "^2.0.0", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^10.0.0", + "ws": "^8.2.3", + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, "node_modules/jsonwebtoken": { "version": "8.5.1", "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", @@ -747,6 +1267,15 @@ "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", @@ -1016,6 +1545,12 @@ "node": ">=0.10.0" } }, + "node_modules/nwsapi": { + "version": "2.2.23", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.23.tgz", + "integrity": "sha512-7wfH4sLbt4M0gCDzGE6vzQBo0bfTKjU7Sfpqy/7gs1qBfYz2vEJH6vXcBKpO3+6Yu1telwd0t9HpyOoLEQQbIQ==", + "license": "MIT" + }, "node_modules/object-inspect": { "version": "1.12.3", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", @@ -1043,6 +1578,12 @@ "node": ">=4" } }, + "node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "license": "MIT" + }, "node_modules/parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", @@ -1084,11 +1625,32 @@ "node": ">= 0.10" } }, + "node_modules/psl": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.15.0.tgz", + "integrity": "sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==", + "license": "MIT", + "dependencies": { + "punycode": "^2.3.1" + }, + "funding": { + "url": "https://github.com/sponsors/lupomontero" + } + }, "node_modules/pstree.remy": { "version": "1.1.8", "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz", "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==" }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/qs": { "version": "6.11.0", "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", @@ -1103,6 +1665,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "license": "MIT" + }, "node_modules/range-parser": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", @@ -1168,6 +1736,12 @@ "node": ">=4" } }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "license": "MIT" + }, "node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -1204,6 +1778,18 @@ "node": ">=6" } }, + "node_modules/saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "license": "ISC", + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/semver": { "version": "5.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", @@ -1301,6 +1887,16 @@ "resolved": "https://registry.npmjs.org/sliced/-/sliced-1.0.1.tgz", "integrity": "sha512-VZBmZP8WU3sMOZm1bdgTadsQbcscK0UM8oKxKVBs4XAhUo2Xxzm/OFMGBkPusxw9xL3Uy8LrzEqGqJhclsr0yA==" }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/sparse-bitfield": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", @@ -1342,6 +1938,12 @@ "node": ">=4" } }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "license": "MIT" + }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -1372,6 +1974,33 @@ "nodetouch": "bin/nodetouch.js" } }, + "node_modules/tough-cookie": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", + "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", + "license": "BSD-3-Clause", + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tr46": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", + "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", + "license": "MIT", + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/type-is": { "version": "1.6.18", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", @@ -1389,6 +2018,15 @@ "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz", "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==" }, + "node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "license": "MIT", + "engines": { + "node": ">= 4.0.0" + } + }, "node_modules/unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", @@ -1397,6 +2035,16 @@ "node": ">= 0.8" } }, + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "license": "MIT", + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -1417,6 +2065,120 @@ "engines": { "node": ">= 0.8" } + }, + "node_modules/w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "deprecated": "Use your platform's native performance.now() and performance.timeOrigin.", + "license": "MIT", + "dependencies": { + "browser-process-hrtime": "^1.0.0" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-3.0.0.tgz", + "integrity": "sha512-3WFqGEgSXIyGhOmAFtlicJNMjEps8b1MG31NCA0/vOF9+nKMUW1ckhi9cnNHmf88Rzw5V+dwIwsm2C7X8k9aQg==", + "license": "MIT", + "dependencies": { + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-encoding": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", + "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", + "deprecated": "Use @exodus/bytes instead for a more spec-conformant and faster implementation", + "license": "MIT", + "dependencies": { + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-encoding/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/whatwg-mimetype": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", + "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-url": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-10.0.0.tgz", + "integrity": "sha512-CLxxCmdUby142H5FZzn4D8ikO1cmypvXVQktsgosNy4a4BHrDHeciBBGZhb0bNoR5/MltoCatso+vFjjGx8t0w==", + "license": "MIT", + "dependencies": { + "tr46": "^3.0.0", + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/ws": { + "version": "8.19.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.19.0.tgz", + "integrity": "sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xml-name-validator": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", + "license": "Apache-2.0", + "engines": { + "node": ">=12" + } + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "license": "MIT" } } } diff --git a/test/providers/tst_manifests/npm/package_json_deps_without_exhortignore_object/stack_expected_sbom.json b/test/providers/tst_manifests/npm/package_json_deps_without_exhortignore_object/stack_expected_sbom.json index ad479d00..f5d83d9e 100644 --- a/test/providers/tst_manifests/npm/package_json_deps_without_exhortignore_object/stack_expected_sbom.json +++ b/test/providers/tst_manifests/npm/package_json_deps_without_exhortignore_object/stack_expected_sbom.json @@ -1,1047 +1,1040 @@ { - "bomFormat" : "CycloneDX", - "specVersion" : "1.4", - "version" : 1, - "metadata" : { - "timestamp" : "2023-08-07T00:00:00.000Z", - "component" : { - "name" : "backend", - "version" : "1.0.0", - "purl" : "pkg:npm/backend@1.0.0", - "type" : "application", - "bom-ref" : "pkg:npm/backend@1.0.0" + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-08-07T00:00:00.000Z", + "component": { + "name": "backend", + "version": "1.0.0", + "purl": "pkg:npm/backend@1.0.0", + "type": "application", + "bom-ref": "pkg:npm/backend@1.0.0" } }, - "components" : [ + "components": [ { - "name" : "backend", - "version" : "1.0.0", - "purl" : "pkg:npm/backend@1.0.0", - "type" : "application", - "bom-ref" : "pkg:npm/backend@1.0.0" + "group": "@hapi", + "name": "joi", + "version": "17.1.1", + "purl": "pkg:npm/%40hapi/joi@17.1.1", + "type": "library", + "bom-ref": "pkg:npm/%40hapi/joi@17.1.1" }, { - "group" : "@hapi", - "name" : "joi", - "version" : "17.1.1", - "purl" : "pkg:npm/%40hapi/joi@17.1.1", - "type" : "library", - "bom-ref" : "pkg:npm/%40hapi/joi@17.1.1" + "group": "@hapi", + "name": "address", + "version": "4.1.0", + "purl": "pkg:npm/%40hapi/address@4.1.0", + "type": "library", + "bom-ref": "pkg:npm/%40hapi/address@4.1.0" }, { - "group" : "@hapi", - "name" : "address", - "version" : "4.1.0", - "purl" : "pkg:npm/%40hapi/address@4.1.0", - "type" : "library", - "bom-ref" : "pkg:npm/%40hapi/address@4.1.0" + "group": "@hapi", + "name": "hoek", + "version": "9.3.0", + "purl": "pkg:npm/%40hapi/hoek@9.3.0", + "type": "library", + "bom-ref": "pkg:npm/%40hapi/hoek@9.3.0" }, { - "group" : "@hapi", - "name" : "hoek", - "version" : "9.3.0", - "purl" : "pkg:npm/%40hapi/hoek@9.3.0", - "type" : "library", - "bom-ref" : "pkg:npm/%40hapi/hoek@9.3.0" + "group": "@hapi", + "name": "formula", + "version": "2.0.0", + "purl": "pkg:npm/%40hapi/formula@2.0.0", + "type": "library", + "bom-ref": "pkg:npm/%40hapi/formula@2.0.0" }, { - "group" : "@hapi", - "name" : "formula", - "version" : "2.0.0", - "purl" : "pkg:npm/%40hapi/formula@2.0.0", - "type" : "library", - "bom-ref" : "pkg:npm/%40hapi/formula@2.0.0" + "group": "@hapi", + "name": "pinpoint", + "version": "2.0.1", + "purl": "pkg:npm/%40hapi/pinpoint@2.0.1", + "type": "library", + "bom-ref": "pkg:npm/%40hapi/pinpoint@2.0.1" }, { - "group" : "@hapi", - "name" : "pinpoint", - "version" : "2.0.1", - "purl" : "pkg:npm/%40hapi/pinpoint@2.0.1", - "type" : "library", - "bom-ref" : "pkg:npm/%40hapi/pinpoint@2.0.1" + "group": "@hapi", + "name": "topo", + "version": "5.1.0", + "purl": "pkg:npm/%40hapi/topo@5.1.0", + "type": "library", + "bom-ref": "pkg:npm/%40hapi/topo@5.1.0" }, { - "group" : "@hapi", - "name" : "topo", - "version" : "5.1.0", - "purl" : "pkg:npm/%40hapi/topo@5.1.0", - "type" : "library", - "bom-ref" : "pkg:npm/%40hapi/topo@5.1.0" + "name": "axios", + "version": "0.19.2", + "purl": "pkg:npm/axios@0.19.2", + "type": "library", + "bom-ref": "pkg:npm/axios@0.19.2" }, { - "name" : "axios", - "version" : "0.19.2", - "purl" : "pkg:npm/axios@0.19.2", - "type" : "library", - "bom-ref" : "pkg:npm/axios@0.19.2" + "name": "follow-redirects", + "version": "1.5.10", + "purl": "pkg:npm/follow-redirects@1.5.10", + "type": "library", + "bom-ref": "pkg:npm/follow-redirects@1.5.10" }, { - "name" : "follow-redirects", - "version" : "1.5.10", - "purl" : "pkg:npm/follow-redirects@1.5.10", - "type" : "library", - "bom-ref" : "pkg:npm/follow-redirects@1.5.10" + "name": "debug", + "version": "3.1.0", + "purl": "pkg:npm/debug@3.1.0", + "type": "library", + "bom-ref": "pkg:npm/debug@3.1.0" }, { - "name" : "debug", - "version" : "3.1.0", - "purl" : "pkg:npm/debug@3.1.0", - "type" : "library", - "bom-ref" : "pkg:npm/debug@3.1.0" + "name": "ms", + "version": "2.0.0", + "purl": "pkg:npm/ms@2.0.0", + "type": "library", + "bom-ref": "pkg:npm/ms@2.0.0" }, { - "name" : "ms", - "version" : "2.0.0", - "purl" : "pkg:npm/ms@2.0.0", - "type" : "library", - "bom-ref" : "pkg:npm/ms@2.0.0" + "name": "backend", + "version": "0.0.0", + "purl": "pkg:npm/backend@0.0.0", + "type": "library", + "bom-ref": "pkg:npm/backend@0.0.0" }, { - "name" : "backend", - "version" : "0.0.0", - "purl" : "pkg:npm/backend@0.0.0", - "type" : "library", - "bom-ref" : "pkg:npm/backend@0.0.0" + "name": "bcryptjs", + "version": "2.4.3", + "purl": "pkg:npm/bcryptjs@2.4.3", + "type": "library", + "bom-ref": "pkg:npm/bcryptjs@2.4.3" }, { - "name" : "bcryptjs", - "version" : "2.4.3", - "purl" : "pkg:npm/bcryptjs@2.4.3", - "type" : "library", - "bom-ref" : "pkg:npm/bcryptjs@2.4.3" + "name": "dotenv", + "version": "8.6.0", + "purl": "pkg:npm/dotenv@8.6.0", + "type": "library", + "bom-ref": "pkg:npm/dotenv@8.6.0" }, { - "name" : "dotenv", - "version" : "8.6.0", - "purl" : "pkg:npm/dotenv@8.6.0", - "type" : "library", - "bom-ref" : "pkg:npm/dotenv@8.6.0" + "name": "express", + "version": "4.18.2", + "purl": "pkg:npm/express@4.18.2", + "type": "library", + "bom-ref": "pkg:npm/express@4.18.2" }, { - "name" : "express", - "version" : "4.18.2", - "purl" : "pkg:npm/express@4.18.2", - "type" : "library", - "bom-ref" : "pkg:npm/express@4.18.2" + "name": "accepts", + "version": "1.3.8", + "purl": "pkg:npm/accepts@1.3.8", + "type": "library", + "bom-ref": "pkg:npm/accepts@1.3.8" }, { - "name" : "accepts", - "version" : "1.3.8", - "purl" : "pkg:npm/accepts@1.3.8", - "type" : "library", - "bom-ref" : "pkg:npm/accepts@1.3.8" + "name": "mime-types", + "version": "2.1.35", + "purl": "pkg:npm/mime-types@2.1.35", + "type": "library", + "bom-ref": "pkg:npm/mime-types@2.1.35" }, { - "name" : "mime-types", - "version" : "2.1.35", - "purl" : "pkg:npm/mime-types@2.1.35", - "type" : "library", - "bom-ref" : "pkg:npm/mime-types@2.1.35" + "name": "mime-db", + "version": "1.52.0", + "purl": "pkg:npm/mime-db@1.52.0", + "type": "library", + "bom-ref": "pkg:npm/mime-db@1.52.0" }, { - "name" : "mime-db", - "version" : "1.52.0", - "purl" : "pkg:npm/mime-db@1.52.0", - "type" : "library", - "bom-ref" : "pkg:npm/mime-db@1.52.0" + "name": "negotiator", + "version": "0.6.3", + "purl": "pkg:npm/negotiator@0.6.3", + "type": "library", + "bom-ref": "pkg:npm/negotiator@0.6.3" }, { - "name" : "negotiator", - "version" : "0.6.3", - "purl" : "pkg:npm/negotiator@0.6.3", - "type" : "library", - "bom-ref" : "pkg:npm/negotiator@0.6.3" + "name": "array-flatten", + "version": "1.1.1", + "purl": "pkg:npm/array-flatten@1.1.1", + "type": "library", + "bom-ref": "pkg:npm/array-flatten@1.1.1" }, { - "name" : "array-flatten", - "version" : "1.1.1", - "purl" : "pkg:npm/array-flatten@1.1.1", - "type" : "library", - "bom-ref" : "pkg:npm/array-flatten@1.1.1" + "name": "body-parser", + "version": "1.20.1", + "purl": "pkg:npm/body-parser@1.20.1", + "type": "library", + "bom-ref": "pkg:npm/body-parser@1.20.1" }, { - "name" : "body-parser", - "version" : "1.20.1", - "purl" : "pkg:npm/body-parser@1.20.1", - "type" : "library", - "bom-ref" : "pkg:npm/body-parser@1.20.1" + "name": "bytes", + "version": "3.1.2", + "purl": "pkg:npm/bytes@3.1.2", + "type": "library", + "bom-ref": "pkg:npm/bytes@3.1.2" }, { - "name" : "bytes", - "version" : "3.1.2", - "purl" : "pkg:npm/bytes@3.1.2", - "type" : "library", - "bom-ref" : "pkg:npm/bytes@3.1.2" + "name": "content-type", + "version": "1.0.5", + "purl": "pkg:npm/content-type@1.0.5", + "type": "library", + "bom-ref": "pkg:npm/content-type@1.0.5" }, { - "name" : "content-type", - "version" : "1.0.5", - "purl" : "pkg:npm/content-type@1.0.5", - "type" : "library", - "bom-ref" : "pkg:npm/content-type@1.0.5" + "name": "debug", + "version": "2.6.9", + "purl": "pkg:npm/debug@2.6.9", + "type": "library", + "bom-ref": "pkg:npm/debug@2.6.9" }, { - "name" : "debug", - "version" : "2.6.9", - "purl" : "pkg:npm/debug@2.6.9", - "type" : "library", - "bom-ref" : "pkg:npm/debug@2.6.9" + "name": "depd", + "version": "2.0.0", + "purl": "pkg:npm/depd@2.0.0", + "type": "library", + "bom-ref": "pkg:npm/depd@2.0.0" }, { - "name" : "depd", - "version" : "2.0.0", - "purl" : "pkg:npm/depd@2.0.0", - "type" : "library", - "bom-ref" : "pkg:npm/depd@2.0.0" + "name": "destroy", + "version": "1.2.0", + "purl": "pkg:npm/destroy@1.2.0", + "type": "library", + "bom-ref": "pkg:npm/destroy@1.2.0" }, { - "name" : "destroy", - "version" : "1.2.0", - "purl" : "pkg:npm/destroy@1.2.0", - "type" : "library", - "bom-ref" : "pkg:npm/destroy@1.2.0" + "name": "http-errors", + "version": "2.0.0", + "purl": "pkg:npm/http-errors@2.0.0", + "type": "library", + "bom-ref": "pkg:npm/http-errors@2.0.0" }, { - "name" : "http-errors", - "version" : "2.0.0", - "purl" : "pkg:npm/http-errors@2.0.0", - "type" : "library", - "bom-ref" : "pkg:npm/http-errors@2.0.0" + "name": "iconv-lite", + "version": "0.4.24", + "purl": "pkg:npm/iconv-lite@0.4.24", + "type": "library", + "bom-ref": "pkg:npm/iconv-lite@0.4.24" }, { - "name" : "iconv-lite", - "version" : "0.4.24", - "purl" : "pkg:npm/iconv-lite@0.4.24", - "type" : "library", - "bom-ref" : "pkg:npm/iconv-lite@0.4.24" + "name": "safer-buffer", + "version": "2.1.2", + "purl": "pkg:npm/safer-buffer@2.1.2", + "type": "library", + "bom-ref": "pkg:npm/safer-buffer@2.1.2" }, { - "name" : "safer-buffer", - "version" : "2.1.2", - "purl" : "pkg:npm/safer-buffer@2.1.2", - "type" : "library", - "bom-ref" : "pkg:npm/safer-buffer@2.1.2" + "name": "on-finished", + "version": "2.4.1", + "purl": "pkg:npm/on-finished@2.4.1", + "type": "library", + "bom-ref": "pkg:npm/on-finished@2.4.1" }, { - "name" : "on-finished", - "version" : "2.4.1", - "purl" : "pkg:npm/on-finished@2.4.1", - "type" : "library", - "bom-ref" : "pkg:npm/on-finished@2.4.1" + "name": "qs", + "version": "6.11.0", + "purl": "pkg:npm/qs@6.11.0", + "type": "library", + "bom-ref": "pkg:npm/qs@6.11.0" }, { - "name" : "qs", - "version" : "6.11.0", - "purl" : "pkg:npm/qs@6.11.0", - "type" : "library", - "bom-ref" : "pkg:npm/qs@6.11.0" + "name": "raw-body", + "version": "2.5.1", + "purl": "pkg:npm/raw-body@2.5.1", + "type": "library", + "bom-ref": "pkg:npm/raw-body@2.5.1" }, { - "name" : "raw-body", - "version" : "2.5.1", - "purl" : "pkg:npm/raw-body@2.5.1", - "type" : "library", - "bom-ref" : "pkg:npm/raw-body@2.5.1" + "name": "unpipe", + "version": "1.0.0", + "purl": "pkg:npm/unpipe@1.0.0", + "type": "library", + "bom-ref": "pkg:npm/unpipe@1.0.0" }, { - "name" : "unpipe", - "version" : "1.0.0", - "purl" : "pkg:npm/unpipe@1.0.0", - "type" : "library", - "bom-ref" : "pkg:npm/unpipe@1.0.0" + "name": "type-is", + "version": "1.6.18", + "purl": "pkg:npm/type-is@1.6.18", + "type": "library", + "bom-ref": "pkg:npm/type-is@1.6.18" }, { - "name" : "type-is", - "version" : "1.6.18", - "purl" : "pkg:npm/type-is@1.6.18", - "type" : "library", - "bom-ref" : "pkg:npm/type-is@1.6.18" + "name": "content-disposition", + "version": "0.5.4", + "purl": "pkg:npm/content-disposition@0.5.4", + "type": "library", + "bom-ref": "pkg:npm/content-disposition@0.5.4" }, { - "name" : "content-disposition", - "version" : "0.5.4", - "purl" : "pkg:npm/content-disposition@0.5.4", - "type" : "library", - "bom-ref" : "pkg:npm/content-disposition@0.5.4" + "name": "safe-buffer", + "version": "5.2.1", + "purl": "pkg:npm/safe-buffer@5.2.1", + "type": "library", + "bom-ref": "pkg:npm/safe-buffer@5.2.1" }, { - "name" : "safe-buffer", - "version" : "5.2.1", - "purl" : "pkg:npm/safe-buffer@5.2.1", - "type" : "library", - "bom-ref" : "pkg:npm/safe-buffer@5.2.1" + "name": "cookie-signature", + "version": "1.0.6", + "purl": "pkg:npm/cookie-signature@1.0.6", + "type": "library", + "bom-ref": "pkg:npm/cookie-signature@1.0.6" }, { - "name" : "cookie-signature", - "version" : "1.0.6", - "purl" : "pkg:npm/cookie-signature@1.0.6", - "type" : "library", - "bom-ref" : "pkg:npm/cookie-signature@1.0.6" + "name": "cookie", + "version": "0.5.0", + "purl": "pkg:npm/cookie@0.5.0", + "type": "library", + "bom-ref": "pkg:npm/cookie@0.5.0" }, { - "name" : "cookie", - "version" : "0.5.0", - "purl" : "pkg:npm/cookie@0.5.0", - "type" : "library", - "bom-ref" : "pkg:npm/cookie@0.5.0" + "name": "encodeurl", + "version": "1.0.2", + "purl": "pkg:npm/encodeurl@1.0.2", + "type": "library", + "bom-ref": "pkg:npm/encodeurl@1.0.2" }, { - "name" : "encodeurl", - "version" : "1.0.2", - "purl" : "pkg:npm/encodeurl@1.0.2", - "type" : "library", - "bom-ref" : "pkg:npm/encodeurl@1.0.2" + "name": "escape-html", + "version": "1.0.3", + "purl": "pkg:npm/escape-html@1.0.3", + "type": "library", + "bom-ref": "pkg:npm/escape-html@1.0.3" }, { - "name" : "escape-html", - "version" : "1.0.3", - "purl" : "pkg:npm/escape-html@1.0.3", - "type" : "library", - "bom-ref" : "pkg:npm/escape-html@1.0.3" + "name": "etag", + "version": "1.8.1", + "purl": "pkg:npm/etag@1.8.1", + "type": "library", + "bom-ref": "pkg:npm/etag@1.8.1" }, { - "name" : "etag", - "version" : "1.8.1", - "purl" : "pkg:npm/etag@1.8.1", - "type" : "library", - "bom-ref" : "pkg:npm/etag@1.8.1" + "name": "finalhandler", + "version": "1.2.0", + "purl": "pkg:npm/finalhandler@1.2.0", + "type": "library", + "bom-ref": "pkg:npm/finalhandler@1.2.0" }, { - "name" : "finalhandler", - "version" : "1.2.0", - "purl" : "pkg:npm/finalhandler@1.2.0", - "type" : "library", - "bom-ref" : "pkg:npm/finalhandler@1.2.0" + "name": "parseurl", + "version": "1.3.3", + "purl": "pkg:npm/parseurl@1.3.3", + "type": "library", + "bom-ref": "pkg:npm/parseurl@1.3.3" }, { - "name" : "parseurl", - "version" : "1.3.3", - "purl" : "pkg:npm/parseurl@1.3.3", - "type" : "library", - "bom-ref" : "pkg:npm/parseurl@1.3.3" + "name": "statuses", + "version": "2.0.1", + "purl": "pkg:npm/statuses@2.0.1", + "type": "library", + "bom-ref": "pkg:npm/statuses@2.0.1" }, { - "name" : "statuses", - "version" : "2.0.1", - "purl" : "pkg:npm/statuses@2.0.1", - "type" : "library", - "bom-ref" : "pkg:npm/statuses@2.0.1" + "name": "fresh", + "version": "0.5.2", + "purl": "pkg:npm/fresh@0.5.2", + "type": "library", + "bom-ref": "pkg:npm/fresh@0.5.2" }, { - "name" : "fresh", - "version" : "0.5.2", - "purl" : "pkg:npm/fresh@0.5.2", - "type" : "library", - "bom-ref" : "pkg:npm/fresh@0.5.2" + "name": "inherits", + "version": "2.0.4", + "purl": "pkg:npm/inherits@2.0.4", + "type": "library", + "bom-ref": "pkg:npm/inherits@2.0.4" }, { - "name" : "inherits", - "version" : "2.0.4", - "purl" : "pkg:npm/inherits@2.0.4", - "type" : "library", - "bom-ref" : "pkg:npm/inherits@2.0.4" + "name": "setprototypeof", + "version": "1.2.0", + "purl": "pkg:npm/setprototypeof@1.2.0", + "type": "library", + "bom-ref": "pkg:npm/setprototypeof@1.2.0" }, { - "name" : "setprototypeof", - "version" : "1.2.0", - "purl" : "pkg:npm/setprototypeof@1.2.0", - "type" : "library", - "bom-ref" : "pkg:npm/setprototypeof@1.2.0" + "name": "toidentifier", + "version": "1.0.1", + "purl": "pkg:npm/toidentifier@1.0.1", + "type": "library", + "bom-ref": "pkg:npm/toidentifier@1.0.1" }, { - "name" : "toidentifier", - "version" : "1.0.1", - "purl" : "pkg:npm/toidentifier@1.0.1", - "type" : "library", - "bom-ref" : "pkg:npm/toidentifier@1.0.1" + "name": "merge-descriptors", + "version": "1.0.1", + "purl": "pkg:npm/merge-descriptors@1.0.1", + "type": "library", + "bom-ref": "pkg:npm/merge-descriptors@1.0.1" }, { - "name" : "merge-descriptors", - "version" : "1.0.1", - "purl" : "pkg:npm/merge-descriptors@1.0.1", - "type" : "library", - "bom-ref" : "pkg:npm/merge-descriptors@1.0.1" + "name": "methods", + "version": "1.1.2", + "purl": "pkg:npm/methods@1.1.2", + "type": "library", + "bom-ref": "pkg:npm/methods@1.1.2" }, { - "name" : "methods", - "version" : "1.1.2", - "purl" : "pkg:npm/methods@1.1.2", - "type" : "library", - "bom-ref" : "pkg:npm/methods@1.1.2" + "name": "ee-first", + "version": "1.1.1", + "purl": "pkg:npm/ee-first@1.1.1", + "type": "library", + "bom-ref": "pkg:npm/ee-first@1.1.1" }, { - "name" : "ee-first", - "version" : "1.1.1", - "purl" : "pkg:npm/ee-first@1.1.1", - "type" : "library", - "bom-ref" : "pkg:npm/ee-first@1.1.1" + "name": "path-to-regexp", + "version": "0.1.7", + "purl": "pkg:npm/path-to-regexp@0.1.7", + "type": "library", + "bom-ref": "pkg:npm/path-to-regexp@0.1.7" }, { - "name" : "path-to-regexp", - "version" : "0.1.7", - "purl" : "pkg:npm/path-to-regexp@0.1.7", - "type" : "library", - "bom-ref" : "pkg:npm/path-to-regexp@0.1.7" + "name": "proxy-addr", + "version": "2.0.7", + "purl": "pkg:npm/proxy-addr@2.0.7", + "type": "library", + "bom-ref": "pkg:npm/proxy-addr@2.0.7" }, { - "name" : "proxy-addr", - "version" : "2.0.7", - "purl" : "pkg:npm/proxy-addr@2.0.7", - "type" : "library", - "bom-ref" : "pkg:npm/proxy-addr@2.0.7" + "name": "forwarded", + "version": "0.2.0", + "purl": "pkg:npm/forwarded@0.2.0", + "type": "library", + "bom-ref": "pkg:npm/forwarded@0.2.0" }, { - "name" : "forwarded", - "version" : "0.2.0", - "purl" : "pkg:npm/forwarded@0.2.0", - "type" : "library", - "bom-ref" : "pkg:npm/forwarded@0.2.0" + "name": "ipaddr.js", + "version": "1.9.1", + "purl": "pkg:npm/ipaddr.js@1.9.1", + "type": "library", + "bom-ref": "pkg:npm/ipaddr.js@1.9.1" }, { - "name" : "ipaddr.js", - "version" : "1.9.1", - "purl" : "pkg:npm/ipaddr.js@1.9.1", - "type" : "library", - "bom-ref" : "pkg:npm/ipaddr.js@1.9.1" + "name": "side-channel", + "version": "1.0.4", + "purl": "pkg:npm/side-channel@1.0.4", + "type": "library", + "bom-ref": "pkg:npm/side-channel@1.0.4" }, { - "name" : "side-channel", - "version" : "1.0.4", - "purl" : "pkg:npm/side-channel@1.0.4", - "type" : "library", - "bom-ref" : "pkg:npm/side-channel@1.0.4" + "name": "call-bind", + "version": "1.0.2", + "purl": "pkg:npm/call-bind@1.0.2", + "type": "library", + "bom-ref": "pkg:npm/call-bind@1.0.2" }, { - "name" : "call-bind", - "version" : "1.0.2", - "purl" : "pkg:npm/call-bind@1.0.2", - "type" : "library", - "bom-ref" : "pkg:npm/call-bind@1.0.2" + "name": "function-bind", + "version": "1.1.1", + "purl": "pkg:npm/function-bind@1.1.1", + "type": "library", + "bom-ref": "pkg:npm/function-bind@1.1.1" }, { - "name" : "function-bind", - "version" : "1.1.1", - "purl" : "pkg:npm/function-bind@1.1.1", - "type" : "library", - "bom-ref" : "pkg:npm/function-bind@1.1.1" + "name": "get-intrinsic", + "version": "1.2.1", + "purl": "pkg:npm/get-intrinsic@1.2.1", + "type": "library", + "bom-ref": "pkg:npm/get-intrinsic@1.2.1" }, { - "name" : "get-intrinsic", - "version" : "1.2.1", - "purl" : "pkg:npm/get-intrinsic@1.2.1", - "type" : "library", - "bom-ref" : "pkg:npm/get-intrinsic@1.2.1" + "name": "has-proto", + "version": "1.0.1", + "purl": "pkg:npm/has-proto@1.0.1", + "type": "library", + "bom-ref": "pkg:npm/has-proto@1.0.1" }, { - "name" : "has-proto", - "version" : "1.0.1", - "purl" : "pkg:npm/has-proto@1.0.1", - "type" : "library", - "bom-ref" : "pkg:npm/has-proto@1.0.1" + "name": "has-symbols", + "version": "1.0.3", + "purl": "pkg:npm/has-symbols@1.0.3", + "type": "library", + "bom-ref": "pkg:npm/has-symbols@1.0.3" }, { - "name" : "has-symbols", - "version" : "1.0.3", - "purl" : "pkg:npm/has-symbols@1.0.3", - "type" : "library", - "bom-ref" : "pkg:npm/has-symbols@1.0.3" + "name": "has", + "version": "1.0.3", + "purl": "pkg:npm/has@1.0.3", + "type": "library", + "bom-ref": "pkg:npm/has@1.0.3" }, { - "name" : "has", - "version" : "1.0.3", - "purl" : "pkg:npm/has@1.0.3", - "type" : "library", - "bom-ref" : "pkg:npm/has@1.0.3" + "name": "object-inspect", + "version": "1.12.3", + "purl": "pkg:npm/object-inspect@1.12.3", + "type": "library", + "bom-ref": "pkg:npm/object-inspect@1.12.3" }, { - "name" : "object-inspect", - "version" : "1.12.3", - "purl" : "pkg:npm/object-inspect@1.12.3", - "type" : "library", - "bom-ref" : "pkg:npm/object-inspect@1.12.3" + "name": "range-parser", + "version": "1.2.1", + "purl": "pkg:npm/range-parser@1.2.1", + "type": "library", + "bom-ref": "pkg:npm/range-parser@1.2.1" }, { - "name" : "range-parser", - "version" : "1.2.1", - "purl" : "pkg:npm/range-parser@1.2.1", - "type" : "library", - "bom-ref" : "pkg:npm/range-parser@1.2.1" + "name": "send", + "version": "0.18.0", + "purl": "pkg:npm/send@0.18.0", + "type": "library", + "bom-ref": "pkg:npm/send@0.18.0" }, { - "name" : "send", - "version" : "0.18.0", - "purl" : "pkg:npm/send@0.18.0", - "type" : "library", - "bom-ref" : "pkg:npm/send@0.18.0" + "name": "mime", + "version": "1.6.0", + "purl": "pkg:npm/mime@1.6.0", + "type": "library", + "bom-ref": "pkg:npm/mime@1.6.0" }, { - "name" : "mime", - "version" : "1.6.0", - "purl" : "pkg:npm/mime@1.6.0", - "type" : "library", - "bom-ref" : "pkg:npm/mime@1.6.0" + "name": "ms", + "version": "2.1.3", + "purl": "pkg:npm/ms@2.1.3", + "type": "library", + "bom-ref": "pkg:npm/ms@2.1.3" }, { - "name" : "ms", - "version" : "2.1.3", - "purl" : "pkg:npm/ms@2.1.3", - "type" : "library", - "bom-ref" : "pkg:npm/ms@2.1.3" + "name": "serve-static", + "version": "1.15.0", + "purl": "pkg:npm/serve-static@1.15.0", + "type": "library", + "bom-ref": "pkg:npm/serve-static@1.15.0" }, { - "name" : "serve-static", - "version" : "1.15.0", - "purl" : "pkg:npm/serve-static@1.15.0", - "type" : "library", - "bom-ref" : "pkg:npm/serve-static@1.15.0" + "name": "media-typer", + "version": "0.3.0", + "purl": "pkg:npm/media-typer@0.3.0", + "type": "library", + "bom-ref": "pkg:npm/media-typer@0.3.0" }, { - "name" : "media-typer", - "version" : "0.3.0", - "purl" : "pkg:npm/media-typer@0.3.0", - "type" : "library", - "bom-ref" : "pkg:npm/media-typer@0.3.0" + "name": "utils-merge", + "version": "1.0.1", + "purl": "pkg:npm/utils-merge@1.0.1", + "type": "library", + "bom-ref": "pkg:npm/utils-merge@1.0.1" }, { - "name" : "utils-merge", - "version" : "1.0.1", - "purl" : "pkg:npm/utils-merge@1.0.1", - "type" : "library", - "bom-ref" : "pkg:npm/utils-merge@1.0.1" + "name": "vary", + "version": "1.1.2", + "purl": "pkg:npm/vary@1.1.2", + "type": "library", + "bom-ref": "pkg:npm/vary@1.1.2" }, { - "name" : "vary", - "version" : "1.1.2", - "purl" : "pkg:npm/vary@1.1.2", - "type" : "library", - "bom-ref" : "pkg:npm/vary@1.1.2" + "name": "jsonwebtoken", + "version": "8.5.1", + "purl": "pkg:npm/jsonwebtoken@8.5.1", + "type": "library", + "bom-ref": "pkg:npm/jsonwebtoken@8.5.1" }, { - "name" : "jsonwebtoken", - "version" : "8.5.1", - "purl" : "pkg:npm/jsonwebtoken@8.5.1", - "type" : "library", - "bom-ref" : "pkg:npm/jsonwebtoken@8.5.1" + "name": "jws", + "version": "3.2.2", + "purl": "pkg:npm/jws@3.2.2", + "type": "library", + "bom-ref": "pkg:npm/jws@3.2.2" }, { - "name" : "jws", - "version" : "3.2.2", - "purl" : "pkg:npm/jws@3.2.2", - "type" : "library", - "bom-ref" : "pkg:npm/jws@3.2.2" + "name": "jwa", + "version": "1.4.1", + "purl": "pkg:npm/jwa@1.4.1", + "type": "library", + "bom-ref": "pkg:npm/jwa@1.4.1" }, { - "name" : "jwa", - "version" : "1.4.1", - "purl" : "pkg:npm/jwa@1.4.1", - "type" : "library", - "bom-ref" : "pkg:npm/jwa@1.4.1" + "name": "buffer-equal-constant-time", + "version": "1.0.1", + "purl": "pkg:npm/buffer-equal-constant-time@1.0.1", + "type": "library", + "bom-ref": "pkg:npm/buffer-equal-constant-time@1.0.1" }, { - "name" : "buffer-equal-constant-time", - "version" : "1.0.1", - "purl" : "pkg:npm/buffer-equal-constant-time@1.0.1", - "type" : "library", - "bom-ref" : "pkg:npm/buffer-equal-constant-time@1.0.1" + "name": "ecdsa-sig-formatter", + "version": "1.0.11", + "purl": "pkg:npm/ecdsa-sig-formatter@1.0.11", + "type": "library", + "bom-ref": "pkg:npm/ecdsa-sig-formatter@1.0.11" }, { - "name" : "ecdsa-sig-formatter", - "version" : "1.0.11", - "purl" : "pkg:npm/ecdsa-sig-formatter@1.0.11", - "type" : "library", - "bom-ref" : "pkg:npm/ecdsa-sig-formatter@1.0.11" + "name": "lodash.includes", + "version": "4.3.0", + "purl": "pkg:npm/lodash.includes@4.3.0", + "type": "library", + "bom-ref": "pkg:npm/lodash.includes@4.3.0" }, { - "name" : "lodash.includes", - "version" : "4.3.0", - "purl" : "pkg:npm/lodash.includes@4.3.0", - "type" : "library", - "bom-ref" : "pkg:npm/lodash.includes@4.3.0" + "name": "lodash.isboolean", + "version": "3.0.3", + "purl": "pkg:npm/lodash.isboolean@3.0.3", + "type": "library", + "bom-ref": "pkg:npm/lodash.isboolean@3.0.3" }, { - "name" : "lodash.isboolean", - "version" : "3.0.3", - "purl" : "pkg:npm/lodash.isboolean@3.0.3", - "type" : "library", - "bom-ref" : "pkg:npm/lodash.isboolean@3.0.3" + "name": "lodash.isinteger", + "version": "4.0.4", + "purl": "pkg:npm/lodash.isinteger@4.0.4", + "type": "library", + "bom-ref": "pkg:npm/lodash.isinteger@4.0.4" }, { - "name" : "lodash.isinteger", - "version" : "4.0.4", - "purl" : "pkg:npm/lodash.isinteger@4.0.4", - "type" : "library", - "bom-ref" : "pkg:npm/lodash.isinteger@4.0.4" + "name": "lodash.isnumber", + "version": "3.0.3", + "purl": "pkg:npm/lodash.isnumber@3.0.3", + "type": "library", + "bom-ref": "pkg:npm/lodash.isnumber@3.0.3" }, { - "name" : "lodash.isnumber", - "version" : "3.0.3", - "purl" : "pkg:npm/lodash.isnumber@3.0.3", - "type" : "library", - "bom-ref" : "pkg:npm/lodash.isnumber@3.0.3" + "name": "lodash.isplainobject", + "version": "4.0.6", + "purl": "pkg:npm/lodash.isplainobject@4.0.6", + "type": "library", + "bom-ref": "pkg:npm/lodash.isplainobject@4.0.6" }, { - "name" : "lodash.isplainobject", - "version" : "4.0.6", - "purl" : "pkg:npm/lodash.isplainobject@4.0.6", - "type" : "library", - "bom-ref" : "pkg:npm/lodash.isplainobject@4.0.6" + "name": "lodash.isstring", + "version": "4.0.1", + "purl": "pkg:npm/lodash.isstring@4.0.1", + "type": "library", + "bom-ref": "pkg:npm/lodash.isstring@4.0.1" }, { - "name" : "lodash.isstring", - "version" : "4.0.1", - "purl" : "pkg:npm/lodash.isstring@4.0.1", - "type" : "library", - "bom-ref" : "pkg:npm/lodash.isstring@4.0.1" + "name": "lodash.once", + "version": "4.1.1", + "purl": "pkg:npm/lodash.once@4.1.1", + "type": "library", + "bom-ref": "pkg:npm/lodash.once@4.1.1" }, { - "name" : "lodash.once", - "version" : "4.1.1", - "purl" : "pkg:npm/lodash.once@4.1.1", - "type" : "library", - "bom-ref" : "pkg:npm/lodash.once@4.1.1" + "name": "semver", + "version": "5.7.2", + "purl": "pkg:npm/semver@5.7.2", + "type": "library", + "bom-ref": "pkg:npm/semver@5.7.2" }, { - "name" : "semver", - "version" : "5.7.2", - "purl" : "pkg:npm/semver@5.7.2", - "type" : "library", - "bom-ref" : "pkg:npm/semver@5.7.2" + "name": "mongoose", + "version": "5.13.20", + "purl": "pkg:npm/mongoose@5.13.20", + "type": "library", + "bom-ref": "pkg:npm/mongoose@5.13.20" }, { - "name" : "mongoose", - "version" : "5.13.20", - "purl" : "pkg:npm/mongoose@5.13.20", - "type" : "library", - "bom-ref" : "pkg:npm/mongoose@5.13.20" + "group": "@types", + "name": "bson", + "version": "4.0.5", + "purl": "pkg:npm/%40types/bson@4.0.5", + "type": "library", + "bom-ref": "pkg:npm/%40types/bson@4.0.5" }, { - "group" : "@types", - "name" : "bson", - "version" : "4.0.5", - "purl" : "pkg:npm/%40types/bson@4.0.5", - "type" : "library", - "bom-ref" : "pkg:npm/%40types/bson@4.0.5" + "group": "@types", + "name": "node", + "version": "20.4.8", + "purl": "pkg:npm/%40types/node@20.4.8", + "type": "library", + "bom-ref": "pkg:npm/%40types/node@20.4.8" }, { - "group" : "@types", - "name" : "node", - "version" : "20.4.8", - "purl" : "pkg:npm/%40types/node@20.4.8", - "type" : "library", - "bom-ref" : "pkg:npm/%40types/node@20.4.8" + "group": "@types", + "name": "mongodb", + "version": "3.6.20", + "purl": "pkg:npm/%40types/mongodb@3.6.20", + "type": "library", + "bom-ref": "pkg:npm/%40types/mongodb@3.6.20" }, { - "group" : "@types", - "name" : "mongodb", - "version" : "3.6.20", - "purl" : "pkg:npm/%40types/mongodb@3.6.20", - "type" : "library", - "bom-ref" : "pkg:npm/%40types/mongodb@3.6.20" + "name": "bson", + "version": "1.1.6", + "purl": "pkg:npm/bson@1.1.6", + "type": "library", + "bom-ref": "pkg:npm/bson@1.1.6" }, { - "name" : "bson", - "version" : "1.1.6", - "purl" : "pkg:npm/bson@1.1.6", - "type" : "library", - "bom-ref" : "pkg:npm/bson@1.1.6" + "name": "kareem", + "version": "2.3.2", + "purl": "pkg:npm/kareem@2.3.2", + "type": "library", + "bom-ref": "pkg:npm/kareem@2.3.2" }, { - "name" : "kareem", - "version" : "2.3.2", - "purl" : "pkg:npm/kareem@2.3.2", - "type" : "library", - "bom-ref" : "pkg:npm/kareem@2.3.2" + "name": "mongodb", + "version": "3.7.4", + "purl": "pkg:npm/mongodb@3.7.4", + "type": "library", + "bom-ref": "pkg:npm/mongodb@3.7.4" }, { - "name" : "mongodb", - "version" : "3.7.4", - "purl" : "pkg:npm/mongodb@3.7.4", - "type" : "library", - "bom-ref" : "pkg:npm/mongodb@3.7.4" + "name": "bl", + "version": "2.2.1", + "purl": "pkg:npm/bl@2.2.1", + "type": "library", + "bom-ref": "pkg:npm/bl@2.2.1" }, { - "name" : "bl", - "version" : "2.2.1", - "purl" : "pkg:npm/bl@2.2.1", - "type" : "library", - "bom-ref" : "pkg:npm/bl@2.2.1" + "name": "readable-stream", + "version": "2.3.8", + "purl": "pkg:npm/readable-stream@2.3.8", + "type": "library", + "bom-ref": "pkg:npm/readable-stream@2.3.8" }, { - "name" : "readable-stream", - "version" : "2.3.8", - "purl" : "pkg:npm/readable-stream@2.3.8", - "type" : "library", - "bom-ref" : "pkg:npm/readable-stream@2.3.8" + "name": "core-util-is", + "version": "1.0.3", + "purl": "pkg:npm/core-util-is@1.0.3", + "type": "library", + "bom-ref": "pkg:npm/core-util-is@1.0.3" }, { - "name" : "core-util-is", - "version" : "1.0.3", - "purl" : "pkg:npm/core-util-is@1.0.3", - "type" : "library", - "bom-ref" : "pkg:npm/core-util-is@1.0.3" + "name": "isarray", + "version": "1.0.0", + "purl": "pkg:npm/isarray@1.0.0", + "type": "library", + "bom-ref": "pkg:npm/isarray@1.0.0" }, { - "name" : "isarray", - "version" : "1.0.0", - "purl" : "pkg:npm/isarray@1.0.0", - "type" : "library", - "bom-ref" : "pkg:npm/isarray@1.0.0" + "name": "process-nextick-args", + "version": "2.0.1", + "purl": "pkg:npm/process-nextick-args@2.0.1", + "type": "library", + "bom-ref": "pkg:npm/process-nextick-args@2.0.1" }, { - "name" : "process-nextick-args", - "version" : "2.0.1", - "purl" : "pkg:npm/process-nextick-args@2.0.1", - "type" : "library", - "bom-ref" : "pkg:npm/process-nextick-args@2.0.1" + "name": "safe-buffer", + "version": "5.1.2", + "purl": "pkg:npm/safe-buffer@5.1.2", + "type": "library", + "bom-ref": "pkg:npm/safe-buffer@5.1.2" }, { - "name" : "safe-buffer", - "version" : "5.1.2", - "purl" : "pkg:npm/safe-buffer@5.1.2", - "type" : "library", - "bom-ref" : "pkg:npm/safe-buffer@5.1.2" + "name": "string_decoder", + "version": "1.1.1", + "purl": "pkg:npm/string_decoder@1.1.1", + "type": "library", + "bom-ref": "pkg:npm/string_decoder@1.1.1" }, { - "name" : "string_decoder", - "version" : "1.1.1", - "purl" : "pkg:npm/string_decoder@1.1.1", - "type" : "library", - "bom-ref" : "pkg:npm/string_decoder@1.1.1" + "name": "util-deprecate", + "version": "1.0.2", + "purl": "pkg:npm/util-deprecate@1.0.2", + "type": "library", + "bom-ref": "pkg:npm/util-deprecate@1.0.2" }, { - "name" : "util-deprecate", - "version" : "1.0.2", - "purl" : "pkg:npm/util-deprecate@1.0.2", - "type" : "library", - "bom-ref" : "pkg:npm/util-deprecate@1.0.2" + "name": "denque", + "version": "1.5.1", + "purl": "pkg:npm/denque@1.5.1", + "type": "library", + "bom-ref": "pkg:npm/denque@1.5.1" }, { - "name" : "denque", - "version" : "1.5.1", - "purl" : "pkg:npm/denque@1.5.1", - "type" : "library", - "bom-ref" : "pkg:npm/denque@1.5.1" + "name": "optional-require", + "version": "1.1.8", + "purl": "pkg:npm/optional-require@1.1.8", + "type": "library", + "bom-ref": "pkg:npm/optional-require@1.1.8" }, { - "name" : "optional-require", - "version" : "1.1.8", - "purl" : "pkg:npm/optional-require@1.1.8", - "type" : "library", - "bom-ref" : "pkg:npm/optional-require@1.1.8" + "name": "require-at", + "version": "1.0.6", + "purl": "pkg:npm/require-at@1.0.6", + "type": "library", + "bom-ref": "pkg:npm/require-at@1.0.6" }, { - "name" : "require-at", - "version" : "1.0.6", - "purl" : "pkg:npm/require-at@1.0.6", - "type" : "library", - "bom-ref" : "pkg:npm/require-at@1.0.6" + "name": "saslprep", + "version": "1.0.3", + "purl": "pkg:npm/saslprep@1.0.3", + "type": "library", + "bom-ref": "pkg:npm/saslprep@1.0.3" }, { - "name" : "saslprep", - "version" : "1.0.3", - "purl" : "pkg:npm/saslprep@1.0.3", - "type" : "library", - "bom-ref" : "pkg:npm/saslprep@1.0.3" + "name": "sparse-bitfield", + "version": "3.0.3", + "purl": "pkg:npm/sparse-bitfield@3.0.3", + "type": "library", + "bom-ref": "pkg:npm/sparse-bitfield@3.0.3" }, { - "name" : "sparse-bitfield", - "version" : "3.0.3", - "purl" : "pkg:npm/sparse-bitfield@3.0.3", - "type" : "library", - "bom-ref" : "pkg:npm/sparse-bitfield@3.0.3" + "name": "memory-pager", + "version": "1.5.0", + "purl": "pkg:npm/memory-pager@1.5.0", + "type": "library", + "bom-ref": "pkg:npm/memory-pager@1.5.0" }, { - "name" : "memory-pager", - "version" : "1.5.0", - "purl" : "pkg:npm/memory-pager@1.5.0", - "type" : "library", - "bom-ref" : "pkg:npm/memory-pager@1.5.0" + "name": "mongoose-legacy-pluralize", + "version": "1.0.2", + "purl": "pkg:npm/mongoose-legacy-pluralize@1.0.2", + "type": "library", + "bom-ref": "pkg:npm/mongoose-legacy-pluralize@1.0.2" }, { - "name" : "mongoose-legacy-pluralize", - "version" : "1.0.2", - "purl" : "pkg:npm/mongoose-legacy-pluralize@1.0.2", - "type" : "library", - "bom-ref" : "pkg:npm/mongoose-legacy-pluralize@1.0.2" + "name": "mpath", + "version": "0.8.4", + "purl": "pkg:npm/mpath@0.8.4", + "type": "library", + "bom-ref": "pkg:npm/mpath@0.8.4" }, { - "name" : "mpath", - "version" : "0.8.4", - "purl" : "pkg:npm/mpath@0.8.4", - "type" : "library", - "bom-ref" : "pkg:npm/mpath@0.8.4" + "name": "mquery", + "version": "3.2.5", + "purl": "pkg:npm/mquery@3.2.5", + "type": "library", + "bom-ref": "pkg:npm/mquery@3.2.5" }, { - "name" : "mquery", - "version" : "3.2.5", - "purl" : "pkg:npm/mquery@3.2.5", - "type" : "library", - "bom-ref" : "pkg:npm/mquery@3.2.5" + "name": "bluebird", + "version": "3.5.1", + "purl": "pkg:npm/bluebird@3.5.1", + "type": "library", + "bom-ref": "pkg:npm/bluebird@3.5.1" }, { - "name" : "bluebird", - "version" : "3.5.1", - "purl" : "pkg:npm/bluebird@3.5.1", - "type" : "library", - "bom-ref" : "pkg:npm/bluebird@3.5.1" + "name": "regexp-clone", + "version": "1.0.0", + "purl": "pkg:npm/regexp-clone@1.0.0", + "type": "library", + "bom-ref": "pkg:npm/regexp-clone@1.0.0" }, { - "name" : "regexp-clone", - "version" : "1.0.0", - "purl" : "pkg:npm/regexp-clone@1.0.0", - "type" : "library", - "bom-ref" : "pkg:npm/regexp-clone@1.0.0" + "name": "sliced", + "version": "1.0.1", + "purl": "pkg:npm/sliced@1.0.1", + "type": "library", + "bom-ref": "pkg:npm/sliced@1.0.1" }, { - "name" : "sliced", - "version" : "1.0.1", - "purl" : "pkg:npm/sliced@1.0.1", - "type" : "library", - "bom-ref" : "pkg:npm/sliced@1.0.1" + "name": "ms", + "version": "2.1.2", + "purl": "pkg:npm/ms@2.1.2", + "type": "library", + "bom-ref": "pkg:npm/ms@2.1.2" }, { - "name" : "ms", - "version" : "2.1.2", - "purl" : "pkg:npm/ms@2.1.2", - "type" : "library", - "bom-ref" : "pkg:npm/ms@2.1.2" + "name": "optional-require", + "version": "1.0.3", + "purl": "pkg:npm/optional-require@1.0.3", + "type": "library", + "bom-ref": "pkg:npm/optional-require@1.0.3" }, { - "name" : "optional-require", - "version" : "1.0.3", - "purl" : "pkg:npm/optional-require@1.0.3", - "type" : "library", - "bom-ref" : "pkg:npm/optional-require@1.0.3" + "name": "sift", + "version": "13.5.2", + "purl": "pkg:npm/sift@13.5.2", + "type": "library", + "bom-ref": "pkg:npm/sift@13.5.2" }, { - "name" : "sift", - "version" : "13.5.2", - "purl" : "pkg:npm/sift@13.5.2", - "type" : "library", - "bom-ref" : "pkg:npm/sift@13.5.2" + "name": "nodemon", + "version": "2.0.22", + "purl": "pkg:npm/nodemon@2.0.22", + "type": "library", + "bom-ref": "pkg:npm/nodemon@2.0.22" }, { - "name" : "nodemon", - "version" : "2.0.22", - "purl" : "pkg:npm/nodemon@2.0.22", - "type" : "library", - "bom-ref" : "pkg:npm/nodemon@2.0.22" + "name": "chokidar", + "version": "3.5.3", + "purl": "pkg:npm/chokidar@3.5.3", + "type": "library", + "bom-ref": "pkg:npm/chokidar@3.5.3" }, { - "name" : "chokidar", - "version" : "3.5.3", - "purl" : "pkg:npm/chokidar@3.5.3", - "type" : "library", - "bom-ref" : "pkg:npm/chokidar@3.5.3" + "name": "anymatch", + "version": "3.1.3", + "purl": "pkg:npm/anymatch@3.1.3", + "type": "library", + "bom-ref": "pkg:npm/anymatch@3.1.3" }, { - "name" : "anymatch", - "version" : "3.1.3", - "purl" : "pkg:npm/anymatch@3.1.3", - "type" : "library", - "bom-ref" : "pkg:npm/anymatch@3.1.3" + "name": "normalize-path", + "version": "3.0.0", + "purl": "pkg:npm/normalize-path@3.0.0", + "type": "library", + "bom-ref": "pkg:npm/normalize-path@3.0.0" }, { - "name" : "normalize-path", - "version" : "3.0.0", - "purl" : "pkg:npm/normalize-path@3.0.0", - "type" : "library", - "bom-ref" : "pkg:npm/normalize-path@3.0.0" + "name": "picomatch", + "version": "2.3.1", + "purl": "pkg:npm/picomatch@2.3.1", + "type": "library", + "bom-ref": "pkg:npm/picomatch@2.3.1" }, { - "name" : "picomatch", - "version" : "2.3.1", - "purl" : "pkg:npm/picomatch@2.3.1", - "type" : "library", - "bom-ref" : "pkg:npm/picomatch@2.3.1" + "name": "braces", + "version": "3.0.2", + "purl": "pkg:npm/braces@3.0.2", + "type": "library", + "bom-ref": "pkg:npm/braces@3.0.2" }, { - "name" : "braces", - "version" : "3.0.2", - "purl" : "pkg:npm/braces@3.0.2", - "type" : "library", - "bom-ref" : "pkg:npm/braces@3.0.2" + "name": "fill-range", + "version": "7.0.1", + "purl": "pkg:npm/fill-range@7.0.1", + "type": "library", + "bom-ref": "pkg:npm/fill-range@7.0.1" }, { - "name" : "fill-range", - "version" : "7.0.1", - "purl" : "pkg:npm/fill-range@7.0.1", - "type" : "library", - "bom-ref" : "pkg:npm/fill-range@7.0.1" + "name": "to-regex-range", + "version": "5.0.1", + "purl": "pkg:npm/to-regex-range@5.0.1", + "type": "library", + "bom-ref": "pkg:npm/to-regex-range@5.0.1" }, { - "name" : "to-regex-range", - "version" : "5.0.1", - "purl" : "pkg:npm/to-regex-range@5.0.1", - "type" : "library", - "bom-ref" : "pkg:npm/to-regex-range@5.0.1" + "name": "is-number", + "version": "7.0.0", + "purl": "pkg:npm/is-number@7.0.0", + "type": "library", + "bom-ref": "pkg:npm/is-number@7.0.0" }, { - "name" : "is-number", - "version" : "7.0.0", - "purl" : "pkg:npm/is-number@7.0.0", - "type" : "library", - "bom-ref" : "pkg:npm/is-number@7.0.0" + "name": "fsevents", + "version": "2.3.2", + "purl": "pkg:npm/fsevents@2.3.2", + "type": "library", + "bom-ref": "pkg:npm/fsevents@2.3.2" }, { - "name" : "fsevents", - "version" : "2.3.2", - "purl" : "pkg:npm/fsevents@2.3.2", - "type" : "library", - "bom-ref" : "pkg:npm/fsevents@2.3.2" + "name": "glob-parent", + "version": "5.1.2", + "purl": "pkg:npm/glob-parent@5.1.2", + "type": "library", + "bom-ref": "pkg:npm/glob-parent@5.1.2" }, { - "name" : "glob-parent", - "version" : "5.1.2", - "purl" : "pkg:npm/glob-parent@5.1.2", - "type" : "library", - "bom-ref" : "pkg:npm/glob-parent@5.1.2" + "name": "is-glob", + "version": "4.0.3", + "purl": "pkg:npm/is-glob@4.0.3", + "type": "library", + "bom-ref": "pkg:npm/is-glob@4.0.3" }, { - "name" : "is-glob", - "version" : "4.0.3", - "purl" : "pkg:npm/is-glob@4.0.3", - "type" : "library", - "bom-ref" : "pkg:npm/is-glob@4.0.3" + "name": "is-binary-path", + "version": "2.1.0", + "purl": "pkg:npm/is-binary-path@2.1.0", + "type": "library", + "bom-ref": "pkg:npm/is-binary-path@2.1.0" }, { - "name" : "is-binary-path", - "version" : "2.1.0", - "purl" : "pkg:npm/is-binary-path@2.1.0", - "type" : "library", - "bom-ref" : "pkg:npm/is-binary-path@2.1.0" + "name": "binary-extensions", + "version": "2.2.0", + "purl": "pkg:npm/binary-extensions@2.2.0", + "type": "library", + "bom-ref": "pkg:npm/binary-extensions@2.2.0" }, { - "name" : "binary-extensions", - "version" : "2.2.0", - "purl" : "pkg:npm/binary-extensions@2.2.0", - "type" : "library", - "bom-ref" : "pkg:npm/binary-extensions@2.2.0" + "name": "is-extglob", + "version": "2.1.1", + "purl": "pkg:npm/is-extglob@2.1.1", + "type": "library", + "bom-ref": "pkg:npm/is-extglob@2.1.1" }, { - "name" : "is-extglob", - "version" : "2.1.1", - "purl" : "pkg:npm/is-extglob@2.1.1", - "type" : "library", - "bom-ref" : "pkg:npm/is-extglob@2.1.1" + "name": "readdirp", + "version": "3.6.0", + "purl": "pkg:npm/readdirp@3.6.0", + "type": "library", + "bom-ref": "pkg:npm/readdirp@3.6.0" }, { - "name" : "readdirp", - "version" : "3.6.0", - "purl" : "pkg:npm/readdirp@3.6.0", - "type" : "library", - "bom-ref" : "pkg:npm/readdirp@3.6.0" + "name": "debug", + "version": "3.2.7", + "purl": "pkg:npm/debug@3.2.7", + "type": "library", + "bom-ref": "pkg:npm/debug@3.2.7" }, { - "name" : "debug", - "version" : "3.2.7", - "purl" : "pkg:npm/debug@3.2.7", - "type" : "library", - "bom-ref" : "pkg:npm/debug@3.2.7" + "name": "ignore-by-default", + "version": "1.0.1", + "purl": "pkg:npm/ignore-by-default@1.0.1", + "type": "library", + "bom-ref": "pkg:npm/ignore-by-default@1.0.1" }, { - "name" : "ignore-by-default", - "version" : "1.0.1", - "purl" : "pkg:npm/ignore-by-default@1.0.1", - "type" : "library", - "bom-ref" : "pkg:npm/ignore-by-default@1.0.1" + "name": "minimatch", + "version": "3.1.2", + "purl": "pkg:npm/minimatch@3.1.2", + "type": "library", + "bom-ref": "pkg:npm/minimatch@3.1.2" }, { - "name" : "minimatch", - "version" : "3.1.2", - "purl" : "pkg:npm/minimatch@3.1.2", - "type" : "library", - "bom-ref" : "pkg:npm/minimatch@3.1.2" + "name": "brace-expansion", + "version": "1.1.11", + "purl": "pkg:npm/brace-expansion@1.1.11", + "type": "library", + "bom-ref": "pkg:npm/brace-expansion@1.1.11" }, { - "name" : "brace-expansion", - "version" : "1.1.11", - "purl" : "pkg:npm/brace-expansion@1.1.11", - "type" : "library", - "bom-ref" : "pkg:npm/brace-expansion@1.1.11" + "name": "balanced-match", + "version": "1.0.2", + "purl": "pkg:npm/balanced-match@1.0.2", + "type": "library", + "bom-ref": "pkg:npm/balanced-match@1.0.2" }, { - "name" : "balanced-match", - "version" : "1.0.2", - "purl" : "pkg:npm/balanced-match@1.0.2", - "type" : "library", - "bom-ref" : "pkg:npm/balanced-match@1.0.2" + "name": "concat-map", + "version": "0.0.1", + "purl": "pkg:npm/concat-map@0.0.1", + "type": "library", + "bom-ref": "pkg:npm/concat-map@0.0.1" }, { - "name" : "concat-map", - "version" : "0.0.1", - "purl" : "pkg:npm/concat-map@0.0.1", - "type" : "library", - "bom-ref" : "pkg:npm/concat-map@0.0.1" + "name": "pstree.remy", + "version": "1.1.8", + "purl": "pkg:npm/pstree.remy@1.1.8", + "type": "library", + "bom-ref": "pkg:npm/pstree.remy@1.1.8" }, { - "name" : "pstree.remy", - "version" : "1.1.8", - "purl" : "pkg:npm/pstree.remy@1.1.8", - "type" : "library", - "bom-ref" : "pkg:npm/pstree.remy@1.1.8" + "name": "simple-update-notifier", + "version": "1.1.0", + "purl": "pkg:npm/simple-update-notifier@1.1.0", + "type": "library", + "bom-ref": "pkg:npm/simple-update-notifier@1.1.0" }, { - "name" : "simple-update-notifier", - "version" : "1.1.0", - "purl" : "pkg:npm/simple-update-notifier@1.1.0", - "type" : "library", - "bom-ref" : "pkg:npm/simple-update-notifier@1.1.0" + "name": "semver", + "version": "7.0.0", + "purl": "pkg:npm/semver@7.0.0", + "type": "library", + "bom-ref": "pkg:npm/semver@7.0.0" }, { - "name" : "semver", - "version" : "7.0.0", - "purl" : "pkg:npm/semver@7.0.0", - "type" : "library", - "bom-ref" : "pkg:npm/semver@7.0.0" + "name": "supports-color", + "version": "5.5.0", + "purl": "pkg:npm/supports-color@5.5.0", + "type": "library", + "bom-ref": "pkg:npm/supports-color@5.5.0" }, { - "name" : "supports-color", - "version" : "5.5.0", - "purl" : "pkg:npm/supports-color@5.5.0", - "type" : "library", - "bom-ref" : "pkg:npm/supports-color@5.5.0" + "name": "has-flag", + "version": "3.0.0", + "purl": "pkg:npm/has-flag@3.0.0", + "type": "library", + "bom-ref": "pkg:npm/has-flag@3.0.0" }, { - "name" : "has-flag", - "version" : "3.0.0", - "purl" : "pkg:npm/has-flag@3.0.0", - "type" : "library", - "bom-ref" : "pkg:npm/has-flag@3.0.0" + "name": "touch", + "version": "3.1.0", + "purl": "pkg:npm/touch@3.1.0", + "type": "library", + "bom-ref": "pkg:npm/touch@3.1.0" }, { - "name" : "touch", - "version" : "3.1.0", - "purl" : "pkg:npm/touch@3.1.0", - "type" : "library", - "bom-ref" : "pkg:npm/touch@3.1.0" + "name": "nopt", + "version": "1.0.10", + "purl": "pkg:npm/nopt@1.0.10", + "type": "library", + "bom-ref": "pkg:npm/nopt@1.0.10" }, { - "name" : "nopt", - "version" : "1.0.10", - "purl" : "pkg:npm/nopt@1.0.10", - "type" : "library", - "bom-ref" : "pkg:npm/nopt@1.0.10" + "name": "abbrev", + "version": "1.1.1", + "purl": "pkg:npm/abbrev@1.1.1", + "type": "library", + "bom-ref": "pkg:npm/abbrev@1.1.1" }, { - "name" : "abbrev", - "version" : "1.1.1", - "purl" : "pkg:npm/abbrev@1.1.1", - "type" : "library", - "bom-ref" : "pkg:npm/abbrev@1.1.1" - }, - { - "name" : "undefsafe", - "version" : "2.0.5", - "purl" : "pkg:npm/undefsafe@2.0.5", - "type" : "library", - "bom-ref" : "pkg:npm/undefsafe@2.0.5" + "name": "undefsafe", + "version": "2.0.5", + "purl": "pkg:npm/undefsafe@2.0.5", + "type": "library", + "bom-ref": "pkg:npm/undefsafe@2.0.5" } ], - "dependencies" : [ + "dependencies": [ { - "ref" : "pkg:npm/backend@1.0.0", - "dependsOn" : [ + "ref": "pkg:npm/backend@1.0.0", + "dependsOn": [ "pkg:npm/%40hapi/joi@17.1.1", "pkg:npm/axios@0.19.2", "pkg:npm/backend@0.0.0", @@ -1054,8 +1047,8 @@ ] }, { - "ref" : "pkg:npm/%40hapi/joi@17.1.1", - "dependsOn" : [ + "ref": "pkg:npm/%40hapi/joi@17.1.1", + "dependsOn": [ "pkg:npm/%40hapi/address@4.1.0", "pkg:npm/%40hapi/formula@2.0.0", "pkg:npm/%40hapi/hoek@9.3.0", @@ -1064,66 +1057,66 @@ ] }, { - "ref" : "pkg:npm/%40hapi/address@4.1.0", - "dependsOn" : [ + "ref": "pkg:npm/%40hapi/address@4.1.0", + "dependsOn": [ "pkg:npm/%40hapi/hoek@9.3.0" ] }, { - "ref" : "pkg:npm/%40hapi/hoek@9.3.0", - "dependsOn" : [ ] + "ref": "pkg:npm/%40hapi/hoek@9.3.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/%40hapi/formula@2.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/%40hapi/formula@2.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/%40hapi/pinpoint@2.0.1", - "dependsOn" : [ ] + "ref": "pkg:npm/%40hapi/pinpoint@2.0.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/%40hapi/topo@5.1.0", - "dependsOn" : [ + "ref": "pkg:npm/%40hapi/topo@5.1.0", + "dependsOn": [ "pkg:npm/%40hapi/hoek@9.3.0" ] }, { - "ref" : "pkg:npm/axios@0.19.2", - "dependsOn" : [ + "ref": "pkg:npm/axios@0.19.2", + "dependsOn": [ "pkg:npm/follow-redirects@1.5.10" ] }, { - "ref" : "pkg:npm/follow-redirects@1.5.10", - "dependsOn" : [ + "ref": "pkg:npm/follow-redirects@1.5.10", + "dependsOn": [ "pkg:npm/debug@3.1.0" ] }, { - "ref" : "pkg:npm/debug@3.1.0", - "dependsOn" : [ + "ref": "pkg:npm/debug@3.1.0", + "dependsOn": [ "pkg:npm/ms@2.0.0" ] }, { - "ref" : "pkg:npm/ms@2.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/ms@2.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/backend@0.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/backend@0.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/bcryptjs@2.4.3", - "dependsOn" : [ ] + "ref": "pkg:npm/bcryptjs@2.4.3", + "dependsOn": [] }, { - "ref" : "pkg:npm/dotenv@8.6.0", - "dependsOn" : [ ] + "ref": "pkg:npm/dotenv@8.6.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/express@4.18.2", - "dependsOn" : [ + "ref": "pkg:npm/express@4.18.2", + "dependsOn": [ "pkg:npm/accepts@1.3.8", "pkg:npm/array-flatten@1.1.1", "pkg:npm/body-parser@1.20.1", @@ -1158,33 +1151,33 @@ ] }, { - "ref" : "pkg:npm/accepts@1.3.8", - "dependsOn" : [ + "ref": "pkg:npm/accepts@1.3.8", + "dependsOn": [ "pkg:npm/mime-types@2.1.35", "pkg:npm/negotiator@0.6.3" ] }, { - "ref" : "pkg:npm/mime-types@2.1.35", - "dependsOn" : [ + "ref": "pkg:npm/mime-types@2.1.35", + "dependsOn": [ "pkg:npm/mime-db@1.52.0" ] }, { - "ref" : "pkg:npm/mime-db@1.52.0", - "dependsOn" : [ ] + "ref": "pkg:npm/mime-db@1.52.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/negotiator@0.6.3", - "dependsOn" : [ ] + "ref": "pkg:npm/negotiator@0.6.3", + "dependsOn": [] }, { - "ref" : "pkg:npm/array-flatten@1.1.1", - "dependsOn" : [ ] + "ref": "pkg:npm/array-flatten@1.1.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/body-parser@1.20.1", - "dependsOn" : [ + "ref": "pkg:npm/body-parser@1.20.1", + "dependsOn": [ "pkg:npm/bytes@3.1.2", "pkg:npm/content-type@1.0.5", "pkg:npm/debug@2.6.9", @@ -1200,30 +1193,30 @@ ] }, { - "ref" : "pkg:npm/bytes@3.1.2", - "dependsOn" : [ ] + "ref": "pkg:npm/bytes@3.1.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/content-type@1.0.5", - "dependsOn" : [ ] + "ref": "pkg:npm/content-type@1.0.5", + "dependsOn": [] }, { - "ref" : "pkg:npm/debug@2.6.9", - "dependsOn" : [ + "ref": "pkg:npm/debug@2.6.9", + "dependsOn": [ "pkg:npm/ms@2.0.0" ] }, { - "ref" : "pkg:npm/depd@2.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/depd@2.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/destroy@1.2.0", - "dependsOn" : [ ] + "ref": "pkg:npm/destroy@1.2.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/http-errors@2.0.0", - "dependsOn" : [ + "ref": "pkg:npm/http-errors@2.0.0", + "dependsOn": [ "pkg:npm/depd@2.0.0", "pkg:npm/inherits@2.0.4", "pkg:npm/setprototypeof@1.2.0", @@ -1232,30 +1225,30 @@ ] }, { - "ref" : "pkg:npm/iconv-lite@0.4.24", - "dependsOn" : [ + "ref": "pkg:npm/iconv-lite@0.4.24", + "dependsOn": [ "pkg:npm/safer-buffer@2.1.2" ] }, { - "ref" : "pkg:npm/safer-buffer@2.1.2", - "dependsOn" : [ ] + "ref": "pkg:npm/safer-buffer@2.1.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/on-finished@2.4.1", - "dependsOn" : [ + "ref": "pkg:npm/on-finished@2.4.1", + "dependsOn": [ "pkg:npm/ee-first@1.1.1" ] }, { - "ref" : "pkg:npm/qs@6.11.0", - "dependsOn" : [ + "ref": "pkg:npm/qs@6.11.0", + "dependsOn": [ "pkg:npm/side-channel@1.0.4" ] }, { - "ref" : "pkg:npm/raw-body@2.5.1", - "dependsOn" : [ + "ref": "pkg:npm/raw-body@2.5.1", + "dependsOn": [ "pkg:npm/bytes@3.1.2", "pkg:npm/http-errors@2.0.0", "pkg:npm/iconv-lite@0.4.24", @@ -1263,49 +1256,49 @@ ] }, { - "ref" : "pkg:npm/unpipe@1.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/unpipe@1.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/type-is@1.6.18", - "dependsOn" : [ + "ref": "pkg:npm/type-is@1.6.18", + "dependsOn": [ "pkg:npm/media-typer@0.3.0", "pkg:npm/mime-types@2.1.35" ] }, { - "ref" : "pkg:npm/content-disposition@0.5.4", - "dependsOn" : [ + "ref": "pkg:npm/content-disposition@0.5.4", + "dependsOn": [ "pkg:npm/safe-buffer@5.2.1" ] }, { - "ref" : "pkg:npm/safe-buffer@5.2.1", - "dependsOn" : [ ] + "ref": "pkg:npm/safe-buffer@5.2.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/cookie-signature@1.0.6", - "dependsOn" : [ ] + "ref": "pkg:npm/cookie-signature@1.0.6", + "dependsOn": [] }, { - "ref" : "pkg:npm/cookie@0.5.0", - "dependsOn" : [ ] + "ref": "pkg:npm/cookie@0.5.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/encodeurl@1.0.2", - "dependsOn" : [ ] + "ref": "pkg:npm/encodeurl@1.0.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/escape-html@1.0.3", - "dependsOn" : [ ] + "ref": "pkg:npm/escape-html@1.0.3", + "dependsOn": [] }, { - "ref" : "pkg:npm/etag@1.8.1", - "dependsOn" : [ ] + "ref": "pkg:npm/etag@1.8.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/finalhandler@1.2.0", - "dependsOn" : [ + "ref": "pkg:npm/finalhandler@1.2.0", + "dependsOn": [ "pkg:npm/debug@2.6.9", "pkg:npm/encodeurl@1.0.2", "pkg:npm/escape-html@1.0.3", @@ -1316,82 +1309,82 @@ ] }, { - "ref" : "pkg:npm/parseurl@1.3.3", - "dependsOn" : [ ] + "ref": "pkg:npm/parseurl@1.3.3", + "dependsOn": [] }, { - "ref" : "pkg:npm/statuses@2.0.1", - "dependsOn" : [ ] + "ref": "pkg:npm/statuses@2.0.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/fresh@0.5.2", - "dependsOn" : [ ] + "ref": "pkg:npm/fresh@0.5.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/inherits@2.0.4", - "dependsOn" : [ ] + "ref": "pkg:npm/inherits@2.0.4", + "dependsOn": [] }, { - "ref" : "pkg:npm/setprototypeof@1.2.0", - "dependsOn" : [ ] + "ref": "pkg:npm/setprototypeof@1.2.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/toidentifier@1.0.1", - "dependsOn" : [ ] + "ref": "pkg:npm/toidentifier@1.0.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/merge-descriptors@1.0.1", - "dependsOn" : [ ] + "ref": "pkg:npm/merge-descriptors@1.0.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/methods@1.1.2", - "dependsOn" : [ ] + "ref": "pkg:npm/methods@1.1.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/ee-first@1.1.1", - "dependsOn" : [ ] + "ref": "pkg:npm/ee-first@1.1.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/path-to-regexp@0.1.7", - "dependsOn" : [ ] + "ref": "pkg:npm/path-to-regexp@0.1.7", + "dependsOn": [] }, { - "ref" : "pkg:npm/proxy-addr@2.0.7", - "dependsOn" : [ + "ref": "pkg:npm/proxy-addr@2.0.7", + "dependsOn": [ "pkg:npm/forwarded@0.2.0", "pkg:npm/ipaddr.js@1.9.1" ] }, { - "ref" : "pkg:npm/forwarded@0.2.0", - "dependsOn" : [ ] + "ref": "pkg:npm/forwarded@0.2.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/ipaddr.js@1.9.1", - "dependsOn" : [ ] + "ref": "pkg:npm/ipaddr.js@1.9.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/side-channel@1.0.4", - "dependsOn" : [ + "ref": "pkg:npm/side-channel@1.0.4", + "dependsOn": [ "pkg:npm/call-bind@1.0.2", "pkg:npm/get-intrinsic@1.2.1", "pkg:npm/object-inspect@1.12.3" ] }, { - "ref" : "pkg:npm/call-bind@1.0.2", - "dependsOn" : [ + "ref": "pkg:npm/call-bind@1.0.2", + "dependsOn": [ "pkg:npm/function-bind@1.1.1", "pkg:npm/get-intrinsic@1.2.1" ] }, { - "ref" : "pkg:npm/function-bind@1.1.1", - "dependsOn" : [ ] + "ref": "pkg:npm/function-bind@1.1.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/get-intrinsic@1.2.1", - "dependsOn" : [ + "ref": "pkg:npm/get-intrinsic@1.2.1", + "dependsOn": [ "pkg:npm/function-bind@1.1.1", "pkg:npm/has-proto@1.0.1", "pkg:npm/has-symbols@1.0.3", @@ -1399,30 +1392,30 @@ ] }, { - "ref" : "pkg:npm/has-proto@1.0.1", - "dependsOn" : [ ] + "ref": "pkg:npm/has-proto@1.0.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/has-symbols@1.0.3", - "dependsOn" : [ ] + "ref": "pkg:npm/has-symbols@1.0.3", + "dependsOn": [] }, { - "ref" : "pkg:npm/has@1.0.3", - "dependsOn" : [ + "ref": "pkg:npm/has@1.0.3", + "dependsOn": [ "pkg:npm/function-bind@1.1.1" ] }, { - "ref" : "pkg:npm/object-inspect@1.12.3", - "dependsOn" : [ ] + "ref": "pkg:npm/object-inspect@1.12.3", + "dependsOn": [] }, { - "ref" : "pkg:npm/range-parser@1.2.1", - "dependsOn" : [ ] + "ref": "pkg:npm/range-parser@1.2.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/send@0.18.0", - "dependsOn" : [ + "ref": "pkg:npm/send@0.18.0", + "dependsOn": [ "pkg:npm/debug@2.6.9", "pkg:npm/depd@2.0.0", "pkg:npm/destroy@1.2.0", @@ -1439,16 +1432,16 @@ ] }, { - "ref" : "pkg:npm/mime@1.6.0", - "dependsOn" : [ ] + "ref": "pkg:npm/mime@1.6.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/ms@2.1.3", - "dependsOn" : [ ] + "ref": "pkg:npm/ms@2.1.3", + "dependsOn": [] }, { - "ref" : "pkg:npm/serve-static@1.15.0", - "dependsOn" : [ + "ref": "pkg:npm/serve-static@1.15.0", + "dependsOn": [ "pkg:npm/encodeurl@1.0.2", "pkg:npm/escape-html@1.0.3", "pkg:npm/parseurl@1.3.3", @@ -1456,20 +1449,20 @@ ] }, { - "ref" : "pkg:npm/media-typer@0.3.0", - "dependsOn" : [ ] + "ref": "pkg:npm/media-typer@0.3.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/utils-merge@1.0.1", - "dependsOn" : [ ] + "ref": "pkg:npm/utils-merge@1.0.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/vary@1.1.2", - "dependsOn" : [ ] + "ref": "pkg:npm/vary@1.1.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/jsonwebtoken@8.5.1", - "dependsOn" : [ + "ref": "pkg:npm/jsonwebtoken@8.5.1", + "dependsOn": [ "pkg:npm/jws@3.2.2", "pkg:npm/lodash.includes@4.3.0", "pkg:npm/lodash.isboolean@3.0.3", @@ -1483,65 +1476,65 @@ ] }, { - "ref" : "pkg:npm/jws@3.2.2", - "dependsOn" : [ + "ref": "pkg:npm/jws@3.2.2", + "dependsOn": [ "pkg:npm/jwa@1.4.1", "pkg:npm/safe-buffer@5.2.1" ] }, { - "ref" : "pkg:npm/jwa@1.4.1", - "dependsOn" : [ + "ref": "pkg:npm/jwa@1.4.1", + "dependsOn": [ "pkg:npm/buffer-equal-constant-time@1.0.1", "pkg:npm/ecdsa-sig-formatter@1.0.11", "pkg:npm/safe-buffer@5.2.1" ] }, { - "ref" : "pkg:npm/buffer-equal-constant-time@1.0.1", - "dependsOn" : [ ] + "ref": "pkg:npm/buffer-equal-constant-time@1.0.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/ecdsa-sig-formatter@1.0.11", - "dependsOn" : [ + "ref": "pkg:npm/ecdsa-sig-formatter@1.0.11", + "dependsOn": [ "pkg:npm/safe-buffer@5.2.1" ] }, { - "ref" : "pkg:npm/lodash.includes@4.3.0", - "dependsOn" : [ ] + "ref": "pkg:npm/lodash.includes@4.3.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/lodash.isboolean@3.0.3", - "dependsOn" : [ ] + "ref": "pkg:npm/lodash.isboolean@3.0.3", + "dependsOn": [] }, { - "ref" : "pkg:npm/lodash.isinteger@4.0.4", - "dependsOn" : [ ] + "ref": "pkg:npm/lodash.isinteger@4.0.4", + "dependsOn": [] }, { - "ref" : "pkg:npm/lodash.isnumber@3.0.3", - "dependsOn" : [ ] + "ref": "pkg:npm/lodash.isnumber@3.0.3", + "dependsOn": [] }, { - "ref" : "pkg:npm/lodash.isplainobject@4.0.6", - "dependsOn" : [ ] + "ref": "pkg:npm/lodash.isplainobject@4.0.6", + "dependsOn": [] }, { - "ref" : "pkg:npm/lodash.isstring@4.0.1", - "dependsOn" : [ ] + "ref": "pkg:npm/lodash.isstring@4.0.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/lodash.once@4.1.1", - "dependsOn" : [ ] + "ref": "pkg:npm/lodash.once@4.1.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/semver@5.7.2", - "dependsOn" : [ ] + "ref": "pkg:npm/semver@5.7.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/mongoose@5.13.20", - "dependsOn" : [ + "ref": "pkg:npm/mongoose@5.13.20", + "dependsOn": [ "pkg:npm/%40types/bson@4.0.5", "pkg:npm/%40types/mongodb@3.6.20", "pkg:npm/bson@1.1.6", @@ -1559,33 +1552,33 @@ ] }, { - "ref" : "pkg:npm/%40types/bson@4.0.5", - "dependsOn" : [ + "ref": "pkg:npm/%40types/bson@4.0.5", + "dependsOn": [ "pkg:npm/%40types/node@20.4.8" ] }, { - "ref" : "pkg:npm/%40types/node@20.4.8", - "dependsOn" : [ ] + "ref": "pkg:npm/%40types/node@20.4.8", + "dependsOn": [] }, { - "ref" : "pkg:npm/%40types/mongodb@3.6.20", - "dependsOn" : [ + "ref": "pkg:npm/%40types/mongodb@3.6.20", + "dependsOn": [ "pkg:npm/%40types/bson@4.0.5", "pkg:npm/%40types/node@20.4.8" ] }, { - "ref" : "pkg:npm/bson@1.1.6", - "dependsOn" : [ ] + "ref": "pkg:npm/bson@1.1.6", + "dependsOn": [] }, { - "ref" : "pkg:npm/kareem@2.3.2", - "dependsOn" : [ ] + "ref": "pkg:npm/kareem@2.3.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/mongodb@3.7.4", - "dependsOn" : [ + "ref": "pkg:npm/mongodb@3.7.4", + "dependsOn": [ "pkg:npm/bl@2.2.1", "pkg:npm/bson@1.1.6", "pkg:npm/denque@1.5.1", @@ -1595,15 +1588,15 @@ ] }, { - "ref" : "pkg:npm/bl@2.2.1", - "dependsOn" : [ + "ref": "pkg:npm/bl@2.2.1", + "dependsOn": [ "pkg:npm/readable-stream@2.3.8", "pkg:npm/safe-buffer@5.2.1" ] }, { - "ref" : "pkg:npm/readable-stream@2.3.8", - "dependsOn" : [ + "ref": "pkg:npm/readable-stream@2.3.8", + "dependsOn": [ "pkg:npm/core-util-is@1.0.3", "pkg:npm/inherits@2.0.4", "pkg:npm/isarray@1.0.0", @@ -1614,74 +1607,74 @@ ] }, { - "ref" : "pkg:npm/core-util-is@1.0.3", - "dependsOn" : [ ] + "ref": "pkg:npm/core-util-is@1.0.3", + "dependsOn": [] }, { - "ref" : "pkg:npm/isarray@1.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/isarray@1.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/process-nextick-args@2.0.1", - "dependsOn" : [ ] + "ref": "pkg:npm/process-nextick-args@2.0.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/safe-buffer@5.1.2", - "dependsOn" : [ ] + "ref": "pkg:npm/safe-buffer@5.1.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/string_decoder@1.1.1", - "dependsOn" : [ + "ref": "pkg:npm/string_decoder@1.1.1", + "dependsOn": [ "pkg:npm/safe-buffer@5.1.2" ] }, { - "ref" : "pkg:npm/util-deprecate@1.0.2", - "dependsOn" : [ ] + "ref": "pkg:npm/util-deprecate@1.0.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/denque@1.5.1", - "dependsOn" : [ ] + "ref": "pkg:npm/denque@1.5.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/optional-require@1.1.8", - "dependsOn" : [ + "ref": "pkg:npm/optional-require@1.1.8", + "dependsOn": [ "pkg:npm/require-at@1.0.6" ] }, { - "ref" : "pkg:npm/require-at@1.0.6", - "dependsOn" : [ ] + "ref": "pkg:npm/require-at@1.0.6", + "dependsOn": [] }, { - "ref" : "pkg:npm/saslprep@1.0.3", - "dependsOn" : [ + "ref": "pkg:npm/saslprep@1.0.3", + "dependsOn": [ "pkg:npm/sparse-bitfield@3.0.3" ] }, { - "ref" : "pkg:npm/sparse-bitfield@3.0.3", - "dependsOn" : [ + "ref": "pkg:npm/sparse-bitfield@3.0.3", + "dependsOn": [ "pkg:npm/memory-pager@1.5.0" ] }, { - "ref" : "pkg:npm/memory-pager@1.5.0", - "dependsOn" : [ ] + "ref": "pkg:npm/memory-pager@1.5.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/mongoose-legacy-pluralize@1.0.2", - "dependsOn" : [ + "ref": "pkg:npm/mongoose-legacy-pluralize@1.0.2", + "dependsOn": [ "pkg:npm/mongoose@5.13.20" ] }, { - "ref" : "pkg:npm/mpath@0.8.4", - "dependsOn" : [ ] + "ref": "pkg:npm/mpath@0.8.4", + "dependsOn": [] }, { - "ref" : "pkg:npm/mquery@3.2.5", - "dependsOn" : [ + "ref": "pkg:npm/mquery@3.2.5", + "dependsOn": [ "pkg:npm/bluebird@3.5.1", "pkg:npm/debug@3.1.0", "pkg:npm/regexp-clone@1.0.0", @@ -1690,32 +1683,32 @@ ] }, { - "ref" : "pkg:npm/bluebird@3.5.1", - "dependsOn" : [ ] + "ref": "pkg:npm/bluebird@3.5.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/regexp-clone@1.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/regexp-clone@1.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/sliced@1.0.1", - "dependsOn" : [ ] + "ref": "pkg:npm/sliced@1.0.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/ms@2.1.2", - "dependsOn" : [ ] + "ref": "pkg:npm/ms@2.1.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/optional-require@1.0.3", - "dependsOn" : [ ] + "ref": "pkg:npm/optional-require@1.0.3", + "dependsOn": [] }, { - "ref" : "pkg:npm/sift@13.5.2", - "dependsOn" : [ ] + "ref": "pkg:npm/sift@13.5.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/nodemon@2.0.22", - "dependsOn" : [ + "ref": "pkg:npm/nodemon@2.0.22", + "dependsOn": [ "pkg:npm/chokidar@3.5.3", "pkg:npm/debug@3.2.7", "pkg:npm/ignore-by-default@1.0.1", @@ -1729,8 +1722,8 @@ ] }, { - "ref" : "pkg:npm/chokidar@3.5.3", - "dependsOn" : [ + "ref": "pkg:npm/chokidar@3.5.3", + "dependsOn": [ "pkg:npm/anymatch@3.1.3", "pkg:npm/braces@3.0.2", "pkg:npm/fsevents@2.3.2", @@ -1742,152 +1735,152 @@ ] }, { - "ref" : "pkg:npm/anymatch@3.1.3", - "dependsOn" : [ + "ref": "pkg:npm/anymatch@3.1.3", + "dependsOn": [ "pkg:npm/normalize-path@3.0.0", "pkg:npm/picomatch@2.3.1" ] }, { - "ref" : "pkg:npm/normalize-path@3.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/normalize-path@3.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/picomatch@2.3.1", - "dependsOn" : [ ] + "ref": "pkg:npm/picomatch@2.3.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/braces@3.0.2", - "dependsOn" : [ + "ref": "pkg:npm/braces@3.0.2", + "dependsOn": [ "pkg:npm/fill-range@7.0.1" ] }, { - "ref" : "pkg:npm/fill-range@7.0.1", - "dependsOn" : [ + "ref": "pkg:npm/fill-range@7.0.1", + "dependsOn": [ "pkg:npm/to-regex-range@5.0.1" ] }, { - "ref" : "pkg:npm/to-regex-range@5.0.1", - "dependsOn" : [ + "ref": "pkg:npm/to-regex-range@5.0.1", + "dependsOn": [ "pkg:npm/is-number@7.0.0" ] }, { - "ref" : "pkg:npm/is-number@7.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/is-number@7.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/fsevents@2.3.2", - "dependsOn" : [ ] + "ref": "pkg:npm/fsevents@2.3.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/glob-parent@5.1.2", - "dependsOn" : [ + "ref": "pkg:npm/glob-parent@5.1.2", + "dependsOn": [ "pkg:npm/is-glob@4.0.3" ] }, { - "ref" : "pkg:npm/is-glob@4.0.3", - "dependsOn" : [ + "ref": "pkg:npm/is-glob@4.0.3", + "dependsOn": [ "pkg:npm/is-extglob@2.1.1" ] }, { - "ref" : "pkg:npm/is-binary-path@2.1.0", - "dependsOn" : [ + "ref": "pkg:npm/is-binary-path@2.1.0", + "dependsOn": [ "pkg:npm/binary-extensions@2.2.0" ] }, { - "ref" : "pkg:npm/binary-extensions@2.2.0", - "dependsOn" : [ ] + "ref": "pkg:npm/binary-extensions@2.2.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/is-extglob@2.1.1", - "dependsOn" : [ ] + "ref": "pkg:npm/is-extglob@2.1.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/readdirp@3.6.0", - "dependsOn" : [ + "ref": "pkg:npm/readdirp@3.6.0", + "dependsOn": [ "pkg:npm/picomatch@2.3.1" ] }, { - "ref" : "pkg:npm/debug@3.2.7", - "dependsOn" : [ + "ref": "pkg:npm/debug@3.2.7", + "dependsOn": [ "pkg:npm/ms@2.1.3" ] }, { - "ref" : "pkg:npm/ignore-by-default@1.0.1", - "dependsOn" : [ ] + "ref": "pkg:npm/ignore-by-default@1.0.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/minimatch@3.1.2", - "dependsOn" : [ + "ref": "pkg:npm/minimatch@3.1.2", + "dependsOn": [ "pkg:npm/brace-expansion@1.1.11" ] }, { - "ref" : "pkg:npm/brace-expansion@1.1.11", - "dependsOn" : [ + "ref": "pkg:npm/brace-expansion@1.1.11", + "dependsOn": [ "pkg:npm/balanced-match@1.0.2", "pkg:npm/concat-map@0.0.1" ] }, { - "ref" : "pkg:npm/balanced-match@1.0.2", - "dependsOn" : [ ] + "ref": "pkg:npm/balanced-match@1.0.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/concat-map@0.0.1", - "dependsOn" : [ ] + "ref": "pkg:npm/concat-map@0.0.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/pstree.remy@1.1.8", - "dependsOn" : [ ] + "ref": "pkg:npm/pstree.remy@1.1.8", + "dependsOn": [] }, { - "ref" : "pkg:npm/simple-update-notifier@1.1.0", - "dependsOn" : [ + "ref": "pkg:npm/simple-update-notifier@1.1.0", + "dependsOn": [ "pkg:npm/semver@7.0.0" ] }, { - "ref" : "pkg:npm/semver@7.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/semver@7.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/supports-color@5.5.0", - "dependsOn" : [ + "ref": "pkg:npm/supports-color@5.5.0", + "dependsOn": [ "pkg:npm/has-flag@3.0.0" ] }, { - "ref" : "pkg:npm/has-flag@3.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/has-flag@3.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/touch@3.1.0", - "dependsOn" : [ + "ref": "pkg:npm/touch@3.1.0", + "dependsOn": [ "pkg:npm/nopt@1.0.10" ] }, { - "ref" : "pkg:npm/nopt@1.0.10", - "dependsOn" : [ + "ref": "pkg:npm/nopt@1.0.10", + "dependsOn": [ "pkg:npm/abbrev@1.1.1" ] }, { - "ref" : "pkg:npm/abbrev@1.1.1", - "dependsOn" : [ ] + "ref": "pkg:npm/abbrev@1.1.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/undefsafe@2.0.5", - "dependsOn" : [ ] + "ref": "pkg:npm/undefsafe@2.0.5", + "dependsOn": [] } ] } diff --git a/test/providers/tst_manifests/pip/pip_requirements_txt_ignore/expected_component_sbom.json b/test/providers/tst_manifests/pip/pip_requirements_txt_ignore/expected_component_sbom.json index 681c2df9..c87e900b 100644 --- a/test/providers/tst_manifests/pip/pip_requirements_txt_ignore/expected_component_sbom.json +++ b/test/providers/tst_manifests/pip/pip_requirements_txt_ignore/expected_component_sbom.json @@ -14,11 +14,11 @@ }, "components": [ { - "name": "default-pip-root", - "version": "0.0.0", - "purl": "pkg:pypi/default-pip-root@0.0.0", - "type": "application", - "bom-ref": "pkg:pypi/default-pip-root@0.0.0" + "name": "aiohappyeyeballs", + "version": "2.6.1", + "purl": "pkg:pypi/aiohappyeyeballs@2.6.1", + "type": "library", + "bom-ref": "pkg:pypi/aiohappyeyeballs@2.6.1" }, { "name": "anyio", @@ -34,6 +34,13 @@ "type": "library", "bom-ref": "pkg:pypi/asgiref@3.4.1" }, + { + "name": "async-timeout", + "version": "5.0.1", + "purl": "pkg:pypi/async-timeout@5.0.1", + "type": "library", + "bom-ref": "pkg:pypi/async-timeout@5.0.1" + }, { "name": "beautifulsoup4", "version": "4.12.2", @@ -200,8 +207,10 @@ { "ref": "pkg:pypi/default-pip-root@0.0.0", "dependsOn": [ + "pkg:pypi/aiohappyeyeballs@2.6.1", "pkg:pypi/anyio@3.6.2", "pkg:pypi/asgiref@3.4.1", + "pkg:pypi/async-timeout@5.0.1", "pkg:pypi/beautifulsoup4@4.12.2", "pkg:pypi/certifi@2023.7.22", "pkg:pypi/chardet@4.0.0", @@ -227,6 +236,10 @@ "pkg:pypi/zipp@3.6.0" ] }, + { + "ref": "pkg:pypi/aiohappyeyeballs@2.6.1", + "dependsOn": [] + }, { "ref": "pkg:pypi/anyio@3.6.2", "dependsOn": [] @@ -235,6 +248,10 @@ "ref": "pkg:pypi/asgiref@3.4.1", "dependsOn": [] }, + { + "ref": "pkg:pypi/async-timeout@5.0.1", + "dependsOn": [] + }, { "ref": "pkg:pypi/beautifulsoup4@4.12.2", "dependsOn": [] diff --git a/test/providers/tst_manifests/pip/pip_requirements_txt_ignore/expected_stack_sbom.json b/test/providers/tst_manifests/pip/pip_requirements_txt_ignore/expected_stack_sbom.json index 42fff71c..ed6e34a2 100644 --- a/test/providers/tst_manifests/pip/pip_requirements_txt_ignore/expected_stack_sbom.json +++ b/test/providers/tst_manifests/pip/pip_requirements_txt_ignore/expected_stack_sbom.json @@ -14,11 +14,11 @@ }, "components": [ { - "name": "default-pip-root", - "version": "0.0.0", - "purl": "pkg:pypi/default-pip-root@0.0.0", - "type": "application", - "bom-ref": "pkg:pypi/default-pip-root@0.0.0" + "name": "aiohappyeyeballs", + "version": "2.6.1", + "purl": "pkg:pypi/aiohappyeyeballs@2.6.1", + "type": "library", + "bom-ref": "pkg:pypi/aiohappyeyeballs@2.6.1" }, { "name": "anyio", @@ -48,6 +48,13 @@ "type": "library", "bom-ref": "pkg:pypi/asgiref@3.4.1" }, + { + "name": "async-timeout", + "version": "5.0.1", + "purl": "pkg:pypi/async-timeout@5.0.1", + "type": "library", + "bom-ref": "pkg:pypi/async-timeout@5.0.1" + }, { "name": "beautifulsoup4", "version": "4.12.2", @@ -200,8 +207,10 @@ { "ref": "pkg:pypi/default-pip-root@0.0.0", "dependsOn": [ + "pkg:pypi/aiohappyeyeballs@2.6.1", "pkg:pypi/anyio@3.6.2", "pkg:pypi/asgiref@3.4.1", + "pkg:pypi/async-timeout@5.0.1", "pkg:pypi/beautifulsoup4@4.12.2", "pkg:pypi/certifi@2023.7.22", "pkg:pypi/chardet@4.0.0", @@ -227,6 +236,10 @@ "pkg:pypi/zipp@3.6.0" ] }, + { + "ref": "pkg:pypi/aiohappyeyeballs@2.6.1", + "dependsOn": [] + }, { "ref": "pkg:pypi/anyio@3.6.2", "dependsOn": [ @@ -246,6 +259,10 @@ "ref": "pkg:pypi/asgiref@3.4.1", "dependsOn": [] }, + { + "ref": "pkg:pypi/async-timeout@5.0.1", + "dependsOn": [] + }, { "ref": "pkg:pypi/beautifulsoup4@4.12.2", "dependsOn": [ diff --git a/test/providers/tst_manifests/pip/pip_requirements_txt_ignore/requirements.txt b/test/providers/tst_manifests/pip/pip_requirements_txt_ignore/requirements.txt index 73f1d7cd..3e152f56 100644 --- a/test/providers/tst_manifests/pip/pip_requirements_txt_ignore/requirements.txt +++ b/test/providers/tst_manifests/pip/pip_requirements_txt_ignore/requirements.txt @@ -25,3 +25,8 @@ urllib3==1.26.16 uvicorn==0.17.0 Werkzeug==2.0.3 zipp==3.6.0 +aiohappyeyeballs==2.6.1 \ + --config-settings=SAMPLE_TEXT=TEST_VALUE \ + --config-settings=ANOTHER_KEY=ANOTHER_VALUE +async-timeout==5.0.1 ; python_full_version < '3.11' +--extra-index-url=https://download.pytorch.org/whl/cpu diff --git a/test/providers/tst_manifests/pip/pip_requirements_txt_no_ignore/expected_component_sbom.json b/test/providers/tst_manifests/pip/pip_requirements_txt_no_ignore/expected_component_sbom.json index 94bbecf9..c57196fa 100644 --- a/test/providers/tst_manifests/pip/pip_requirements_txt_no_ignore/expected_component_sbom.json +++ b/test/providers/tst_manifests/pip/pip_requirements_txt_no_ignore/expected_component_sbom.json @@ -13,13 +13,6 @@ } }, "components": [ - { - "name": "default-pip-root", - "version": "0.0.0", - "purl": "pkg:pypi/default-pip-root@0.0.0", - "type": "application", - "bom-ref": "pkg:pypi/default-pip-root@0.0.0" - }, { "name": "anyio", "version": "3.6.2", diff --git a/test/providers/tst_manifests/pip/pip_requirements_txt_no_ignore/expected_stack_sbom.json b/test/providers/tst_manifests/pip/pip_requirements_txt_no_ignore/expected_stack_sbom.json index 007b9b3e..01186326 100644 --- a/test/providers/tst_manifests/pip/pip_requirements_txt_no_ignore/expected_stack_sbom.json +++ b/test/providers/tst_manifests/pip/pip_requirements_txt_no_ignore/expected_stack_sbom.json @@ -13,13 +13,6 @@ } }, "components": [ - { - "name": "default-pip-root", - "version": "0.0.0", - "purl": "pkg:pypi/default-pip-root@0.0.0", - "type": "application", - "bom-ref": "pkg:pypi/default-pip-root@0.0.0" - }, { "name": "anyio", "version": "3.6.2", diff --git a/test/providers/tst_manifests/pip/pip_requirements_virtual_env_txt_no_ignore/expected_stack_sbom.json b/test/providers/tst_manifests/pip/pip_requirements_virtual_env_txt_no_ignore/expected_stack_sbom.json index 007b9b3e..01186326 100644 --- a/test/providers/tst_manifests/pip/pip_requirements_virtual_env_txt_no_ignore/expected_stack_sbom.json +++ b/test/providers/tst_manifests/pip/pip_requirements_virtual_env_txt_no_ignore/expected_stack_sbom.json @@ -13,13 +13,6 @@ } }, "components": [ - { - "name": "default-pip-root", - "version": "0.0.0", - "purl": "pkg:pypi/default-pip-root@0.0.0", - "type": "application", - "bom-ref": "pkg:pypi/default-pip-root@0.0.0" - }, { "name": "anyio", "version": "3.6.2", diff --git a/test/providers/tst_manifests/pip/pip_requirements_virtual_env_with_ignore/expected_component_sbom.json b/test/providers/tst_manifests/pip/pip_requirements_virtual_env_with_ignore/expected_component_sbom.json index 72e34215..85239da2 100644 --- a/test/providers/tst_manifests/pip/pip_requirements_virtual_env_with_ignore/expected_component_sbom.json +++ b/test/providers/tst_manifests/pip/pip_requirements_virtual_env_with_ignore/expected_component_sbom.json @@ -1,203 +1,197 @@ { - "bomFormat" : "CycloneDX", - "specVersion" : "1.4", - "version" : 1, - "metadata" : { - "timestamp" : "2023-10-01T00:00:00.000Z", - "component" : { - "name" : "root", - "purl" : "pkg:pypi/root", - "type" : "application", - "bom-ref" : "pkg:pypi/root" + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-10-01T00:00:00.000Z", + "component": { + "name": "root", + "purl": "pkg:pypi/root", + "type": "application", + "bom-ref": "pkg:pypi/root" } }, - "components" : [ + "components": [ { - "name" : "root", - "purl" : "pkg:pypi/root", - "type" : "application", - "bom-ref" : "pkg:pypi/root" + "name": "anyio", + "version": "3.6.2", + "purl": "pkg:pypi/anyio@3.6.2", + "type": "library", + "bom-ref": "pkg:pypi/anyio@3.6.2" }, { - "name" : "anyio", - "version" : "3.6.2", - "purl" : "pkg:pypi/anyio@3.6.2", - "type" : "library", - "bom-ref" : "pkg:pypi/anyio@3.6.2" + "name": "asgiref", + "version": "3.4.1", + "purl": "pkg:pypi/asgiref@3.4.1", + "type": "library", + "bom-ref": "pkg:pypi/asgiref@3.4.1" }, { - "name" : "asgiref", - "version" : "3.4.1", - "purl" : "pkg:pypi/asgiref@3.4.1", - "type" : "library", - "bom-ref" : "pkg:pypi/asgiref@3.4.1" + "name": "beautifulsoup4", + "version": "4.12.2", + "purl": "pkg:pypi/beautifulsoup4@4.12.2", + "type": "library", + "bom-ref": "pkg:pypi/beautifulsoup4@4.12.2" }, { - "name" : "beautifulsoup4", - "version" : "4.12.2", - "purl" : "pkg:pypi/beautifulsoup4@4.12.2", - "type" : "library", - "bom-ref" : "pkg:pypi/beautifulsoup4@4.12.2" + "name": "certifi", + "version": "2023.7.22", + "purl": "pkg:pypi/certifi@2023.7.22", + "type": "library", + "bom-ref": "pkg:pypi/certifi@2023.7.22" }, { - "name" : "certifi", - "version" : "2023.7.22", - "purl" : "pkg:pypi/certifi@2023.7.22", - "type" : "library", - "bom-ref" : "pkg:pypi/certifi@2023.7.22" + "name": "chardet", + "version": "4.0.0", + "purl": "pkg:pypi/chardet@4.0.0", + "type": "library", + "bom-ref": "pkg:pypi/chardet@4.0.0" }, { - "name" : "chardet", - "version" : "4.0.0", - "purl" : "pkg:pypi/chardet@4.0.0", - "type" : "library", - "bom-ref" : "pkg:pypi/chardet@4.0.0" + "name": "contextlib2", + "version": "21.6.0", + "purl": "pkg:pypi/contextlib2@21.6.0", + "type": "library", + "bom-ref": "pkg:pypi/contextlib2@21.6.0" }, { - "name" : "contextlib2", - "version" : "21.6.0", - "purl" : "pkg:pypi/contextlib2@21.6.0", - "type" : "library", - "bom-ref" : "pkg:pypi/contextlib2@21.6.0" + "name": "fastapi", + "version": "0.75.1", + "purl": "pkg:pypi/fastapi@0.75.1", + "type": "library", + "bom-ref": "pkg:pypi/fastapi@0.75.1" }, { - "name" : "fastapi", - "version" : "0.75.1", - "purl" : "pkg:pypi/fastapi@0.75.1", - "type" : "library", - "bom-ref" : "pkg:pypi/fastapi@0.75.1" + "name": "flask", + "version": "2.0.3", + "purl": "pkg:pypi/flask@2.0.3", + "type": "library", + "bom-ref": "pkg:pypi/flask@2.0.3" }, { - "name" : "flask", - "version" : "2.0.3", - "purl" : "pkg:pypi/flask@2.0.3", - "type" : "library", - "bom-ref" : "pkg:pypi/flask@2.0.3" + "name": "h11", + "version": "0.13.0", + "purl": "pkg:pypi/h11@0.13.0", + "type": "library", + "bom-ref": "pkg:pypi/h11@0.13.0" }, { - "name" : "h11", - "version" : "0.13.0", - "purl" : "pkg:pypi/h11@0.13.0", - "type" : "library", - "bom-ref" : "pkg:pypi/h11@0.13.0" + "name": "idna", + "version": "2.10", + "purl": "pkg:pypi/idna@2.10", + "type": "library", + "bom-ref": "pkg:pypi/idna@2.10" }, { - "name" : "idna", - "version" : "2.10", - "purl" : "pkg:pypi/idna@2.10", - "type" : "library", - "bom-ref" : "pkg:pypi/idna@2.10" + "name": "immutables", + "version": "0.20", + "purl": "pkg:pypi/immutables@0.20", + "type": "library", + "bom-ref": "pkg:pypi/immutables@0.20" }, { - "name" : "immutables", - "version" : "0.20", - "purl" : "pkg:pypi/immutables@0.20", - "type" : "library", - "bom-ref" : "pkg:pypi/immutables@0.20" + "name": "importlib-metadata", + "version": "4.8.3", + "purl": "pkg:pypi/importlib-metadata@4.8.3", + "type": "library", + "bom-ref": "pkg:pypi/importlib-metadata@4.8.3" }, { - "name" : "importlib-metadata", - "version" : "4.8.3", - "purl" : "pkg:pypi/importlib-metadata@4.8.3", - "type" : "library", - "bom-ref" : "pkg:pypi/importlib-metadata@4.8.3" + "name": "itsdangerous", + "version": "2.0.1", + "purl": "pkg:pypi/itsdangerous@2.0.1", + "type": "library", + "bom-ref": "pkg:pypi/itsdangerous@2.0.1" }, { - "name" : "itsdangerous", - "version" : "2.0.1", - "purl" : "pkg:pypi/itsdangerous@2.0.1", - "type" : "library", - "bom-ref" : "pkg:pypi/itsdangerous@2.0.1" + "name": "jinja2", + "version": "3.0.3", + "purl": "pkg:pypi/jinja2@3.0.3", + "type": "library", + "bom-ref": "pkg:pypi/jinja2@3.0.3" }, { - "name" : "jinja2", - "version" : "3.0.3", - "purl" : "pkg:pypi/jinja2@3.0.3", - "type" : "library", - "bom-ref" : "pkg:pypi/jinja2@3.0.3" + "name": "markupsafe", + "version": "2.0.1", + "purl": "pkg:pypi/markupsafe@2.0.1", + "type": "library", + "bom-ref": "pkg:pypi/markupsafe@2.0.1" }, { - "name" : "markupsafe", - "version" : "2.0.1", - "purl" : "pkg:pypi/markupsafe@2.0.1", - "type" : "library", - "bom-ref" : "pkg:pypi/markupsafe@2.0.1" + "name": "requests", + "version": "2.25.1", + "purl": "pkg:pypi/requests@2.25.1", + "type": "library", + "bom-ref": "pkg:pypi/requests@2.25.1" }, { - "name" : "requests", - "version" : "2.25.1", - "purl" : "pkg:pypi/requests@2.25.1", - "type" : "library", - "bom-ref" : "pkg:pypi/requests@2.25.1" + "name": "six", + "version": "1.16.0", + "purl": "pkg:pypi/six@1.16.0", + "type": "library", + "bom-ref": "pkg:pypi/six@1.16.0" }, { - "name" : "six", - "version" : "1.16.0", - "purl" : "pkg:pypi/six@1.16.0", - "type" : "library", - "bom-ref" : "pkg:pypi/six@1.16.0" + "name": "sniffio", + "version": "1.2.0", + "purl": "pkg:pypi/sniffio@1.2.0", + "type": "library", + "bom-ref": "pkg:pypi/sniffio@1.2.0" }, { - "name" : "sniffio", - "version" : "1.2.0", - "purl" : "pkg:pypi/sniffio@1.2.0", - "type" : "library", - "bom-ref" : "pkg:pypi/sniffio@1.2.0" + "name": "soupsieve", + "version": "2.3.2.post1", + "purl": "pkg:pypi/soupsieve@2.3.2.post1", + "type": "library", + "bom-ref": "pkg:pypi/soupsieve@2.3.2.post1" }, { - "name" : "soupsieve", - "version" : "2.3.2.post1", - "purl" : "pkg:pypi/soupsieve@2.3.2.post1", - "type" : "library", - "bom-ref" : "pkg:pypi/soupsieve@2.3.2.post1" + "name": "starlette", + "version": "0.17.1", + "purl": "pkg:pypi/starlette@0.17.1", + "type": "library", + "bom-ref": "pkg:pypi/starlette@0.17.1" }, { - "name" : "starlette", - "version" : "0.17.1", - "purl" : "pkg:pypi/starlette@0.17.1", - "type" : "library", - "bom-ref" : "pkg:pypi/starlette@0.17.1" + "name": "typing-extensions", + "version": "4.1.1", + "purl": "pkg:pypi/typing-extensions@4.1.1", + "type": "library", + "bom-ref": "pkg:pypi/typing-extensions@4.1.1" }, { - "name" : "typing-extensions", - "version" : "4.1.1", - "purl" : "pkg:pypi/typing-extensions@4.1.1", - "type" : "library", - "bom-ref" : "pkg:pypi/typing-extensions@4.1.1" + "name": "urllib3", + "version": "1.26.16", + "purl": "pkg:pypi/urllib3@1.26.16", + "type": "library", + "bom-ref": "pkg:pypi/urllib3@1.26.16" }, { - "name" : "urllib3", - "version" : "1.26.16", - "purl" : "pkg:pypi/urllib3@1.26.16", - "type" : "library", - "bom-ref" : "pkg:pypi/urllib3@1.26.16" + "name": "uvicorn", + "version": "0.17.0", + "purl": "pkg:pypi/uvicorn@0.17.0", + "type": "library", + "bom-ref": "pkg:pypi/uvicorn@0.17.0" }, { - "name" : "uvicorn", - "version" : "0.17.0", - "purl" : "pkg:pypi/uvicorn@0.17.0", - "type" : "library", - "bom-ref" : "pkg:pypi/uvicorn@0.17.0" + "name": "werkzeug", + "version": "2.0.3", + "purl": "pkg:pypi/werkzeug@2.0.3", + "type": "library", + "bom-ref": "pkg:pypi/werkzeug@2.0.3" }, { - "name" : "werkzeug", - "version" : "2.0.3", - "purl" : "pkg:pypi/werkzeug@2.0.3", - "type" : "library", - "bom-ref" : "pkg:pypi/werkzeug@2.0.3" - }, - { - "name" : "zipp", - "version" : "3.6.0", - "purl" : "pkg:pypi/zipp@3.6.0", - "type" : "library", - "bom-ref" : "pkg:pypi/zipp@3.6.0" + "name": "zipp", + "version": "3.6.0", + "purl": "pkg:pypi/zipp@3.6.0", + "type": "library", + "bom-ref": "pkg:pypi/zipp@3.6.0" } ], - "dependencies" : [ + "dependencies": [ { - "ref" : "pkg:pypi/root", - "dependsOn" : [ + "ref": "pkg:pypi/root", + "dependsOn": [ "pkg:pypi/anyio@3.6.2", "pkg:pypi/asgiref@3.4.1", "pkg:pypi/beautifulsoup4@4.12.2", @@ -226,104 +220,104 @@ ] }, { - "ref" : "pkg:pypi/anyio@3.6.2", - "dependsOn" : [ ] + "ref": "pkg:pypi/anyio@3.6.2", + "dependsOn": [] }, { - "ref" : "pkg:pypi/asgiref@3.4.1", - "dependsOn" : [ ] + "ref": "pkg:pypi/asgiref@3.4.1", + "dependsOn": [] }, { - "ref" : "pkg:pypi/beautifulsoup4@4.12.2", - "dependsOn" : [ ] + "ref": "pkg:pypi/beautifulsoup4@4.12.2", + "dependsOn": [] }, { - "ref" : "pkg:pypi/certifi@2023.7.22", - "dependsOn" : [ ] + "ref": "pkg:pypi/certifi@2023.7.22", + "dependsOn": [] }, { - "ref" : "pkg:pypi/chardet@4.0.0", - "dependsOn" : [ ] + "ref": "pkg:pypi/chardet@4.0.0", + "dependsOn": [] }, { - "ref" : "pkg:pypi/contextlib2@21.6.0", - "dependsOn" : [ ] + "ref": "pkg:pypi/contextlib2@21.6.0", + "dependsOn": [] }, { - "ref" : "pkg:pypi/fastapi@0.75.1", - "dependsOn" : [ ] + "ref": "pkg:pypi/fastapi@0.75.1", + "dependsOn": [] }, { - "ref" : "pkg:pypi/flask@2.0.3", - "dependsOn" : [ ] + "ref": "pkg:pypi/flask@2.0.3", + "dependsOn": [] }, { - "ref" : "pkg:pypi/h11@0.13.0", - "dependsOn" : [ ] + "ref": "pkg:pypi/h11@0.13.0", + "dependsOn": [] }, { - "ref" : "pkg:pypi/idna@2.10", - "dependsOn" : [ ] + "ref": "pkg:pypi/idna@2.10", + "dependsOn": [] }, { - "ref" : "pkg:pypi/immutables@0.20", - "dependsOn" : [ ] + "ref": "pkg:pypi/immutables@0.20", + "dependsOn": [] }, { - "ref" : "pkg:pypi/importlib-metadata@4.8.3", - "dependsOn" : [ ] + "ref": "pkg:pypi/importlib-metadata@4.8.3", + "dependsOn": [] }, { - "ref" : "pkg:pypi/itsdangerous@2.0.1", - "dependsOn" : [ ] + "ref": "pkg:pypi/itsdangerous@2.0.1", + "dependsOn": [] }, { - "ref" : "pkg:pypi/jinja2@3.0.3", - "dependsOn" : [ ] + "ref": "pkg:pypi/jinja2@3.0.3", + "dependsOn": [] }, { - "ref" : "pkg:pypi/markupsafe@2.0.1", - "dependsOn" : [ ] + "ref": "pkg:pypi/markupsafe@2.0.1", + "dependsOn": [] }, { - "ref" : "pkg:pypi/requests@2.25.1", - "dependsOn" : [ ] + "ref": "pkg:pypi/requests@2.25.1", + "dependsOn": [] }, { - "ref" : "pkg:pypi/six@1.16.0", - "dependsOn" : [ ] + "ref": "pkg:pypi/six@1.16.0", + "dependsOn": [] }, { - "ref" : "pkg:pypi/sniffio@1.2.0", - "dependsOn" : [ ] + "ref": "pkg:pypi/sniffio@1.2.0", + "dependsOn": [] }, { - "ref" : "pkg:pypi/soupsieve@2.3.2.post1", - "dependsOn" : [ ] + "ref": "pkg:pypi/soupsieve@2.3.2.post1", + "dependsOn": [] }, { - "ref" : "pkg:pypi/starlette@0.17.1", - "dependsOn" : [ ] + "ref": "pkg:pypi/starlette@0.17.1", + "dependsOn": [] }, { - "ref" : "pkg:pypi/typing-extensions@4.1.1", - "dependsOn" : [ ] + "ref": "pkg:pypi/typing-extensions@4.1.1", + "dependsOn": [] }, { - "ref" : "pkg:pypi/urllib3@1.26.16", - "dependsOn" : [ ] + "ref": "pkg:pypi/urllib3@1.26.16", + "dependsOn": [] }, { - "ref" : "pkg:pypi/uvicorn@0.17.0", - "dependsOn" : [ ] + "ref": "pkg:pypi/uvicorn@0.17.0", + "dependsOn": [] }, { - "ref" : "pkg:pypi/werkzeug@2.0.3", - "dependsOn" : [ ] + "ref": "pkg:pypi/werkzeug@2.0.3", + "dependsOn": [] }, { - "ref" : "pkg:pypi/zipp@3.6.0", - "dependsOn" : [ ] + "ref": "pkg:pypi/zipp@3.6.0", + "dependsOn": [] } ] } diff --git a/test/providers/tst_manifests/pip/pip_requirements_virtual_env_with_ignore/expected_stack_sbom.json b/test/providers/tst_manifests/pip/pip_requirements_virtual_env_with_ignore/expected_stack_sbom.json index 42fff71c..61e8e437 100644 --- a/test/providers/tst_manifests/pip/pip_requirements_virtual_env_with_ignore/expected_stack_sbom.json +++ b/test/providers/tst_manifests/pip/pip_requirements_virtual_env_with_ignore/expected_stack_sbom.json @@ -13,13 +13,6 @@ } }, "components": [ - { - "name": "default-pip-root", - "version": "0.0.0", - "purl": "pkg:pypi/default-pip-root@0.0.0", - "type": "application", - "bom-ref": "pkg:pypi/default-pip-root@0.0.0" - }, { "name": "anyio", "version": "3.6.2", diff --git a/test/providers/tst_manifests/pnpm/package_json_deps_with_exhortignore_object/stack_expected_sbom.json b/test/providers/tst_manifests/pnpm/package_json_deps_with_exhortignore_object/stack_expected_sbom.json index 18d40f59..3ac87b1a 100644 --- a/test/providers/tst_manifests/pnpm/package_json_deps_with_exhortignore_object/stack_expected_sbom.json +++ b/test/providers/tst_manifests/pnpm/package_json_deps_with_exhortignore_object/stack_expected_sbom.json @@ -3,2531 +3,2524 @@ "specVersion": "1.4", "version": 1, "metadata": { - "timestamp": "2023-08-07T00:00:00.000Z", - "component": { - "name": "backend", - "version": "1.0.0", - "purl": "pkg:npm/backend@1.0.0", - "type": "application", - "bom-ref": "pkg:npm/backend@1.0.0" - } + "timestamp": "2023-08-07T00:00:00.000Z", + "component": { + "name": "backend", + "version": "1.0.0", + "purl": "pkg:npm/backend@1.0.0", + "type": "application", + "bom-ref": "pkg:npm/backend@1.0.0" + } }, "components": [ - { - "name": "backend", - "version": "1.0.0", - "purl": "pkg:npm/backend@1.0.0", - "type": "application", - "bom-ref": "pkg:npm/backend@1.0.0" - }, - { - "group": "@hapi", - "name": "joi", - "version": "17.1.1", - "purl": "pkg:npm/%40hapi/joi@17.1.1", - "type": "library", - "bom-ref": "pkg:npm/%40hapi/joi@17.1.1" - }, - { - "group": "@hapi", - "name": "address", - "version": "4.1.0", - "purl": "pkg:npm/%40hapi/address@4.1.0", - "type": "library", - "bom-ref": "pkg:npm/%40hapi/address@4.1.0" - }, - { - "group": "@hapi", - "name": "hoek", - "version": "9.3.0", - "purl": "pkg:npm/%40hapi/hoek@9.3.0", - "type": "library", - "bom-ref": "pkg:npm/%40hapi/hoek@9.3.0" - }, - { - "group": "@hapi", - "name": "formula", - "version": "2.0.0", - "purl": "pkg:npm/%40hapi/formula@2.0.0", - "type": "library", - "bom-ref": "pkg:npm/%40hapi/formula@2.0.0" - }, - { - "group": "@hapi", - "name": "pinpoint", - "version": "2.0.1", - "purl": "pkg:npm/%40hapi/pinpoint@2.0.1", - "type": "library", - "bom-ref": "pkg:npm/%40hapi/pinpoint@2.0.1" - }, - { - "group": "@hapi", - "name": "topo", - "version": "5.1.0", - "purl": "pkg:npm/%40hapi/topo@5.1.0", - "type": "library", - "bom-ref": "pkg:npm/%40hapi/topo@5.1.0" - }, - { - "name": "axios", - "version": "0.19.2", - "purl": "pkg:npm/axios@0.19.2", - "type": "library", - "bom-ref": "pkg:npm/axios@0.19.2" - }, - { - "name": "follow-redirects", - "version": "1.5.10", - "purl": "pkg:npm/follow-redirects@1.5.10", - "type": "library", - "bom-ref": "pkg:npm/follow-redirects@1.5.10" - }, - { - "name": "debug", - "version": "3.1.0", - "purl": "pkg:npm/debug@3.1.0", - "type": "library", - "bom-ref": "pkg:npm/debug@3.1.0" - }, - { - "name": "ms", - "version": "2.0.0", - "purl": "pkg:npm/ms@2.0.0", - "type": "library", - "bom-ref": "pkg:npm/ms@2.0.0" - }, - { - "name": "backend", - "version": "0.0.0", - "purl": "pkg:npm/backend@0.0.0", - "type": "library", - "bom-ref": "pkg:npm/backend@0.0.0" - }, - { - "name": "bcryptjs", - "version": "2.4.3", - "purl": "pkg:npm/bcryptjs@2.4.3", - "type": "library", - "bom-ref": "pkg:npm/bcryptjs@2.4.3" - }, - { - "name": "dotenv", - "version": "8.6.0", - "purl": "pkg:npm/dotenv@8.6.0", - "type": "library", - "bom-ref": "pkg:npm/dotenv@8.6.0" - }, - { - "name": "express", - "version": "4.18.2", - "purl": "pkg:npm/express@4.18.2", - "type": "library", - "bom-ref": "pkg:npm/express@4.18.2" - }, - { - "name": "accepts", - "version": "1.3.8", - "purl": "pkg:npm/accepts@1.3.8", - "type": "library", - "bom-ref": "pkg:npm/accepts@1.3.8" - }, - { - "name": "mime-types", - "version": "2.1.35", - "purl": "pkg:npm/mime-types@2.1.35", - "type": "library", - "bom-ref": "pkg:npm/mime-types@2.1.35" - }, - { - "name": "mime-db", - "version": "1.52.0", - "purl": "pkg:npm/mime-db@1.52.0", - "type": "library", - "bom-ref": "pkg:npm/mime-db@1.52.0" - }, - { - "name": "negotiator", - "version": "0.6.3", - "purl": "pkg:npm/negotiator@0.6.3", - "type": "library", - "bom-ref": "pkg:npm/negotiator@0.6.3" - }, - { - "name": "array-flatten", - "version": "1.1.1", - "purl": "pkg:npm/array-flatten@1.1.1", - "type": "library", - "bom-ref": "pkg:npm/array-flatten@1.1.1" - }, - { - "name": "body-parser", - "version": "1.20.1", - "purl": "pkg:npm/body-parser@1.20.1", - "type": "library", - "bom-ref": "pkg:npm/body-parser@1.20.1" - }, - { - "name": "bytes", - "version": "3.1.2", - "purl": "pkg:npm/bytes@3.1.2", - "type": "library", - "bom-ref": "pkg:npm/bytes@3.1.2" - }, - { - "name": "content-type", - "version": "1.0.5", - "purl": "pkg:npm/content-type@1.0.5", - "type": "library", - "bom-ref": "pkg:npm/content-type@1.0.5" - }, - { - "name": "debug", - "version": "2.6.9", - "purl": "pkg:npm/debug@2.6.9", - "type": "library", - "bom-ref": "pkg:npm/debug@2.6.9" - }, - { - "name": "depd", - "version": "2.0.0", - "purl": "pkg:npm/depd@2.0.0", - "type": "library", - "bom-ref": "pkg:npm/depd@2.0.0" - }, - { - "name": "destroy", - "version": "1.2.0", - "purl": "pkg:npm/destroy@1.2.0", - "type": "library", - "bom-ref": "pkg:npm/destroy@1.2.0" - }, - { - "name": "http-errors", - "version": "2.0.0", - "purl": "pkg:npm/http-errors@2.0.0", - "type": "library", - "bom-ref": "pkg:npm/http-errors@2.0.0" - }, - { - "name": "iconv-lite", - "version": "0.4.24", - "purl": "pkg:npm/iconv-lite@0.4.24", - "type": "library", - "bom-ref": "pkg:npm/iconv-lite@0.4.24" - }, - { - "name": "safer-buffer", - "version": "2.1.2", - "purl": "pkg:npm/safer-buffer@2.1.2", - "type": "library", - "bom-ref": "pkg:npm/safer-buffer@2.1.2" - }, - { - "name": "on-finished", - "version": "2.4.1", - "purl": "pkg:npm/on-finished@2.4.1", - "type": "library", - "bom-ref": "pkg:npm/on-finished@2.4.1" - }, - { - "name": "qs", - "version": "6.11.0", - "purl": "pkg:npm/qs@6.11.0", - "type": "library", - "bom-ref": "pkg:npm/qs@6.11.0" - }, - { - "name": "raw-body", - "version": "2.5.1", - "purl": "pkg:npm/raw-body@2.5.1", - "type": "library", - "bom-ref": "pkg:npm/raw-body@2.5.1" - }, - { - "name": "unpipe", - "version": "1.0.0", - "purl": "pkg:npm/unpipe@1.0.0", - "type": "library", - "bom-ref": "pkg:npm/unpipe@1.0.0" - }, - { - "name": "type-is", - "version": "1.6.18", - "purl": "pkg:npm/type-is@1.6.18", - "type": "library", - "bom-ref": "pkg:npm/type-is@1.6.18" - }, - { - "name": "content-disposition", - "version": "0.5.4", - "purl": "pkg:npm/content-disposition@0.5.4", - "type": "library", - "bom-ref": "pkg:npm/content-disposition@0.5.4" - }, - { - "name": "safe-buffer", - "version": "5.2.1", - "purl": "pkg:npm/safe-buffer@5.2.1", - "type": "library", - "bom-ref": "pkg:npm/safe-buffer@5.2.1" - }, - { - "name": "cookie-signature", - "version": "1.0.6", - "purl": "pkg:npm/cookie-signature@1.0.6", - "type": "library", - "bom-ref": "pkg:npm/cookie-signature@1.0.6" - }, - { - "name": "cookie", - "version": "0.5.0", - "purl": "pkg:npm/cookie@0.5.0", - "type": "library", - "bom-ref": "pkg:npm/cookie@0.5.0" - }, - { - "name": "encodeurl", - "version": "1.0.2", - "purl": "pkg:npm/encodeurl@1.0.2", - "type": "library", - "bom-ref": "pkg:npm/encodeurl@1.0.2" - }, - { - "name": "escape-html", - "version": "1.0.3", - "purl": "pkg:npm/escape-html@1.0.3", - "type": "library", - "bom-ref": "pkg:npm/escape-html@1.0.3" - }, - { - "name": "etag", - "version": "1.8.1", - "purl": "pkg:npm/etag@1.8.1", - "type": "library", - "bom-ref": "pkg:npm/etag@1.8.1" - }, - { - "name": "finalhandler", - "version": "1.2.0", - "purl": "pkg:npm/finalhandler@1.2.0", - "type": "library", - "bom-ref": "pkg:npm/finalhandler@1.2.0" - }, - { - "name": "parseurl", - "version": "1.3.3", - "purl": "pkg:npm/parseurl@1.3.3", - "type": "library", - "bom-ref": "pkg:npm/parseurl@1.3.3" - }, - { - "name": "statuses", - "version": "2.0.1", - "purl": "pkg:npm/statuses@2.0.1", - "type": "library", - "bom-ref": "pkg:npm/statuses@2.0.1" - }, - { - "name": "fresh", - "version": "0.5.2", - "purl": "pkg:npm/fresh@0.5.2", - "type": "library", - "bom-ref": "pkg:npm/fresh@0.5.2" - }, - { - "name": "inherits", - "version": "2.0.4", - "purl": "pkg:npm/inherits@2.0.4", - "type": "library", - "bom-ref": "pkg:npm/inherits@2.0.4" - }, - { - "name": "setprototypeof", - "version": "1.2.0", - "purl": "pkg:npm/setprototypeof@1.2.0", - "type": "library", - "bom-ref": "pkg:npm/setprototypeof@1.2.0" - }, - { - "name": "toidentifier", - "version": "1.0.1", - "purl": "pkg:npm/toidentifier@1.0.1", - "type": "library", - "bom-ref": "pkg:npm/toidentifier@1.0.1" - }, - { - "name": "merge-descriptors", - "version": "1.0.1", - "purl": "pkg:npm/merge-descriptors@1.0.1", - "type": "library", - "bom-ref": "pkg:npm/merge-descriptors@1.0.1" - }, - { - "name": "methods", - "version": "1.1.2", - "purl": "pkg:npm/methods@1.1.2", - "type": "library", - "bom-ref": "pkg:npm/methods@1.1.2" - }, - { - "name": "ee-first", - "version": "1.1.1", - "purl": "pkg:npm/ee-first@1.1.1", - "type": "library", - "bom-ref": "pkg:npm/ee-first@1.1.1" - }, - { - "name": "path-to-regexp", - "version": "0.1.7", - "purl": "pkg:npm/path-to-regexp@0.1.7", - "type": "library", - "bom-ref": "pkg:npm/path-to-regexp@0.1.7" - }, - { - "name": "proxy-addr", - "version": "2.0.7", - "purl": "pkg:npm/proxy-addr@2.0.7", - "type": "library", - "bom-ref": "pkg:npm/proxy-addr@2.0.7" - }, - { - "name": "forwarded", - "version": "0.2.0", - "purl": "pkg:npm/forwarded@0.2.0", - "type": "library", - "bom-ref": "pkg:npm/forwarded@0.2.0" - }, - { - "name": "ipaddr.js", - "version": "1.9.1", - "purl": "pkg:npm/ipaddr.js@1.9.1", - "type": "library", - "bom-ref": "pkg:npm/ipaddr.js@1.9.1" - }, - { - "name": "side-channel", - "version": "1.0.4", - "purl": "pkg:npm/side-channel@1.0.4", - "type": "library", - "bom-ref": "pkg:npm/side-channel@1.0.4" - }, - { - "name": "call-bind", - "version": "1.0.2", - "purl": "pkg:npm/call-bind@1.0.2", - "type": "library", - "bom-ref": "pkg:npm/call-bind@1.0.2" - }, - { - "name": "function-bind", - "version": "1.1.1", - "purl": "pkg:npm/function-bind@1.1.1", - "type": "library", - "bom-ref": "pkg:npm/function-bind@1.1.1" - }, - { - "name": "get-intrinsic", - "version": "1.2.1", - "purl": "pkg:npm/get-intrinsic@1.2.1", - "type": "library", - "bom-ref": "pkg:npm/get-intrinsic@1.2.1" - }, - { - "name": "has-proto", - "version": "1.0.1", - "purl": "pkg:npm/has-proto@1.0.1", - "type": "library", - "bom-ref": "pkg:npm/has-proto@1.0.1" - }, - { - "name": "has-symbols", - "version": "1.0.3", - "purl": "pkg:npm/has-symbols@1.0.3", - "type": "library", - "bom-ref": "pkg:npm/has-symbols@1.0.3" - }, - { - "name": "has", - "version": "1.0.3", - "purl": "pkg:npm/has@1.0.3", - "type": "library", - "bom-ref": "pkg:npm/has@1.0.3" - }, - { - "name": "object-inspect", - "version": "1.12.3", - "purl": "pkg:npm/object-inspect@1.12.3", - "type": "library", - "bom-ref": "pkg:npm/object-inspect@1.12.3" - }, - { - "name": "range-parser", - "version": "1.2.1", - "purl": "pkg:npm/range-parser@1.2.1", - "type": "library", - "bom-ref": "pkg:npm/range-parser@1.2.1" - }, - { - "name": "send", - "version": "0.18.0", - "purl": "pkg:npm/send@0.18.0", - "type": "library", - "bom-ref": "pkg:npm/send@0.18.0" - }, - { - "name": "mime", - "version": "1.6.0", - "purl": "pkg:npm/mime@1.6.0", - "type": "library", - "bom-ref": "pkg:npm/mime@1.6.0" - }, - { - "name": "ms", - "version": "2.1.3", - "purl": "pkg:npm/ms@2.1.3", - "type": "library", - "bom-ref": "pkg:npm/ms@2.1.3" - }, - { - "name": "serve-static", - "version": "1.15.0", - "purl": "pkg:npm/serve-static@1.15.0", - "type": "library", - "bom-ref": "pkg:npm/serve-static@1.15.0" - }, - { - "name": "media-typer", - "version": "0.3.0", - "purl": "pkg:npm/media-typer@0.3.0", - "type": "library", - "bom-ref": "pkg:npm/media-typer@0.3.0" - }, - { - "name": "utils-merge", - "version": "1.0.1", - "purl": "pkg:npm/utils-merge@1.0.1", - "type": "library", - "bom-ref": "pkg:npm/utils-merge@1.0.1" - }, - { - "name": "vary", - "version": "1.1.2", - "purl": "pkg:npm/vary@1.1.2", - "type": "library", - "bom-ref": "pkg:npm/vary@1.1.2" - }, - { - "name": "jsdom", - "version": "19.0.0", - "purl": "pkg:npm/jsdom@19.0.0", - "type": "library", - "bom-ref": "pkg:npm/jsdom@19.0.0" - }, - { - "name": "abab", - "version": "2.0.6", - "purl": "pkg:npm/abab@2.0.6", - "type": "library", - "bom-ref": "pkg:npm/abab@2.0.6" - }, - { - "name": "acorn-globals", - "version": "6.0.0", - "purl": "pkg:npm/acorn-globals@6.0.0", - "type": "library", - "bom-ref": "pkg:npm/acorn-globals@6.0.0" - }, - { - "name": "acorn-walk", - "version": "7.2.0", - "purl": "pkg:npm/acorn-walk@7.2.0", - "type": "library", - "bom-ref": "pkg:npm/acorn-walk@7.2.0" - }, - { - "name": "acorn", - "version": "7.4.1", - "purl": "pkg:npm/acorn@7.4.1", - "type": "library", - "bom-ref": "pkg:npm/acorn@7.4.1" - }, - { - "name": "acorn", - "version": "8.10.0", - "purl": "pkg:npm/acorn@8.10.0", - "type": "library", - "bom-ref": "pkg:npm/acorn@8.10.0" - }, - { - "name": "cssom", - "version": "0.5.0", - "purl": "pkg:npm/cssom@0.5.0", - "type": "library", - "bom-ref": "pkg:npm/cssom@0.5.0" - }, - { - "name": "cssstyle", - "version": "2.3.0", - "purl": "pkg:npm/cssstyle@2.3.0", - "type": "library", - "bom-ref": "pkg:npm/cssstyle@2.3.0" - }, - { - "name": "cssom", - "version": "0.3.8", - "purl": "pkg:npm/cssom@0.3.8", - "type": "library", - "bom-ref": "pkg:npm/cssom@0.3.8" - }, - { - "name": "data-urls", - "version": "3.0.2", - "purl": "pkg:npm/data-urls@3.0.2", - "type": "library", - "bom-ref": "pkg:npm/data-urls@3.0.2" - }, - { - "name": "whatwg-mimetype", - "version": "3.0.0", - "purl": "pkg:npm/whatwg-mimetype@3.0.0", - "type": "library", - "bom-ref": "pkg:npm/whatwg-mimetype@3.0.0" - }, - { - "name": "whatwg-url", - "version": "11.0.0", - "purl": "pkg:npm/whatwg-url@11.0.0", - "type": "library", - "bom-ref": "pkg:npm/whatwg-url@11.0.0" - }, - { - "name": "tr46", - "version": "3.0.0", - "purl": "pkg:npm/tr46@3.0.0", - "type": "library", - "bom-ref": "pkg:npm/tr46@3.0.0" - }, - { - "name": "webidl-conversions", - "version": "7.0.0", - "purl": "pkg:npm/webidl-conversions@7.0.0", - "type": "library", - "bom-ref": "pkg:npm/webidl-conversions@7.0.0" - }, - { - "name": "decimal.js", - "version": "10.4.3", - "purl": "pkg:npm/decimal.js@10.4.3", - "type": "library", - "bom-ref": "pkg:npm/decimal.js@10.4.3" - }, - { - "name": "domexception", - "version": "4.0.0", - "purl": "pkg:npm/domexception@4.0.0", - "type": "library", - "bom-ref": "pkg:npm/domexception@4.0.0" - }, - { - "name": "escodegen", - "version": "2.1.0", - "purl": "pkg:npm/escodegen@2.1.0", - "type": "library", - "bom-ref": "pkg:npm/escodegen@2.1.0" - }, - { - "name": "esprima", - "version": "4.0.1", - "purl": "pkg:npm/esprima@4.0.1", - "type": "library", - "bom-ref": "pkg:npm/esprima@4.0.1" - }, - { - "name": "estraverse", - "version": "5.3.0", - "purl": "pkg:npm/estraverse@5.3.0", - "type": "library", - "bom-ref": "pkg:npm/estraverse@5.3.0" - }, - { - "name": "esutils", - "version": "2.0.3", - "purl": "pkg:npm/esutils@2.0.3", - "type": "library", - "bom-ref": "pkg:npm/esutils@2.0.3" - }, - { - "name": "source-map", - "version": "0.6.1", - "purl": "pkg:npm/source-map@0.6.1", - "type": "library", - "bom-ref": "pkg:npm/source-map@0.6.1" - }, - { - "name": "form-data", - "version": "4.0.0", - "purl": "pkg:npm/form-data@4.0.0", - "type": "library", - "bom-ref": "pkg:npm/form-data@4.0.0" - }, - { - "name": "asynckit", - "version": "0.4.0", - "purl": "pkg:npm/asynckit@0.4.0", - "type": "library", - "bom-ref": "pkg:npm/asynckit@0.4.0" - }, - { - "name": "combined-stream", - "version": "1.0.8", - "purl": "pkg:npm/combined-stream@1.0.8", - "type": "library", - "bom-ref": "pkg:npm/combined-stream@1.0.8" - }, - { - "name": "delayed-stream", - "version": "1.0.0", - "purl": "pkg:npm/delayed-stream@1.0.0", - "type": "library", - "bom-ref": "pkg:npm/delayed-stream@1.0.0" - }, - { - "name": "html-encoding-sniffer", - "version": "3.0.0", - "purl": "pkg:npm/html-encoding-sniffer@3.0.0", - "type": "library", - "bom-ref": "pkg:npm/html-encoding-sniffer@3.0.0" - }, - { - "name": "whatwg-encoding", - "version": "2.0.0", - "purl": "pkg:npm/whatwg-encoding@2.0.0", - "type": "library", - "bom-ref": "pkg:npm/whatwg-encoding@2.0.0" - }, - { - "name": "http-proxy-agent", - "version": "5.0.0", - "purl": "pkg:npm/http-proxy-agent@5.0.0", - "type": "library", - "bom-ref": "pkg:npm/http-proxy-agent@5.0.0" - }, - { - "group": "@tootallnate", - "name": "once", - "version": "2.0.0", - "purl": "pkg:npm/%40tootallnate/once@2.0.0", - "type": "library", - "bom-ref": "pkg:npm/%40tootallnate/once@2.0.0" - }, - { - "name": "agent-base", - "version": "6.0.2", - "purl": "pkg:npm/agent-base@6.0.2", - "type": "library", - "bom-ref": "pkg:npm/agent-base@6.0.2" - }, - { - "name": "debug", - "version": "4.3.4", - "purl": "pkg:npm/debug@4.3.4", - "type": "library", - "bom-ref": "pkg:npm/debug@4.3.4" - }, - { - "name": "ms", - "version": "2.1.2", - "purl": "pkg:npm/ms@2.1.2", - "type": "library", - "bom-ref": "pkg:npm/ms@2.1.2" - }, - { - "name": "https-proxy-agent", - "version": "5.0.1", - "purl": "pkg:npm/https-proxy-agent@5.0.1", - "type": "library", - "bom-ref": "pkg:npm/https-proxy-agent@5.0.1" - }, - { - "name": "is-potential-custom-element-name", - "version": "1.0.1", - "purl": "pkg:npm/is-potential-custom-element-name@1.0.1", - "type": "library", - "bom-ref": "pkg:npm/is-potential-custom-element-name@1.0.1" - }, - { - "name": "nwsapi", - "version": "2.2.7", - "purl": "pkg:npm/nwsapi@2.2.7", - "type": "library", - "bom-ref": "pkg:npm/nwsapi@2.2.7" - }, - { - "name": "parse5", - "version": "6.0.1", - "purl": "pkg:npm/parse5@6.0.1", - "type": "library", - "bom-ref": "pkg:npm/parse5@6.0.1" - }, - { - "name": "saxes", - "version": "5.0.1", - "purl": "pkg:npm/saxes@5.0.1", - "type": "library", - "bom-ref": "pkg:npm/saxes@5.0.1" - }, - { - "name": "xmlchars", - "version": "2.2.0", - "purl": "pkg:npm/xmlchars@2.2.0", - "type": "library", - "bom-ref": "pkg:npm/xmlchars@2.2.0" - }, - { - "name": "symbol-tree", - "version": "3.2.4", - "purl": "pkg:npm/symbol-tree@3.2.4", - "type": "library", - "bom-ref": "pkg:npm/symbol-tree@3.2.4" - }, - { - "name": "tough-cookie", - "version": "4.1.3", - "purl": "pkg:npm/tough-cookie@4.1.3", - "type": "library", - "bom-ref": "pkg:npm/tough-cookie@4.1.3" - }, - { - "name": "psl", - "version": "1.9.0", - "purl": "pkg:npm/psl@1.9.0", - "type": "library", - "bom-ref": "pkg:npm/psl@1.9.0" - }, - { - "name": "punycode", - "version": "2.3.0", - "purl": "pkg:npm/punycode@2.3.0", - "type": "library", - "bom-ref": "pkg:npm/punycode@2.3.0" - }, - { - "name": "universalify", - "version": "0.2.0", - "purl": "pkg:npm/universalify@0.2.0", - "type": "library", - "bom-ref": "pkg:npm/universalify@0.2.0" - }, - { - "name": "url-parse", - "version": "1.5.10", - "purl": "pkg:npm/url-parse@1.5.10", - "type": "library", - "bom-ref": "pkg:npm/url-parse@1.5.10" - }, - { - "name": "querystringify", - "version": "2.2.0", - "purl": "pkg:npm/querystringify@2.2.0", - "type": "library", - "bom-ref": "pkg:npm/querystringify@2.2.0" - }, - { - "name": "requires-port", - "version": "1.0.0", - "purl": "pkg:npm/requires-port@1.0.0", - "type": "library", - "bom-ref": "pkg:npm/requires-port@1.0.0" - }, - { - "name": "w3c-hr-time", - "version": "1.0.2", - "purl": "pkg:npm/w3c-hr-time@1.0.2", - "type": "library", - "bom-ref": "pkg:npm/w3c-hr-time@1.0.2" - }, - { - "name": "browser-process-hrtime", - "version": "1.0.0", - "purl": "pkg:npm/browser-process-hrtime@1.0.0", - "type": "library", - "bom-ref": "pkg:npm/browser-process-hrtime@1.0.0" - }, - { - "name": "w3c-xmlserializer", - "version": "3.0.0", - "purl": "pkg:npm/w3c-xmlserializer@3.0.0", - "type": "library", - "bom-ref": "pkg:npm/w3c-xmlserializer@3.0.0" - }, - { - "name": "xml-name-validator", - "version": "4.0.0", - "purl": "pkg:npm/xml-name-validator@4.0.0", - "type": "library", - "bom-ref": "pkg:npm/xml-name-validator@4.0.0" - }, - { - "name": "iconv-lite", - "version": "0.6.3", - "purl": "pkg:npm/iconv-lite@0.6.3", - "type": "library", - "bom-ref": "pkg:npm/iconv-lite@0.6.3" - }, - { - "name": "whatwg-url", - "version": "10.0.0", - "purl": "pkg:npm/whatwg-url@10.0.0", - "type": "library", - "bom-ref": "pkg:npm/whatwg-url@10.0.0" - }, - { - "name": "ws", - "version": "8.14.2", - "purl": "pkg:npm/ws@8.14.2", - "type": "library", - "bom-ref": "pkg:npm/ws@8.14.2" - }, - { - "name": "jws", - "version": "3.2.2", - "purl": "pkg:npm/jws@3.2.2", - "type": "library", - "bom-ref": "pkg:npm/jws@3.2.2" - }, - { - "name": "jwa", - "version": "1.4.1", - "purl": "pkg:npm/jwa@1.4.1", - "type": "library", - "bom-ref": "pkg:npm/jwa@1.4.1" - }, - { - "name": "buffer-equal-constant-time", - "version": "1.0.1", - "purl": "pkg:npm/buffer-equal-constant-time@1.0.1", - "type": "library", - "bom-ref": "pkg:npm/buffer-equal-constant-time@1.0.1" - }, - { - "name": "ecdsa-sig-formatter", - "version": "1.0.11", - "purl": "pkg:npm/ecdsa-sig-formatter@1.0.11", - "type": "library", - "bom-ref": "pkg:npm/ecdsa-sig-formatter@1.0.11" - }, - { - "name": "lodash.includes", - "version": "4.3.0", - "purl": "pkg:npm/lodash.includes@4.3.0", - "type": "library", - "bom-ref": "pkg:npm/lodash.includes@4.3.0" - }, - { - "name": "lodash.isboolean", - "version": "3.0.3", - "purl": "pkg:npm/lodash.isboolean@3.0.3", - "type": "library", - "bom-ref": "pkg:npm/lodash.isboolean@3.0.3" - }, - { - "name": "lodash.isinteger", - "version": "4.0.4", - "purl": "pkg:npm/lodash.isinteger@4.0.4", - "type": "library", - "bom-ref": "pkg:npm/lodash.isinteger@4.0.4" - }, - { - "name": "lodash.isnumber", - "version": "3.0.3", - "purl": "pkg:npm/lodash.isnumber@3.0.3", - "type": "library", - "bom-ref": "pkg:npm/lodash.isnumber@3.0.3" - }, - { - "name": "lodash.isplainobject", - "version": "4.0.6", - "purl": "pkg:npm/lodash.isplainobject@4.0.6", - "type": "library", - "bom-ref": "pkg:npm/lodash.isplainobject@4.0.6" - }, - { - "name": "lodash.isstring", - "version": "4.0.1", - "purl": "pkg:npm/lodash.isstring@4.0.1", - "type": "library", - "bom-ref": "pkg:npm/lodash.isstring@4.0.1" - }, - { - "name": "lodash.once", - "version": "4.1.1", - "purl": "pkg:npm/lodash.once@4.1.1", - "type": "library", - "bom-ref": "pkg:npm/lodash.once@4.1.1" - }, - { - "name": "semver", - "version": "5.7.2", - "purl": "pkg:npm/semver@5.7.2", - "type": "library", - "bom-ref": "pkg:npm/semver@5.7.2" - }, - { - "name": "mongoose", - "version": "5.13.20", - "purl": "pkg:npm/mongoose@5.13.20", - "type": "library", - "bom-ref": "pkg:npm/mongoose@5.13.20" - }, - { - "group": "@types", - "name": "bson", - "version": "4.0.5", - "purl": "pkg:npm/%40types/bson@4.0.5", - "type": "library", - "bom-ref": "pkg:npm/%40types/bson@4.0.5" - }, - { - "group": "@types", - "name": "node", - "version": "20.4.8", - "purl": "pkg:npm/%40types/node@20.4.8", - "type": "library", - "bom-ref": "pkg:npm/%40types/node@20.4.8" - }, - { - "group": "@types", - "name": "mongodb", - "version": "3.6.20", - "purl": "pkg:npm/%40types/mongodb@3.6.20", - "type": "library", - "bom-ref": "pkg:npm/%40types/mongodb@3.6.20" - }, - { - "name": "bson", - "version": "1.1.6", - "purl": "pkg:npm/bson@1.1.6", - "type": "library", - "bom-ref": "pkg:npm/bson@1.1.6" - }, - { - "name": "kareem", - "version": "2.3.2", - "purl": "pkg:npm/kareem@2.3.2", - "type": "library", - "bom-ref": "pkg:npm/kareem@2.3.2" - }, - { - "name": "mongodb", - "version": "3.7.4", - "purl": "pkg:npm/mongodb@3.7.4", - "type": "library", - "bom-ref": "pkg:npm/mongodb@3.7.4" - }, - { - "name": "bl", - "version": "2.2.1", - "purl": "pkg:npm/bl@2.2.1", - "type": "library", - "bom-ref": "pkg:npm/bl@2.2.1" - }, - { - "name": "readable-stream", - "version": "2.3.8", - "purl": "pkg:npm/readable-stream@2.3.8", - "type": "library", - "bom-ref": "pkg:npm/readable-stream@2.3.8" - }, - { - "name": "core-util-is", - "version": "1.0.3", - "purl": "pkg:npm/core-util-is@1.0.3", - "type": "library", - "bom-ref": "pkg:npm/core-util-is@1.0.3" - }, - { - "name": "isarray", - "version": "1.0.0", - "purl": "pkg:npm/isarray@1.0.0", - "type": "library", - "bom-ref": "pkg:npm/isarray@1.0.0" - }, - { - "name": "process-nextick-args", - "version": "2.0.1", - "purl": "pkg:npm/process-nextick-args@2.0.1", - "type": "library", - "bom-ref": "pkg:npm/process-nextick-args@2.0.1" - }, - { - "name": "safe-buffer", - "version": "5.1.2", - "purl": "pkg:npm/safe-buffer@5.1.2", - "type": "library", - "bom-ref": "pkg:npm/safe-buffer@5.1.2" - }, - { - "name": "string_decoder", - "version": "1.1.1", - "purl": "pkg:npm/string_decoder@1.1.1", - "type": "library", - "bom-ref": "pkg:npm/string_decoder@1.1.1" - }, - { - "name": "util-deprecate", - "version": "1.0.2", - "purl": "pkg:npm/util-deprecate@1.0.2", - "type": "library", - "bom-ref": "pkg:npm/util-deprecate@1.0.2" - }, - { - "name": "denque", - "version": "1.5.1", - "purl": "pkg:npm/denque@1.5.1", - "type": "library", - "bom-ref": "pkg:npm/denque@1.5.1" - }, - { - "name": "optional-require", - "version": "1.1.8", - "purl": "pkg:npm/optional-require@1.1.8", - "type": "library", - "bom-ref": "pkg:npm/optional-require@1.1.8" - }, - { - "name": "require-at", - "version": "1.0.6", - "purl": "pkg:npm/require-at@1.0.6", - "type": "library", - "bom-ref": "pkg:npm/require-at@1.0.6" - }, - { - "name": "saslprep", - "version": "1.0.3", - "purl": "pkg:npm/saslprep@1.0.3", - "type": "library", - "bom-ref": "pkg:npm/saslprep@1.0.3" - }, - { - "name": "sparse-bitfield", - "version": "3.0.3", - "purl": "pkg:npm/sparse-bitfield@3.0.3", - "type": "library", - "bom-ref": "pkg:npm/sparse-bitfield@3.0.3" - }, - { - "name": "memory-pager", - "version": "1.5.0", - "purl": "pkg:npm/memory-pager@1.5.0", - "type": "library", - "bom-ref": "pkg:npm/memory-pager@1.5.0" - }, - { - "name": "mongoose-legacy-pluralize", - "version": "1.0.2", - "purl": "pkg:npm/mongoose-legacy-pluralize@1.0.2", - "type": "library", - "bom-ref": "pkg:npm/mongoose-legacy-pluralize@1.0.2" - }, - { - "name": "mpath", - "version": "0.8.4", - "purl": "pkg:npm/mpath@0.8.4", - "type": "library", - "bom-ref": "pkg:npm/mpath@0.8.4" - }, - { - "name": "mquery", - "version": "3.2.5", - "purl": "pkg:npm/mquery@3.2.5", - "type": "library", - "bom-ref": "pkg:npm/mquery@3.2.5" - }, - { - "name": "bluebird", - "version": "3.5.1", - "purl": "pkg:npm/bluebird@3.5.1", - "type": "library", - "bom-ref": "pkg:npm/bluebird@3.5.1" - }, - { - "name": "regexp-clone", - "version": "1.0.0", - "purl": "pkg:npm/regexp-clone@1.0.0", - "type": "library", - "bom-ref": "pkg:npm/regexp-clone@1.0.0" - }, - { - "name": "sliced", - "version": "1.0.1", - "purl": "pkg:npm/sliced@1.0.1", - "type": "library", - "bom-ref": "pkg:npm/sliced@1.0.1" - }, - { - "name": "optional-require", - "version": "1.0.3", - "purl": "pkg:npm/optional-require@1.0.3", - "type": "library", - "bom-ref": "pkg:npm/optional-require@1.0.3" - }, - { - "name": "sift", - "version": "13.5.2", - "purl": "pkg:npm/sift@13.5.2", - "type": "library", - "bom-ref": "pkg:npm/sift@13.5.2" - }, - { - "name": "nodemon", - "version": "2.0.22", - "purl": "pkg:npm/nodemon@2.0.22", - "type": "library", - "bom-ref": "pkg:npm/nodemon@2.0.22" - }, - { - "name": "chokidar", - "version": "3.5.3", - "purl": "pkg:npm/chokidar@3.5.3", - "type": "library", - "bom-ref": "pkg:npm/chokidar@3.5.3" - }, - { - "name": "anymatch", - "version": "3.1.3", - "purl": "pkg:npm/anymatch@3.1.3", - "type": "library", - "bom-ref": "pkg:npm/anymatch@3.1.3" - }, - { - "name": "normalize-path", - "version": "3.0.0", - "purl": "pkg:npm/normalize-path@3.0.0", - "type": "library", - "bom-ref": "pkg:npm/normalize-path@3.0.0" - }, - { - "name": "picomatch", - "version": "2.3.1", - "purl": "pkg:npm/picomatch@2.3.1", - "type": "library", - "bom-ref": "pkg:npm/picomatch@2.3.1" - }, - { - "name": "braces", - "version": "3.0.2", - "purl": "pkg:npm/braces@3.0.2", - "type": "library", - "bom-ref": "pkg:npm/braces@3.0.2" - }, - { - "name": "fill-range", - "version": "7.0.1", - "purl": "pkg:npm/fill-range@7.0.1", - "type": "library", - "bom-ref": "pkg:npm/fill-range@7.0.1" - }, - { - "name": "to-regex-range", - "version": "5.0.1", - "purl": "pkg:npm/to-regex-range@5.0.1", - "type": "library", - "bom-ref": "pkg:npm/to-regex-range@5.0.1" - }, - { - "name": "is-number", - "version": "7.0.0", - "purl": "pkg:npm/is-number@7.0.0", - "type": "library", - "bom-ref": "pkg:npm/is-number@7.0.0" - }, - { - "name": "fsevents", - "version": "2.3.2", - "purl": "pkg:npm/fsevents@2.3.2", - "type": "library", - "bom-ref": "pkg:npm/fsevents@2.3.2" - }, - { - "name": "glob-parent", - "version": "5.1.2", - "purl": "pkg:npm/glob-parent@5.1.2", - "type": "library", - "bom-ref": "pkg:npm/glob-parent@5.1.2" - }, - { - "name": "is-glob", - "version": "4.0.3", - "purl": "pkg:npm/is-glob@4.0.3", - "type": "library", - "bom-ref": "pkg:npm/is-glob@4.0.3" - }, - { - "name": "is-binary-path", - "version": "2.1.0", - "purl": "pkg:npm/is-binary-path@2.1.0", - "type": "library", - "bom-ref": "pkg:npm/is-binary-path@2.1.0" - }, - { - "name": "binary-extensions", - "version": "2.2.0", - "purl": "pkg:npm/binary-extensions@2.2.0", - "type": "library", - "bom-ref": "pkg:npm/binary-extensions@2.2.0" - }, - { - "name": "is-extglob", - "version": "2.1.1", - "purl": "pkg:npm/is-extglob@2.1.1", - "type": "library", - "bom-ref": "pkg:npm/is-extglob@2.1.1" - }, - { - "name": "readdirp", - "version": "3.6.0", - "purl": "pkg:npm/readdirp@3.6.0", - "type": "library", - "bom-ref": "pkg:npm/readdirp@3.6.0" - }, - { - "name": "debug", - "version": "3.2.7", - "purl": "pkg:npm/debug@3.2.7", - "type": "library", - "bom-ref": "pkg:npm/debug@3.2.7" - }, - { - "name": "ignore-by-default", - "version": "1.0.1", - "purl": "pkg:npm/ignore-by-default@1.0.1", - "type": "library", - "bom-ref": "pkg:npm/ignore-by-default@1.0.1" - }, - { - "name": "minimatch", - "version": "3.1.2", - "purl": "pkg:npm/minimatch@3.1.2", - "type": "library", - "bom-ref": "pkg:npm/minimatch@3.1.2" - }, - { - "name": "brace-expansion", - "version": "1.1.11", - "purl": "pkg:npm/brace-expansion@1.1.11", - "type": "library", - "bom-ref": "pkg:npm/brace-expansion@1.1.11" - }, - { - "name": "balanced-match", - "version": "1.0.2", - "purl": "pkg:npm/balanced-match@1.0.2", - "type": "library", - "bom-ref": "pkg:npm/balanced-match@1.0.2" - }, - { - "name": "concat-map", - "version": "0.0.1", - "purl": "pkg:npm/concat-map@0.0.1", - "type": "library", - "bom-ref": "pkg:npm/concat-map@0.0.1" - }, - { - "name": "pstree.remy", - "version": "1.1.8", - "purl": "pkg:npm/pstree.remy@1.1.8", - "type": "library", - "bom-ref": "pkg:npm/pstree.remy@1.1.8" - }, - { - "name": "simple-update-notifier", - "version": "1.1.0", - "purl": "pkg:npm/simple-update-notifier@1.1.0", - "type": "library", - "bom-ref": "pkg:npm/simple-update-notifier@1.1.0" - }, - { - "name": "semver", - "version": "7.0.0", - "purl": "pkg:npm/semver@7.0.0", - "type": "library", - "bom-ref": "pkg:npm/semver@7.0.0" - }, - { - "name": "supports-color", - "version": "5.5.0", - "purl": "pkg:npm/supports-color@5.5.0", - "type": "library", - "bom-ref": "pkg:npm/supports-color@5.5.0" - }, - { - "name": "has-flag", - "version": "3.0.0", - "purl": "pkg:npm/has-flag@3.0.0", - "type": "library", - "bom-ref": "pkg:npm/has-flag@3.0.0" - }, - { - "name": "touch", - "version": "3.1.0", - "purl": "pkg:npm/touch@3.1.0", - "type": "library", - "bom-ref": "pkg:npm/touch@3.1.0" - }, - { - "name": "nopt", - "version": "1.0.10", - "purl": "pkg:npm/nopt@1.0.10", - "type": "library", - "bom-ref": "pkg:npm/nopt@1.0.10" - }, - { - "name": "abbrev", - "version": "1.1.1", - "purl": "pkg:npm/abbrev@1.1.1", - "type": "library", - "bom-ref": "pkg:npm/abbrev@1.1.1" - }, - { - "name": "undefsafe", - "version": "2.0.5", - "purl": "pkg:npm/undefsafe@2.0.5", - "type": "library", - "bom-ref": "pkg:npm/undefsafe@2.0.5" - } + { + "group": "@hapi", + "name": "joi", + "version": "17.1.1", + "purl": "pkg:npm/%40hapi/joi@17.1.1", + "type": "library", + "bom-ref": "pkg:npm/%40hapi/joi@17.1.1" + }, + { + "group": "@hapi", + "name": "address", + "version": "4.1.0", + "purl": "pkg:npm/%40hapi/address@4.1.0", + "type": "library", + "bom-ref": "pkg:npm/%40hapi/address@4.1.0" + }, + { + "group": "@hapi", + "name": "hoek", + "version": "9.3.0", + "purl": "pkg:npm/%40hapi/hoek@9.3.0", + "type": "library", + "bom-ref": "pkg:npm/%40hapi/hoek@9.3.0" + }, + { + "group": "@hapi", + "name": "formula", + "version": "2.0.0", + "purl": "pkg:npm/%40hapi/formula@2.0.0", + "type": "library", + "bom-ref": "pkg:npm/%40hapi/formula@2.0.0" + }, + { + "group": "@hapi", + "name": "pinpoint", + "version": "2.0.1", + "purl": "pkg:npm/%40hapi/pinpoint@2.0.1", + "type": "library", + "bom-ref": "pkg:npm/%40hapi/pinpoint@2.0.1" + }, + { + "group": "@hapi", + "name": "topo", + "version": "5.1.0", + "purl": "pkg:npm/%40hapi/topo@5.1.0", + "type": "library", + "bom-ref": "pkg:npm/%40hapi/topo@5.1.0" + }, + { + "name": "axios", + "version": "0.19.2", + "purl": "pkg:npm/axios@0.19.2", + "type": "library", + "bom-ref": "pkg:npm/axios@0.19.2" + }, + { + "name": "follow-redirects", + "version": "1.5.10", + "purl": "pkg:npm/follow-redirects@1.5.10", + "type": "library", + "bom-ref": "pkg:npm/follow-redirects@1.5.10" + }, + { + "name": "debug", + "version": "3.1.0", + "purl": "pkg:npm/debug@3.1.0", + "type": "library", + "bom-ref": "pkg:npm/debug@3.1.0" + }, + { + "name": "ms", + "version": "2.0.0", + "purl": "pkg:npm/ms@2.0.0", + "type": "library", + "bom-ref": "pkg:npm/ms@2.0.0" + }, + { + "name": "backend", + "version": "0.0.0", + "purl": "pkg:npm/backend@0.0.0", + "type": "library", + "bom-ref": "pkg:npm/backend@0.0.0" + }, + { + "name": "bcryptjs", + "version": "2.4.3", + "purl": "pkg:npm/bcryptjs@2.4.3", + "type": "library", + "bom-ref": "pkg:npm/bcryptjs@2.4.3" + }, + { + "name": "dotenv", + "version": "8.6.0", + "purl": "pkg:npm/dotenv@8.6.0", + "type": "library", + "bom-ref": "pkg:npm/dotenv@8.6.0" + }, + { + "name": "express", + "version": "4.18.2", + "purl": "pkg:npm/express@4.18.2", + "type": "library", + "bom-ref": "pkg:npm/express@4.18.2" + }, + { + "name": "accepts", + "version": "1.3.8", + "purl": "pkg:npm/accepts@1.3.8", + "type": "library", + "bom-ref": "pkg:npm/accepts@1.3.8" + }, + { + "name": "mime-types", + "version": "2.1.35", + "purl": "pkg:npm/mime-types@2.1.35", + "type": "library", + "bom-ref": "pkg:npm/mime-types@2.1.35" + }, + { + "name": "mime-db", + "version": "1.52.0", + "purl": "pkg:npm/mime-db@1.52.0", + "type": "library", + "bom-ref": "pkg:npm/mime-db@1.52.0" + }, + { + "name": "negotiator", + "version": "0.6.3", + "purl": "pkg:npm/negotiator@0.6.3", + "type": "library", + "bom-ref": "pkg:npm/negotiator@0.6.3" + }, + { + "name": "array-flatten", + "version": "1.1.1", + "purl": "pkg:npm/array-flatten@1.1.1", + "type": "library", + "bom-ref": "pkg:npm/array-flatten@1.1.1" + }, + { + "name": "body-parser", + "version": "1.20.1", + "purl": "pkg:npm/body-parser@1.20.1", + "type": "library", + "bom-ref": "pkg:npm/body-parser@1.20.1" + }, + { + "name": "bytes", + "version": "3.1.2", + "purl": "pkg:npm/bytes@3.1.2", + "type": "library", + "bom-ref": "pkg:npm/bytes@3.1.2" + }, + { + "name": "content-type", + "version": "1.0.5", + "purl": "pkg:npm/content-type@1.0.5", + "type": "library", + "bom-ref": "pkg:npm/content-type@1.0.5" + }, + { + "name": "debug", + "version": "2.6.9", + "purl": "pkg:npm/debug@2.6.9", + "type": "library", + "bom-ref": "pkg:npm/debug@2.6.9" + }, + { + "name": "depd", + "version": "2.0.0", + "purl": "pkg:npm/depd@2.0.0", + "type": "library", + "bom-ref": "pkg:npm/depd@2.0.0" + }, + { + "name": "destroy", + "version": "1.2.0", + "purl": "pkg:npm/destroy@1.2.0", + "type": "library", + "bom-ref": "pkg:npm/destroy@1.2.0" + }, + { + "name": "http-errors", + "version": "2.0.0", + "purl": "pkg:npm/http-errors@2.0.0", + "type": "library", + "bom-ref": "pkg:npm/http-errors@2.0.0" + }, + { + "name": "iconv-lite", + "version": "0.4.24", + "purl": "pkg:npm/iconv-lite@0.4.24", + "type": "library", + "bom-ref": "pkg:npm/iconv-lite@0.4.24" + }, + { + "name": "safer-buffer", + "version": "2.1.2", + "purl": "pkg:npm/safer-buffer@2.1.2", + "type": "library", + "bom-ref": "pkg:npm/safer-buffer@2.1.2" + }, + { + "name": "on-finished", + "version": "2.4.1", + "purl": "pkg:npm/on-finished@2.4.1", + "type": "library", + "bom-ref": "pkg:npm/on-finished@2.4.1" + }, + { + "name": "qs", + "version": "6.11.0", + "purl": "pkg:npm/qs@6.11.0", + "type": "library", + "bom-ref": "pkg:npm/qs@6.11.0" + }, + { + "name": "raw-body", + "version": "2.5.1", + "purl": "pkg:npm/raw-body@2.5.1", + "type": "library", + "bom-ref": "pkg:npm/raw-body@2.5.1" + }, + { + "name": "unpipe", + "version": "1.0.0", + "purl": "pkg:npm/unpipe@1.0.0", + "type": "library", + "bom-ref": "pkg:npm/unpipe@1.0.0" + }, + { + "name": "type-is", + "version": "1.6.18", + "purl": "pkg:npm/type-is@1.6.18", + "type": "library", + "bom-ref": "pkg:npm/type-is@1.6.18" + }, + { + "name": "content-disposition", + "version": "0.5.4", + "purl": "pkg:npm/content-disposition@0.5.4", + "type": "library", + "bom-ref": "pkg:npm/content-disposition@0.5.4" + }, + { + "name": "safe-buffer", + "version": "5.2.1", + "purl": "pkg:npm/safe-buffer@5.2.1", + "type": "library", + "bom-ref": "pkg:npm/safe-buffer@5.2.1" + }, + { + "name": "cookie-signature", + "version": "1.0.6", + "purl": "pkg:npm/cookie-signature@1.0.6", + "type": "library", + "bom-ref": "pkg:npm/cookie-signature@1.0.6" + }, + { + "name": "cookie", + "version": "0.5.0", + "purl": "pkg:npm/cookie@0.5.0", + "type": "library", + "bom-ref": "pkg:npm/cookie@0.5.0" + }, + { + "name": "encodeurl", + "version": "1.0.2", + "purl": "pkg:npm/encodeurl@1.0.2", + "type": "library", + "bom-ref": "pkg:npm/encodeurl@1.0.2" + }, + { + "name": "escape-html", + "version": "1.0.3", + "purl": "pkg:npm/escape-html@1.0.3", + "type": "library", + "bom-ref": "pkg:npm/escape-html@1.0.3" + }, + { + "name": "etag", + "version": "1.8.1", + "purl": "pkg:npm/etag@1.8.1", + "type": "library", + "bom-ref": "pkg:npm/etag@1.8.1" + }, + { + "name": "finalhandler", + "version": "1.2.0", + "purl": "pkg:npm/finalhandler@1.2.0", + "type": "library", + "bom-ref": "pkg:npm/finalhandler@1.2.0" + }, + { + "name": "parseurl", + "version": "1.3.3", + "purl": "pkg:npm/parseurl@1.3.3", + "type": "library", + "bom-ref": "pkg:npm/parseurl@1.3.3" + }, + { + "name": "statuses", + "version": "2.0.1", + "purl": "pkg:npm/statuses@2.0.1", + "type": "library", + "bom-ref": "pkg:npm/statuses@2.0.1" + }, + { + "name": "fresh", + "version": "0.5.2", + "purl": "pkg:npm/fresh@0.5.2", + "type": "library", + "bom-ref": "pkg:npm/fresh@0.5.2" + }, + { + "name": "inherits", + "version": "2.0.4", + "purl": "pkg:npm/inherits@2.0.4", + "type": "library", + "bom-ref": "pkg:npm/inherits@2.0.4" + }, + { + "name": "setprototypeof", + "version": "1.2.0", + "purl": "pkg:npm/setprototypeof@1.2.0", + "type": "library", + "bom-ref": "pkg:npm/setprototypeof@1.2.0" + }, + { + "name": "toidentifier", + "version": "1.0.1", + "purl": "pkg:npm/toidentifier@1.0.1", + "type": "library", + "bom-ref": "pkg:npm/toidentifier@1.0.1" + }, + { + "name": "merge-descriptors", + "version": "1.0.1", + "purl": "pkg:npm/merge-descriptors@1.0.1", + "type": "library", + "bom-ref": "pkg:npm/merge-descriptors@1.0.1" + }, + { + "name": "methods", + "version": "1.1.2", + "purl": "pkg:npm/methods@1.1.2", + "type": "library", + "bom-ref": "pkg:npm/methods@1.1.2" + }, + { + "name": "ee-first", + "version": "1.1.1", + "purl": "pkg:npm/ee-first@1.1.1", + "type": "library", + "bom-ref": "pkg:npm/ee-first@1.1.1" + }, + { + "name": "path-to-regexp", + "version": "0.1.7", + "purl": "pkg:npm/path-to-regexp@0.1.7", + "type": "library", + "bom-ref": "pkg:npm/path-to-regexp@0.1.7" + }, + { + "name": "proxy-addr", + "version": "2.0.7", + "purl": "pkg:npm/proxy-addr@2.0.7", + "type": "library", + "bom-ref": "pkg:npm/proxy-addr@2.0.7" + }, + { + "name": "forwarded", + "version": "0.2.0", + "purl": "pkg:npm/forwarded@0.2.0", + "type": "library", + "bom-ref": "pkg:npm/forwarded@0.2.0" + }, + { + "name": "ipaddr.js", + "version": "1.9.1", + "purl": "pkg:npm/ipaddr.js@1.9.1", + "type": "library", + "bom-ref": "pkg:npm/ipaddr.js@1.9.1" + }, + { + "name": "side-channel", + "version": "1.0.4", + "purl": "pkg:npm/side-channel@1.0.4", + "type": "library", + "bom-ref": "pkg:npm/side-channel@1.0.4" + }, + { + "name": "call-bind", + "version": "1.0.2", + "purl": "pkg:npm/call-bind@1.0.2", + "type": "library", + "bom-ref": "pkg:npm/call-bind@1.0.2" + }, + { + "name": "function-bind", + "version": "1.1.1", + "purl": "pkg:npm/function-bind@1.1.1", + "type": "library", + "bom-ref": "pkg:npm/function-bind@1.1.1" + }, + { + "name": "get-intrinsic", + "version": "1.2.1", + "purl": "pkg:npm/get-intrinsic@1.2.1", + "type": "library", + "bom-ref": "pkg:npm/get-intrinsic@1.2.1" + }, + { + "name": "has-proto", + "version": "1.0.1", + "purl": "pkg:npm/has-proto@1.0.1", + "type": "library", + "bom-ref": "pkg:npm/has-proto@1.0.1" + }, + { + "name": "has-symbols", + "version": "1.0.3", + "purl": "pkg:npm/has-symbols@1.0.3", + "type": "library", + "bom-ref": "pkg:npm/has-symbols@1.0.3" + }, + { + "name": "has", + "version": "1.0.3", + "purl": "pkg:npm/has@1.0.3", + "type": "library", + "bom-ref": "pkg:npm/has@1.0.3" + }, + { + "name": "object-inspect", + "version": "1.12.3", + "purl": "pkg:npm/object-inspect@1.12.3", + "type": "library", + "bom-ref": "pkg:npm/object-inspect@1.12.3" + }, + { + "name": "range-parser", + "version": "1.2.1", + "purl": "pkg:npm/range-parser@1.2.1", + "type": "library", + "bom-ref": "pkg:npm/range-parser@1.2.1" + }, + { + "name": "send", + "version": "0.18.0", + "purl": "pkg:npm/send@0.18.0", + "type": "library", + "bom-ref": "pkg:npm/send@0.18.0" + }, + { + "name": "mime", + "version": "1.6.0", + "purl": "pkg:npm/mime@1.6.0", + "type": "library", + "bom-ref": "pkg:npm/mime@1.6.0" + }, + { + "name": "ms", + "version": "2.1.3", + "purl": "pkg:npm/ms@2.1.3", + "type": "library", + "bom-ref": "pkg:npm/ms@2.1.3" + }, + { + "name": "serve-static", + "version": "1.15.0", + "purl": "pkg:npm/serve-static@1.15.0", + "type": "library", + "bom-ref": "pkg:npm/serve-static@1.15.0" + }, + { + "name": "media-typer", + "version": "0.3.0", + "purl": "pkg:npm/media-typer@0.3.0", + "type": "library", + "bom-ref": "pkg:npm/media-typer@0.3.0" + }, + { + "name": "utils-merge", + "version": "1.0.1", + "purl": "pkg:npm/utils-merge@1.0.1", + "type": "library", + "bom-ref": "pkg:npm/utils-merge@1.0.1" + }, + { + "name": "vary", + "version": "1.1.2", + "purl": "pkg:npm/vary@1.1.2", + "type": "library", + "bom-ref": "pkg:npm/vary@1.1.2" + }, + { + "name": "jsdom", + "version": "19.0.0", + "purl": "pkg:npm/jsdom@19.0.0", + "type": "library", + "bom-ref": "pkg:npm/jsdom@19.0.0" + }, + { + "name": "abab", + "version": "2.0.6", + "purl": "pkg:npm/abab@2.0.6", + "type": "library", + "bom-ref": "pkg:npm/abab@2.0.6" + }, + { + "name": "acorn-globals", + "version": "6.0.0", + "purl": "pkg:npm/acorn-globals@6.0.0", + "type": "library", + "bom-ref": "pkg:npm/acorn-globals@6.0.0" + }, + { + "name": "acorn-walk", + "version": "7.2.0", + "purl": "pkg:npm/acorn-walk@7.2.0", + "type": "library", + "bom-ref": "pkg:npm/acorn-walk@7.2.0" + }, + { + "name": "acorn", + "version": "7.4.1", + "purl": "pkg:npm/acorn@7.4.1", + "type": "library", + "bom-ref": "pkg:npm/acorn@7.4.1" + }, + { + "name": "acorn", + "version": "8.10.0", + "purl": "pkg:npm/acorn@8.10.0", + "type": "library", + "bom-ref": "pkg:npm/acorn@8.10.0" + }, + { + "name": "cssom", + "version": "0.5.0", + "purl": "pkg:npm/cssom@0.5.0", + "type": "library", + "bom-ref": "pkg:npm/cssom@0.5.0" + }, + { + "name": "cssstyle", + "version": "2.3.0", + "purl": "pkg:npm/cssstyle@2.3.0", + "type": "library", + "bom-ref": "pkg:npm/cssstyle@2.3.0" + }, + { + "name": "cssom", + "version": "0.3.8", + "purl": "pkg:npm/cssom@0.3.8", + "type": "library", + "bom-ref": "pkg:npm/cssom@0.3.8" + }, + { + "name": "data-urls", + "version": "3.0.2", + "purl": "pkg:npm/data-urls@3.0.2", + "type": "library", + "bom-ref": "pkg:npm/data-urls@3.0.2" + }, + { + "name": "whatwg-mimetype", + "version": "3.0.0", + "purl": "pkg:npm/whatwg-mimetype@3.0.0", + "type": "library", + "bom-ref": "pkg:npm/whatwg-mimetype@3.0.0" + }, + { + "name": "whatwg-url", + "version": "11.0.0", + "purl": "pkg:npm/whatwg-url@11.0.0", + "type": "library", + "bom-ref": "pkg:npm/whatwg-url@11.0.0" + }, + { + "name": "tr46", + "version": "3.0.0", + "purl": "pkg:npm/tr46@3.0.0", + "type": "library", + "bom-ref": "pkg:npm/tr46@3.0.0" + }, + { + "name": "webidl-conversions", + "version": "7.0.0", + "purl": "pkg:npm/webidl-conversions@7.0.0", + "type": "library", + "bom-ref": "pkg:npm/webidl-conversions@7.0.0" + }, + { + "name": "decimal.js", + "version": "10.4.3", + "purl": "pkg:npm/decimal.js@10.4.3", + "type": "library", + "bom-ref": "pkg:npm/decimal.js@10.4.3" + }, + { + "name": "domexception", + "version": "4.0.0", + "purl": "pkg:npm/domexception@4.0.0", + "type": "library", + "bom-ref": "pkg:npm/domexception@4.0.0" + }, + { + "name": "escodegen", + "version": "2.1.0", + "purl": "pkg:npm/escodegen@2.1.0", + "type": "library", + "bom-ref": "pkg:npm/escodegen@2.1.0" + }, + { + "name": "esprima", + "version": "4.0.1", + "purl": "pkg:npm/esprima@4.0.1", + "type": "library", + "bom-ref": "pkg:npm/esprima@4.0.1" + }, + { + "name": "estraverse", + "version": "5.3.0", + "purl": "pkg:npm/estraverse@5.3.0", + "type": "library", + "bom-ref": "pkg:npm/estraverse@5.3.0" + }, + { + "name": "esutils", + "version": "2.0.3", + "purl": "pkg:npm/esutils@2.0.3", + "type": "library", + "bom-ref": "pkg:npm/esutils@2.0.3" + }, + { + "name": "source-map", + "version": "0.6.1", + "purl": "pkg:npm/source-map@0.6.1", + "type": "library", + "bom-ref": "pkg:npm/source-map@0.6.1" + }, + { + "name": "form-data", + "version": "4.0.0", + "purl": "pkg:npm/form-data@4.0.0", + "type": "library", + "bom-ref": "pkg:npm/form-data@4.0.0" + }, + { + "name": "asynckit", + "version": "0.4.0", + "purl": "pkg:npm/asynckit@0.4.0", + "type": "library", + "bom-ref": "pkg:npm/asynckit@0.4.0" + }, + { + "name": "combined-stream", + "version": "1.0.8", + "purl": "pkg:npm/combined-stream@1.0.8", + "type": "library", + "bom-ref": "pkg:npm/combined-stream@1.0.8" + }, + { + "name": "delayed-stream", + "version": "1.0.0", + "purl": "pkg:npm/delayed-stream@1.0.0", + "type": "library", + "bom-ref": "pkg:npm/delayed-stream@1.0.0" + }, + { + "name": "html-encoding-sniffer", + "version": "3.0.0", + "purl": "pkg:npm/html-encoding-sniffer@3.0.0", + "type": "library", + "bom-ref": "pkg:npm/html-encoding-sniffer@3.0.0" + }, + { + "name": "whatwg-encoding", + "version": "2.0.0", + "purl": "pkg:npm/whatwg-encoding@2.0.0", + "type": "library", + "bom-ref": "pkg:npm/whatwg-encoding@2.0.0" + }, + { + "name": "http-proxy-agent", + "version": "5.0.0", + "purl": "pkg:npm/http-proxy-agent@5.0.0", + "type": "library", + "bom-ref": "pkg:npm/http-proxy-agent@5.0.0" + }, + { + "group": "@tootallnate", + "name": "once", + "version": "2.0.0", + "purl": "pkg:npm/%40tootallnate/once@2.0.0", + "type": "library", + "bom-ref": "pkg:npm/%40tootallnate/once@2.0.0" + }, + { + "name": "agent-base", + "version": "6.0.2", + "purl": "pkg:npm/agent-base@6.0.2", + "type": "library", + "bom-ref": "pkg:npm/agent-base@6.0.2" + }, + { + "name": "debug", + "version": "4.3.4", + "purl": "pkg:npm/debug@4.3.4", + "type": "library", + "bom-ref": "pkg:npm/debug@4.3.4" + }, + { + "name": "ms", + "version": "2.1.2", + "purl": "pkg:npm/ms@2.1.2", + "type": "library", + "bom-ref": "pkg:npm/ms@2.1.2" + }, + { + "name": "https-proxy-agent", + "version": "5.0.1", + "purl": "pkg:npm/https-proxy-agent@5.0.1", + "type": "library", + "bom-ref": "pkg:npm/https-proxy-agent@5.0.1" + }, + { + "name": "is-potential-custom-element-name", + "version": "1.0.1", + "purl": "pkg:npm/is-potential-custom-element-name@1.0.1", + "type": "library", + "bom-ref": "pkg:npm/is-potential-custom-element-name@1.0.1" + }, + { + "name": "nwsapi", + "version": "2.2.7", + "purl": "pkg:npm/nwsapi@2.2.7", + "type": "library", + "bom-ref": "pkg:npm/nwsapi@2.2.7" + }, + { + "name": "parse5", + "version": "6.0.1", + "purl": "pkg:npm/parse5@6.0.1", + "type": "library", + "bom-ref": "pkg:npm/parse5@6.0.1" + }, + { + "name": "saxes", + "version": "5.0.1", + "purl": "pkg:npm/saxes@5.0.1", + "type": "library", + "bom-ref": "pkg:npm/saxes@5.0.1" + }, + { + "name": "xmlchars", + "version": "2.2.0", + "purl": "pkg:npm/xmlchars@2.2.0", + "type": "library", + "bom-ref": "pkg:npm/xmlchars@2.2.0" + }, + { + "name": "symbol-tree", + "version": "3.2.4", + "purl": "pkg:npm/symbol-tree@3.2.4", + "type": "library", + "bom-ref": "pkg:npm/symbol-tree@3.2.4" + }, + { + "name": "tough-cookie", + "version": "4.1.3", + "purl": "pkg:npm/tough-cookie@4.1.3", + "type": "library", + "bom-ref": "pkg:npm/tough-cookie@4.1.3" + }, + { + "name": "psl", + "version": "1.9.0", + "purl": "pkg:npm/psl@1.9.0", + "type": "library", + "bom-ref": "pkg:npm/psl@1.9.0" + }, + { + "name": "punycode", + "version": "2.3.0", + "purl": "pkg:npm/punycode@2.3.0", + "type": "library", + "bom-ref": "pkg:npm/punycode@2.3.0" + }, + { + "name": "universalify", + "version": "0.2.0", + "purl": "pkg:npm/universalify@0.2.0", + "type": "library", + "bom-ref": "pkg:npm/universalify@0.2.0" + }, + { + "name": "url-parse", + "version": "1.5.10", + "purl": "pkg:npm/url-parse@1.5.10", + "type": "library", + "bom-ref": "pkg:npm/url-parse@1.5.10" + }, + { + "name": "querystringify", + "version": "2.2.0", + "purl": "pkg:npm/querystringify@2.2.0", + "type": "library", + "bom-ref": "pkg:npm/querystringify@2.2.0" + }, + { + "name": "requires-port", + "version": "1.0.0", + "purl": "pkg:npm/requires-port@1.0.0", + "type": "library", + "bom-ref": "pkg:npm/requires-port@1.0.0" + }, + { + "name": "w3c-hr-time", + "version": "1.0.2", + "purl": "pkg:npm/w3c-hr-time@1.0.2", + "type": "library", + "bom-ref": "pkg:npm/w3c-hr-time@1.0.2" + }, + { + "name": "browser-process-hrtime", + "version": "1.0.0", + "purl": "pkg:npm/browser-process-hrtime@1.0.0", + "type": "library", + "bom-ref": "pkg:npm/browser-process-hrtime@1.0.0" + }, + { + "name": "w3c-xmlserializer", + "version": "3.0.0", + "purl": "pkg:npm/w3c-xmlserializer@3.0.0", + "type": "library", + "bom-ref": "pkg:npm/w3c-xmlserializer@3.0.0" + }, + { + "name": "xml-name-validator", + "version": "4.0.0", + "purl": "pkg:npm/xml-name-validator@4.0.0", + "type": "library", + "bom-ref": "pkg:npm/xml-name-validator@4.0.0" + }, + { + "name": "iconv-lite", + "version": "0.6.3", + "purl": "pkg:npm/iconv-lite@0.6.3", + "type": "library", + "bom-ref": "pkg:npm/iconv-lite@0.6.3" + }, + { + "name": "whatwg-url", + "version": "10.0.0", + "purl": "pkg:npm/whatwg-url@10.0.0", + "type": "library", + "bom-ref": "pkg:npm/whatwg-url@10.0.0" + }, + { + "name": "ws", + "version": "8.14.2", + "purl": "pkg:npm/ws@8.14.2", + "type": "library", + "bom-ref": "pkg:npm/ws@8.14.2" + }, + { + "name": "jws", + "version": "3.2.2", + "purl": "pkg:npm/jws@3.2.2", + "type": "library", + "bom-ref": "pkg:npm/jws@3.2.2" + }, + { + "name": "jwa", + "version": "1.4.1", + "purl": "pkg:npm/jwa@1.4.1", + "type": "library", + "bom-ref": "pkg:npm/jwa@1.4.1" + }, + { + "name": "buffer-equal-constant-time", + "version": "1.0.1", + "purl": "pkg:npm/buffer-equal-constant-time@1.0.1", + "type": "library", + "bom-ref": "pkg:npm/buffer-equal-constant-time@1.0.1" + }, + { + "name": "ecdsa-sig-formatter", + "version": "1.0.11", + "purl": "pkg:npm/ecdsa-sig-formatter@1.0.11", + "type": "library", + "bom-ref": "pkg:npm/ecdsa-sig-formatter@1.0.11" + }, + { + "name": "lodash.includes", + "version": "4.3.0", + "purl": "pkg:npm/lodash.includes@4.3.0", + "type": "library", + "bom-ref": "pkg:npm/lodash.includes@4.3.0" + }, + { + "name": "lodash.isboolean", + "version": "3.0.3", + "purl": "pkg:npm/lodash.isboolean@3.0.3", + "type": "library", + "bom-ref": "pkg:npm/lodash.isboolean@3.0.3" + }, + { + "name": "lodash.isinteger", + "version": "4.0.4", + "purl": "pkg:npm/lodash.isinteger@4.0.4", + "type": "library", + "bom-ref": "pkg:npm/lodash.isinteger@4.0.4" + }, + { + "name": "lodash.isnumber", + "version": "3.0.3", + "purl": "pkg:npm/lodash.isnumber@3.0.3", + "type": "library", + "bom-ref": "pkg:npm/lodash.isnumber@3.0.3" + }, + { + "name": "lodash.isplainobject", + "version": "4.0.6", + "purl": "pkg:npm/lodash.isplainobject@4.0.6", + "type": "library", + "bom-ref": "pkg:npm/lodash.isplainobject@4.0.6" + }, + { + "name": "lodash.isstring", + "version": "4.0.1", + "purl": "pkg:npm/lodash.isstring@4.0.1", + "type": "library", + "bom-ref": "pkg:npm/lodash.isstring@4.0.1" + }, + { + "name": "lodash.once", + "version": "4.1.1", + "purl": "pkg:npm/lodash.once@4.1.1", + "type": "library", + "bom-ref": "pkg:npm/lodash.once@4.1.1" + }, + { + "name": "semver", + "version": "5.7.2", + "purl": "pkg:npm/semver@5.7.2", + "type": "library", + "bom-ref": "pkg:npm/semver@5.7.2" + }, + { + "name": "mongoose", + "version": "5.13.20", + "purl": "pkg:npm/mongoose@5.13.20", + "type": "library", + "bom-ref": "pkg:npm/mongoose@5.13.20" + }, + { + "group": "@types", + "name": "bson", + "version": "4.0.5", + "purl": "pkg:npm/%40types/bson@4.0.5", + "type": "library", + "bom-ref": "pkg:npm/%40types/bson@4.0.5" + }, + { + "group": "@types", + "name": "node", + "version": "20.4.8", + "purl": "pkg:npm/%40types/node@20.4.8", + "type": "library", + "bom-ref": "pkg:npm/%40types/node@20.4.8" + }, + { + "group": "@types", + "name": "mongodb", + "version": "3.6.20", + "purl": "pkg:npm/%40types/mongodb@3.6.20", + "type": "library", + "bom-ref": "pkg:npm/%40types/mongodb@3.6.20" + }, + { + "name": "bson", + "version": "1.1.6", + "purl": "pkg:npm/bson@1.1.6", + "type": "library", + "bom-ref": "pkg:npm/bson@1.1.6" + }, + { + "name": "kareem", + "version": "2.3.2", + "purl": "pkg:npm/kareem@2.3.2", + "type": "library", + "bom-ref": "pkg:npm/kareem@2.3.2" + }, + { + "name": "mongodb", + "version": "3.7.4", + "purl": "pkg:npm/mongodb@3.7.4", + "type": "library", + "bom-ref": "pkg:npm/mongodb@3.7.4" + }, + { + "name": "bl", + "version": "2.2.1", + "purl": "pkg:npm/bl@2.2.1", + "type": "library", + "bom-ref": "pkg:npm/bl@2.2.1" + }, + { + "name": "readable-stream", + "version": "2.3.8", + "purl": "pkg:npm/readable-stream@2.3.8", + "type": "library", + "bom-ref": "pkg:npm/readable-stream@2.3.8" + }, + { + "name": "core-util-is", + "version": "1.0.3", + "purl": "pkg:npm/core-util-is@1.0.3", + "type": "library", + "bom-ref": "pkg:npm/core-util-is@1.0.3" + }, + { + "name": "isarray", + "version": "1.0.0", + "purl": "pkg:npm/isarray@1.0.0", + "type": "library", + "bom-ref": "pkg:npm/isarray@1.0.0" + }, + { + "name": "process-nextick-args", + "version": "2.0.1", + "purl": "pkg:npm/process-nextick-args@2.0.1", + "type": "library", + "bom-ref": "pkg:npm/process-nextick-args@2.0.1" + }, + { + "name": "safe-buffer", + "version": "5.1.2", + "purl": "pkg:npm/safe-buffer@5.1.2", + "type": "library", + "bom-ref": "pkg:npm/safe-buffer@5.1.2" + }, + { + "name": "string_decoder", + "version": "1.1.1", + "purl": "pkg:npm/string_decoder@1.1.1", + "type": "library", + "bom-ref": "pkg:npm/string_decoder@1.1.1" + }, + { + "name": "util-deprecate", + "version": "1.0.2", + "purl": "pkg:npm/util-deprecate@1.0.2", + "type": "library", + "bom-ref": "pkg:npm/util-deprecate@1.0.2" + }, + { + "name": "denque", + "version": "1.5.1", + "purl": "pkg:npm/denque@1.5.1", + "type": "library", + "bom-ref": "pkg:npm/denque@1.5.1" + }, + { + "name": "optional-require", + "version": "1.1.8", + "purl": "pkg:npm/optional-require@1.1.8", + "type": "library", + "bom-ref": "pkg:npm/optional-require@1.1.8" + }, + { + "name": "require-at", + "version": "1.0.6", + "purl": "pkg:npm/require-at@1.0.6", + "type": "library", + "bom-ref": "pkg:npm/require-at@1.0.6" + }, + { + "name": "saslprep", + "version": "1.0.3", + "purl": "pkg:npm/saslprep@1.0.3", + "type": "library", + "bom-ref": "pkg:npm/saslprep@1.0.3" + }, + { + "name": "sparse-bitfield", + "version": "3.0.3", + "purl": "pkg:npm/sparse-bitfield@3.0.3", + "type": "library", + "bom-ref": "pkg:npm/sparse-bitfield@3.0.3" + }, + { + "name": "memory-pager", + "version": "1.5.0", + "purl": "pkg:npm/memory-pager@1.5.0", + "type": "library", + "bom-ref": "pkg:npm/memory-pager@1.5.0" + }, + { + "name": "mongoose-legacy-pluralize", + "version": "1.0.2", + "purl": "pkg:npm/mongoose-legacy-pluralize@1.0.2", + "type": "library", + "bom-ref": "pkg:npm/mongoose-legacy-pluralize@1.0.2" + }, + { + "name": "mpath", + "version": "0.8.4", + "purl": "pkg:npm/mpath@0.8.4", + "type": "library", + "bom-ref": "pkg:npm/mpath@0.8.4" + }, + { + "name": "mquery", + "version": "3.2.5", + "purl": "pkg:npm/mquery@3.2.5", + "type": "library", + "bom-ref": "pkg:npm/mquery@3.2.5" + }, + { + "name": "bluebird", + "version": "3.5.1", + "purl": "pkg:npm/bluebird@3.5.1", + "type": "library", + "bom-ref": "pkg:npm/bluebird@3.5.1" + }, + { + "name": "regexp-clone", + "version": "1.0.0", + "purl": "pkg:npm/regexp-clone@1.0.0", + "type": "library", + "bom-ref": "pkg:npm/regexp-clone@1.0.0" + }, + { + "name": "sliced", + "version": "1.0.1", + "purl": "pkg:npm/sliced@1.0.1", + "type": "library", + "bom-ref": "pkg:npm/sliced@1.0.1" + }, + { + "name": "optional-require", + "version": "1.0.3", + "purl": "pkg:npm/optional-require@1.0.3", + "type": "library", + "bom-ref": "pkg:npm/optional-require@1.0.3" + }, + { + "name": "sift", + "version": "13.5.2", + "purl": "pkg:npm/sift@13.5.2", + "type": "library", + "bom-ref": "pkg:npm/sift@13.5.2" + }, + { + "name": "nodemon", + "version": "2.0.22", + "purl": "pkg:npm/nodemon@2.0.22", + "type": "library", + "bom-ref": "pkg:npm/nodemon@2.0.22" + }, + { + "name": "chokidar", + "version": "3.5.3", + "purl": "pkg:npm/chokidar@3.5.3", + "type": "library", + "bom-ref": "pkg:npm/chokidar@3.5.3" + }, + { + "name": "anymatch", + "version": "3.1.3", + "purl": "pkg:npm/anymatch@3.1.3", + "type": "library", + "bom-ref": "pkg:npm/anymatch@3.1.3" + }, + { + "name": "normalize-path", + "version": "3.0.0", + "purl": "pkg:npm/normalize-path@3.0.0", + "type": "library", + "bom-ref": "pkg:npm/normalize-path@3.0.0" + }, + { + "name": "picomatch", + "version": "2.3.1", + "purl": "pkg:npm/picomatch@2.3.1", + "type": "library", + "bom-ref": "pkg:npm/picomatch@2.3.1" + }, + { + "name": "braces", + "version": "3.0.2", + "purl": "pkg:npm/braces@3.0.2", + "type": "library", + "bom-ref": "pkg:npm/braces@3.0.2" + }, + { + "name": "fill-range", + "version": "7.0.1", + "purl": "pkg:npm/fill-range@7.0.1", + "type": "library", + "bom-ref": "pkg:npm/fill-range@7.0.1" + }, + { + "name": "to-regex-range", + "version": "5.0.1", + "purl": "pkg:npm/to-regex-range@5.0.1", + "type": "library", + "bom-ref": "pkg:npm/to-regex-range@5.0.1" + }, + { + "name": "is-number", + "version": "7.0.0", + "purl": "pkg:npm/is-number@7.0.0", + "type": "library", + "bom-ref": "pkg:npm/is-number@7.0.0" + }, + { + "name": "fsevents", + "version": "2.3.2", + "purl": "pkg:npm/fsevents@2.3.2", + "type": "library", + "bom-ref": "pkg:npm/fsevents@2.3.2" + }, + { + "name": "glob-parent", + "version": "5.1.2", + "purl": "pkg:npm/glob-parent@5.1.2", + "type": "library", + "bom-ref": "pkg:npm/glob-parent@5.1.2" + }, + { + "name": "is-glob", + "version": "4.0.3", + "purl": "pkg:npm/is-glob@4.0.3", + "type": "library", + "bom-ref": "pkg:npm/is-glob@4.0.3" + }, + { + "name": "is-binary-path", + "version": "2.1.0", + "purl": "pkg:npm/is-binary-path@2.1.0", + "type": "library", + "bom-ref": "pkg:npm/is-binary-path@2.1.0" + }, + { + "name": "binary-extensions", + "version": "2.2.0", + "purl": "pkg:npm/binary-extensions@2.2.0", + "type": "library", + "bom-ref": "pkg:npm/binary-extensions@2.2.0" + }, + { + "name": "is-extglob", + "version": "2.1.1", + "purl": "pkg:npm/is-extglob@2.1.1", + "type": "library", + "bom-ref": "pkg:npm/is-extglob@2.1.1" + }, + { + "name": "readdirp", + "version": "3.6.0", + "purl": "pkg:npm/readdirp@3.6.0", + "type": "library", + "bom-ref": "pkg:npm/readdirp@3.6.0" + }, + { + "name": "debug", + "version": "3.2.7", + "purl": "pkg:npm/debug@3.2.7", + "type": "library", + "bom-ref": "pkg:npm/debug@3.2.7" + }, + { + "name": "ignore-by-default", + "version": "1.0.1", + "purl": "pkg:npm/ignore-by-default@1.0.1", + "type": "library", + "bom-ref": "pkg:npm/ignore-by-default@1.0.1" + }, + { + "name": "minimatch", + "version": "3.1.2", + "purl": "pkg:npm/minimatch@3.1.2", + "type": "library", + "bom-ref": "pkg:npm/minimatch@3.1.2" + }, + { + "name": "brace-expansion", + "version": "1.1.11", + "purl": "pkg:npm/brace-expansion@1.1.11", + "type": "library", + "bom-ref": "pkg:npm/brace-expansion@1.1.11" + }, + { + "name": "balanced-match", + "version": "1.0.2", + "purl": "pkg:npm/balanced-match@1.0.2", + "type": "library", + "bom-ref": "pkg:npm/balanced-match@1.0.2" + }, + { + "name": "concat-map", + "version": "0.0.1", + "purl": "pkg:npm/concat-map@0.0.1", + "type": "library", + "bom-ref": "pkg:npm/concat-map@0.0.1" + }, + { + "name": "pstree.remy", + "version": "1.1.8", + "purl": "pkg:npm/pstree.remy@1.1.8", + "type": "library", + "bom-ref": "pkg:npm/pstree.remy@1.1.8" + }, + { + "name": "simple-update-notifier", + "version": "1.1.0", + "purl": "pkg:npm/simple-update-notifier@1.1.0", + "type": "library", + "bom-ref": "pkg:npm/simple-update-notifier@1.1.0" + }, + { + "name": "semver", + "version": "7.0.0", + "purl": "pkg:npm/semver@7.0.0", + "type": "library", + "bom-ref": "pkg:npm/semver@7.0.0" + }, + { + "name": "supports-color", + "version": "5.5.0", + "purl": "pkg:npm/supports-color@5.5.0", + "type": "library", + "bom-ref": "pkg:npm/supports-color@5.5.0" + }, + { + "name": "has-flag", + "version": "3.0.0", + "purl": "pkg:npm/has-flag@3.0.0", + "type": "library", + "bom-ref": "pkg:npm/has-flag@3.0.0" + }, + { + "name": "touch", + "version": "3.1.0", + "purl": "pkg:npm/touch@3.1.0", + "type": "library", + "bom-ref": "pkg:npm/touch@3.1.0" + }, + { + "name": "nopt", + "version": "1.0.10", + "purl": "pkg:npm/nopt@1.0.10", + "type": "library", + "bom-ref": "pkg:npm/nopt@1.0.10" + }, + { + "name": "abbrev", + "version": "1.1.1", + "purl": "pkg:npm/abbrev@1.1.1", + "type": "library", + "bom-ref": "pkg:npm/abbrev@1.1.1" + }, + { + "name": "undefsafe", + "version": "2.0.5", + "purl": "pkg:npm/undefsafe@2.0.5", + "type": "library", + "bom-ref": "pkg:npm/undefsafe@2.0.5" + } ], "dependencies": [ - { - "ref": "pkg:npm/backend@1.0.0", - "dependsOn": [ - "pkg:npm/%40hapi/joi@17.1.1", - "pkg:npm/axios@0.19.2", - "pkg:npm/backend@0.0.0", - "pkg:npm/bcryptjs@2.4.3", - "pkg:npm/dotenv@8.6.0", - "pkg:npm/express@4.18.2", - "pkg:npm/jsdom@19.0.0", - "pkg:npm/mongoose@5.13.20", - "pkg:npm/nodemon@2.0.22" - ] - }, - { - "ref": "pkg:npm/%40hapi/joi@17.1.1", - "dependsOn": [ - "pkg:npm/%40hapi/address@4.1.0", - "pkg:npm/%40hapi/formula@2.0.0", - "pkg:npm/%40hapi/hoek@9.3.0", - "pkg:npm/%40hapi/pinpoint@2.0.1", - "pkg:npm/%40hapi/topo@5.1.0" - ] - }, - { - "ref": "pkg:npm/%40hapi/address@4.1.0", - "dependsOn": [ - "pkg:npm/%40hapi/hoek@9.3.0" - ] - }, - { - "ref": "pkg:npm/%40hapi/hoek@9.3.0", - "dependsOn": [] - }, - { - "ref": "pkg:npm/%40hapi/formula@2.0.0", - "dependsOn": [] - }, - { - "ref": "pkg:npm/%40hapi/pinpoint@2.0.1", - "dependsOn": [] - }, - { - "ref": "pkg:npm/%40hapi/topo@5.1.0", - "dependsOn": [ - "pkg:npm/%40hapi/hoek@9.3.0" - ] - }, - { - "ref": "pkg:npm/axios@0.19.2", - "dependsOn": [ - "pkg:npm/follow-redirects@1.5.10" - ] - }, - { - "ref": "pkg:npm/follow-redirects@1.5.10", - "dependsOn": [ - "pkg:npm/debug@3.1.0" - ] - }, - { - "ref": "pkg:npm/debug@3.1.0", - "dependsOn": [ - "pkg:npm/ms@2.0.0" - ] - }, - { - "ref": "pkg:npm/ms@2.0.0", - "dependsOn": [] - }, - { - "ref": "pkg:npm/backend@0.0.0", - "dependsOn": [] - }, - { - "ref": "pkg:npm/bcryptjs@2.4.3", - "dependsOn": [] - }, - { - "ref": "pkg:npm/dotenv@8.6.0", - "dependsOn": [] - }, - { - "ref": "pkg:npm/express@4.18.2", - "dependsOn": [ - "pkg:npm/accepts@1.3.8", - "pkg:npm/array-flatten@1.1.1", - "pkg:npm/body-parser@1.20.1", - "pkg:npm/content-disposition@0.5.4", - "pkg:npm/content-type@1.0.5", - "pkg:npm/cookie-signature@1.0.6", - "pkg:npm/cookie@0.5.0", - "pkg:npm/debug@2.6.9", - "pkg:npm/depd@2.0.0", - "pkg:npm/encodeurl@1.0.2", - "pkg:npm/escape-html@1.0.3", - "pkg:npm/etag@1.8.1", - "pkg:npm/finalhandler@1.2.0", - "pkg:npm/fresh@0.5.2", - "pkg:npm/http-errors@2.0.0", - "pkg:npm/merge-descriptors@1.0.1", - "pkg:npm/methods@1.1.2", - "pkg:npm/on-finished@2.4.1", - "pkg:npm/parseurl@1.3.3", - "pkg:npm/path-to-regexp@0.1.7", - "pkg:npm/proxy-addr@2.0.7", - "pkg:npm/qs@6.11.0", - "pkg:npm/range-parser@1.2.1", - "pkg:npm/safe-buffer@5.2.1", - "pkg:npm/send@0.18.0", - "pkg:npm/serve-static@1.15.0", - "pkg:npm/setprototypeof@1.2.0", - "pkg:npm/statuses@2.0.1", - "pkg:npm/type-is@1.6.18", - "pkg:npm/utils-merge@1.0.1", - "pkg:npm/vary@1.1.2" - ] - }, - { - "ref": "pkg:npm/accepts@1.3.8", - "dependsOn": [ - "pkg:npm/mime-types@2.1.35", - "pkg:npm/negotiator@0.6.3" - ] - }, - { - "ref": "pkg:npm/mime-types@2.1.35", - "dependsOn": [ - "pkg:npm/mime-db@1.52.0" - ] - }, - { - "ref": "pkg:npm/mime-db@1.52.0", - "dependsOn": [] - }, - { - "ref": "pkg:npm/negotiator@0.6.3", - "dependsOn": [] - }, - { - "ref": "pkg:npm/array-flatten@1.1.1", - "dependsOn": [] - }, - { - "ref": "pkg:npm/body-parser@1.20.1", - "dependsOn": [ - "pkg:npm/bytes@3.1.2", - "pkg:npm/content-type@1.0.5", - "pkg:npm/debug@2.6.9", - "pkg:npm/depd@2.0.0", - "pkg:npm/destroy@1.2.0", - "pkg:npm/http-errors@2.0.0", - "pkg:npm/iconv-lite@0.4.24", - "pkg:npm/on-finished@2.4.1", - "pkg:npm/qs@6.11.0", - "pkg:npm/raw-body@2.5.1", - "pkg:npm/type-is@1.6.18", - "pkg:npm/unpipe@1.0.0" - ] - }, - { - "ref": "pkg:npm/bytes@3.1.2", - "dependsOn": [] - }, - { - "ref": "pkg:npm/content-type@1.0.5", - "dependsOn": [] - }, - { - "ref": "pkg:npm/debug@2.6.9", - "dependsOn": [ - "pkg:npm/ms@2.0.0" - ] - }, - { - "ref": "pkg:npm/depd@2.0.0", - "dependsOn": [] - }, - { - "ref": "pkg:npm/destroy@1.2.0", - "dependsOn": [] - }, - { - "ref": "pkg:npm/http-errors@2.0.0", - "dependsOn": [ - "pkg:npm/depd@2.0.0", - "pkg:npm/inherits@2.0.4", - "pkg:npm/setprototypeof@1.2.0", - "pkg:npm/statuses@2.0.1", - "pkg:npm/toidentifier@1.0.1" - ] - }, - { - "ref": "pkg:npm/iconv-lite@0.4.24", - "dependsOn": [ - "pkg:npm/safer-buffer@2.1.2" - ] - }, - { - "ref": "pkg:npm/safer-buffer@2.1.2", - "dependsOn": [] - }, - { - "ref": "pkg:npm/on-finished@2.4.1", - "dependsOn": [ - "pkg:npm/ee-first@1.1.1" - ] - }, - { - "ref": "pkg:npm/qs@6.11.0", - "dependsOn": [ - "pkg:npm/side-channel@1.0.4" - ] - }, - { - "ref": "pkg:npm/raw-body@2.5.1", - "dependsOn": [ - "pkg:npm/bytes@3.1.2", - "pkg:npm/http-errors@2.0.0", - "pkg:npm/iconv-lite@0.4.24", - "pkg:npm/unpipe@1.0.0" - ] - }, - { - "ref": "pkg:npm/unpipe@1.0.0", - "dependsOn": [] - }, - { - "ref": "pkg:npm/type-is@1.6.18", - "dependsOn": [ - "pkg:npm/media-typer@0.3.0", - "pkg:npm/mime-types@2.1.35" - ] - }, - { - "ref": "pkg:npm/content-disposition@0.5.4", - "dependsOn": [ - "pkg:npm/safe-buffer@5.2.1" - ] - }, - { - "ref": "pkg:npm/safe-buffer@5.2.1", - "dependsOn": [] - }, - { - "ref": "pkg:npm/cookie-signature@1.0.6", - "dependsOn": [] - }, - { - "ref": "pkg:npm/cookie@0.5.0", - "dependsOn": [] - }, - { - "ref": "pkg:npm/encodeurl@1.0.2", - "dependsOn": [] - }, - { - "ref": "pkg:npm/escape-html@1.0.3", - "dependsOn": [] - }, - { - "ref": "pkg:npm/etag@1.8.1", - "dependsOn": [] - }, - { - "ref": "pkg:npm/finalhandler@1.2.0", - "dependsOn": [ - "pkg:npm/debug@2.6.9", - "pkg:npm/encodeurl@1.0.2", - "pkg:npm/escape-html@1.0.3", - "pkg:npm/on-finished@2.4.1", - "pkg:npm/parseurl@1.3.3", - "pkg:npm/statuses@2.0.1", - "pkg:npm/unpipe@1.0.0" - ] - }, - { - "ref": "pkg:npm/parseurl@1.3.3", - "dependsOn": [] - }, - { - "ref": "pkg:npm/statuses@2.0.1", - "dependsOn": [] - }, - { - "ref": "pkg:npm/fresh@0.5.2", - "dependsOn": [] - }, - { - "ref": "pkg:npm/inherits@2.0.4", - "dependsOn": [] - }, - { - "ref": "pkg:npm/setprototypeof@1.2.0", - "dependsOn": [] - }, - { - "ref": "pkg:npm/toidentifier@1.0.1", - "dependsOn": [] - }, - { - "ref": "pkg:npm/merge-descriptors@1.0.1", - "dependsOn": [] - }, - { - "ref": "pkg:npm/methods@1.1.2", - "dependsOn": [] - }, - { - "ref": "pkg:npm/ee-first@1.1.1", - "dependsOn": [] - }, - { - "ref": "pkg:npm/path-to-regexp@0.1.7", - "dependsOn": [] - }, - { - "ref": "pkg:npm/proxy-addr@2.0.7", - "dependsOn": [ - "pkg:npm/forwarded@0.2.0", - "pkg:npm/ipaddr.js@1.9.1" - ] - }, - { - "ref": "pkg:npm/forwarded@0.2.0", - "dependsOn": [] - }, - { - "ref": "pkg:npm/ipaddr.js@1.9.1", - "dependsOn": [] - }, - { - "ref": "pkg:npm/side-channel@1.0.4", - "dependsOn": [ - "pkg:npm/call-bind@1.0.2", - "pkg:npm/get-intrinsic@1.2.1", - "pkg:npm/object-inspect@1.12.3" - ] - }, - { - "ref": "pkg:npm/call-bind@1.0.2", - "dependsOn": [ - "pkg:npm/function-bind@1.1.1", - "pkg:npm/get-intrinsic@1.2.1" - ] - }, - { - "ref": "pkg:npm/function-bind@1.1.1", - "dependsOn": [] - }, - { - "ref": "pkg:npm/get-intrinsic@1.2.1", - "dependsOn": [ - "pkg:npm/function-bind@1.1.1", - "pkg:npm/has-proto@1.0.1", - "pkg:npm/has-symbols@1.0.3", - "pkg:npm/has@1.0.3" - ] - }, - { - "ref": "pkg:npm/has-proto@1.0.1", - "dependsOn": [] - }, - { - "ref": "pkg:npm/has-symbols@1.0.3", - "dependsOn": [] - }, - { - "ref": "pkg:npm/has@1.0.3", - "dependsOn": [ - "pkg:npm/function-bind@1.1.1" - ] - }, - { - "ref": "pkg:npm/object-inspect@1.12.3", - "dependsOn": [] - }, - { - "ref": "pkg:npm/range-parser@1.2.1", - "dependsOn": [] - }, - { - "ref": "pkg:npm/send@0.18.0", - "dependsOn": [ - "pkg:npm/debug@2.6.9", - "pkg:npm/depd@2.0.0", - "pkg:npm/destroy@1.2.0", - "pkg:npm/encodeurl@1.0.2", - "pkg:npm/escape-html@1.0.3", - "pkg:npm/etag@1.8.1", - "pkg:npm/fresh@0.5.2", - "pkg:npm/http-errors@2.0.0", - "pkg:npm/mime@1.6.0", - "pkg:npm/ms@2.1.3", - "pkg:npm/on-finished@2.4.1", - "pkg:npm/range-parser@1.2.1", - "pkg:npm/statuses@2.0.1" - ] - }, - { - "ref": "pkg:npm/mime@1.6.0", - "dependsOn": [] - }, - { - "ref": "pkg:npm/ms@2.1.3", - "dependsOn": [] - }, - { - "ref": "pkg:npm/serve-static@1.15.0", - "dependsOn": [ - "pkg:npm/encodeurl@1.0.2", - "pkg:npm/escape-html@1.0.3", - "pkg:npm/parseurl@1.3.3", - "pkg:npm/send@0.18.0" - ] - }, - { - "ref": "pkg:npm/media-typer@0.3.0", - "dependsOn": [] - }, - { - "ref": "pkg:npm/utils-merge@1.0.1", - "dependsOn": [] - }, - { - "ref": "pkg:npm/vary@1.1.2", - "dependsOn": [] - }, - { - "ref": "pkg:npm/jsdom@19.0.0", - "dependsOn": [ - "pkg:npm/abab@2.0.6", - "pkg:npm/acorn-globals@6.0.0", - "pkg:npm/acorn@8.10.0", - "pkg:npm/cssom@0.5.0", - "pkg:npm/cssstyle@2.3.0", - "pkg:npm/data-urls@3.0.2", - "pkg:npm/decimal.js@10.4.3", - "pkg:npm/domexception@4.0.0", - "pkg:npm/escodegen@2.1.0", - "pkg:npm/form-data@4.0.0", - "pkg:npm/html-encoding-sniffer@3.0.0", - "pkg:npm/http-proxy-agent@5.0.0", - "pkg:npm/https-proxy-agent@5.0.1", - "pkg:npm/is-potential-custom-element-name@1.0.1", - "pkg:npm/nwsapi@2.2.7", - "pkg:npm/parse5@6.0.1", - "pkg:npm/saxes@5.0.1", - "pkg:npm/symbol-tree@3.2.4", - "pkg:npm/tough-cookie@4.1.3", - "pkg:npm/w3c-hr-time@1.0.2", - "pkg:npm/w3c-xmlserializer@3.0.0", - "pkg:npm/webidl-conversions@7.0.0", - "pkg:npm/whatwg-encoding@2.0.0", - "pkg:npm/whatwg-mimetype@3.0.0", - "pkg:npm/whatwg-url@10.0.0", - "pkg:npm/ws@8.14.2", - "pkg:npm/xml-name-validator@4.0.0" - ] - }, - { - "ref": "pkg:npm/abab@2.0.6", - "dependsOn": [] - }, - { - "ref": "pkg:npm/acorn-globals@6.0.0", - "dependsOn": [ - "pkg:npm/acorn-walk@7.2.0", - "pkg:npm/acorn@7.4.1" - ] - }, - { - "ref": "pkg:npm/acorn-walk@7.2.0", - "dependsOn": [] - }, - { - "ref": "pkg:npm/acorn@7.4.1", - "dependsOn": [] - }, - { - "ref": "pkg:npm/acorn@8.10.0", - "dependsOn": [] - }, - { - "ref": "pkg:npm/cssom@0.5.0", - "dependsOn": [] - }, - { - "ref": "pkg:npm/cssstyle@2.3.0", - "dependsOn": [ - "pkg:npm/cssom@0.3.8" - ] - }, - { - "ref": "pkg:npm/cssom@0.3.8", - "dependsOn": [] - }, - { - "ref": "pkg:npm/data-urls@3.0.2", - "dependsOn": [ - "pkg:npm/abab@2.0.6", - "pkg:npm/whatwg-mimetype@3.0.0", - "pkg:npm/whatwg-url@11.0.0" - ] - }, - { - "ref": "pkg:npm/whatwg-mimetype@3.0.0", - "dependsOn": [] - }, - { - "ref": "pkg:npm/whatwg-url@11.0.0", - "dependsOn": [ - "pkg:npm/tr46@3.0.0", - "pkg:npm/webidl-conversions@7.0.0" - ] - }, - { - "ref": "pkg:npm/tr46@3.0.0", - "dependsOn": [ - "pkg:npm/punycode@2.3.0" - ] - }, - { - "ref": "pkg:npm/webidl-conversions@7.0.0", - "dependsOn": [] - }, - { - "ref": "pkg:npm/decimal.js@10.4.3", - "dependsOn": [] - }, - { - "ref": "pkg:npm/domexception@4.0.0", - "dependsOn": [ - "pkg:npm/webidl-conversions@7.0.0" - ] - }, - { - "ref": "pkg:npm/escodegen@2.1.0", - "dependsOn": [ - "pkg:npm/esprima@4.0.1", - "pkg:npm/estraverse@5.3.0", - "pkg:npm/esutils@2.0.3", - "pkg:npm/source-map@0.6.1" - ] - }, - { - "ref": "pkg:npm/esprima@4.0.1", - "dependsOn": [] - }, - { - "ref": "pkg:npm/estraverse@5.3.0", - "dependsOn": [] - }, - { - "ref": "pkg:npm/esutils@2.0.3", - "dependsOn": [] - }, - { - "ref": "pkg:npm/source-map@0.6.1", - "dependsOn": [] - }, - { - "ref": "pkg:npm/form-data@4.0.0", - "dependsOn": [ - "pkg:npm/asynckit@0.4.0", - "pkg:npm/combined-stream@1.0.8", - "pkg:npm/mime-types@2.1.35" - ] - }, - { - "ref": "pkg:npm/asynckit@0.4.0", - "dependsOn": [] - }, - { - "ref": "pkg:npm/combined-stream@1.0.8", - "dependsOn": [ - "pkg:npm/delayed-stream@1.0.0" - ] - }, - { - "ref": "pkg:npm/delayed-stream@1.0.0", - "dependsOn": [] - }, - { - "ref": "pkg:npm/html-encoding-sniffer@3.0.0", - "dependsOn": [ - "pkg:npm/whatwg-encoding@2.0.0" - ] - }, - { - "ref": "pkg:npm/whatwg-encoding@2.0.0", - "dependsOn": [ - "pkg:npm/iconv-lite@0.6.3" - ] - }, - { - "ref": "pkg:npm/http-proxy-agent@5.0.0", - "dependsOn": [ - "pkg:npm/%40tootallnate/once@2.0.0", - "pkg:npm/agent-base@6.0.2", - "pkg:npm/debug@4.3.4" - ] - }, - { - "ref": "pkg:npm/%40tootallnate/once@2.0.0", - "dependsOn": [] - }, - { - "ref": "pkg:npm/agent-base@6.0.2", - "dependsOn": [ - "pkg:npm/debug@4.3.4" - ] - }, - { - "ref": "pkg:npm/debug@4.3.4", - "dependsOn": [ - "pkg:npm/ms@2.1.2" - ] - }, - { - "ref": "pkg:npm/ms@2.1.2", - "dependsOn": [] - }, - { - "ref": "pkg:npm/https-proxy-agent@5.0.1", - "dependsOn": [ - "pkg:npm/agent-base@6.0.2", - "pkg:npm/debug@4.3.4" - ] - }, - { - "ref": "pkg:npm/is-potential-custom-element-name@1.0.1", - "dependsOn": [] - }, - { - "ref": "pkg:npm/nwsapi@2.2.7", - "dependsOn": [] - }, - { - "ref": "pkg:npm/parse5@6.0.1", - "dependsOn": [] - }, - { - "ref": "pkg:npm/saxes@5.0.1", - "dependsOn": [ - "pkg:npm/xmlchars@2.2.0" - ] - }, - { - "ref": "pkg:npm/xmlchars@2.2.0", - "dependsOn": [] - }, - { - "ref": "pkg:npm/symbol-tree@3.2.4", - "dependsOn": [] - }, - { - "ref": "pkg:npm/tough-cookie@4.1.3", - "dependsOn": [ - "pkg:npm/psl@1.9.0", - "pkg:npm/punycode@2.3.0", - "pkg:npm/universalify@0.2.0", - "pkg:npm/url-parse@1.5.10" - ] - }, - { - "ref": "pkg:npm/psl@1.9.0", - "dependsOn": [] - }, - { - "ref": "pkg:npm/punycode@2.3.0", - "dependsOn": [] - }, - { - "ref": "pkg:npm/universalify@0.2.0", - "dependsOn": [] - }, - { - "ref": "pkg:npm/url-parse@1.5.10", - "dependsOn": [ - "pkg:npm/querystringify@2.2.0", - "pkg:npm/requires-port@1.0.0" - ] - }, - { - "ref": "pkg:npm/querystringify@2.2.0", - "dependsOn": [] - }, - { - "ref": "pkg:npm/requires-port@1.0.0", - "dependsOn": [] - }, - { - "ref": "pkg:npm/w3c-hr-time@1.0.2", - "dependsOn": [ - "pkg:npm/browser-process-hrtime@1.0.0" - ] - }, - { - "ref": "pkg:npm/browser-process-hrtime@1.0.0", - "dependsOn": [] - }, - { - "ref": "pkg:npm/w3c-xmlserializer@3.0.0", - "dependsOn": [ - "pkg:npm/xml-name-validator@4.0.0" - ] - }, - { - "ref": "pkg:npm/xml-name-validator@4.0.0", - "dependsOn": [] - }, - { - "ref": "pkg:npm/iconv-lite@0.6.3", - "dependsOn": [ - "pkg:npm/safer-buffer@2.1.2" - ] - }, - { - "ref": "pkg:npm/whatwg-url@10.0.0", - "dependsOn": [ - "pkg:npm/tr46@3.0.0", - "pkg:npm/webidl-conversions@7.0.0" - ] - }, - { - "ref": "pkg:npm/ws@8.14.2", - "dependsOn": [] - }, - { - "ref": "pkg:npm/jws@3.2.2", - "dependsOn": [ - "pkg:npm/jwa@1.4.1", - "pkg:npm/safe-buffer@5.2.1" - ] - }, - { - "ref": "pkg:npm/jwa@1.4.1", - "dependsOn": [ - "pkg:npm/buffer-equal-constant-time@1.0.1", - "pkg:npm/ecdsa-sig-formatter@1.0.11", - "pkg:npm/safe-buffer@5.2.1" - ] - }, - { - "ref": "pkg:npm/buffer-equal-constant-time@1.0.1", - "dependsOn": [] - }, - { - "ref": "pkg:npm/ecdsa-sig-formatter@1.0.11", - "dependsOn": [ - "pkg:npm/safe-buffer@5.2.1" - ] - }, - { - "ref": "pkg:npm/lodash.includes@4.3.0", - "dependsOn": [] - }, - { - "ref": "pkg:npm/lodash.isboolean@3.0.3", - "dependsOn": [] - }, - { - "ref": "pkg:npm/lodash.isinteger@4.0.4", - "dependsOn": [] - }, - { - "ref": "pkg:npm/lodash.isnumber@3.0.3", - "dependsOn": [] - }, - { - "ref": "pkg:npm/lodash.isplainobject@4.0.6", - "dependsOn": [] - }, - { - "ref": "pkg:npm/lodash.isstring@4.0.1", - "dependsOn": [] - }, - { - "ref": "pkg:npm/lodash.once@4.1.1", - "dependsOn": [] - }, - { - "ref": "pkg:npm/semver@5.7.2", - "dependsOn": [] - }, - { - "ref": "pkg:npm/mongoose@5.13.20", - "dependsOn": [ - "pkg:npm/%40types/bson@4.0.5", - "pkg:npm/%40types/mongodb@3.6.20", - "pkg:npm/bson@1.1.6", - "pkg:npm/kareem@2.3.2", - "pkg:npm/mongodb@3.7.4", - "pkg:npm/mongoose-legacy-pluralize@1.0.2", - "pkg:npm/mpath@0.8.4", - "pkg:npm/mquery@3.2.5", - "pkg:npm/ms@2.1.2", - "pkg:npm/optional-require@1.0.3", - "pkg:npm/regexp-clone@1.0.0", - "pkg:npm/safe-buffer@5.2.1", - "pkg:npm/sift@13.5.2", - "pkg:npm/sliced@1.0.1" - ] - }, - { - "ref": "pkg:npm/%40types/bson@4.0.5", - "dependsOn": [ - "pkg:npm/%40types/node@20.4.8" - ] - }, - { - "ref": "pkg:npm/%40types/node@20.4.8", - "dependsOn": [] - }, - { - "ref": "pkg:npm/%40types/mongodb@3.6.20", - "dependsOn": [ - "pkg:npm/%40types/bson@4.0.5", - "pkg:npm/%40types/node@20.4.8" - ] - }, - { - "ref": "pkg:npm/bson@1.1.6", - "dependsOn": [] - }, - { - "ref": "pkg:npm/kareem@2.3.2", - "dependsOn": [] - }, - { - "ref": "pkg:npm/mongodb@3.7.4", - "dependsOn": [ - "pkg:npm/bl@2.2.1", - "pkg:npm/bson@1.1.6", - "pkg:npm/denque@1.5.1", - "pkg:npm/optional-require@1.1.8", - "pkg:npm/safe-buffer@5.2.1", - "pkg:npm/saslprep@1.0.3" - ] - }, - { - "ref": "pkg:npm/bl@2.2.1", - "dependsOn": [ - "pkg:npm/readable-stream@2.3.8", - "pkg:npm/safe-buffer@5.2.1" - ] - }, - { - "ref": "pkg:npm/readable-stream@2.3.8", - "dependsOn": [ - "pkg:npm/core-util-is@1.0.3", - "pkg:npm/inherits@2.0.4", - "pkg:npm/isarray@1.0.0", - "pkg:npm/process-nextick-args@2.0.1", - "pkg:npm/safe-buffer@5.1.2", - "pkg:npm/string_decoder@1.1.1", - "pkg:npm/util-deprecate@1.0.2" - ] - }, - { - "ref": "pkg:npm/core-util-is@1.0.3", - "dependsOn": [] - }, - { - "ref": "pkg:npm/isarray@1.0.0", - "dependsOn": [] - }, - { - "ref": "pkg:npm/process-nextick-args@2.0.1", - "dependsOn": [] - }, - { - "ref": "pkg:npm/safe-buffer@5.1.2", - "dependsOn": [] - }, - { - "ref": "pkg:npm/string_decoder@1.1.1", - "dependsOn": [ - "pkg:npm/safe-buffer@5.1.2" - ] - }, - { - "ref": "pkg:npm/util-deprecate@1.0.2", - "dependsOn": [] - }, - { - "ref": "pkg:npm/denque@1.5.1", - "dependsOn": [] - }, - { - "ref": "pkg:npm/optional-require@1.1.8", - "dependsOn": [ - "pkg:npm/require-at@1.0.6" - ] - }, - { - "ref": "pkg:npm/require-at@1.0.6", - "dependsOn": [] - }, - { - "ref": "pkg:npm/saslprep@1.0.3", - "dependsOn": [ - "pkg:npm/sparse-bitfield@3.0.3" - ] - }, - { - "ref": "pkg:npm/sparse-bitfield@3.0.3", - "dependsOn": [ - "pkg:npm/memory-pager@1.5.0" - ] - }, - { - "ref": "pkg:npm/memory-pager@1.5.0", - "dependsOn": [] - }, - { - "ref": "pkg:npm/mongoose-legacy-pluralize@1.0.2", - "dependsOn": [ - "pkg:npm/mongoose@5.13.20" - ] - }, - { - "ref": "pkg:npm/mpath@0.8.4", - "dependsOn": [] - }, - { - "ref": "pkg:npm/mquery@3.2.5", - "dependsOn": [ - "pkg:npm/bluebird@3.5.1", - "pkg:npm/debug@3.1.0", - "pkg:npm/regexp-clone@1.0.0", - "pkg:npm/safe-buffer@5.1.2", - "pkg:npm/sliced@1.0.1" - ] - }, - { - "ref": "pkg:npm/bluebird@3.5.1", - "dependsOn": [] - }, - { - "ref": "pkg:npm/regexp-clone@1.0.0", - "dependsOn": [] - }, - { - "ref": "pkg:npm/sliced@1.0.1", - "dependsOn": [] - }, - { - "ref": "pkg:npm/optional-require@1.0.3", - "dependsOn": [] - }, - { - "ref": "pkg:npm/sift@13.5.2", - "dependsOn": [] - }, - { - "ref": "pkg:npm/nodemon@2.0.22", - "dependsOn": [ - "pkg:npm/chokidar@3.5.3", - "pkg:npm/debug@3.2.7", - "pkg:npm/ignore-by-default@1.0.1", - "pkg:npm/minimatch@3.1.2", - "pkg:npm/pstree.remy@1.1.8", - "pkg:npm/semver@5.7.2", - "pkg:npm/simple-update-notifier@1.1.0", - "pkg:npm/supports-color@5.5.0", - "pkg:npm/touch@3.1.0", - "pkg:npm/undefsafe@2.0.5" - ] - }, - { - "ref": "pkg:npm/chokidar@3.5.3", - "dependsOn": [ - "pkg:npm/anymatch@3.1.3", - "pkg:npm/braces@3.0.2", - "pkg:npm/fsevents@2.3.2", - "pkg:npm/glob-parent@5.1.2", - "pkg:npm/is-binary-path@2.1.0", - "pkg:npm/is-glob@4.0.3", - "pkg:npm/normalize-path@3.0.0", - "pkg:npm/readdirp@3.6.0" - ] - }, - { - "ref": "pkg:npm/anymatch@3.1.3", - "dependsOn": [ - "pkg:npm/normalize-path@3.0.0", - "pkg:npm/picomatch@2.3.1" - ] - }, - { - "ref": "pkg:npm/normalize-path@3.0.0", - "dependsOn": [] - }, - { - "ref": "pkg:npm/picomatch@2.3.1", - "dependsOn": [] - }, - { - "ref": "pkg:npm/braces@3.0.2", - "dependsOn": [ - "pkg:npm/fill-range@7.0.1" - ] - }, - { - "ref": "pkg:npm/fill-range@7.0.1", - "dependsOn": [ - "pkg:npm/to-regex-range@5.0.1" - ] - }, - { - "ref": "pkg:npm/to-regex-range@5.0.1", - "dependsOn": [ - "pkg:npm/is-number@7.0.0" - ] - }, - { - "ref": "pkg:npm/is-number@7.0.0", - "dependsOn": [] - }, - { - "ref": "pkg:npm/fsevents@2.3.2", - "dependsOn": [] - }, - { - "ref": "pkg:npm/glob-parent@5.1.2", - "dependsOn": [ - "pkg:npm/is-glob@4.0.3" - ] - }, - { - "ref": "pkg:npm/is-glob@4.0.3", - "dependsOn": [ - "pkg:npm/is-extglob@2.1.1" - ] - }, - { - "ref": "pkg:npm/is-binary-path@2.1.0", - "dependsOn": [ - "pkg:npm/binary-extensions@2.2.0" - ] - }, - { - "ref": "pkg:npm/binary-extensions@2.2.0", - "dependsOn": [] - }, - { - "ref": "pkg:npm/is-extglob@2.1.1", - "dependsOn": [] - }, - { - "ref": "pkg:npm/readdirp@3.6.0", - "dependsOn": [ - "pkg:npm/picomatch@2.3.1" - ] - }, - { - "ref": "pkg:npm/debug@3.2.7", - "dependsOn": [ - "pkg:npm/ms@2.1.3" - ] - }, - { - "ref": "pkg:npm/ignore-by-default@1.0.1", - "dependsOn": [] - }, - { - "ref": "pkg:npm/minimatch@3.1.2", - "dependsOn": [ - "pkg:npm/brace-expansion@1.1.11" - ] - }, - { - "ref": "pkg:npm/brace-expansion@1.1.11", - "dependsOn": [ - "pkg:npm/balanced-match@1.0.2", - "pkg:npm/concat-map@0.0.1" - ] - }, - { - "ref": "pkg:npm/balanced-match@1.0.2", - "dependsOn": [] - }, - { - "ref": "pkg:npm/concat-map@0.0.1", - "dependsOn": [] - }, - { - "ref": "pkg:npm/pstree.remy@1.1.8", - "dependsOn": [] - }, - { - "ref": "pkg:npm/simple-update-notifier@1.1.0", - "dependsOn": [ - "pkg:npm/semver@7.0.0" - ] - }, - { - "ref": "pkg:npm/semver@7.0.0", - "dependsOn": [] - }, - { - "ref": "pkg:npm/supports-color@5.5.0", - "dependsOn": [ - "pkg:npm/has-flag@3.0.0" - ] - }, - { - "ref": "pkg:npm/has-flag@3.0.0", - "dependsOn": [] - }, - { - "ref": "pkg:npm/touch@3.1.0", - "dependsOn": [ - "pkg:npm/nopt@1.0.10" - ] - }, - { - "ref": "pkg:npm/nopt@1.0.10", - "dependsOn": [ - "pkg:npm/abbrev@1.1.1" - ] - }, - { - "ref": "pkg:npm/abbrev@1.1.1", - "dependsOn": [] - }, - { - "ref": "pkg:npm/undefsafe@2.0.5", - "dependsOn": [] - } + { + "ref": "pkg:npm/backend@1.0.0", + "dependsOn": [ + "pkg:npm/%40hapi/joi@17.1.1", + "pkg:npm/axios@0.19.2", + "pkg:npm/backend@0.0.0", + "pkg:npm/bcryptjs@2.4.3", + "pkg:npm/dotenv@8.6.0", + "pkg:npm/express@4.18.2", + "pkg:npm/jsdom@19.0.0", + "pkg:npm/mongoose@5.13.20", + "pkg:npm/nodemon@2.0.22" + ] + }, + { + "ref": "pkg:npm/%40hapi/joi@17.1.1", + "dependsOn": [ + "pkg:npm/%40hapi/address@4.1.0", + "pkg:npm/%40hapi/formula@2.0.0", + "pkg:npm/%40hapi/hoek@9.3.0", + "pkg:npm/%40hapi/pinpoint@2.0.1", + "pkg:npm/%40hapi/topo@5.1.0" + ] + }, + { + "ref": "pkg:npm/%40hapi/address@4.1.0", + "dependsOn": [ + "pkg:npm/%40hapi/hoek@9.3.0" + ] + }, + { + "ref": "pkg:npm/%40hapi/hoek@9.3.0", + "dependsOn": [] + }, + { + "ref": "pkg:npm/%40hapi/formula@2.0.0", + "dependsOn": [] + }, + { + "ref": "pkg:npm/%40hapi/pinpoint@2.0.1", + "dependsOn": [] + }, + { + "ref": "pkg:npm/%40hapi/topo@5.1.0", + "dependsOn": [ + "pkg:npm/%40hapi/hoek@9.3.0" + ] + }, + { + "ref": "pkg:npm/axios@0.19.2", + "dependsOn": [ + "pkg:npm/follow-redirects@1.5.10" + ] + }, + { + "ref": "pkg:npm/follow-redirects@1.5.10", + "dependsOn": [ + "pkg:npm/debug@3.1.0" + ] + }, + { + "ref": "pkg:npm/debug@3.1.0", + "dependsOn": [ + "pkg:npm/ms@2.0.0" + ] + }, + { + "ref": "pkg:npm/ms@2.0.0", + "dependsOn": [] + }, + { + "ref": "pkg:npm/backend@0.0.0", + "dependsOn": [] + }, + { + "ref": "pkg:npm/bcryptjs@2.4.3", + "dependsOn": [] + }, + { + "ref": "pkg:npm/dotenv@8.6.0", + "dependsOn": [] + }, + { + "ref": "pkg:npm/express@4.18.2", + "dependsOn": [ + "pkg:npm/accepts@1.3.8", + "pkg:npm/array-flatten@1.1.1", + "pkg:npm/body-parser@1.20.1", + "pkg:npm/content-disposition@0.5.4", + "pkg:npm/content-type@1.0.5", + "pkg:npm/cookie-signature@1.0.6", + "pkg:npm/cookie@0.5.0", + "pkg:npm/debug@2.6.9", + "pkg:npm/depd@2.0.0", + "pkg:npm/encodeurl@1.0.2", + "pkg:npm/escape-html@1.0.3", + "pkg:npm/etag@1.8.1", + "pkg:npm/finalhandler@1.2.0", + "pkg:npm/fresh@0.5.2", + "pkg:npm/http-errors@2.0.0", + "pkg:npm/merge-descriptors@1.0.1", + "pkg:npm/methods@1.1.2", + "pkg:npm/on-finished@2.4.1", + "pkg:npm/parseurl@1.3.3", + "pkg:npm/path-to-regexp@0.1.7", + "pkg:npm/proxy-addr@2.0.7", + "pkg:npm/qs@6.11.0", + "pkg:npm/range-parser@1.2.1", + "pkg:npm/safe-buffer@5.2.1", + "pkg:npm/send@0.18.0", + "pkg:npm/serve-static@1.15.0", + "pkg:npm/setprototypeof@1.2.0", + "pkg:npm/statuses@2.0.1", + "pkg:npm/type-is@1.6.18", + "pkg:npm/utils-merge@1.0.1", + "pkg:npm/vary@1.1.2" + ] + }, + { + "ref": "pkg:npm/accepts@1.3.8", + "dependsOn": [ + "pkg:npm/mime-types@2.1.35", + "pkg:npm/negotiator@0.6.3" + ] + }, + { + "ref": "pkg:npm/mime-types@2.1.35", + "dependsOn": [ + "pkg:npm/mime-db@1.52.0" + ] + }, + { + "ref": "pkg:npm/mime-db@1.52.0", + "dependsOn": [] + }, + { + "ref": "pkg:npm/negotiator@0.6.3", + "dependsOn": [] + }, + { + "ref": "pkg:npm/array-flatten@1.1.1", + "dependsOn": [] + }, + { + "ref": "pkg:npm/body-parser@1.20.1", + "dependsOn": [ + "pkg:npm/bytes@3.1.2", + "pkg:npm/content-type@1.0.5", + "pkg:npm/debug@2.6.9", + "pkg:npm/depd@2.0.0", + "pkg:npm/destroy@1.2.0", + "pkg:npm/http-errors@2.0.0", + "pkg:npm/iconv-lite@0.4.24", + "pkg:npm/on-finished@2.4.1", + "pkg:npm/qs@6.11.0", + "pkg:npm/raw-body@2.5.1", + "pkg:npm/type-is@1.6.18", + "pkg:npm/unpipe@1.0.0" + ] + }, + { + "ref": "pkg:npm/bytes@3.1.2", + "dependsOn": [] + }, + { + "ref": "pkg:npm/content-type@1.0.5", + "dependsOn": [] + }, + { + "ref": "pkg:npm/debug@2.6.9", + "dependsOn": [ + "pkg:npm/ms@2.0.0" + ] + }, + { + "ref": "pkg:npm/depd@2.0.0", + "dependsOn": [] + }, + { + "ref": "pkg:npm/destroy@1.2.0", + "dependsOn": [] + }, + { + "ref": "pkg:npm/http-errors@2.0.0", + "dependsOn": [ + "pkg:npm/depd@2.0.0", + "pkg:npm/inherits@2.0.4", + "pkg:npm/setprototypeof@1.2.0", + "pkg:npm/statuses@2.0.1", + "pkg:npm/toidentifier@1.0.1" + ] + }, + { + "ref": "pkg:npm/iconv-lite@0.4.24", + "dependsOn": [ + "pkg:npm/safer-buffer@2.1.2" + ] + }, + { + "ref": "pkg:npm/safer-buffer@2.1.2", + "dependsOn": [] + }, + { + "ref": "pkg:npm/on-finished@2.4.1", + "dependsOn": [ + "pkg:npm/ee-first@1.1.1" + ] + }, + { + "ref": "pkg:npm/qs@6.11.0", + "dependsOn": [ + "pkg:npm/side-channel@1.0.4" + ] + }, + { + "ref": "pkg:npm/raw-body@2.5.1", + "dependsOn": [ + "pkg:npm/bytes@3.1.2", + "pkg:npm/http-errors@2.0.0", + "pkg:npm/iconv-lite@0.4.24", + "pkg:npm/unpipe@1.0.0" + ] + }, + { + "ref": "pkg:npm/unpipe@1.0.0", + "dependsOn": [] + }, + { + "ref": "pkg:npm/type-is@1.6.18", + "dependsOn": [ + "pkg:npm/media-typer@0.3.0", + "pkg:npm/mime-types@2.1.35" + ] + }, + { + "ref": "pkg:npm/content-disposition@0.5.4", + "dependsOn": [ + "pkg:npm/safe-buffer@5.2.1" + ] + }, + { + "ref": "pkg:npm/safe-buffer@5.2.1", + "dependsOn": [] + }, + { + "ref": "pkg:npm/cookie-signature@1.0.6", + "dependsOn": [] + }, + { + "ref": "pkg:npm/cookie@0.5.0", + "dependsOn": [] + }, + { + "ref": "pkg:npm/encodeurl@1.0.2", + "dependsOn": [] + }, + { + "ref": "pkg:npm/escape-html@1.0.3", + "dependsOn": [] + }, + { + "ref": "pkg:npm/etag@1.8.1", + "dependsOn": [] + }, + { + "ref": "pkg:npm/finalhandler@1.2.0", + "dependsOn": [ + "pkg:npm/debug@2.6.9", + "pkg:npm/encodeurl@1.0.2", + "pkg:npm/escape-html@1.0.3", + "pkg:npm/on-finished@2.4.1", + "pkg:npm/parseurl@1.3.3", + "pkg:npm/statuses@2.0.1", + "pkg:npm/unpipe@1.0.0" + ] + }, + { + "ref": "pkg:npm/parseurl@1.3.3", + "dependsOn": [] + }, + { + "ref": "pkg:npm/statuses@2.0.1", + "dependsOn": [] + }, + { + "ref": "pkg:npm/fresh@0.5.2", + "dependsOn": [] + }, + { + "ref": "pkg:npm/inherits@2.0.4", + "dependsOn": [] + }, + { + "ref": "pkg:npm/setprototypeof@1.2.0", + "dependsOn": [] + }, + { + "ref": "pkg:npm/toidentifier@1.0.1", + "dependsOn": [] + }, + { + "ref": "pkg:npm/merge-descriptors@1.0.1", + "dependsOn": [] + }, + { + "ref": "pkg:npm/methods@1.1.2", + "dependsOn": [] + }, + { + "ref": "pkg:npm/ee-first@1.1.1", + "dependsOn": [] + }, + { + "ref": "pkg:npm/path-to-regexp@0.1.7", + "dependsOn": [] + }, + { + "ref": "pkg:npm/proxy-addr@2.0.7", + "dependsOn": [ + "pkg:npm/forwarded@0.2.0", + "pkg:npm/ipaddr.js@1.9.1" + ] + }, + { + "ref": "pkg:npm/forwarded@0.2.0", + "dependsOn": [] + }, + { + "ref": "pkg:npm/ipaddr.js@1.9.1", + "dependsOn": [] + }, + { + "ref": "pkg:npm/side-channel@1.0.4", + "dependsOn": [ + "pkg:npm/call-bind@1.0.2", + "pkg:npm/get-intrinsic@1.2.1", + "pkg:npm/object-inspect@1.12.3" + ] + }, + { + "ref": "pkg:npm/call-bind@1.0.2", + "dependsOn": [ + "pkg:npm/function-bind@1.1.1", + "pkg:npm/get-intrinsic@1.2.1" + ] + }, + { + "ref": "pkg:npm/function-bind@1.1.1", + "dependsOn": [] + }, + { + "ref": "pkg:npm/get-intrinsic@1.2.1", + "dependsOn": [ + "pkg:npm/function-bind@1.1.1", + "pkg:npm/has-proto@1.0.1", + "pkg:npm/has-symbols@1.0.3", + "pkg:npm/has@1.0.3" + ] + }, + { + "ref": "pkg:npm/has-proto@1.0.1", + "dependsOn": [] + }, + { + "ref": "pkg:npm/has-symbols@1.0.3", + "dependsOn": [] + }, + { + "ref": "pkg:npm/has@1.0.3", + "dependsOn": [ + "pkg:npm/function-bind@1.1.1" + ] + }, + { + "ref": "pkg:npm/object-inspect@1.12.3", + "dependsOn": [] + }, + { + "ref": "pkg:npm/range-parser@1.2.1", + "dependsOn": [] + }, + { + "ref": "pkg:npm/send@0.18.0", + "dependsOn": [ + "pkg:npm/debug@2.6.9", + "pkg:npm/depd@2.0.0", + "pkg:npm/destroy@1.2.0", + "pkg:npm/encodeurl@1.0.2", + "pkg:npm/escape-html@1.0.3", + "pkg:npm/etag@1.8.1", + "pkg:npm/fresh@0.5.2", + "pkg:npm/http-errors@2.0.0", + "pkg:npm/mime@1.6.0", + "pkg:npm/ms@2.1.3", + "pkg:npm/on-finished@2.4.1", + "pkg:npm/range-parser@1.2.1", + "pkg:npm/statuses@2.0.1" + ] + }, + { + "ref": "pkg:npm/mime@1.6.0", + "dependsOn": [] + }, + { + "ref": "pkg:npm/ms@2.1.3", + "dependsOn": [] + }, + { + "ref": "pkg:npm/serve-static@1.15.0", + "dependsOn": [ + "pkg:npm/encodeurl@1.0.2", + "pkg:npm/escape-html@1.0.3", + "pkg:npm/parseurl@1.3.3", + "pkg:npm/send@0.18.0" + ] + }, + { + "ref": "pkg:npm/media-typer@0.3.0", + "dependsOn": [] + }, + { + "ref": "pkg:npm/utils-merge@1.0.1", + "dependsOn": [] + }, + { + "ref": "pkg:npm/vary@1.1.2", + "dependsOn": [] + }, + { + "ref": "pkg:npm/jsdom@19.0.0", + "dependsOn": [ + "pkg:npm/abab@2.0.6", + "pkg:npm/acorn-globals@6.0.0", + "pkg:npm/acorn@8.10.0", + "pkg:npm/cssom@0.5.0", + "pkg:npm/cssstyle@2.3.0", + "pkg:npm/data-urls@3.0.2", + "pkg:npm/decimal.js@10.4.3", + "pkg:npm/domexception@4.0.0", + "pkg:npm/escodegen@2.1.0", + "pkg:npm/form-data@4.0.0", + "pkg:npm/html-encoding-sniffer@3.0.0", + "pkg:npm/http-proxy-agent@5.0.0", + "pkg:npm/https-proxy-agent@5.0.1", + "pkg:npm/is-potential-custom-element-name@1.0.1", + "pkg:npm/nwsapi@2.2.7", + "pkg:npm/parse5@6.0.1", + "pkg:npm/saxes@5.0.1", + "pkg:npm/symbol-tree@3.2.4", + "pkg:npm/tough-cookie@4.1.3", + "pkg:npm/w3c-hr-time@1.0.2", + "pkg:npm/w3c-xmlserializer@3.0.0", + "pkg:npm/webidl-conversions@7.0.0", + "pkg:npm/whatwg-encoding@2.0.0", + "pkg:npm/whatwg-mimetype@3.0.0", + "pkg:npm/whatwg-url@10.0.0", + "pkg:npm/ws@8.14.2", + "pkg:npm/xml-name-validator@4.0.0" + ] + }, + { + "ref": "pkg:npm/abab@2.0.6", + "dependsOn": [] + }, + { + "ref": "pkg:npm/acorn-globals@6.0.0", + "dependsOn": [ + "pkg:npm/acorn-walk@7.2.0", + "pkg:npm/acorn@7.4.1" + ] + }, + { + "ref": "pkg:npm/acorn-walk@7.2.0", + "dependsOn": [] + }, + { + "ref": "pkg:npm/acorn@7.4.1", + "dependsOn": [] + }, + { + "ref": "pkg:npm/acorn@8.10.0", + "dependsOn": [] + }, + { + "ref": "pkg:npm/cssom@0.5.0", + "dependsOn": [] + }, + { + "ref": "pkg:npm/cssstyle@2.3.0", + "dependsOn": [ + "pkg:npm/cssom@0.3.8" + ] + }, + { + "ref": "pkg:npm/cssom@0.3.8", + "dependsOn": [] + }, + { + "ref": "pkg:npm/data-urls@3.0.2", + "dependsOn": [ + "pkg:npm/abab@2.0.6", + "pkg:npm/whatwg-mimetype@3.0.0", + "pkg:npm/whatwg-url@11.0.0" + ] + }, + { + "ref": "pkg:npm/whatwg-mimetype@3.0.0", + "dependsOn": [] + }, + { + "ref": "pkg:npm/whatwg-url@11.0.0", + "dependsOn": [ + "pkg:npm/tr46@3.0.0", + "pkg:npm/webidl-conversions@7.0.0" + ] + }, + { + "ref": "pkg:npm/tr46@3.0.0", + "dependsOn": [ + "pkg:npm/punycode@2.3.0" + ] + }, + { + "ref": "pkg:npm/webidl-conversions@7.0.0", + "dependsOn": [] + }, + { + "ref": "pkg:npm/decimal.js@10.4.3", + "dependsOn": [] + }, + { + "ref": "pkg:npm/domexception@4.0.0", + "dependsOn": [ + "pkg:npm/webidl-conversions@7.0.0" + ] + }, + { + "ref": "pkg:npm/escodegen@2.1.0", + "dependsOn": [ + "pkg:npm/esprima@4.0.1", + "pkg:npm/estraverse@5.3.0", + "pkg:npm/esutils@2.0.3", + "pkg:npm/source-map@0.6.1" + ] + }, + { + "ref": "pkg:npm/esprima@4.0.1", + "dependsOn": [] + }, + { + "ref": "pkg:npm/estraverse@5.3.0", + "dependsOn": [] + }, + { + "ref": "pkg:npm/esutils@2.0.3", + "dependsOn": [] + }, + { + "ref": "pkg:npm/source-map@0.6.1", + "dependsOn": [] + }, + { + "ref": "pkg:npm/form-data@4.0.0", + "dependsOn": [ + "pkg:npm/asynckit@0.4.0", + "pkg:npm/combined-stream@1.0.8", + "pkg:npm/mime-types@2.1.35" + ] + }, + { + "ref": "pkg:npm/asynckit@0.4.0", + "dependsOn": [] + }, + { + "ref": "pkg:npm/combined-stream@1.0.8", + "dependsOn": [ + "pkg:npm/delayed-stream@1.0.0" + ] + }, + { + "ref": "pkg:npm/delayed-stream@1.0.0", + "dependsOn": [] + }, + { + "ref": "pkg:npm/html-encoding-sniffer@3.0.0", + "dependsOn": [ + "pkg:npm/whatwg-encoding@2.0.0" + ] + }, + { + "ref": "pkg:npm/whatwg-encoding@2.0.0", + "dependsOn": [ + "pkg:npm/iconv-lite@0.6.3" + ] + }, + { + "ref": "pkg:npm/http-proxy-agent@5.0.0", + "dependsOn": [ + "pkg:npm/%40tootallnate/once@2.0.0", + "pkg:npm/agent-base@6.0.2", + "pkg:npm/debug@4.3.4" + ] + }, + { + "ref": "pkg:npm/%40tootallnate/once@2.0.0", + "dependsOn": [] + }, + { + "ref": "pkg:npm/agent-base@6.0.2", + "dependsOn": [ + "pkg:npm/debug@4.3.4" + ] + }, + { + "ref": "pkg:npm/debug@4.3.4", + "dependsOn": [ + "pkg:npm/ms@2.1.2" + ] + }, + { + "ref": "pkg:npm/ms@2.1.2", + "dependsOn": [] + }, + { + "ref": "pkg:npm/https-proxy-agent@5.0.1", + "dependsOn": [ + "pkg:npm/agent-base@6.0.2", + "pkg:npm/debug@4.3.4" + ] + }, + { + "ref": "pkg:npm/is-potential-custom-element-name@1.0.1", + "dependsOn": [] + }, + { + "ref": "pkg:npm/nwsapi@2.2.7", + "dependsOn": [] + }, + { + "ref": "pkg:npm/parse5@6.0.1", + "dependsOn": [] + }, + { + "ref": "pkg:npm/saxes@5.0.1", + "dependsOn": [ + "pkg:npm/xmlchars@2.2.0" + ] + }, + { + "ref": "pkg:npm/xmlchars@2.2.0", + "dependsOn": [] + }, + { + "ref": "pkg:npm/symbol-tree@3.2.4", + "dependsOn": [] + }, + { + "ref": "pkg:npm/tough-cookie@4.1.3", + "dependsOn": [ + "pkg:npm/psl@1.9.0", + "pkg:npm/punycode@2.3.0", + "pkg:npm/universalify@0.2.0", + "pkg:npm/url-parse@1.5.10" + ] + }, + { + "ref": "pkg:npm/psl@1.9.0", + "dependsOn": [] + }, + { + "ref": "pkg:npm/punycode@2.3.0", + "dependsOn": [] + }, + { + "ref": "pkg:npm/universalify@0.2.0", + "dependsOn": [] + }, + { + "ref": "pkg:npm/url-parse@1.5.10", + "dependsOn": [ + "pkg:npm/querystringify@2.2.0", + "pkg:npm/requires-port@1.0.0" + ] + }, + { + "ref": "pkg:npm/querystringify@2.2.0", + "dependsOn": [] + }, + { + "ref": "pkg:npm/requires-port@1.0.0", + "dependsOn": [] + }, + { + "ref": "pkg:npm/w3c-hr-time@1.0.2", + "dependsOn": [ + "pkg:npm/browser-process-hrtime@1.0.0" + ] + }, + { + "ref": "pkg:npm/browser-process-hrtime@1.0.0", + "dependsOn": [] + }, + { + "ref": "pkg:npm/w3c-xmlserializer@3.0.0", + "dependsOn": [ + "pkg:npm/xml-name-validator@4.0.0" + ] + }, + { + "ref": "pkg:npm/xml-name-validator@4.0.0", + "dependsOn": [] + }, + { + "ref": "pkg:npm/iconv-lite@0.6.3", + "dependsOn": [ + "pkg:npm/safer-buffer@2.1.2" + ] + }, + { + "ref": "pkg:npm/whatwg-url@10.0.0", + "dependsOn": [ + "pkg:npm/tr46@3.0.0", + "pkg:npm/webidl-conversions@7.0.0" + ] + }, + { + "ref": "pkg:npm/ws@8.14.2", + "dependsOn": [] + }, + { + "ref": "pkg:npm/jws@3.2.2", + "dependsOn": [ + "pkg:npm/jwa@1.4.1", + "pkg:npm/safe-buffer@5.2.1" + ] + }, + { + "ref": "pkg:npm/jwa@1.4.1", + "dependsOn": [ + "pkg:npm/buffer-equal-constant-time@1.0.1", + "pkg:npm/ecdsa-sig-formatter@1.0.11", + "pkg:npm/safe-buffer@5.2.1" + ] + }, + { + "ref": "pkg:npm/buffer-equal-constant-time@1.0.1", + "dependsOn": [] + }, + { + "ref": "pkg:npm/ecdsa-sig-formatter@1.0.11", + "dependsOn": [ + "pkg:npm/safe-buffer@5.2.1" + ] + }, + { + "ref": "pkg:npm/lodash.includes@4.3.0", + "dependsOn": [] + }, + { + "ref": "pkg:npm/lodash.isboolean@3.0.3", + "dependsOn": [] + }, + { + "ref": "pkg:npm/lodash.isinteger@4.0.4", + "dependsOn": [] + }, + { + "ref": "pkg:npm/lodash.isnumber@3.0.3", + "dependsOn": [] + }, + { + "ref": "pkg:npm/lodash.isplainobject@4.0.6", + "dependsOn": [] + }, + { + "ref": "pkg:npm/lodash.isstring@4.0.1", + "dependsOn": [] + }, + { + "ref": "pkg:npm/lodash.once@4.1.1", + "dependsOn": [] + }, + { + "ref": "pkg:npm/semver@5.7.2", + "dependsOn": [] + }, + { + "ref": "pkg:npm/mongoose@5.13.20", + "dependsOn": [ + "pkg:npm/%40types/bson@4.0.5", + "pkg:npm/%40types/mongodb@3.6.20", + "pkg:npm/bson@1.1.6", + "pkg:npm/kareem@2.3.2", + "pkg:npm/mongodb@3.7.4", + "pkg:npm/mongoose-legacy-pluralize@1.0.2", + "pkg:npm/mpath@0.8.4", + "pkg:npm/mquery@3.2.5", + "pkg:npm/ms@2.1.2", + "pkg:npm/optional-require@1.0.3", + "pkg:npm/regexp-clone@1.0.0", + "pkg:npm/safe-buffer@5.2.1", + "pkg:npm/sift@13.5.2", + "pkg:npm/sliced@1.0.1" + ] + }, + { + "ref": "pkg:npm/%40types/bson@4.0.5", + "dependsOn": [ + "pkg:npm/%40types/node@20.4.8" + ] + }, + { + "ref": "pkg:npm/%40types/node@20.4.8", + "dependsOn": [] + }, + { + "ref": "pkg:npm/%40types/mongodb@3.6.20", + "dependsOn": [ + "pkg:npm/%40types/bson@4.0.5", + "pkg:npm/%40types/node@20.4.8" + ] + }, + { + "ref": "pkg:npm/bson@1.1.6", + "dependsOn": [] + }, + { + "ref": "pkg:npm/kareem@2.3.2", + "dependsOn": [] + }, + { + "ref": "pkg:npm/mongodb@3.7.4", + "dependsOn": [ + "pkg:npm/bl@2.2.1", + "pkg:npm/bson@1.1.6", + "pkg:npm/denque@1.5.1", + "pkg:npm/optional-require@1.1.8", + "pkg:npm/safe-buffer@5.2.1", + "pkg:npm/saslprep@1.0.3" + ] + }, + { + "ref": "pkg:npm/bl@2.2.1", + "dependsOn": [ + "pkg:npm/readable-stream@2.3.8", + "pkg:npm/safe-buffer@5.2.1" + ] + }, + { + "ref": "pkg:npm/readable-stream@2.3.8", + "dependsOn": [ + "pkg:npm/core-util-is@1.0.3", + "pkg:npm/inherits@2.0.4", + "pkg:npm/isarray@1.0.0", + "pkg:npm/process-nextick-args@2.0.1", + "pkg:npm/safe-buffer@5.1.2", + "pkg:npm/string_decoder@1.1.1", + "pkg:npm/util-deprecate@1.0.2" + ] + }, + { + "ref": "pkg:npm/core-util-is@1.0.3", + "dependsOn": [] + }, + { + "ref": "pkg:npm/isarray@1.0.0", + "dependsOn": [] + }, + { + "ref": "pkg:npm/process-nextick-args@2.0.1", + "dependsOn": [] + }, + { + "ref": "pkg:npm/safe-buffer@5.1.2", + "dependsOn": [] + }, + { + "ref": "pkg:npm/string_decoder@1.1.1", + "dependsOn": [ + "pkg:npm/safe-buffer@5.1.2" + ] + }, + { + "ref": "pkg:npm/util-deprecate@1.0.2", + "dependsOn": [] + }, + { + "ref": "pkg:npm/denque@1.5.1", + "dependsOn": [] + }, + { + "ref": "pkg:npm/optional-require@1.1.8", + "dependsOn": [ + "pkg:npm/require-at@1.0.6" + ] + }, + { + "ref": "pkg:npm/require-at@1.0.6", + "dependsOn": [] + }, + { + "ref": "pkg:npm/saslprep@1.0.3", + "dependsOn": [ + "pkg:npm/sparse-bitfield@3.0.3" + ] + }, + { + "ref": "pkg:npm/sparse-bitfield@3.0.3", + "dependsOn": [ + "pkg:npm/memory-pager@1.5.0" + ] + }, + { + "ref": "pkg:npm/memory-pager@1.5.0", + "dependsOn": [] + }, + { + "ref": "pkg:npm/mongoose-legacy-pluralize@1.0.2", + "dependsOn": [ + "pkg:npm/mongoose@5.13.20" + ] + }, + { + "ref": "pkg:npm/mpath@0.8.4", + "dependsOn": [] + }, + { + "ref": "pkg:npm/mquery@3.2.5", + "dependsOn": [ + "pkg:npm/bluebird@3.5.1", + "pkg:npm/debug@3.1.0", + "pkg:npm/regexp-clone@1.0.0", + "pkg:npm/safe-buffer@5.1.2", + "pkg:npm/sliced@1.0.1" + ] + }, + { + "ref": "pkg:npm/bluebird@3.5.1", + "dependsOn": [] + }, + { + "ref": "pkg:npm/regexp-clone@1.0.0", + "dependsOn": [] + }, + { + "ref": "pkg:npm/sliced@1.0.1", + "dependsOn": [] + }, + { + "ref": "pkg:npm/optional-require@1.0.3", + "dependsOn": [] + }, + { + "ref": "pkg:npm/sift@13.5.2", + "dependsOn": [] + }, + { + "ref": "pkg:npm/nodemon@2.0.22", + "dependsOn": [ + "pkg:npm/chokidar@3.5.3", + "pkg:npm/debug@3.2.7", + "pkg:npm/ignore-by-default@1.0.1", + "pkg:npm/minimatch@3.1.2", + "pkg:npm/pstree.remy@1.1.8", + "pkg:npm/semver@5.7.2", + "pkg:npm/simple-update-notifier@1.1.0", + "pkg:npm/supports-color@5.5.0", + "pkg:npm/touch@3.1.0", + "pkg:npm/undefsafe@2.0.5" + ] + }, + { + "ref": "pkg:npm/chokidar@3.5.3", + "dependsOn": [ + "pkg:npm/anymatch@3.1.3", + "pkg:npm/braces@3.0.2", + "pkg:npm/fsevents@2.3.2", + "pkg:npm/glob-parent@5.1.2", + "pkg:npm/is-binary-path@2.1.0", + "pkg:npm/is-glob@4.0.3", + "pkg:npm/normalize-path@3.0.0", + "pkg:npm/readdirp@3.6.0" + ] + }, + { + "ref": "pkg:npm/anymatch@3.1.3", + "dependsOn": [ + "pkg:npm/normalize-path@3.0.0", + "pkg:npm/picomatch@2.3.1" + ] + }, + { + "ref": "pkg:npm/normalize-path@3.0.0", + "dependsOn": [] + }, + { + "ref": "pkg:npm/picomatch@2.3.1", + "dependsOn": [] + }, + { + "ref": "pkg:npm/braces@3.0.2", + "dependsOn": [ + "pkg:npm/fill-range@7.0.1" + ] + }, + { + "ref": "pkg:npm/fill-range@7.0.1", + "dependsOn": [ + "pkg:npm/to-regex-range@5.0.1" + ] + }, + { + "ref": "pkg:npm/to-regex-range@5.0.1", + "dependsOn": [ + "pkg:npm/is-number@7.0.0" + ] + }, + { + "ref": "pkg:npm/is-number@7.0.0", + "dependsOn": [] + }, + { + "ref": "pkg:npm/fsevents@2.3.2", + "dependsOn": [] + }, + { + "ref": "pkg:npm/glob-parent@5.1.2", + "dependsOn": [ + "pkg:npm/is-glob@4.0.3" + ] + }, + { + "ref": "pkg:npm/is-glob@4.0.3", + "dependsOn": [ + "pkg:npm/is-extglob@2.1.1" + ] + }, + { + "ref": "pkg:npm/is-binary-path@2.1.0", + "dependsOn": [ + "pkg:npm/binary-extensions@2.2.0" + ] + }, + { + "ref": "pkg:npm/binary-extensions@2.2.0", + "dependsOn": [] + }, + { + "ref": "pkg:npm/is-extglob@2.1.1", + "dependsOn": [] + }, + { + "ref": "pkg:npm/readdirp@3.6.0", + "dependsOn": [ + "pkg:npm/picomatch@2.3.1" + ] + }, + { + "ref": "pkg:npm/debug@3.2.7", + "dependsOn": [ + "pkg:npm/ms@2.1.3" + ] + }, + { + "ref": "pkg:npm/ignore-by-default@1.0.1", + "dependsOn": [] + }, + { + "ref": "pkg:npm/minimatch@3.1.2", + "dependsOn": [ + "pkg:npm/brace-expansion@1.1.11" + ] + }, + { + "ref": "pkg:npm/brace-expansion@1.1.11", + "dependsOn": [ + "pkg:npm/balanced-match@1.0.2", + "pkg:npm/concat-map@0.0.1" + ] + }, + { + "ref": "pkg:npm/balanced-match@1.0.2", + "dependsOn": [] + }, + { + "ref": "pkg:npm/concat-map@0.0.1", + "dependsOn": [] + }, + { + "ref": "pkg:npm/pstree.remy@1.1.8", + "dependsOn": [] + }, + { + "ref": "pkg:npm/simple-update-notifier@1.1.0", + "dependsOn": [ + "pkg:npm/semver@7.0.0" + ] + }, + { + "ref": "pkg:npm/semver@7.0.0", + "dependsOn": [] + }, + { + "ref": "pkg:npm/supports-color@5.5.0", + "dependsOn": [ + "pkg:npm/has-flag@3.0.0" + ] + }, + { + "ref": "pkg:npm/has-flag@3.0.0", + "dependsOn": [] + }, + { + "ref": "pkg:npm/touch@3.1.0", + "dependsOn": [ + "pkg:npm/nopt@1.0.10" + ] + }, + { + "ref": "pkg:npm/nopt@1.0.10", + "dependsOn": [ + "pkg:npm/abbrev@1.1.1" + ] + }, + { + "ref": "pkg:npm/abbrev@1.1.1", + "dependsOn": [] + }, + { + "ref": "pkg:npm/undefsafe@2.0.5", + "dependsOn": [] + } ] -} \ No newline at end of file +} diff --git a/test/providers/tst_manifests/pnpm/package_json_deps_with_mixed_dep_types/listing_component.json b/test/providers/tst_manifests/pnpm/package_json_deps_with_mixed_dep_types/listing_component.json new file mode 100644 index 00000000..83ca6388 --- /dev/null +++ b/test/providers/tst_manifests/pnpm/package_json_deps_with_mixed_dep_types/listing_component.json @@ -0,0 +1,30 @@ +[ + { + "name": "mixed-deps-test", + "version": "1.0.0", + "dependencies": { + "express": { + "from": "express", + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz" + }, + "axios": { + "from": "axios", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.0.tgz" + }, + "minimist": { + "from": "minimist", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz" + } + }, + "optionalDependencies": { + "lodash": { + "from": "lodash", + "version": "4.17.19", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz" + } + } + } +] diff --git a/test/providers/tst_manifests/pnpm/package_json_deps_with_mixed_dep_types/listing_stack.json b/test/providers/tst_manifests/pnpm/package_json_deps_with_mixed_dep_types/listing_stack.json new file mode 100644 index 00000000..c4b2ef41 --- /dev/null +++ b/test/providers/tst_manifests/pnpm/package_json_deps_with_mixed_dep_types/listing_stack.json @@ -0,0 +1,44 @@ +[ + { + "name": "mixed-deps-test", + "version": "1.0.0", + "dependencies": { + "express": { + "from": "express", + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "dependencies": { + "body-parser": { + "from": "body-parser", + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz" + } + } + }, + "axios": { + "from": "axios", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.0.tgz", + "dependencies": { + "follow-redirects": { + "from": "follow-redirects", + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz" + } + } + }, + "minimist": { + "from": "minimist", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz" + } + }, + "optionalDependencies": { + "lodash": { + "from": "lodash", + "version": "4.17.19", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz" + } + } + } +] diff --git a/test/providers/tst_manifests/pnpm/package_json_deps_with_mixed_dep_types/package.json b/test/providers/tst_manifests/pnpm/package_json_deps_with_mixed_dep_types/package.json new file mode 100644 index 00000000..eb16da72 --- /dev/null +++ b/test/providers/tst_manifests/pnpm/package_json_deps_with_mixed_dep_types/package.json @@ -0,0 +1,21 @@ +{ + "name": "mixed-deps-test", + "version": "1.0.0", + "dependencies": { + "express": "4.17.1", + "axios": "0.19.0" + }, + "peerDependencies": { + "minimist": "1.2.0" + }, + "optionalDependencies": { + "lodash": "4.17.19" + }, + "bundledDependencies": [ + "express" + ], + "devDependencies": { + "jest": "26.0.0", + "eslint": "7.0.0" + } +} diff --git a/test/providers/tst_manifests/pnpm/package_json_deps_with_mixed_dep_types/pnpm-lock.yaml b/test/providers/tst_manifests/pnpm/package_json_deps_with_mixed_dep_types/pnpm-lock.yaml new file mode 100644 index 00000000..b0a073a9 --- /dev/null +++ b/test/providers/tst_manifests/pnpm/package_json_deps_with_mixed_dep_types/pnpm-lock.yaml @@ -0,0 +1 @@ +lockfileVersion: '9.0' diff --git a/test/providers/tst_manifests/pnpm/package_json_deps_with_mixed_dep_types/stack_expected_sbom.json b/test/providers/tst_manifests/pnpm/package_json_deps_with_mixed_dep_types/stack_expected_sbom.json new file mode 100644 index 00000000..a3c9274a --- /dev/null +++ b/test/providers/tst_manifests/pnpm/package_json_deps_with_mixed_dep_types/stack_expected_sbom.json @@ -0,0 +1,98 @@ +{ + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-08-07T00:00:00.000Z", + "component": { + "name": "mixed-deps-test", + "version": "1.0.0", + "purl": "pkg:npm/mixed-deps-test@1.0.0", + "type": "application", + "bom-ref": "pkg:npm/mixed-deps-test@1.0.0" + } + }, + "components": [ + { + "name": "express", + "version": "4.17.1", + "purl": "pkg:npm/express@4.17.1", + "type": "library", + "bom-ref": "pkg:npm/express@4.17.1" + }, + { + "name": "body-parser", + "version": "1.19.0", + "purl": "pkg:npm/body-parser@1.19.0", + "type": "library", + "bom-ref": "pkg:npm/body-parser@1.19.0" + }, + { + "name": "axios", + "version": "0.19.0", + "purl": "pkg:npm/axios@0.19.0", + "type": "library", + "bom-ref": "pkg:npm/axios@0.19.0" + }, + { + "name": "follow-redirects", + "version": "1.5.10", + "purl": "pkg:npm/follow-redirects@1.5.10", + "type": "library", + "bom-ref": "pkg:npm/follow-redirects@1.5.10" + }, + { + "name": "minimist", + "version": "1.2.0", + "purl": "pkg:npm/minimist@1.2.0", + "type": "library", + "bom-ref": "pkg:npm/minimist@1.2.0" + }, + { + "name": "lodash", + "version": "4.17.19", + "purl": "pkg:npm/lodash@4.17.19", + "type": "library", + "bom-ref": "pkg:npm/lodash@4.17.19" + } + ], + "dependencies": [ + { + "ref": "pkg:npm/mixed-deps-test@1.0.0", + "dependsOn": [ + "pkg:npm/express@4.17.1", + "pkg:npm/axios@0.19.0", + "pkg:npm/minimist@1.2.0", + "pkg:npm/lodash@4.17.19" + ] + }, + { + "ref": "pkg:npm/express@4.17.1", + "dependsOn": [ + "pkg:npm/body-parser@1.19.0" + ] + }, + { + "ref": "pkg:npm/body-parser@1.19.0", + "dependsOn": [] + }, + { + "ref": "pkg:npm/axios@0.19.0", + "dependsOn": [ + "pkg:npm/follow-redirects@1.5.10" + ] + }, + { + "ref": "pkg:npm/follow-redirects@1.5.10", + "dependsOn": [] + }, + { + "ref": "pkg:npm/minimist@1.2.0", + "dependsOn": [] + }, + { + "ref": "pkg:npm/lodash@4.17.19", + "dependsOn": [] + } + ] +} diff --git a/test/providers/tst_manifests/pnpm/package_json_deps_without_exhortignore_object/stack_expected_sbom.json b/test/providers/tst_manifests/pnpm/package_json_deps_without_exhortignore_object/stack_expected_sbom.json index ad479d00..f5d83d9e 100644 --- a/test/providers/tst_manifests/pnpm/package_json_deps_without_exhortignore_object/stack_expected_sbom.json +++ b/test/providers/tst_manifests/pnpm/package_json_deps_without_exhortignore_object/stack_expected_sbom.json @@ -1,1047 +1,1040 @@ { - "bomFormat" : "CycloneDX", - "specVersion" : "1.4", - "version" : 1, - "metadata" : { - "timestamp" : "2023-08-07T00:00:00.000Z", - "component" : { - "name" : "backend", - "version" : "1.0.0", - "purl" : "pkg:npm/backend@1.0.0", - "type" : "application", - "bom-ref" : "pkg:npm/backend@1.0.0" + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-08-07T00:00:00.000Z", + "component": { + "name": "backend", + "version": "1.0.0", + "purl": "pkg:npm/backend@1.0.0", + "type": "application", + "bom-ref": "pkg:npm/backend@1.0.0" } }, - "components" : [ + "components": [ { - "name" : "backend", - "version" : "1.0.0", - "purl" : "pkg:npm/backend@1.0.0", - "type" : "application", - "bom-ref" : "pkg:npm/backend@1.0.0" + "group": "@hapi", + "name": "joi", + "version": "17.1.1", + "purl": "pkg:npm/%40hapi/joi@17.1.1", + "type": "library", + "bom-ref": "pkg:npm/%40hapi/joi@17.1.1" }, { - "group" : "@hapi", - "name" : "joi", - "version" : "17.1.1", - "purl" : "pkg:npm/%40hapi/joi@17.1.1", - "type" : "library", - "bom-ref" : "pkg:npm/%40hapi/joi@17.1.1" + "group": "@hapi", + "name": "address", + "version": "4.1.0", + "purl": "pkg:npm/%40hapi/address@4.1.0", + "type": "library", + "bom-ref": "pkg:npm/%40hapi/address@4.1.0" }, { - "group" : "@hapi", - "name" : "address", - "version" : "4.1.0", - "purl" : "pkg:npm/%40hapi/address@4.1.0", - "type" : "library", - "bom-ref" : "pkg:npm/%40hapi/address@4.1.0" + "group": "@hapi", + "name": "hoek", + "version": "9.3.0", + "purl": "pkg:npm/%40hapi/hoek@9.3.0", + "type": "library", + "bom-ref": "pkg:npm/%40hapi/hoek@9.3.0" }, { - "group" : "@hapi", - "name" : "hoek", - "version" : "9.3.0", - "purl" : "pkg:npm/%40hapi/hoek@9.3.0", - "type" : "library", - "bom-ref" : "pkg:npm/%40hapi/hoek@9.3.0" + "group": "@hapi", + "name": "formula", + "version": "2.0.0", + "purl": "pkg:npm/%40hapi/formula@2.0.0", + "type": "library", + "bom-ref": "pkg:npm/%40hapi/formula@2.0.0" }, { - "group" : "@hapi", - "name" : "formula", - "version" : "2.0.0", - "purl" : "pkg:npm/%40hapi/formula@2.0.0", - "type" : "library", - "bom-ref" : "pkg:npm/%40hapi/formula@2.0.0" + "group": "@hapi", + "name": "pinpoint", + "version": "2.0.1", + "purl": "pkg:npm/%40hapi/pinpoint@2.0.1", + "type": "library", + "bom-ref": "pkg:npm/%40hapi/pinpoint@2.0.1" }, { - "group" : "@hapi", - "name" : "pinpoint", - "version" : "2.0.1", - "purl" : "pkg:npm/%40hapi/pinpoint@2.0.1", - "type" : "library", - "bom-ref" : "pkg:npm/%40hapi/pinpoint@2.0.1" + "group": "@hapi", + "name": "topo", + "version": "5.1.0", + "purl": "pkg:npm/%40hapi/topo@5.1.0", + "type": "library", + "bom-ref": "pkg:npm/%40hapi/topo@5.1.0" }, { - "group" : "@hapi", - "name" : "topo", - "version" : "5.1.0", - "purl" : "pkg:npm/%40hapi/topo@5.1.0", - "type" : "library", - "bom-ref" : "pkg:npm/%40hapi/topo@5.1.0" + "name": "axios", + "version": "0.19.2", + "purl": "pkg:npm/axios@0.19.2", + "type": "library", + "bom-ref": "pkg:npm/axios@0.19.2" }, { - "name" : "axios", - "version" : "0.19.2", - "purl" : "pkg:npm/axios@0.19.2", - "type" : "library", - "bom-ref" : "pkg:npm/axios@0.19.2" + "name": "follow-redirects", + "version": "1.5.10", + "purl": "pkg:npm/follow-redirects@1.5.10", + "type": "library", + "bom-ref": "pkg:npm/follow-redirects@1.5.10" }, { - "name" : "follow-redirects", - "version" : "1.5.10", - "purl" : "pkg:npm/follow-redirects@1.5.10", - "type" : "library", - "bom-ref" : "pkg:npm/follow-redirects@1.5.10" + "name": "debug", + "version": "3.1.0", + "purl": "pkg:npm/debug@3.1.0", + "type": "library", + "bom-ref": "pkg:npm/debug@3.1.0" }, { - "name" : "debug", - "version" : "3.1.0", - "purl" : "pkg:npm/debug@3.1.0", - "type" : "library", - "bom-ref" : "pkg:npm/debug@3.1.0" + "name": "ms", + "version": "2.0.0", + "purl": "pkg:npm/ms@2.0.0", + "type": "library", + "bom-ref": "pkg:npm/ms@2.0.0" }, { - "name" : "ms", - "version" : "2.0.0", - "purl" : "pkg:npm/ms@2.0.0", - "type" : "library", - "bom-ref" : "pkg:npm/ms@2.0.0" + "name": "backend", + "version": "0.0.0", + "purl": "pkg:npm/backend@0.0.0", + "type": "library", + "bom-ref": "pkg:npm/backend@0.0.0" }, { - "name" : "backend", - "version" : "0.0.0", - "purl" : "pkg:npm/backend@0.0.0", - "type" : "library", - "bom-ref" : "pkg:npm/backend@0.0.0" + "name": "bcryptjs", + "version": "2.4.3", + "purl": "pkg:npm/bcryptjs@2.4.3", + "type": "library", + "bom-ref": "pkg:npm/bcryptjs@2.4.3" }, { - "name" : "bcryptjs", - "version" : "2.4.3", - "purl" : "pkg:npm/bcryptjs@2.4.3", - "type" : "library", - "bom-ref" : "pkg:npm/bcryptjs@2.4.3" + "name": "dotenv", + "version": "8.6.0", + "purl": "pkg:npm/dotenv@8.6.0", + "type": "library", + "bom-ref": "pkg:npm/dotenv@8.6.0" }, { - "name" : "dotenv", - "version" : "8.6.0", - "purl" : "pkg:npm/dotenv@8.6.0", - "type" : "library", - "bom-ref" : "pkg:npm/dotenv@8.6.0" + "name": "express", + "version": "4.18.2", + "purl": "pkg:npm/express@4.18.2", + "type": "library", + "bom-ref": "pkg:npm/express@4.18.2" }, { - "name" : "express", - "version" : "4.18.2", - "purl" : "pkg:npm/express@4.18.2", - "type" : "library", - "bom-ref" : "pkg:npm/express@4.18.2" + "name": "accepts", + "version": "1.3.8", + "purl": "pkg:npm/accepts@1.3.8", + "type": "library", + "bom-ref": "pkg:npm/accepts@1.3.8" }, { - "name" : "accepts", - "version" : "1.3.8", - "purl" : "pkg:npm/accepts@1.3.8", - "type" : "library", - "bom-ref" : "pkg:npm/accepts@1.3.8" + "name": "mime-types", + "version": "2.1.35", + "purl": "pkg:npm/mime-types@2.1.35", + "type": "library", + "bom-ref": "pkg:npm/mime-types@2.1.35" }, { - "name" : "mime-types", - "version" : "2.1.35", - "purl" : "pkg:npm/mime-types@2.1.35", - "type" : "library", - "bom-ref" : "pkg:npm/mime-types@2.1.35" + "name": "mime-db", + "version": "1.52.0", + "purl": "pkg:npm/mime-db@1.52.0", + "type": "library", + "bom-ref": "pkg:npm/mime-db@1.52.0" }, { - "name" : "mime-db", - "version" : "1.52.0", - "purl" : "pkg:npm/mime-db@1.52.0", - "type" : "library", - "bom-ref" : "pkg:npm/mime-db@1.52.0" + "name": "negotiator", + "version": "0.6.3", + "purl": "pkg:npm/negotiator@0.6.3", + "type": "library", + "bom-ref": "pkg:npm/negotiator@0.6.3" }, { - "name" : "negotiator", - "version" : "0.6.3", - "purl" : "pkg:npm/negotiator@0.6.3", - "type" : "library", - "bom-ref" : "pkg:npm/negotiator@0.6.3" + "name": "array-flatten", + "version": "1.1.1", + "purl": "pkg:npm/array-flatten@1.1.1", + "type": "library", + "bom-ref": "pkg:npm/array-flatten@1.1.1" }, { - "name" : "array-flatten", - "version" : "1.1.1", - "purl" : "pkg:npm/array-flatten@1.1.1", - "type" : "library", - "bom-ref" : "pkg:npm/array-flatten@1.1.1" + "name": "body-parser", + "version": "1.20.1", + "purl": "pkg:npm/body-parser@1.20.1", + "type": "library", + "bom-ref": "pkg:npm/body-parser@1.20.1" }, { - "name" : "body-parser", - "version" : "1.20.1", - "purl" : "pkg:npm/body-parser@1.20.1", - "type" : "library", - "bom-ref" : "pkg:npm/body-parser@1.20.1" + "name": "bytes", + "version": "3.1.2", + "purl": "pkg:npm/bytes@3.1.2", + "type": "library", + "bom-ref": "pkg:npm/bytes@3.1.2" }, { - "name" : "bytes", - "version" : "3.1.2", - "purl" : "pkg:npm/bytes@3.1.2", - "type" : "library", - "bom-ref" : "pkg:npm/bytes@3.1.2" + "name": "content-type", + "version": "1.0.5", + "purl": "pkg:npm/content-type@1.0.5", + "type": "library", + "bom-ref": "pkg:npm/content-type@1.0.5" }, { - "name" : "content-type", - "version" : "1.0.5", - "purl" : "pkg:npm/content-type@1.0.5", - "type" : "library", - "bom-ref" : "pkg:npm/content-type@1.0.5" + "name": "debug", + "version": "2.6.9", + "purl": "pkg:npm/debug@2.6.9", + "type": "library", + "bom-ref": "pkg:npm/debug@2.6.9" }, { - "name" : "debug", - "version" : "2.6.9", - "purl" : "pkg:npm/debug@2.6.9", - "type" : "library", - "bom-ref" : "pkg:npm/debug@2.6.9" + "name": "depd", + "version": "2.0.0", + "purl": "pkg:npm/depd@2.0.0", + "type": "library", + "bom-ref": "pkg:npm/depd@2.0.0" }, { - "name" : "depd", - "version" : "2.0.0", - "purl" : "pkg:npm/depd@2.0.0", - "type" : "library", - "bom-ref" : "pkg:npm/depd@2.0.0" + "name": "destroy", + "version": "1.2.0", + "purl": "pkg:npm/destroy@1.2.0", + "type": "library", + "bom-ref": "pkg:npm/destroy@1.2.0" }, { - "name" : "destroy", - "version" : "1.2.0", - "purl" : "pkg:npm/destroy@1.2.0", - "type" : "library", - "bom-ref" : "pkg:npm/destroy@1.2.0" + "name": "http-errors", + "version": "2.0.0", + "purl": "pkg:npm/http-errors@2.0.0", + "type": "library", + "bom-ref": "pkg:npm/http-errors@2.0.0" }, { - "name" : "http-errors", - "version" : "2.0.0", - "purl" : "pkg:npm/http-errors@2.0.0", - "type" : "library", - "bom-ref" : "pkg:npm/http-errors@2.0.0" + "name": "iconv-lite", + "version": "0.4.24", + "purl": "pkg:npm/iconv-lite@0.4.24", + "type": "library", + "bom-ref": "pkg:npm/iconv-lite@0.4.24" }, { - "name" : "iconv-lite", - "version" : "0.4.24", - "purl" : "pkg:npm/iconv-lite@0.4.24", - "type" : "library", - "bom-ref" : "pkg:npm/iconv-lite@0.4.24" + "name": "safer-buffer", + "version": "2.1.2", + "purl": "pkg:npm/safer-buffer@2.1.2", + "type": "library", + "bom-ref": "pkg:npm/safer-buffer@2.1.2" }, { - "name" : "safer-buffer", - "version" : "2.1.2", - "purl" : "pkg:npm/safer-buffer@2.1.2", - "type" : "library", - "bom-ref" : "pkg:npm/safer-buffer@2.1.2" + "name": "on-finished", + "version": "2.4.1", + "purl": "pkg:npm/on-finished@2.4.1", + "type": "library", + "bom-ref": "pkg:npm/on-finished@2.4.1" }, { - "name" : "on-finished", - "version" : "2.4.1", - "purl" : "pkg:npm/on-finished@2.4.1", - "type" : "library", - "bom-ref" : "pkg:npm/on-finished@2.4.1" + "name": "qs", + "version": "6.11.0", + "purl": "pkg:npm/qs@6.11.0", + "type": "library", + "bom-ref": "pkg:npm/qs@6.11.0" }, { - "name" : "qs", - "version" : "6.11.0", - "purl" : "pkg:npm/qs@6.11.0", - "type" : "library", - "bom-ref" : "pkg:npm/qs@6.11.0" + "name": "raw-body", + "version": "2.5.1", + "purl": "pkg:npm/raw-body@2.5.1", + "type": "library", + "bom-ref": "pkg:npm/raw-body@2.5.1" }, { - "name" : "raw-body", - "version" : "2.5.1", - "purl" : "pkg:npm/raw-body@2.5.1", - "type" : "library", - "bom-ref" : "pkg:npm/raw-body@2.5.1" + "name": "unpipe", + "version": "1.0.0", + "purl": "pkg:npm/unpipe@1.0.0", + "type": "library", + "bom-ref": "pkg:npm/unpipe@1.0.0" }, { - "name" : "unpipe", - "version" : "1.0.0", - "purl" : "pkg:npm/unpipe@1.0.0", - "type" : "library", - "bom-ref" : "pkg:npm/unpipe@1.0.0" + "name": "type-is", + "version": "1.6.18", + "purl": "pkg:npm/type-is@1.6.18", + "type": "library", + "bom-ref": "pkg:npm/type-is@1.6.18" }, { - "name" : "type-is", - "version" : "1.6.18", - "purl" : "pkg:npm/type-is@1.6.18", - "type" : "library", - "bom-ref" : "pkg:npm/type-is@1.6.18" + "name": "content-disposition", + "version": "0.5.4", + "purl": "pkg:npm/content-disposition@0.5.4", + "type": "library", + "bom-ref": "pkg:npm/content-disposition@0.5.4" }, { - "name" : "content-disposition", - "version" : "0.5.4", - "purl" : "pkg:npm/content-disposition@0.5.4", - "type" : "library", - "bom-ref" : "pkg:npm/content-disposition@0.5.4" + "name": "safe-buffer", + "version": "5.2.1", + "purl": "pkg:npm/safe-buffer@5.2.1", + "type": "library", + "bom-ref": "pkg:npm/safe-buffer@5.2.1" }, { - "name" : "safe-buffer", - "version" : "5.2.1", - "purl" : "pkg:npm/safe-buffer@5.2.1", - "type" : "library", - "bom-ref" : "pkg:npm/safe-buffer@5.2.1" + "name": "cookie-signature", + "version": "1.0.6", + "purl": "pkg:npm/cookie-signature@1.0.6", + "type": "library", + "bom-ref": "pkg:npm/cookie-signature@1.0.6" }, { - "name" : "cookie-signature", - "version" : "1.0.6", - "purl" : "pkg:npm/cookie-signature@1.0.6", - "type" : "library", - "bom-ref" : "pkg:npm/cookie-signature@1.0.6" + "name": "cookie", + "version": "0.5.0", + "purl": "pkg:npm/cookie@0.5.0", + "type": "library", + "bom-ref": "pkg:npm/cookie@0.5.0" }, { - "name" : "cookie", - "version" : "0.5.0", - "purl" : "pkg:npm/cookie@0.5.0", - "type" : "library", - "bom-ref" : "pkg:npm/cookie@0.5.0" + "name": "encodeurl", + "version": "1.0.2", + "purl": "pkg:npm/encodeurl@1.0.2", + "type": "library", + "bom-ref": "pkg:npm/encodeurl@1.0.2" }, { - "name" : "encodeurl", - "version" : "1.0.2", - "purl" : "pkg:npm/encodeurl@1.0.2", - "type" : "library", - "bom-ref" : "pkg:npm/encodeurl@1.0.2" + "name": "escape-html", + "version": "1.0.3", + "purl": "pkg:npm/escape-html@1.0.3", + "type": "library", + "bom-ref": "pkg:npm/escape-html@1.0.3" }, { - "name" : "escape-html", - "version" : "1.0.3", - "purl" : "pkg:npm/escape-html@1.0.3", - "type" : "library", - "bom-ref" : "pkg:npm/escape-html@1.0.3" + "name": "etag", + "version": "1.8.1", + "purl": "pkg:npm/etag@1.8.1", + "type": "library", + "bom-ref": "pkg:npm/etag@1.8.1" }, { - "name" : "etag", - "version" : "1.8.1", - "purl" : "pkg:npm/etag@1.8.1", - "type" : "library", - "bom-ref" : "pkg:npm/etag@1.8.1" + "name": "finalhandler", + "version": "1.2.0", + "purl": "pkg:npm/finalhandler@1.2.0", + "type": "library", + "bom-ref": "pkg:npm/finalhandler@1.2.0" }, { - "name" : "finalhandler", - "version" : "1.2.0", - "purl" : "pkg:npm/finalhandler@1.2.0", - "type" : "library", - "bom-ref" : "pkg:npm/finalhandler@1.2.0" + "name": "parseurl", + "version": "1.3.3", + "purl": "pkg:npm/parseurl@1.3.3", + "type": "library", + "bom-ref": "pkg:npm/parseurl@1.3.3" }, { - "name" : "parseurl", - "version" : "1.3.3", - "purl" : "pkg:npm/parseurl@1.3.3", - "type" : "library", - "bom-ref" : "pkg:npm/parseurl@1.3.3" + "name": "statuses", + "version": "2.0.1", + "purl": "pkg:npm/statuses@2.0.1", + "type": "library", + "bom-ref": "pkg:npm/statuses@2.0.1" }, { - "name" : "statuses", - "version" : "2.0.1", - "purl" : "pkg:npm/statuses@2.0.1", - "type" : "library", - "bom-ref" : "pkg:npm/statuses@2.0.1" + "name": "fresh", + "version": "0.5.2", + "purl": "pkg:npm/fresh@0.5.2", + "type": "library", + "bom-ref": "pkg:npm/fresh@0.5.2" }, { - "name" : "fresh", - "version" : "0.5.2", - "purl" : "pkg:npm/fresh@0.5.2", - "type" : "library", - "bom-ref" : "pkg:npm/fresh@0.5.2" + "name": "inherits", + "version": "2.0.4", + "purl": "pkg:npm/inherits@2.0.4", + "type": "library", + "bom-ref": "pkg:npm/inherits@2.0.4" }, { - "name" : "inherits", - "version" : "2.0.4", - "purl" : "pkg:npm/inherits@2.0.4", - "type" : "library", - "bom-ref" : "pkg:npm/inherits@2.0.4" + "name": "setprototypeof", + "version": "1.2.0", + "purl": "pkg:npm/setprototypeof@1.2.0", + "type": "library", + "bom-ref": "pkg:npm/setprototypeof@1.2.0" }, { - "name" : "setprototypeof", - "version" : "1.2.0", - "purl" : "pkg:npm/setprototypeof@1.2.0", - "type" : "library", - "bom-ref" : "pkg:npm/setprototypeof@1.2.0" + "name": "toidentifier", + "version": "1.0.1", + "purl": "pkg:npm/toidentifier@1.0.1", + "type": "library", + "bom-ref": "pkg:npm/toidentifier@1.0.1" }, { - "name" : "toidentifier", - "version" : "1.0.1", - "purl" : "pkg:npm/toidentifier@1.0.1", - "type" : "library", - "bom-ref" : "pkg:npm/toidentifier@1.0.1" + "name": "merge-descriptors", + "version": "1.0.1", + "purl": "pkg:npm/merge-descriptors@1.0.1", + "type": "library", + "bom-ref": "pkg:npm/merge-descriptors@1.0.1" }, { - "name" : "merge-descriptors", - "version" : "1.0.1", - "purl" : "pkg:npm/merge-descriptors@1.0.1", - "type" : "library", - "bom-ref" : "pkg:npm/merge-descriptors@1.0.1" + "name": "methods", + "version": "1.1.2", + "purl": "pkg:npm/methods@1.1.2", + "type": "library", + "bom-ref": "pkg:npm/methods@1.1.2" }, { - "name" : "methods", - "version" : "1.1.2", - "purl" : "pkg:npm/methods@1.1.2", - "type" : "library", - "bom-ref" : "pkg:npm/methods@1.1.2" + "name": "ee-first", + "version": "1.1.1", + "purl": "pkg:npm/ee-first@1.1.1", + "type": "library", + "bom-ref": "pkg:npm/ee-first@1.1.1" }, { - "name" : "ee-first", - "version" : "1.1.1", - "purl" : "pkg:npm/ee-first@1.1.1", - "type" : "library", - "bom-ref" : "pkg:npm/ee-first@1.1.1" + "name": "path-to-regexp", + "version": "0.1.7", + "purl": "pkg:npm/path-to-regexp@0.1.7", + "type": "library", + "bom-ref": "pkg:npm/path-to-regexp@0.1.7" }, { - "name" : "path-to-regexp", - "version" : "0.1.7", - "purl" : "pkg:npm/path-to-regexp@0.1.7", - "type" : "library", - "bom-ref" : "pkg:npm/path-to-regexp@0.1.7" + "name": "proxy-addr", + "version": "2.0.7", + "purl": "pkg:npm/proxy-addr@2.0.7", + "type": "library", + "bom-ref": "pkg:npm/proxy-addr@2.0.7" }, { - "name" : "proxy-addr", - "version" : "2.0.7", - "purl" : "pkg:npm/proxy-addr@2.0.7", - "type" : "library", - "bom-ref" : "pkg:npm/proxy-addr@2.0.7" + "name": "forwarded", + "version": "0.2.0", + "purl": "pkg:npm/forwarded@0.2.0", + "type": "library", + "bom-ref": "pkg:npm/forwarded@0.2.0" }, { - "name" : "forwarded", - "version" : "0.2.0", - "purl" : "pkg:npm/forwarded@0.2.0", - "type" : "library", - "bom-ref" : "pkg:npm/forwarded@0.2.0" + "name": "ipaddr.js", + "version": "1.9.1", + "purl": "pkg:npm/ipaddr.js@1.9.1", + "type": "library", + "bom-ref": "pkg:npm/ipaddr.js@1.9.1" }, { - "name" : "ipaddr.js", - "version" : "1.9.1", - "purl" : "pkg:npm/ipaddr.js@1.9.1", - "type" : "library", - "bom-ref" : "pkg:npm/ipaddr.js@1.9.1" + "name": "side-channel", + "version": "1.0.4", + "purl": "pkg:npm/side-channel@1.0.4", + "type": "library", + "bom-ref": "pkg:npm/side-channel@1.0.4" }, { - "name" : "side-channel", - "version" : "1.0.4", - "purl" : "pkg:npm/side-channel@1.0.4", - "type" : "library", - "bom-ref" : "pkg:npm/side-channel@1.0.4" + "name": "call-bind", + "version": "1.0.2", + "purl": "pkg:npm/call-bind@1.0.2", + "type": "library", + "bom-ref": "pkg:npm/call-bind@1.0.2" }, { - "name" : "call-bind", - "version" : "1.0.2", - "purl" : "pkg:npm/call-bind@1.0.2", - "type" : "library", - "bom-ref" : "pkg:npm/call-bind@1.0.2" + "name": "function-bind", + "version": "1.1.1", + "purl": "pkg:npm/function-bind@1.1.1", + "type": "library", + "bom-ref": "pkg:npm/function-bind@1.1.1" }, { - "name" : "function-bind", - "version" : "1.1.1", - "purl" : "pkg:npm/function-bind@1.1.1", - "type" : "library", - "bom-ref" : "pkg:npm/function-bind@1.1.1" + "name": "get-intrinsic", + "version": "1.2.1", + "purl": "pkg:npm/get-intrinsic@1.2.1", + "type": "library", + "bom-ref": "pkg:npm/get-intrinsic@1.2.1" }, { - "name" : "get-intrinsic", - "version" : "1.2.1", - "purl" : "pkg:npm/get-intrinsic@1.2.1", - "type" : "library", - "bom-ref" : "pkg:npm/get-intrinsic@1.2.1" + "name": "has-proto", + "version": "1.0.1", + "purl": "pkg:npm/has-proto@1.0.1", + "type": "library", + "bom-ref": "pkg:npm/has-proto@1.0.1" }, { - "name" : "has-proto", - "version" : "1.0.1", - "purl" : "pkg:npm/has-proto@1.0.1", - "type" : "library", - "bom-ref" : "pkg:npm/has-proto@1.0.1" + "name": "has-symbols", + "version": "1.0.3", + "purl": "pkg:npm/has-symbols@1.0.3", + "type": "library", + "bom-ref": "pkg:npm/has-symbols@1.0.3" }, { - "name" : "has-symbols", - "version" : "1.0.3", - "purl" : "pkg:npm/has-symbols@1.0.3", - "type" : "library", - "bom-ref" : "pkg:npm/has-symbols@1.0.3" + "name": "has", + "version": "1.0.3", + "purl": "pkg:npm/has@1.0.3", + "type": "library", + "bom-ref": "pkg:npm/has@1.0.3" }, { - "name" : "has", - "version" : "1.0.3", - "purl" : "pkg:npm/has@1.0.3", - "type" : "library", - "bom-ref" : "pkg:npm/has@1.0.3" + "name": "object-inspect", + "version": "1.12.3", + "purl": "pkg:npm/object-inspect@1.12.3", + "type": "library", + "bom-ref": "pkg:npm/object-inspect@1.12.3" }, { - "name" : "object-inspect", - "version" : "1.12.3", - "purl" : "pkg:npm/object-inspect@1.12.3", - "type" : "library", - "bom-ref" : "pkg:npm/object-inspect@1.12.3" + "name": "range-parser", + "version": "1.2.1", + "purl": "pkg:npm/range-parser@1.2.1", + "type": "library", + "bom-ref": "pkg:npm/range-parser@1.2.1" }, { - "name" : "range-parser", - "version" : "1.2.1", - "purl" : "pkg:npm/range-parser@1.2.1", - "type" : "library", - "bom-ref" : "pkg:npm/range-parser@1.2.1" + "name": "send", + "version": "0.18.0", + "purl": "pkg:npm/send@0.18.0", + "type": "library", + "bom-ref": "pkg:npm/send@0.18.0" }, { - "name" : "send", - "version" : "0.18.0", - "purl" : "pkg:npm/send@0.18.0", - "type" : "library", - "bom-ref" : "pkg:npm/send@0.18.0" + "name": "mime", + "version": "1.6.0", + "purl": "pkg:npm/mime@1.6.0", + "type": "library", + "bom-ref": "pkg:npm/mime@1.6.0" }, { - "name" : "mime", - "version" : "1.6.0", - "purl" : "pkg:npm/mime@1.6.0", - "type" : "library", - "bom-ref" : "pkg:npm/mime@1.6.0" + "name": "ms", + "version": "2.1.3", + "purl": "pkg:npm/ms@2.1.3", + "type": "library", + "bom-ref": "pkg:npm/ms@2.1.3" }, { - "name" : "ms", - "version" : "2.1.3", - "purl" : "pkg:npm/ms@2.1.3", - "type" : "library", - "bom-ref" : "pkg:npm/ms@2.1.3" + "name": "serve-static", + "version": "1.15.0", + "purl": "pkg:npm/serve-static@1.15.0", + "type": "library", + "bom-ref": "pkg:npm/serve-static@1.15.0" }, { - "name" : "serve-static", - "version" : "1.15.0", - "purl" : "pkg:npm/serve-static@1.15.0", - "type" : "library", - "bom-ref" : "pkg:npm/serve-static@1.15.0" + "name": "media-typer", + "version": "0.3.0", + "purl": "pkg:npm/media-typer@0.3.0", + "type": "library", + "bom-ref": "pkg:npm/media-typer@0.3.0" }, { - "name" : "media-typer", - "version" : "0.3.0", - "purl" : "pkg:npm/media-typer@0.3.0", - "type" : "library", - "bom-ref" : "pkg:npm/media-typer@0.3.0" + "name": "utils-merge", + "version": "1.0.1", + "purl": "pkg:npm/utils-merge@1.0.1", + "type": "library", + "bom-ref": "pkg:npm/utils-merge@1.0.1" }, { - "name" : "utils-merge", - "version" : "1.0.1", - "purl" : "pkg:npm/utils-merge@1.0.1", - "type" : "library", - "bom-ref" : "pkg:npm/utils-merge@1.0.1" + "name": "vary", + "version": "1.1.2", + "purl": "pkg:npm/vary@1.1.2", + "type": "library", + "bom-ref": "pkg:npm/vary@1.1.2" }, { - "name" : "vary", - "version" : "1.1.2", - "purl" : "pkg:npm/vary@1.1.2", - "type" : "library", - "bom-ref" : "pkg:npm/vary@1.1.2" + "name": "jsonwebtoken", + "version": "8.5.1", + "purl": "pkg:npm/jsonwebtoken@8.5.1", + "type": "library", + "bom-ref": "pkg:npm/jsonwebtoken@8.5.1" }, { - "name" : "jsonwebtoken", - "version" : "8.5.1", - "purl" : "pkg:npm/jsonwebtoken@8.5.1", - "type" : "library", - "bom-ref" : "pkg:npm/jsonwebtoken@8.5.1" + "name": "jws", + "version": "3.2.2", + "purl": "pkg:npm/jws@3.2.2", + "type": "library", + "bom-ref": "pkg:npm/jws@3.2.2" }, { - "name" : "jws", - "version" : "3.2.2", - "purl" : "pkg:npm/jws@3.2.2", - "type" : "library", - "bom-ref" : "pkg:npm/jws@3.2.2" + "name": "jwa", + "version": "1.4.1", + "purl": "pkg:npm/jwa@1.4.1", + "type": "library", + "bom-ref": "pkg:npm/jwa@1.4.1" }, { - "name" : "jwa", - "version" : "1.4.1", - "purl" : "pkg:npm/jwa@1.4.1", - "type" : "library", - "bom-ref" : "pkg:npm/jwa@1.4.1" + "name": "buffer-equal-constant-time", + "version": "1.0.1", + "purl": "pkg:npm/buffer-equal-constant-time@1.0.1", + "type": "library", + "bom-ref": "pkg:npm/buffer-equal-constant-time@1.0.1" }, { - "name" : "buffer-equal-constant-time", - "version" : "1.0.1", - "purl" : "pkg:npm/buffer-equal-constant-time@1.0.1", - "type" : "library", - "bom-ref" : "pkg:npm/buffer-equal-constant-time@1.0.1" + "name": "ecdsa-sig-formatter", + "version": "1.0.11", + "purl": "pkg:npm/ecdsa-sig-formatter@1.0.11", + "type": "library", + "bom-ref": "pkg:npm/ecdsa-sig-formatter@1.0.11" }, { - "name" : "ecdsa-sig-formatter", - "version" : "1.0.11", - "purl" : "pkg:npm/ecdsa-sig-formatter@1.0.11", - "type" : "library", - "bom-ref" : "pkg:npm/ecdsa-sig-formatter@1.0.11" + "name": "lodash.includes", + "version": "4.3.0", + "purl": "pkg:npm/lodash.includes@4.3.0", + "type": "library", + "bom-ref": "pkg:npm/lodash.includes@4.3.0" }, { - "name" : "lodash.includes", - "version" : "4.3.0", - "purl" : "pkg:npm/lodash.includes@4.3.0", - "type" : "library", - "bom-ref" : "pkg:npm/lodash.includes@4.3.0" + "name": "lodash.isboolean", + "version": "3.0.3", + "purl": "pkg:npm/lodash.isboolean@3.0.3", + "type": "library", + "bom-ref": "pkg:npm/lodash.isboolean@3.0.3" }, { - "name" : "lodash.isboolean", - "version" : "3.0.3", - "purl" : "pkg:npm/lodash.isboolean@3.0.3", - "type" : "library", - "bom-ref" : "pkg:npm/lodash.isboolean@3.0.3" + "name": "lodash.isinteger", + "version": "4.0.4", + "purl": "pkg:npm/lodash.isinteger@4.0.4", + "type": "library", + "bom-ref": "pkg:npm/lodash.isinteger@4.0.4" }, { - "name" : "lodash.isinteger", - "version" : "4.0.4", - "purl" : "pkg:npm/lodash.isinteger@4.0.4", - "type" : "library", - "bom-ref" : "pkg:npm/lodash.isinteger@4.0.4" + "name": "lodash.isnumber", + "version": "3.0.3", + "purl": "pkg:npm/lodash.isnumber@3.0.3", + "type": "library", + "bom-ref": "pkg:npm/lodash.isnumber@3.0.3" }, { - "name" : "lodash.isnumber", - "version" : "3.0.3", - "purl" : "pkg:npm/lodash.isnumber@3.0.3", - "type" : "library", - "bom-ref" : "pkg:npm/lodash.isnumber@3.0.3" + "name": "lodash.isplainobject", + "version": "4.0.6", + "purl": "pkg:npm/lodash.isplainobject@4.0.6", + "type": "library", + "bom-ref": "pkg:npm/lodash.isplainobject@4.0.6" }, { - "name" : "lodash.isplainobject", - "version" : "4.0.6", - "purl" : "pkg:npm/lodash.isplainobject@4.0.6", - "type" : "library", - "bom-ref" : "pkg:npm/lodash.isplainobject@4.0.6" + "name": "lodash.isstring", + "version": "4.0.1", + "purl": "pkg:npm/lodash.isstring@4.0.1", + "type": "library", + "bom-ref": "pkg:npm/lodash.isstring@4.0.1" }, { - "name" : "lodash.isstring", - "version" : "4.0.1", - "purl" : "pkg:npm/lodash.isstring@4.0.1", - "type" : "library", - "bom-ref" : "pkg:npm/lodash.isstring@4.0.1" + "name": "lodash.once", + "version": "4.1.1", + "purl": "pkg:npm/lodash.once@4.1.1", + "type": "library", + "bom-ref": "pkg:npm/lodash.once@4.1.1" }, { - "name" : "lodash.once", - "version" : "4.1.1", - "purl" : "pkg:npm/lodash.once@4.1.1", - "type" : "library", - "bom-ref" : "pkg:npm/lodash.once@4.1.1" + "name": "semver", + "version": "5.7.2", + "purl": "pkg:npm/semver@5.7.2", + "type": "library", + "bom-ref": "pkg:npm/semver@5.7.2" }, { - "name" : "semver", - "version" : "5.7.2", - "purl" : "pkg:npm/semver@5.7.2", - "type" : "library", - "bom-ref" : "pkg:npm/semver@5.7.2" + "name": "mongoose", + "version": "5.13.20", + "purl": "pkg:npm/mongoose@5.13.20", + "type": "library", + "bom-ref": "pkg:npm/mongoose@5.13.20" }, { - "name" : "mongoose", - "version" : "5.13.20", - "purl" : "pkg:npm/mongoose@5.13.20", - "type" : "library", - "bom-ref" : "pkg:npm/mongoose@5.13.20" + "group": "@types", + "name": "bson", + "version": "4.0.5", + "purl": "pkg:npm/%40types/bson@4.0.5", + "type": "library", + "bom-ref": "pkg:npm/%40types/bson@4.0.5" }, { - "group" : "@types", - "name" : "bson", - "version" : "4.0.5", - "purl" : "pkg:npm/%40types/bson@4.0.5", - "type" : "library", - "bom-ref" : "pkg:npm/%40types/bson@4.0.5" + "group": "@types", + "name": "node", + "version": "20.4.8", + "purl": "pkg:npm/%40types/node@20.4.8", + "type": "library", + "bom-ref": "pkg:npm/%40types/node@20.4.8" }, { - "group" : "@types", - "name" : "node", - "version" : "20.4.8", - "purl" : "pkg:npm/%40types/node@20.4.8", - "type" : "library", - "bom-ref" : "pkg:npm/%40types/node@20.4.8" + "group": "@types", + "name": "mongodb", + "version": "3.6.20", + "purl": "pkg:npm/%40types/mongodb@3.6.20", + "type": "library", + "bom-ref": "pkg:npm/%40types/mongodb@3.6.20" }, { - "group" : "@types", - "name" : "mongodb", - "version" : "3.6.20", - "purl" : "pkg:npm/%40types/mongodb@3.6.20", - "type" : "library", - "bom-ref" : "pkg:npm/%40types/mongodb@3.6.20" + "name": "bson", + "version": "1.1.6", + "purl": "pkg:npm/bson@1.1.6", + "type": "library", + "bom-ref": "pkg:npm/bson@1.1.6" }, { - "name" : "bson", - "version" : "1.1.6", - "purl" : "pkg:npm/bson@1.1.6", - "type" : "library", - "bom-ref" : "pkg:npm/bson@1.1.6" + "name": "kareem", + "version": "2.3.2", + "purl": "pkg:npm/kareem@2.3.2", + "type": "library", + "bom-ref": "pkg:npm/kareem@2.3.2" }, { - "name" : "kareem", - "version" : "2.3.2", - "purl" : "pkg:npm/kareem@2.3.2", - "type" : "library", - "bom-ref" : "pkg:npm/kareem@2.3.2" + "name": "mongodb", + "version": "3.7.4", + "purl": "pkg:npm/mongodb@3.7.4", + "type": "library", + "bom-ref": "pkg:npm/mongodb@3.7.4" }, { - "name" : "mongodb", - "version" : "3.7.4", - "purl" : "pkg:npm/mongodb@3.7.4", - "type" : "library", - "bom-ref" : "pkg:npm/mongodb@3.7.4" + "name": "bl", + "version": "2.2.1", + "purl": "pkg:npm/bl@2.2.1", + "type": "library", + "bom-ref": "pkg:npm/bl@2.2.1" }, { - "name" : "bl", - "version" : "2.2.1", - "purl" : "pkg:npm/bl@2.2.1", - "type" : "library", - "bom-ref" : "pkg:npm/bl@2.2.1" + "name": "readable-stream", + "version": "2.3.8", + "purl": "pkg:npm/readable-stream@2.3.8", + "type": "library", + "bom-ref": "pkg:npm/readable-stream@2.3.8" }, { - "name" : "readable-stream", - "version" : "2.3.8", - "purl" : "pkg:npm/readable-stream@2.3.8", - "type" : "library", - "bom-ref" : "pkg:npm/readable-stream@2.3.8" + "name": "core-util-is", + "version": "1.0.3", + "purl": "pkg:npm/core-util-is@1.0.3", + "type": "library", + "bom-ref": "pkg:npm/core-util-is@1.0.3" }, { - "name" : "core-util-is", - "version" : "1.0.3", - "purl" : "pkg:npm/core-util-is@1.0.3", - "type" : "library", - "bom-ref" : "pkg:npm/core-util-is@1.0.3" + "name": "isarray", + "version": "1.0.0", + "purl": "pkg:npm/isarray@1.0.0", + "type": "library", + "bom-ref": "pkg:npm/isarray@1.0.0" }, { - "name" : "isarray", - "version" : "1.0.0", - "purl" : "pkg:npm/isarray@1.0.0", - "type" : "library", - "bom-ref" : "pkg:npm/isarray@1.0.0" + "name": "process-nextick-args", + "version": "2.0.1", + "purl": "pkg:npm/process-nextick-args@2.0.1", + "type": "library", + "bom-ref": "pkg:npm/process-nextick-args@2.0.1" }, { - "name" : "process-nextick-args", - "version" : "2.0.1", - "purl" : "pkg:npm/process-nextick-args@2.0.1", - "type" : "library", - "bom-ref" : "pkg:npm/process-nextick-args@2.0.1" + "name": "safe-buffer", + "version": "5.1.2", + "purl": "pkg:npm/safe-buffer@5.1.2", + "type": "library", + "bom-ref": "pkg:npm/safe-buffer@5.1.2" }, { - "name" : "safe-buffer", - "version" : "5.1.2", - "purl" : "pkg:npm/safe-buffer@5.1.2", - "type" : "library", - "bom-ref" : "pkg:npm/safe-buffer@5.1.2" + "name": "string_decoder", + "version": "1.1.1", + "purl": "pkg:npm/string_decoder@1.1.1", + "type": "library", + "bom-ref": "pkg:npm/string_decoder@1.1.1" }, { - "name" : "string_decoder", - "version" : "1.1.1", - "purl" : "pkg:npm/string_decoder@1.1.1", - "type" : "library", - "bom-ref" : "pkg:npm/string_decoder@1.1.1" + "name": "util-deprecate", + "version": "1.0.2", + "purl": "pkg:npm/util-deprecate@1.0.2", + "type": "library", + "bom-ref": "pkg:npm/util-deprecate@1.0.2" }, { - "name" : "util-deprecate", - "version" : "1.0.2", - "purl" : "pkg:npm/util-deprecate@1.0.2", - "type" : "library", - "bom-ref" : "pkg:npm/util-deprecate@1.0.2" + "name": "denque", + "version": "1.5.1", + "purl": "pkg:npm/denque@1.5.1", + "type": "library", + "bom-ref": "pkg:npm/denque@1.5.1" }, { - "name" : "denque", - "version" : "1.5.1", - "purl" : "pkg:npm/denque@1.5.1", - "type" : "library", - "bom-ref" : "pkg:npm/denque@1.5.1" + "name": "optional-require", + "version": "1.1.8", + "purl": "pkg:npm/optional-require@1.1.8", + "type": "library", + "bom-ref": "pkg:npm/optional-require@1.1.8" }, { - "name" : "optional-require", - "version" : "1.1.8", - "purl" : "pkg:npm/optional-require@1.1.8", - "type" : "library", - "bom-ref" : "pkg:npm/optional-require@1.1.8" + "name": "require-at", + "version": "1.0.6", + "purl": "pkg:npm/require-at@1.0.6", + "type": "library", + "bom-ref": "pkg:npm/require-at@1.0.6" }, { - "name" : "require-at", - "version" : "1.0.6", - "purl" : "pkg:npm/require-at@1.0.6", - "type" : "library", - "bom-ref" : "pkg:npm/require-at@1.0.6" + "name": "saslprep", + "version": "1.0.3", + "purl": "pkg:npm/saslprep@1.0.3", + "type": "library", + "bom-ref": "pkg:npm/saslprep@1.0.3" }, { - "name" : "saslprep", - "version" : "1.0.3", - "purl" : "pkg:npm/saslprep@1.0.3", - "type" : "library", - "bom-ref" : "pkg:npm/saslprep@1.0.3" + "name": "sparse-bitfield", + "version": "3.0.3", + "purl": "pkg:npm/sparse-bitfield@3.0.3", + "type": "library", + "bom-ref": "pkg:npm/sparse-bitfield@3.0.3" }, { - "name" : "sparse-bitfield", - "version" : "3.0.3", - "purl" : "pkg:npm/sparse-bitfield@3.0.3", - "type" : "library", - "bom-ref" : "pkg:npm/sparse-bitfield@3.0.3" + "name": "memory-pager", + "version": "1.5.0", + "purl": "pkg:npm/memory-pager@1.5.0", + "type": "library", + "bom-ref": "pkg:npm/memory-pager@1.5.0" }, { - "name" : "memory-pager", - "version" : "1.5.0", - "purl" : "pkg:npm/memory-pager@1.5.0", - "type" : "library", - "bom-ref" : "pkg:npm/memory-pager@1.5.0" + "name": "mongoose-legacy-pluralize", + "version": "1.0.2", + "purl": "pkg:npm/mongoose-legacy-pluralize@1.0.2", + "type": "library", + "bom-ref": "pkg:npm/mongoose-legacy-pluralize@1.0.2" }, { - "name" : "mongoose-legacy-pluralize", - "version" : "1.0.2", - "purl" : "pkg:npm/mongoose-legacy-pluralize@1.0.2", - "type" : "library", - "bom-ref" : "pkg:npm/mongoose-legacy-pluralize@1.0.2" + "name": "mpath", + "version": "0.8.4", + "purl": "pkg:npm/mpath@0.8.4", + "type": "library", + "bom-ref": "pkg:npm/mpath@0.8.4" }, { - "name" : "mpath", - "version" : "0.8.4", - "purl" : "pkg:npm/mpath@0.8.4", - "type" : "library", - "bom-ref" : "pkg:npm/mpath@0.8.4" + "name": "mquery", + "version": "3.2.5", + "purl": "pkg:npm/mquery@3.2.5", + "type": "library", + "bom-ref": "pkg:npm/mquery@3.2.5" }, { - "name" : "mquery", - "version" : "3.2.5", - "purl" : "pkg:npm/mquery@3.2.5", - "type" : "library", - "bom-ref" : "pkg:npm/mquery@3.2.5" + "name": "bluebird", + "version": "3.5.1", + "purl": "pkg:npm/bluebird@3.5.1", + "type": "library", + "bom-ref": "pkg:npm/bluebird@3.5.1" }, { - "name" : "bluebird", - "version" : "3.5.1", - "purl" : "pkg:npm/bluebird@3.5.1", - "type" : "library", - "bom-ref" : "pkg:npm/bluebird@3.5.1" + "name": "regexp-clone", + "version": "1.0.0", + "purl": "pkg:npm/regexp-clone@1.0.0", + "type": "library", + "bom-ref": "pkg:npm/regexp-clone@1.0.0" }, { - "name" : "regexp-clone", - "version" : "1.0.0", - "purl" : "pkg:npm/regexp-clone@1.0.0", - "type" : "library", - "bom-ref" : "pkg:npm/regexp-clone@1.0.0" + "name": "sliced", + "version": "1.0.1", + "purl": "pkg:npm/sliced@1.0.1", + "type": "library", + "bom-ref": "pkg:npm/sliced@1.0.1" }, { - "name" : "sliced", - "version" : "1.0.1", - "purl" : "pkg:npm/sliced@1.0.1", - "type" : "library", - "bom-ref" : "pkg:npm/sliced@1.0.1" + "name": "ms", + "version": "2.1.2", + "purl": "pkg:npm/ms@2.1.2", + "type": "library", + "bom-ref": "pkg:npm/ms@2.1.2" }, { - "name" : "ms", - "version" : "2.1.2", - "purl" : "pkg:npm/ms@2.1.2", - "type" : "library", - "bom-ref" : "pkg:npm/ms@2.1.2" + "name": "optional-require", + "version": "1.0.3", + "purl": "pkg:npm/optional-require@1.0.3", + "type": "library", + "bom-ref": "pkg:npm/optional-require@1.0.3" }, { - "name" : "optional-require", - "version" : "1.0.3", - "purl" : "pkg:npm/optional-require@1.0.3", - "type" : "library", - "bom-ref" : "pkg:npm/optional-require@1.0.3" + "name": "sift", + "version": "13.5.2", + "purl": "pkg:npm/sift@13.5.2", + "type": "library", + "bom-ref": "pkg:npm/sift@13.5.2" }, { - "name" : "sift", - "version" : "13.5.2", - "purl" : "pkg:npm/sift@13.5.2", - "type" : "library", - "bom-ref" : "pkg:npm/sift@13.5.2" + "name": "nodemon", + "version": "2.0.22", + "purl": "pkg:npm/nodemon@2.0.22", + "type": "library", + "bom-ref": "pkg:npm/nodemon@2.0.22" }, { - "name" : "nodemon", - "version" : "2.0.22", - "purl" : "pkg:npm/nodemon@2.0.22", - "type" : "library", - "bom-ref" : "pkg:npm/nodemon@2.0.22" + "name": "chokidar", + "version": "3.5.3", + "purl": "pkg:npm/chokidar@3.5.3", + "type": "library", + "bom-ref": "pkg:npm/chokidar@3.5.3" }, { - "name" : "chokidar", - "version" : "3.5.3", - "purl" : "pkg:npm/chokidar@3.5.3", - "type" : "library", - "bom-ref" : "pkg:npm/chokidar@3.5.3" + "name": "anymatch", + "version": "3.1.3", + "purl": "pkg:npm/anymatch@3.1.3", + "type": "library", + "bom-ref": "pkg:npm/anymatch@3.1.3" }, { - "name" : "anymatch", - "version" : "3.1.3", - "purl" : "pkg:npm/anymatch@3.1.3", - "type" : "library", - "bom-ref" : "pkg:npm/anymatch@3.1.3" + "name": "normalize-path", + "version": "3.0.0", + "purl": "pkg:npm/normalize-path@3.0.0", + "type": "library", + "bom-ref": "pkg:npm/normalize-path@3.0.0" }, { - "name" : "normalize-path", - "version" : "3.0.0", - "purl" : "pkg:npm/normalize-path@3.0.0", - "type" : "library", - "bom-ref" : "pkg:npm/normalize-path@3.0.0" + "name": "picomatch", + "version": "2.3.1", + "purl": "pkg:npm/picomatch@2.3.1", + "type": "library", + "bom-ref": "pkg:npm/picomatch@2.3.1" }, { - "name" : "picomatch", - "version" : "2.3.1", - "purl" : "pkg:npm/picomatch@2.3.1", - "type" : "library", - "bom-ref" : "pkg:npm/picomatch@2.3.1" + "name": "braces", + "version": "3.0.2", + "purl": "pkg:npm/braces@3.0.2", + "type": "library", + "bom-ref": "pkg:npm/braces@3.0.2" }, { - "name" : "braces", - "version" : "3.0.2", - "purl" : "pkg:npm/braces@3.0.2", - "type" : "library", - "bom-ref" : "pkg:npm/braces@3.0.2" + "name": "fill-range", + "version": "7.0.1", + "purl": "pkg:npm/fill-range@7.0.1", + "type": "library", + "bom-ref": "pkg:npm/fill-range@7.0.1" }, { - "name" : "fill-range", - "version" : "7.0.1", - "purl" : "pkg:npm/fill-range@7.0.1", - "type" : "library", - "bom-ref" : "pkg:npm/fill-range@7.0.1" + "name": "to-regex-range", + "version": "5.0.1", + "purl": "pkg:npm/to-regex-range@5.0.1", + "type": "library", + "bom-ref": "pkg:npm/to-regex-range@5.0.1" }, { - "name" : "to-regex-range", - "version" : "5.0.1", - "purl" : "pkg:npm/to-regex-range@5.0.1", - "type" : "library", - "bom-ref" : "pkg:npm/to-regex-range@5.0.1" + "name": "is-number", + "version": "7.0.0", + "purl": "pkg:npm/is-number@7.0.0", + "type": "library", + "bom-ref": "pkg:npm/is-number@7.0.0" }, { - "name" : "is-number", - "version" : "7.0.0", - "purl" : "pkg:npm/is-number@7.0.0", - "type" : "library", - "bom-ref" : "pkg:npm/is-number@7.0.0" + "name": "fsevents", + "version": "2.3.2", + "purl": "pkg:npm/fsevents@2.3.2", + "type": "library", + "bom-ref": "pkg:npm/fsevents@2.3.2" }, { - "name" : "fsevents", - "version" : "2.3.2", - "purl" : "pkg:npm/fsevents@2.3.2", - "type" : "library", - "bom-ref" : "pkg:npm/fsevents@2.3.2" + "name": "glob-parent", + "version": "5.1.2", + "purl": "pkg:npm/glob-parent@5.1.2", + "type": "library", + "bom-ref": "pkg:npm/glob-parent@5.1.2" }, { - "name" : "glob-parent", - "version" : "5.1.2", - "purl" : "pkg:npm/glob-parent@5.1.2", - "type" : "library", - "bom-ref" : "pkg:npm/glob-parent@5.1.2" + "name": "is-glob", + "version": "4.0.3", + "purl": "pkg:npm/is-glob@4.0.3", + "type": "library", + "bom-ref": "pkg:npm/is-glob@4.0.3" }, { - "name" : "is-glob", - "version" : "4.0.3", - "purl" : "pkg:npm/is-glob@4.0.3", - "type" : "library", - "bom-ref" : "pkg:npm/is-glob@4.0.3" + "name": "is-binary-path", + "version": "2.1.0", + "purl": "pkg:npm/is-binary-path@2.1.0", + "type": "library", + "bom-ref": "pkg:npm/is-binary-path@2.1.0" }, { - "name" : "is-binary-path", - "version" : "2.1.0", - "purl" : "pkg:npm/is-binary-path@2.1.0", - "type" : "library", - "bom-ref" : "pkg:npm/is-binary-path@2.1.0" + "name": "binary-extensions", + "version": "2.2.0", + "purl": "pkg:npm/binary-extensions@2.2.0", + "type": "library", + "bom-ref": "pkg:npm/binary-extensions@2.2.0" }, { - "name" : "binary-extensions", - "version" : "2.2.0", - "purl" : "pkg:npm/binary-extensions@2.2.0", - "type" : "library", - "bom-ref" : "pkg:npm/binary-extensions@2.2.0" + "name": "is-extglob", + "version": "2.1.1", + "purl": "pkg:npm/is-extglob@2.1.1", + "type": "library", + "bom-ref": "pkg:npm/is-extglob@2.1.1" }, { - "name" : "is-extglob", - "version" : "2.1.1", - "purl" : "pkg:npm/is-extglob@2.1.1", - "type" : "library", - "bom-ref" : "pkg:npm/is-extglob@2.1.1" + "name": "readdirp", + "version": "3.6.0", + "purl": "pkg:npm/readdirp@3.6.0", + "type": "library", + "bom-ref": "pkg:npm/readdirp@3.6.0" }, { - "name" : "readdirp", - "version" : "3.6.0", - "purl" : "pkg:npm/readdirp@3.6.0", - "type" : "library", - "bom-ref" : "pkg:npm/readdirp@3.6.0" + "name": "debug", + "version": "3.2.7", + "purl": "pkg:npm/debug@3.2.7", + "type": "library", + "bom-ref": "pkg:npm/debug@3.2.7" }, { - "name" : "debug", - "version" : "3.2.7", - "purl" : "pkg:npm/debug@3.2.7", - "type" : "library", - "bom-ref" : "pkg:npm/debug@3.2.7" + "name": "ignore-by-default", + "version": "1.0.1", + "purl": "pkg:npm/ignore-by-default@1.0.1", + "type": "library", + "bom-ref": "pkg:npm/ignore-by-default@1.0.1" }, { - "name" : "ignore-by-default", - "version" : "1.0.1", - "purl" : "pkg:npm/ignore-by-default@1.0.1", - "type" : "library", - "bom-ref" : "pkg:npm/ignore-by-default@1.0.1" + "name": "minimatch", + "version": "3.1.2", + "purl": "pkg:npm/minimatch@3.1.2", + "type": "library", + "bom-ref": "pkg:npm/minimatch@3.1.2" }, { - "name" : "minimatch", - "version" : "3.1.2", - "purl" : "pkg:npm/minimatch@3.1.2", - "type" : "library", - "bom-ref" : "pkg:npm/minimatch@3.1.2" + "name": "brace-expansion", + "version": "1.1.11", + "purl": "pkg:npm/brace-expansion@1.1.11", + "type": "library", + "bom-ref": "pkg:npm/brace-expansion@1.1.11" }, { - "name" : "brace-expansion", - "version" : "1.1.11", - "purl" : "pkg:npm/brace-expansion@1.1.11", - "type" : "library", - "bom-ref" : "pkg:npm/brace-expansion@1.1.11" + "name": "balanced-match", + "version": "1.0.2", + "purl": "pkg:npm/balanced-match@1.0.2", + "type": "library", + "bom-ref": "pkg:npm/balanced-match@1.0.2" }, { - "name" : "balanced-match", - "version" : "1.0.2", - "purl" : "pkg:npm/balanced-match@1.0.2", - "type" : "library", - "bom-ref" : "pkg:npm/balanced-match@1.0.2" + "name": "concat-map", + "version": "0.0.1", + "purl": "pkg:npm/concat-map@0.0.1", + "type": "library", + "bom-ref": "pkg:npm/concat-map@0.0.1" }, { - "name" : "concat-map", - "version" : "0.0.1", - "purl" : "pkg:npm/concat-map@0.0.1", - "type" : "library", - "bom-ref" : "pkg:npm/concat-map@0.0.1" + "name": "pstree.remy", + "version": "1.1.8", + "purl": "pkg:npm/pstree.remy@1.1.8", + "type": "library", + "bom-ref": "pkg:npm/pstree.remy@1.1.8" }, { - "name" : "pstree.remy", - "version" : "1.1.8", - "purl" : "pkg:npm/pstree.remy@1.1.8", - "type" : "library", - "bom-ref" : "pkg:npm/pstree.remy@1.1.8" + "name": "simple-update-notifier", + "version": "1.1.0", + "purl": "pkg:npm/simple-update-notifier@1.1.0", + "type": "library", + "bom-ref": "pkg:npm/simple-update-notifier@1.1.0" }, { - "name" : "simple-update-notifier", - "version" : "1.1.0", - "purl" : "pkg:npm/simple-update-notifier@1.1.0", - "type" : "library", - "bom-ref" : "pkg:npm/simple-update-notifier@1.1.0" + "name": "semver", + "version": "7.0.0", + "purl": "pkg:npm/semver@7.0.0", + "type": "library", + "bom-ref": "pkg:npm/semver@7.0.0" }, { - "name" : "semver", - "version" : "7.0.0", - "purl" : "pkg:npm/semver@7.0.0", - "type" : "library", - "bom-ref" : "pkg:npm/semver@7.0.0" + "name": "supports-color", + "version": "5.5.0", + "purl": "pkg:npm/supports-color@5.5.0", + "type": "library", + "bom-ref": "pkg:npm/supports-color@5.5.0" }, { - "name" : "supports-color", - "version" : "5.5.0", - "purl" : "pkg:npm/supports-color@5.5.0", - "type" : "library", - "bom-ref" : "pkg:npm/supports-color@5.5.0" + "name": "has-flag", + "version": "3.0.0", + "purl": "pkg:npm/has-flag@3.0.0", + "type": "library", + "bom-ref": "pkg:npm/has-flag@3.0.0" }, { - "name" : "has-flag", - "version" : "3.0.0", - "purl" : "pkg:npm/has-flag@3.0.0", - "type" : "library", - "bom-ref" : "pkg:npm/has-flag@3.0.0" + "name": "touch", + "version": "3.1.0", + "purl": "pkg:npm/touch@3.1.0", + "type": "library", + "bom-ref": "pkg:npm/touch@3.1.0" }, { - "name" : "touch", - "version" : "3.1.0", - "purl" : "pkg:npm/touch@3.1.0", - "type" : "library", - "bom-ref" : "pkg:npm/touch@3.1.0" + "name": "nopt", + "version": "1.0.10", + "purl": "pkg:npm/nopt@1.0.10", + "type": "library", + "bom-ref": "pkg:npm/nopt@1.0.10" }, { - "name" : "nopt", - "version" : "1.0.10", - "purl" : "pkg:npm/nopt@1.0.10", - "type" : "library", - "bom-ref" : "pkg:npm/nopt@1.0.10" + "name": "abbrev", + "version": "1.1.1", + "purl": "pkg:npm/abbrev@1.1.1", + "type": "library", + "bom-ref": "pkg:npm/abbrev@1.1.1" }, { - "name" : "abbrev", - "version" : "1.1.1", - "purl" : "pkg:npm/abbrev@1.1.1", - "type" : "library", - "bom-ref" : "pkg:npm/abbrev@1.1.1" - }, - { - "name" : "undefsafe", - "version" : "2.0.5", - "purl" : "pkg:npm/undefsafe@2.0.5", - "type" : "library", - "bom-ref" : "pkg:npm/undefsafe@2.0.5" + "name": "undefsafe", + "version": "2.0.5", + "purl": "pkg:npm/undefsafe@2.0.5", + "type": "library", + "bom-ref": "pkg:npm/undefsafe@2.0.5" } ], - "dependencies" : [ + "dependencies": [ { - "ref" : "pkg:npm/backend@1.0.0", - "dependsOn" : [ + "ref": "pkg:npm/backend@1.0.0", + "dependsOn": [ "pkg:npm/%40hapi/joi@17.1.1", "pkg:npm/axios@0.19.2", "pkg:npm/backend@0.0.0", @@ -1054,8 +1047,8 @@ ] }, { - "ref" : "pkg:npm/%40hapi/joi@17.1.1", - "dependsOn" : [ + "ref": "pkg:npm/%40hapi/joi@17.1.1", + "dependsOn": [ "pkg:npm/%40hapi/address@4.1.0", "pkg:npm/%40hapi/formula@2.0.0", "pkg:npm/%40hapi/hoek@9.3.0", @@ -1064,66 +1057,66 @@ ] }, { - "ref" : "pkg:npm/%40hapi/address@4.1.0", - "dependsOn" : [ + "ref": "pkg:npm/%40hapi/address@4.1.0", + "dependsOn": [ "pkg:npm/%40hapi/hoek@9.3.0" ] }, { - "ref" : "pkg:npm/%40hapi/hoek@9.3.0", - "dependsOn" : [ ] + "ref": "pkg:npm/%40hapi/hoek@9.3.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/%40hapi/formula@2.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/%40hapi/formula@2.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/%40hapi/pinpoint@2.0.1", - "dependsOn" : [ ] + "ref": "pkg:npm/%40hapi/pinpoint@2.0.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/%40hapi/topo@5.1.0", - "dependsOn" : [ + "ref": "pkg:npm/%40hapi/topo@5.1.0", + "dependsOn": [ "pkg:npm/%40hapi/hoek@9.3.0" ] }, { - "ref" : "pkg:npm/axios@0.19.2", - "dependsOn" : [ + "ref": "pkg:npm/axios@0.19.2", + "dependsOn": [ "pkg:npm/follow-redirects@1.5.10" ] }, { - "ref" : "pkg:npm/follow-redirects@1.5.10", - "dependsOn" : [ + "ref": "pkg:npm/follow-redirects@1.5.10", + "dependsOn": [ "pkg:npm/debug@3.1.0" ] }, { - "ref" : "pkg:npm/debug@3.1.0", - "dependsOn" : [ + "ref": "pkg:npm/debug@3.1.0", + "dependsOn": [ "pkg:npm/ms@2.0.0" ] }, { - "ref" : "pkg:npm/ms@2.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/ms@2.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/backend@0.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/backend@0.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/bcryptjs@2.4.3", - "dependsOn" : [ ] + "ref": "pkg:npm/bcryptjs@2.4.3", + "dependsOn": [] }, { - "ref" : "pkg:npm/dotenv@8.6.0", - "dependsOn" : [ ] + "ref": "pkg:npm/dotenv@8.6.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/express@4.18.2", - "dependsOn" : [ + "ref": "pkg:npm/express@4.18.2", + "dependsOn": [ "pkg:npm/accepts@1.3.8", "pkg:npm/array-flatten@1.1.1", "pkg:npm/body-parser@1.20.1", @@ -1158,33 +1151,33 @@ ] }, { - "ref" : "pkg:npm/accepts@1.3.8", - "dependsOn" : [ + "ref": "pkg:npm/accepts@1.3.8", + "dependsOn": [ "pkg:npm/mime-types@2.1.35", "pkg:npm/negotiator@0.6.3" ] }, { - "ref" : "pkg:npm/mime-types@2.1.35", - "dependsOn" : [ + "ref": "pkg:npm/mime-types@2.1.35", + "dependsOn": [ "pkg:npm/mime-db@1.52.0" ] }, { - "ref" : "pkg:npm/mime-db@1.52.0", - "dependsOn" : [ ] + "ref": "pkg:npm/mime-db@1.52.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/negotiator@0.6.3", - "dependsOn" : [ ] + "ref": "pkg:npm/negotiator@0.6.3", + "dependsOn": [] }, { - "ref" : "pkg:npm/array-flatten@1.1.1", - "dependsOn" : [ ] + "ref": "pkg:npm/array-flatten@1.1.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/body-parser@1.20.1", - "dependsOn" : [ + "ref": "pkg:npm/body-parser@1.20.1", + "dependsOn": [ "pkg:npm/bytes@3.1.2", "pkg:npm/content-type@1.0.5", "pkg:npm/debug@2.6.9", @@ -1200,30 +1193,30 @@ ] }, { - "ref" : "pkg:npm/bytes@3.1.2", - "dependsOn" : [ ] + "ref": "pkg:npm/bytes@3.1.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/content-type@1.0.5", - "dependsOn" : [ ] + "ref": "pkg:npm/content-type@1.0.5", + "dependsOn": [] }, { - "ref" : "pkg:npm/debug@2.6.9", - "dependsOn" : [ + "ref": "pkg:npm/debug@2.6.9", + "dependsOn": [ "pkg:npm/ms@2.0.0" ] }, { - "ref" : "pkg:npm/depd@2.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/depd@2.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/destroy@1.2.0", - "dependsOn" : [ ] + "ref": "pkg:npm/destroy@1.2.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/http-errors@2.0.0", - "dependsOn" : [ + "ref": "pkg:npm/http-errors@2.0.0", + "dependsOn": [ "pkg:npm/depd@2.0.0", "pkg:npm/inherits@2.0.4", "pkg:npm/setprototypeof@1.2.0", @@ -1232,30 +1225,30 @@ ] }, { - "ref" : "pkg:npm/iconv-lite@0.4.24", - "dependsOn" : [ + "ref": "pkg:npm/iconv-lite@0.4.24", + "dependsOn": [ "pkg:npm/safer-buffer@2.1.2" ] }, { - "ref" : "pkg:npm/safer-buffer@2.1.2", - "dependsOn" : [ ] + "ref": "pkg:npm/safer-buffer@2.1.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/on-finished@2.4.1", - "dependsOn" : [ + "ref": "pkg:npm/on-finished@2.4.1", + "dependsOn": [ "pkg:npm/ee-first@1.1.1" ] }, { - "ref" : "pkg:npm/qs@6.11.0", - "dependsOn" : [ + "ref": "pkg:npm/qs@6.11.0", + "dependsOn": [ "pkg:npm/side-channel@1.0.4" ] }, { - "ref" : "pkg:npm/raw-body@2.5.1", - "dependsOn" : [ + "ref": "pkg:npm/raw-body@2.5.1", + "dependsOn": [ "pkg:npm/bytes@3.1.2", "pkg:npm/http-errors@2.0.0", "pkg:npm/iconv-lite@0.4.24", @@ -1263,49 +1256,49 @@ ] }, { - "ref" : "pkg:npm/unpipe@1.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/unpipe@1.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/type-is@1.6.18", - "dependsOn" : [ + "ref": "pkg:npm/type-is@1.6.18", + "dependsOn": [ "pkg:npm/media-typer@0.3.0", "pkg:npm/mime-types@2.1.35" ] }, { - "ref" : "pkg:npm/content-disposition@0.5.4", - "dependsOn" : [ + "ref": "pkg:npm/content-disposition@0.5.4", + "dependsOn": [ "pkg:npm/safe-buffer@5.2.1" ] }, { - "ref" : "pkg:npm/safe-buffer@5.2.1", - "dependsOn" : [ ] + "ref": "pkg:npm/safe-buffer@5.2.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/cookie-signature@1.0.6", - "dependsOn" : [ ] + "ref": "pkg:npm/cookie-signature@1.0.6", + "dependsOn": [] }, { - "ref" : "pkg:npm/cookie@0.5.0", - "dependsOn" : [ ] + "ref": "pkg:npm/cookie@0.5.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/encodeurl@1.0.2", - "dependsOn" : [ ] + "ref": "pkg:npm/encodeurl@1.0.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/escape-html@1.0.3", - "dependsOn" : [ ] + "ref": "pkg:npm/escape-html@1.0.3", + "dependsOn": [] }, { - "ref" : "pkg:npm/etag@1.8.1", - "dependsOn" : [ ] + "ref": "pkg:npm/etag@1.8.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/finalhandler@1.2.0", - "dependsOn" : [ + "ref": "pkg:npm/finalhandler@1.2.0", + "dependsOn": [ "pkg:npm/debug@2.6.9", "pkg:npm/encodeurl@1.0.2", "pkg:npm/escape-html@1.0.3", @@ -1316,82 +1309,82 @@ ] }, { - "ref" : "pkg:npm/parseurl@1.3.3", - "dependsOn" : [ ] + "ref": "pkg:npm/parseurl@1.3.3", + "dependsOn": [] }, { - "ref" : "pkg:npm/statuses@2.0.1", - "dependsOn" : [ ] + "ref": "pkg:npm/statuses@2.0.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/fresh@0.5.2", - "dependsOn" : [ ] + "ref": "pkg:npm/fresh@0.5.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/inherits@2.0.4", - "dependsOn" : [ ] + "ref": "pkg:npm/inherits@2.0.4", + "dependsOn": [] }, { - "ref" : "pkg:npm/setprototypeof@1.2.0", - "dependsOn" : [ ] + "ref": "pkg:npm/setprototypeof@1.2.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/toidentifier@1.0.1", - "dependsOn" : [ ] + "ref": "pkg:npm/toidentifier@1.0.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/merge-descriptors@1.0.1", - "dependsOn" : [ ] + "ref": "pkg:npm/merge-descriptors@1.0.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/methods@1.1.2", - "dependsOn" : [ ] + "ref": "pkg:npm/methods@1.1.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/ee-first@1.1.1", - "dependsOn" : [ ] + "ref": "pkg:npm/ee-first@1.1.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/path-to-regexp@0.1.7", - "dependsOn" : [ ] + "ref": "pkg:npm/path-to-regexp@0.1.7", + "dependsOn": [] }, { - "ref" : "pkg:npm/proxy-addr@2.0.7", - "dependsOn" : [ + "ref": "pkg:npm/proxy-addr@2.0.7", + "dependsOn": [ "pkg:npm/forwarded@0.2.0", "pkg:npm/ipaddr.js@1.9.1" ] }, { - "ref" : "pkg:npm/forwarded@0.2.0", - "dependsOn" : [ ] + "ref": "pkg:npm/forwarded@0.2.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/ipaddr.js@1.9.1", - "dependsOn" : [ ] + "ref": "pkg:npm/ipaddr.js@1.9.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/side-channel@1.0.4", - "dependsOn" : [ + "ref": "pkg:npm/side-channel@1.0.4", + "dependsOn": [ "pkg:npm/call-bind@1.0.2", "pkg:npm/get-intrinsic@1.2.1", "pkg:npm/object-inspect@1.12.3" ] }, { - "ref" : "pkg:npm/call-bind@1.0.2", - "dependsOn" : [ + "ref": "pkg:npm/call-bind@1.0.2", + "dependsOn": [ "pkg:npm/function-bind@1.1.1", "pkg:npm/get-intrinsic@1.2.1" ] }, { - "ref" : "pkg:npm/function-bind@1.1.1", - "dependsOn" : [ ] + "ref": "pkg:npm/function-bind@1.1.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/get-intrinsic@1.2.1", - "dependsOn" : [ + "ref": "pkg:npm/get-intrinsic@1.2.1", + "dependsOn": [ "pkg:npm/function-bind@1.1.1", "pkg:npm/has-proto@1.0.1", "pkg:npm/has-symbols@1.0.3", @@ -1399,30 +1392,30 @@ ] }, { - "ref" : "pkg:npm/has-proto@1.0.1", - "dependsOn" : [ ] + "ref": "pkg:npm/has-proto@1.0.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/has-symbols@1.0.3", - "dependsOn" : [ ] + "ref": "pkg:npm/has-symbols@1.0.3", + "dependsOn": [] }, { - "ref" : "pkg:npm/has@1.0.3", - "dependsOn" : [ + "ref": "pkg:npm/has@1.0.3", + "dependsOn": [ "pkg:npm/function-bind@1.1.1" ] }, { - "ref" : "pkg:npm/object-inspect@1.12.3", - "dependsOn" : [ ] + "ref": "pkg:npm/object-inspect@1.12.3", + "dependsOn": [] }, { - "ref" : "pkg:npm/range-parser@1.2.1", - "dependsOn" : [ ] + "ref": "pkg:npm/range-parser@1.2.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/send@0.18.0", - "dependsOn" : [ + "ref": "pkg:npm/send@0.18.0", + "dependsOn": [ "pkg:npm/debug@2.6.9", "pkg:npm/depd@2.0.0", "pkg:npm/destroy@1.2.0", @@ -1439,16 +1432,16 @@ ] }, { - "ref" : "pkg:npm/mime@1.6.0", - "dependsOn" : [ ] + "ref": "pkg:npm/mime@1.6.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/ms@2.1.3", - "dependsOn" : [ ] + "ref": "pkg:npm/ms@2.1.3", + "dependsOn": [] }, { - "ref" : "pkg:npm/serve-static@1.15.0", - "dependsOn" : [ + "ref": "pkg:npm/serve-static@1.15.0", + "dependsOn": [ "pkg:npm/encodeurl@1.0.2", "pkg:npm/escape-html@1.0.3", "pkg:npm/parseurl@1.3.3", @@ -1456,20 +1449,20 @@ ] }, { - "ref" : "pkg:npm/media-typer@0.3.0", - "dependsOn" : [ ] + "ref": "pkg:npm/media-typer@0.3.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/utils-merge@1.0.1", - "dependsOn" : [ ] + "ref": "pkg:npm/utils-merge@1.0.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/vary@1.1.2", - "dependsOn" : [ ] + "ref": "pkg:npm/vary@1.1.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/jsonwebtoken@8.5.1", - "dependsOn" : [ + "ref": "pkg:npm/jsonwebtoken@8.5.1", + "dependsOn": [ "pkg:npm/jws@3.2.2", "pkg:npm/lodash.includes@4.3.0", "pkg:npm/lodash.isboolean@3.0.3", @@ -1483,65 +1476,65 @@ ] }, { - "ref" : "pkg:npm/jws@3.2.2", - "dependsOn" : [ + "ref": "pkg:npm/jws@3.2.2", + "dependsOn": [ "pkg:npm/jwa@1.4.1", "pkg:npm/safe-buffer@5.2.1" ] }, { - "ref" : "pkg:npm/jwa@1.4.1", - "dependsOn" : [ + "ref": "pkg:npm/jwa@1.4.1", + "dependsOn": [ "pkg:npm/buffer-equal-constant-time@1.0.1", "pkg:npm/ecdsa-sig-formatter@1.0.11", "pkg:npm/safe-buffer@5.2.1" ] }, { - "ref" : "pkg:npm/buffer-equal-constant-time@1.0.1", - "dependsOn" : [ ] + "ref": "pkg:npm/buffer-equal-constant-time@1.0.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/ecdsa-sig-formatter@1.0.11", - "dependsOn" : [ + "ref": "pkg:npm/ecdsa-sig-formatter@1.0.11", + "dependsOn": [ "pkg:npm/safe-buffer@5.2.1" ] }, { - "ref" : "pkg:npm/lodash.includes@4.3.0", - "dependsOn" : [ ] + "ref": "pkg:npm/lodash.includes@4.3.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/lodash.isboolean@3.0.3", - "dependsOn" : [ ] + "ref": "pkg:npm/lodash.isboolean@3.0.3", + "dependsOn": [] }, { - "ref" : "pkg:npm/lodash.isinteger@4.0.4", - "dependsOn" : [ ] + "ref": "pkg:npm/lodash.isinteger@4.0.4", + "dependsOn": [] }, { - "ref" : "pkg:npm/lodash.isnumber@3.0.3", - "dependsOn" : [ ] + "ref": "pkg:npm/lodash.isnumber@3.0.3", + "dependsOn": [] }, { - "ref" : "pkg:npm/lodash.isplainobject@4.0.6", - "dependsOn" : [ ] + "ref": "pkg:npm/lodash.isplainobject@4.0.6", + "dependsOn": [] }, { - "ref" : "pkg:npm/lodash.isstring@4.0.1", - "dependsOn" : [ ] + "ref": "pkg:npm/lodash.isstring@4.0.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/lodash.once@4.1.1", - "dependsOn" : [ ] + "ref": "pkg:npm/lodash.once@4.1.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/semver@5.7.2", - "dependsOn" : [ ] + "ref": "pkg:npm/semver@5.7.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/mongoose@5.13.20", - "dependsOn" : [ + "ref": "pkg:npm/mongoose@5.13.20", + "dependsOn": [ "pkg:npm/%40types/bson@4.0.5", "pkg:npm/%40types/mongodb@3.6.20", "pkg:npm/bson@1.1.6", @@ -1559,33 +1552,33 @@ ] }, { - "ref" : "pkg:npm/%40types/bson@4.0.5", - "dependsOn" : [ + "ref": "pkg:npm/%40types/bson@4.0.5", + "dependsOn": [ "pkg:npm/%40types/node@20.4.8" ] }, { - "ref" : "pkg:npm/%40types/node@20.4.8", - "dependsOn" : [ ] + "ref": "pkg:npm/%40types/node@20.4.8", + "dependsOn": [] }, { - "ref" : "pkg:npm/%40types/mongodb@3.6.20", - "dependsOn" : [ + "ref": "pkg:npm/%40types/mongodb@3.6.20", + "dependsOn": [ "pkg:npm/%40types/bson@4.0.5", "pkg:npm/%40types/node@20.4.8" ] }, { - "ref" : "pkg:npm/bson@1.1.6", - "dependsOn" : [ ] + "ref": "pkg:npm/bson@1.1.6", + "dependsOn": [] }, { - "ref" : "pkg:npm/kareem@2.3.2", - "dependsOn" : [ ] + "ref": "pkg:npm/kareem@2.3.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/mongodb@3.7.4", - "dependsOn" : [ + "ref": "pkg:npm/mongodb@3.7.4", + "dependsOn": [ "pkg:npm/bl@2.2.1", "pkg:npm/bson@1.1.6", "pkg:npm/denque@1.5.1", @@ -1595,15 +1588,15 @@ ] }, { - "ref" : "pkg:npm/bl@2.2.1", - "dependsOn" : [ + "ref": "pkg:npm/bl@2.2.1", + "dependsOn": [ "pkg:npm/readable-stream@2.3.8", "pkg:npm/safe-buffer@5.2.1" ] }, { - "ref" : "pkg:npm/readable-stream@2.3.8", - "dependsOn" : [ + "ref": "pkg:npm/readable-stream@2.3.8", + "dependsOn": [ "pkg:npm/core-util-is@1.0.3", "pkg:npm/inherits@2.0.4", "pkg:npm/isarray@1.0.0", @@ -1614,74 +1607,74 @@ ] }, { - "ref" : "pkg:npm/core-util-is@1.0.3", - "dependsOn" : [ ] + "ref": "pkg:npm/core-util-is@1.0.3", + "dependsOn": [] }, { - "ref" : "pkg:npm/isarray@1.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/isarray@1.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/process-nextick-args@2.0.1", - "dependsOn" : [ ] + "ref": "pkg:npm/process-nextick-args@2.0.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/safe-buffer@5.1.2", - "dependsOn" : [ ] + "ref": "pkg:npm/safe-buffer@5.1.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/string_decoder@1.1.1", - "dependsOn" : [ + "ref": "pkg:npm/string_decoder@1.1.1", + "dependsOn": [ "pkg:npm/safe-buffer@5.1.2" ] }, { - "ref" : "pkg:npm/util-deprecate@1.0.2", - "dependsOn" : [ ] + "ref": "pkg:npm/util-deprecate@1.0.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/denque@1.5.1", - "dependsOn" : [ ] + "ref": "pkg:npm/denque@1.5.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/optional-require@1.1.8", - "dependsOn" : [ + "ref": "pkg:npm/optional-require@1.1.8", + "dependsOn": [ "pkg:npm/require-at@1.0.6" ] }, { - "ref" : "pkg:npm/require-at@1.0.6", - "dependsOn" : [ ] + "ref": "pkg:npm/require-at@1.0.6", + "dependsOn": [] }, { - "ref" : "pkg:npm/saslprep@1.0.3", - "dependsOn" : [ + "ref": "pkg:npm/saslprep@1.0.3", + "dependsOn": [ "pkg:npm/sparse-bitfield@3.0.3" ] }, { - "ref" : "pkg:npm/sparse-bitfield@3.0.3", - "dependsOn" : [ + "ref": "pkg:npm/sparse-bitfield@3.0.3", + "dependsOn": [ "pkg:npm/memory-pager@1.5.0" ] }, { - "ref" : "pkg:npm/memory-pager@1.5.0", - "dependsOn" : [ ] + "ref": "pkg:npm/memory-pager@1.5.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/mongoose-legacy-pluralize@1.0.2", - "dependsOn" : [ + "ref": "pkg:npm/mongoose-legacy-pluralize@1.0.2", + "dependsOn": [ "pkg:npm/mongoose@5.13.20" ] }, { - "ref" : "pkg:npm/mpath@0.8.4", - "dependsOn" : [ ] + "ref": "pkg:npm/mpath@0.8.4", + "dependsOn": [] }, { - "ref" : "pkg:npm/mquery@3.2.5", - "dependsOn" : [ + "ref": "pkg:npm/mquery@3.2.5", + "dependsOn": [ "pkg:npm/bluebird@3.5.1", "pkg:npm/debug@3.1.0", "pkg:npm/regexp-clone@1.0.0", @@ -1690,32 +1683,32 @@ ] }, { - "ref" : "pkg:npm/bluebird@3.5.1", - "dependsOn" : [ ] + "ref": "pkg:npm/bluebird@3.5.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/regexp-clone@1.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/regexp-clone@1.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/sliced@1.0.1", - "dependsOn" : [ ] + "ref": "pkg:npm/sliced@1.0.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/ms@2.1.2", - "dependsOn" : [ ] + "ref": "pkg:npm/ms@2.1.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/optional-require@1.0.3", - "dependsOn" : [ ] + "ref": "pkg:npm/optional-require@1.0.3", + "dependsOn": [] }, { - "ref" : "pkg:npm/sift@13.5.2", - "dependsOn" : [ ] + "ref": "pkg:npm/sift@13.5.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/nodemon@2.0.22", - "dependsOn" : [ + "ref": "pkg:npm/nodemon@2.0.22", + "dependsOn": [ "pkg:npm/chokidar@3.5.3", "pkg:npm/debug@3.2.7", "pkg:npm/ignore-by-default@1.0.1", @@ -1729,8 +1722,8 @@ ] }, { - "ref" : "pkg:npm/chokidar@3.5.3", - "dependsOn" : [ + "ref": "pkg:npm/chokidar@3.5.3", + "dependsOn": [ "pkg:npm/anymatch@3.1.3", "pkg:npm/braces@3.0.2", "pkg:npm/fsevents@2.3.2", @@ -1742,152 +1735,152 @@ ] }, { - "ref" : "pkg:npm/anymatch@3.1.3", - "dependsOn" : [ + "ref": "pkg:npm/anymatch@3.1.3", + "dependsOn": [ "pkg:npm/normalize-path@3.0.0", "pkg:npm/picomatch@2.3.1" ] }, { - "ref" : "pkg:npm/normalize-path@3.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/normalize-path@3.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/picomatch@2.3.1", - "dependsOn" : [ ] + "ref": "pkg:npm/picomatch@2.3.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/braces@3.0.2", - "dependsOn" : [ + "ref": "pkg:npm/braces@3.0.2", + "dependsOn": [ "pkg:npm/fill-range@7.0.1" ] }, { - "ref" : "pkg:npm/fill-range@7.0.1", - "dependsOn" : [ + "ref": "pkg:npm/fill-range@7.0.1", + "dependsOn": [ "pkg:npm/to-regex-range@5.0.1" ] }, { - "ref" : "pkg:npm/to-regex-range@5.0.1", - "dependsOn" : [ + "ref": "pkg:npm/to-regex-range@5.0.1", + "dependsOn": [ "pkg:npm/is-number@7.0.0" ] }, { - "ref" : "pkg:npm/is-number@7.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/is-number@7.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/fsevents@2.3.2", - "dependsOn" : [ ] + "ref": "pkg:npm/fsevents@2.3.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/glob-parent@5.1.2", - "dependsOn" : [ + "ref": "pkg:npm/glob-parent@5.1.2", + "dependsOn": [ "pkg:npm/is-glob@4.0.3" ] }, { - "ref" : "pkg:npm/is-glob@4.0.3", - "dependsOn" : [ + "ref": "pkg:npm/is-glob@4.0.3", + "dependsOn": [ "pkg:npm/is-extglob@2.1.1" ] }, { - "ref" : "pkg:npm/is-binary-path@2.1.0", - "dependsOn" : [ + "ref": "pkg:npm/is-binary-path@2.1.0", + "dependsOn": [ "pkg:npm/binary-extensions@2.2.0" ] }, { - "ref" : "pkg:npm/binary-extensions@2.2.0", - "dependsOn" : [ ] + "ref": "pkg:npm/binary-extensions@2.2.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/is-extglob@2.1.1", - "dependsOn" : [ ] + "ref": "pkg:npm/is-extglob@2.1.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/readdirp@3.6.0", - "dependsOn" : [ + "ref": "pkg:npm/readdirp@3.6.0", + "dependsOn": [ "pkg:npm/picomatch@2.3.1" ] }, { - "ref" : "pkg:npm/debug@3.2.7", - "dependsOn" : [ + "ref": "pkg:npm/debug@3.2.7", + "dependsOn": [ "pkg:npm/ms@2.1.3" ] }, { - "ref" : "pkg:npm/ignore-by-default@1.0.1", - "dependsOn" : [ ] + "ref": "pkg:npm/ignore-by-default@1.0.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/minimatch@3.1.2", - "dependsOn" : [ + "ref": "pkg:npm/minimatch@3.1.2", + "dependsOn": [ "pkg:npm/brace-expansion@1.1.11" ] }, { - "ref" : "pkg:npm/brace-expansion@1.1.11", - "dependsOn" : [ + "ref": "pkg:npm/brace-expansion@1.1.11", + "dependsOn": [ "pkg:npm/balanced-match@1.0.2", "pkg:npm/concat-map@0.0.1" ] }, { - "ref" : "pkg:npm/balanced-match@1.0.2", - "dependsOn" : [ ] + "ref": "pkg:npm/balanced-match@1.0.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/concat-map@0.0.1", - "dependsOn" : [ ] + "ref": "pkg:npm/concat-map@0.0.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/pstree.remy@1.1.8", - "dependsOn" : [ ] + "ref": "pkg:npm/pstree.remy@1.1.8", + "dependsOn": [] }, { - "ref" : "pkg:npm/simple-update-notifier@1.1.0", - "dependsOn" : [ + "ref": "pkg:npm/simple-update-notifier@1.1.0", + "dependsOn": [ "pkg:npm/semver@7.0.0" ] }, { - "ref" : "pkg:npm/semver@7.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/semver@7.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/supports-color@5.5.0", - "dependsOn" : [ + "ref": "pkg:npm/supports-color@5.5.0", + "dependsOn": [ "pkg:npm/has-flag@3.0.0" ] }, { - "ref" : "pkg:npm/has-flag@3.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/has-flag@3.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/touch@3.1.0", - "dependsOn" : [ + "ref": "pkg:npm/touch@3.1.0", + "dependsOn": [ "pkg:npm/nopt@1.0.10" ] }, { - "ref" : "pkg:npm/nopt@1.0.10", - "dependsOn" : [ + "ref": "pkg:npm/nopt@1.0.10", + "dependsOn": [ "pkg:npm/abbrev@1.1.1" ] }, { - "ref" : "pkg:npm/abbrev@1.1.1", - "dependsOn" : [ ] + "ref": "pkg:npm/abbrev@1.1.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/undefsafe@2.0.5", - "dependsOn" : [ ] + "ref": "pkg:npm/undefsafe@2.0.5", + "dependsOn": [] } ] } diff --git a/test/providers/tst_manifests/pyproject/pep621_ignore_and_extras/expected_component_sbom.json b/test/providers/tst_manifests/pyproject/pep621_ignore_and_extras/expected_component_sbom.json new file mode 100644 index 00000000..49fc7f43 --- /dev/null +++ b/test/providers/tst_manifests/pyproject/pep621_ignore_and_extras/expected_component_sbom.json @@ -0,0 +1,72 @@ +{ + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-10-01T00:00:00.000Z", + "component": { + "name": "test-project", + "version": "1.0.0", + "purl": "pkg:pypi/test-project@1.0.0", + "type": "application", + "bom-ref": "pkg:pypi/test-project@1.0.0" + } + }, + "components": [ + { + "name": "flask", + "version": "2.0.3", + "purl": "pkg:pypi/flask@2.0.3", + "type": "library", + "bom-ref": "pkg:pypi/flask@2.0.3" + }, + { + "name": "pywin32", + "version": "311", + "purl": "pkg:pypi/pywin32@311", + "type": "library", + "bom-ref": "pkg:pypi/pywin32@311" + }, + { + "name": "requests", + "version": "2.25.1", + "purl": "pkg:pypi/requests@2.25.1", + "type": "library", + "bom-ref": "pkg:pypi/requests@2.25.1" + }, + { + "name": "typing-extensions", + "version": "4.1.1", + "purl": "pkg:pypi/typing-extensions@4.1.1", + "type": "library", + "bom-ref": "pkg:pypi/typing-extensions@4.1.1" + } + ], + "dependencies": [ + { + "ref": "pkg:pypi/test-project@1.0.0", + "dependsOn": [ + "pkg:pypi/flask@2.0.3", + "pkg:pypi/pywin32@311", + "pkg:pypi/requests@2.25.1", + "pkg:pypi/typing-extensions@4.1.1" + ] + }, + { + "ref": "pkg:pypi/flask@2.0.3", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/pywin32@311", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/requests@2.25.1", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/typing-extensions@4.1.1", + "dependsOn": [] + } + ] +} \ No newline at end of file diff --git a/test/providers/tst_manifests/pyproject/pep621_ignore_and_extras/expected_stack_sbom.json b/test/providers/tst_manifests/pyproject/pep621_ignore_and_extras/expected_stack_sbom.json new file mode 100644 index 00000000..d7a29d9b --- /dev/null +++ b/test/providers/tst_manifests/pyproject/pep621_ignore_and_extras/expected_stack_sbom.json @@ -0,0 +1,183 @@ +{ + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-10-01T00:00:00.000Z", + "component": { + "name": "test-project", + "version": "1.0.0", + "purl": "pkg:pypi/test-project@1.0.0", + "type": "application", + "bom-ref": "pkg:pypi/test-project@1.0.0" + } + }, + "components": [ + { + "name": "flask", + "version": "2.0.3", + "purl": "pkg:pypi/flask@2.0.3", + "type": "library", + "bom-ref": "pkg:pypi/flask@2.0.3" + }, + { + "name": "click", + "version": "8.3.1", + "purl": "pkg:pypi/click@8.3.1", + "type": "library", + "bom-ref": "pkg:pypi/click@8.3.1" + }, + { + "name": "colorama", + "version": "0.4.6", + "purl": "pkg:pypi/colorama@0.4.6", + "type": "library", + "bom-ref": "pkg:pypi/colorama@0.4.6" + }, + { + "name": "itsdangerous", + "version": "2.0.1", + "purl": "pkg:pypi/itsdangerous@2.0.1", + "type": "library", + "bom-ref": "pkg:pypi/itsdangerous@2.0.1" + }, + { + "name": "jinja2", + "version": "3.0.3", + "purl": "pkg:pypi/jinja2@3.0.3", + "type": "library", + "bom-ref": "pkg:pypi/jinja2@3.0.3" + }, + { + "name": "werkzeug", + "version": "2.0.3", + "purl": "pkg:pypi/werkzeug@2.0.3", + "type": "library", + "bom-ref": "pkg:pypi/werkzeug@2.0.3" + }, + { + "name": "pywin32", + "version": "311", + "purl": "pkg:pypi/pywin32@311", + "type": "library", + "bom-ref": "pkg:pypi/pywin32@311" + }, + { + "name": "requests", + "version": "2.25.1", + "purl": "pkg:pypi/requests@2.25.1", + "type": "library", + "bom-ref": "pkg:pypi/requests@2.25.1" + }, + { + "name": "certifi", + "version": "2023.7.22", + "purl": "pkg:pypi/certifi@2023.7.22", + "type": "library", + "bom-ref": "pkg:pypi/certifi@2023.7.22" + }, + { + "name": "chardet", + "version": "4.0.0", + "purl": "pkg:pypi/chardet@4.0.0", + "type": "library", + "bom-ref": "pkg:pypi/chardet@4.0.0" + }, + { + "name": "idna", + "version": "2.10", + "purl": "pkg:pypi/idna@2.10", + "type": "library", + "bom-ref": "pkg:pypi/idna@2.10" + }, + { + "name": "urllib3", + "version": "1.26.16", + "purl": "pkg:pypi/urllib3@1.26.16", + "type": "library", + "bom-ref": "pkg:pypi/urllib3@1.26.16" + }, + { + "name": "typing-extensions", + "version": "4.1.1", + "purl": "pkg:pypi/typing-extensions@4.1.1", + "type": "library", + "bom-ref": "pkg:pypi/typing-extensions@4.1.1" + } + ], + "dependencies": [ + { + "ref": "pkg:pypi/test-project@1.0.0", + "dependsOn": [ + "pkg:pypi/flask@2.0.3", + "pkg:pypi/pywin32@311", + "pkg:pypi/requests@2.25.1", + "pkg:pypi/typing-extensions@4.1.1" + ] + }, + { + "ref": "pkg:pypi/flask@2.0.3", + "dependsOn": [ + "pkg:pypi/click@8.3.1", + "pkg:pypi/itsdangerous@2.0.1", + "pkg:pypi/jinja2@3.0.3", + "pkg:pypi/werkzeug@2.0.3" + ] + }, + { + "ref": "pkg:pypi/click@8.3.1", + "dependsOn": [ + "pkg:pypi/colorama@0.4.6" + ] + }, + { + "ref": "pkg:pypi/colorama@0.4.6", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/itsdangerous@2.0.1", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/jinja2@3.0.3", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/werkzeug@2.0.3", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/pywin32@311", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/requests@2.25.1", + "dependsOn": [ + "pkg:pypi/certifi@2023.7.22", + "pkg:pypi/chardet@4.0.0", + "pkg:pypi/idna@2.10", + "pkg:pypi/urllib3@1.26.16" + ] + }, + { + "ref": "pkg:pypi/certifi@2023.7.22", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/chardet@4.0.0", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/idna@2.10", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/urllib3@1.26.16", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/typing-extensions@4.1.1", + "dependsOn": [] + } + ] +} \ No newline at end of file diff --git a/test/providers/tst_manifests/pyproject/pep621_ignore_and_extras/pyproject.toml b/test/providers/tst_manifests/pyproject/pep621_ignore_and_extras/pyproject.toml new file mode 100644 index 00000000..4317a63b --- /dev/null +++ b/test/providers/tst_manifests/pyproject/pep621_ignore_and_extras/pyproject.toml @@ -0,0 +1,11 @@ +[project] +name = "test-project" +version = "1.0.0" +dependencies = [ + "Flask==2.0.3", + "typing_extensions==4.1.1", + "uvicorn[standard]==0.17.0", # trustify-da-ignore + "MarkupSafe==2.0.1", #exhortignore + "requests==2.25.1", + "pywin32==311; sys_platform == 'win32'", +] diff --git a/test/providers/tst_manifests/pyproject/pep621_ignore_and_extras/uv.lock b/test/providers/tst_manifests/pyproject/pep621_ignore_and_extras/uv.lock new file mode 100644 index 00000000..a9037e44 --- /dev/null +++ b/test/providers/tst_manifests/pyproject/pep621_ignore_and_extras/uv.lock @@ -0,0 +1,361 @@ +version = 1 +revision = 3 +requires-python = ">=3.13" + +[[package]] +name = "anyio" +version = "3.7.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "idna" }, + { name = "sniffio" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/28/99/2dfd53fd55ce9838e6ff2d4dac20ce58263798bd1a0dbe18b3a9af3fcfce/anyio-3.7.1.tar.gz", hash = "sha256:44a3c9aba0f5defa43261a8b3efb97891f2bd7d804e0e1f56419befa1adfc780", size = 142927, upload-time = "2023-07-05T16:45:02.294Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/19/24/44299477fe7dcc9cb58d0a57d5a7588d6af2ff403fdd2d47a246c91a3246/anyio-3.7.1-py3-none-any.whl", hash = "sha256:91dee416e570e92c64041bd18b900d1d6fa78dff7048769ce5ac5ddad004fbb5", size = 80896, upload-time = "2023-07-05T16:44:59.805Z" }, +] + +[[package]] +name = "asgiref" +version = "3.11.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/63/40/f03da1264ae8f7cfdbf9146542e5e7e8100a4c66ab48e791df9a03d3f6c0/asgiref-3.11.1.tar.gz", hash = "sha256:5f184dc43b7e763efe848065441eac62229c9f7b0475f41f80e207a114eda4ce", size = 38550, upload-time = "2026-02-03T13:30:14.33Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5c/0a/a72d10ed65068e115044937873362e6e32fab1b7dce0046aeb224682c989/asgiref-3.11.1-py3-none-any.whl", hash = "sha256:e8667a091e69529631969fd45dc268fa79b99c92c5fcdda727757e52146ec133", size = 24345, upload-time = "2026-02-03T13:30:13.039Z" }, +] + +[[package]] +name = "certifi" +version = "2023.7.22" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/98/98/c2ff18671db109c9f10ed27f5ef610ae05b73bd876664139cf95bd1429aa/certifi-2023.7.22.tar.gz", hash = "sha256:539cc1d13202e33ca466e88b2807e29f4c13049d6d87031a3c110744495cb082", size = 159517, upload-time = "2023-07-22T08:39:27.482Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4c/dd/2234eab22353ffc7d94e8d13177aaa050113286e93e7b40eae01fbf7c3d9/certifi-2023.7.22-py3-none-any.whl", hash = "sha256:92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9", size = 158334, upload-time = "2023-07-22T08:39:25.345Z" }, +] + +[[package]] +name = "chardet" +version = "4.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ee/2d/9cdc2b527e127b4c9db64b86647d567985940ac3698eeabc7ffaccb4ea61/chardet-4.0.0.tar.gz", hash = "sha256:0d6f53a15db4120f2b08c94f11e7d93d2c911ee118b6b30a04ec3ee8310179fa", size = 1907771, upload-time = "2020-12-10T19:35:33.971Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/19/c7/fa589626997dd07bd87d9269342ccb74b1720384a4d739a1872bd84fbe68/chardet-4.0.0-py2.py3-none-any.whl", hash = "sha256:f864054d66fd9118f2e67044ac8981a54775ec5b67aed0441892edb553d21da5", size = 178743, upload-time = "2020-12-10T19:35:32.469Z" }, +] + +[[package]] +name = "click" +version = "8.3.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/3d/fa/656b739db8587d7b5dfa22e22ed02566950fbfbcdc20311993483657a5c0/click-8.3.1.tar.gz", hash = "sha256:12ff4785d337a1bb490bb7e9c2b1ee5da3112e94a8622f26a6c77f5d2fc6842a", size = 295065, upload-time = "2025-11-15T20:45:42.706Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/98/78/01c019cdb5d6498122777c1a43056ebb3ebfeef2076d9d026bfe15583b2b/click-8.3.1-py3-none-any.whl", hash = "sha256:981153a64e25f12d547d3426c367a4857371575ee7ad18df2a6183ab0545b2a6", size = 108274, upload-time = "2025-11-15T20:45:41.139Z" }, +] + +[[package]] +name = "colorama" +version = "0.4.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload-time = "2022-10-25T02:36:22.414Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" }, +] + +[[package]] +name = "flask" +version = "2.0.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "click" }, + { name = "itsdangerous" }, + { name = "jinja2" }, + { name = "werkzeug" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/84/9d/66347e6b3e2eb78647392d3969c23bdc2d8b2fdc32bd078c817c15cb81ad/Flask-2.0.3.tar.gz", hash = "sha256:e1120c228ca2f553b470df4a5fa927ab66258467526069981b3eb0a91902687d", size = 629304, upload-time = "2022-02-14T20:01:09.281Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cd/77/59df23681f4fd19b7cbbb5e92484d46ad587554f5d490f33ef907e456132/Flask-2.0.3-py3-none-any.whl", hash = "sha256:59da8a3170004800a2837844bfa84d49b022550616070f7cb1a659682b2e7c9f", size = 95575, upload-time = "2022-02-14T20:01:06.923Z" }, +] + +[[package]] +name = "h11" +version = "0.16.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/01/ee/02a2c011bdab74c6fb3c75474d40b3052059d95df7e73351460c8588d963/h11-0.16.0.tar.gz", hash = "sha256:4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1", size = 101250, upload-time = "2025-04-24T03:35:25.427Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl", hash = "sha256:63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86", size = 37515, upload-time = "2025-04-24T03:35:24.344Z" }, +] + +[[package]] +name = "httptools" +version = "0.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/5b/0c/649c671aaf8c22bffd48e2c5e3fdd1fe24be5cb10042073ed6f6183e2cd3/httptools-0.3.0.tar.gz", hash = "sha256:3f9b4856d46ba1f0c850f4e84b264a9a8b4460acb20e865ec00978ad9fbaa4cf", size = 170395, upload-time = "2021-08-10T18:49:49.544Z" } + +[[package]] +name = "idna" +version = "2.10" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ea/b7/e0e3c1c467636186c39925827be42f16fee389dc404ac29e930e9136be70/idna-2.10.tar.gz", hash = "sha256:b307872f855b18632ce0c21c5e45be78c0ea7ae4c15c828c20788b26921eb3f6", size = 175616, upload-time = "2020-06-27T23:45:05.21Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a2/38/928ddce2273eaa564f6f50de919327bf3a00f091b5baba8dfa9460f3a8a8/idna-2.10-py2.py3-none-any.whl", hash = "sha256:b97d804b1e9b523befed77c48dacec60e6dcb0b5391d57af6a65a312a90648c0", size = 58811, upload-time = "2020-06-27T23:45:03.457Z" }, +] + +[[package]] +name = "itsdangerous" +version = "2.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/58/66/d6c5859dcac92b442626427a8c7a42322068c5cd5d4a463ce78b93f730b7/itsdangerous-2.0.1.tar.gz", hash = "sha256:9e724d68fc22902a1435351f84c3fb8623f303fffcc566a4cb952df8c572cff0", size = 59336, upload-time = "2021-05-18T15:09:44.532Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9c/96/26f935afba9cd6140216da5add223a0c465b99d0f112b68a4ca426441019/itsdangerous-2.0.1-py3-none-any.whl", hash = "sha256:5174094b9637652bdb841a3029700391451bd092ba3db90600dea710ba28e97c", size = 18326, upload-time = "2021-05-18T15:09:42.542Z" }, +] + +[[package]] +name = "jinja2" +version = "3.0.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markupsafe" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/91/a5/429efc6246119e1e3fbf562c00187d04e83e54619249eb732bb423efa6c6/Jinja2-3.0.3.tar.gz", hash = "sha256:611bb273cd68f3b993fabdc4064fc858c5b47a973cb5aa7999ec1ba405c87cd7", size = 269196, upload-time = "2021-11-09T20:27:29.541Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/20/9a/e5d9ec41927401e41aea8af6d16e78b5e612bca4699d417f646a9610a076/Jinja2-3.0.3-py3-none-any.whl", hash = "sha256:077ce6014f7b40d03b47d1f1ca4b0fc8328a692bd284016f806ed0eaca390ad8", size = 133630, upload-time = "2021-11-09T20:27:27.116Z" }, +] + +[[package]] +name = "markupsafe" +version = "2.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/bf/10/ff66fea6d1788c458663a84d88787bae15d45daa16f6b3ef33322a51fc7e/MarkupSafe-2.0.1.tar.gz", hash = "sha256:594c67807fb16238b30c44bdf74f36c02cdf22d1c8cda91ef8a0ed8dabf5620a", size = 18596, upload-time = "2021-05-18T17:18:22.856Z" } + +[[package]] +name = "python-dotenv" +version = "1.2.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/82/ed/0301aeeac3e5353ef3d94b6ec08bbcabd04a72018415dcb29e588514bba8/python_dotenv-1.2.2.tar.gz", hash = "sha256:2c371a91fbd7ba082c2c1dc1f8bf89ca22564a087c2c287cd9b662adde799cf3", size = 50135, upload-time = "2026-03-01T16:00:26.196Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0b/d7/1959b9648791274998a9c3526f6d0ec8fd2233e4d4acce81bbae76b44b2a/python_dotenv-1.2.2-py3-none-any.whl", hash = "sha256:1d8214789a24de455a8b8bd8ae6fe3c6b69a5e3d64aa8a8e5d68e694bbcb285a", size = 22101, upload-time = "2026-03-01T16:00:25.09Z" }, +] + +[[package]] +name = "pywin32" +version = "311" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a5/be/3fd5de0979fcb3994bfee0d65ed8ca9506a8a1260651b86174f6a86f52b3/pywin32-311-cp313-cp313-win32.whl", hash = "sha256:f95ba5a847cba10dd8c4d8fefa9f2a6cf283b8b88ed6178fa8a6c1ab16054d0d", size = 8705700, upload-time = "2025-07-14T20:13:26.471Z" }, + { url = "https://files.pythonhosted.org/packages/e3/28/e0a1909523c6890208295a29e05c2adb2126364e289826c0a8bc7297bd5c/pywin32-311-cp313-cp313-win_amd64.whl", hash = "sha256:718a38f7e5b058e76aee1c56ddd06908116d35147e133427e59a3983f703a20d", size = 9494700, upload-time = "2025-07-14T20:13:28.243Z" }, + { url = "https://files.pythonhosted.org/packages/04/bf/90339ac0f55726dce7d794e6d79a18a91265bdf3aa70b6b9ca52f35e022a/pywin32-311-cp313-cp313-win_arm64.whl", hash = "sha256:7b4075d959648406202d92a2310cb990fea19b535c7f4a78d3f5e10b926eeb8a", size = 8709318, upload-time = "2025-07-14T20:13:30.348Z" }, + { url = "https://files.pythonhosted.org/packages/c9/31/097f2e132c4f16d99a22bfb777e0fd88bd8e1c634304e102f313af69ace5/pywin32-311-cp314-cp314-win32.whl", hash = "sha256:b7a2c10b93f8986666d0c803ee19b5990885872a7de910fc460f9b0c2fbf92ee", size = 8840714, upload-time = "2025-07-14T20:13:32.449Z" }, + { url = "https://files.pythonhosted.org/packages/90/4b/07c77d8ba0e01349358082713400435347df8426208171ce297da32c313d/pywin32-311-cp314-cp314-win_amd64.whl", hash = "sha256:3aca44c046bd2ed8c90de9cb8427f581c479e594e99b5c0bb19b29c10fd6cb87", size = 9656800, upload-time = "2025-07-14T20:13:34.312Z" }, + { url = "https://files.pythonhosted.org/packages/c0/d2/21af5c535501a7233e734b8af901574572da66fcc254cb35d0609c9080dd/pywin32-311-cp314-cp314-win_arm64.whl", hash = "sha256:a508e2d9025764a8270f93111a970e1d0fbfc33f4153b388bb649b7eec4f9b42", size = 8932540, upload-time = "2025-07-14T20:13:36.379Z" }, +] + +[[package]] +name = "pyyaml" +version = "6.0.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz", hash = "sha256:d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f", size = 130960, upload-time = "2025-09-25T21:33:16.546Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/11/0fd08f8192109f7169db964b5707a2f1e8b745d4e239b784a5a1dd80d1db/pyyaml-6.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8da9669d359f02c0b91ccc01cac4a67f16afec0dac22c2ad09f46bee0697eba8", size = 181669, upload-time = "2025-09-25T21:32:23.673Z" }, + { url = "https://files.pythonhosted.org/packages/b1/16/95309993f1d3748cd644e02e38b75d50cbc0d9561d21f390a76242ce073f/pyyaml-6.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:2283a07e2c21a2aa78d9c4442724ec1eb15f5e42a723b99cb3d822d48f5f7ad1", size = 173252, upload-time = "2025-09-25T21:32:25.149Z" }, + { url = "https://files.pythonhosted.org/packages/50/31/b20f376d3f810b9b2371e72ef5adb33879b25edb7a6d072cb7ca0c486398/pyyaml-6.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ee2922902c45ae8ccada2c5b501ab86c36525b883eff4255313a253a3160861c", size = 767081, upload-time = "2025-09-25T21:32:26.575Z" }, + { url = "https://files.pythonhosted.org/packages/49/1e/a55ca81e949270d5d4432fbbd19dfea5321eda7c41a849d443dc92fd1ff7/pyyaml-6.0.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a33284e20b78bd4a18c8c2282d549d10bc8408a2a7ff57653c0cf0b9be0afce5", size = 841159, upload-time = "2025-09-25T21:32:27.727Z" }, + { url = "https://files.pythonhosted.org/packages/74/27/e5b8f34d02d9995b80abcef563ea1f8b56d20134d8f4e5e81733b1feceb2/pyyaml-6.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0f29edc409a6392443abf94b9cf89ce99889a1dd5376d94316ae5145dfedd5d6", size = 801626, upload-time = "2025-09-25T21:32:28.878Z" }, + { url = "https://files.pythonhosted.org/packages/f9/11/ba845c23988798f40e52ba45f34849aa8a1f2d4af4b798588010792ebad6/pyyaml-6.0.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f7057c9a337546edc7973c0d3ba84ddcdf0daa14533c2065749c9075001090e6", size = 753613, upload-time = "2025-09-25T21:32:30.178Z" }, + { url = "https://files.pythonhosted.org/packages/3d/e0/7966e1a7bfc0a45bf0a7fb6b98ea03fc9b8d84fa7f2229e9659680b69ee3/pyyaml-6.0.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:eda16858a3cab07b80edaf74336ece1f986ba330fdb8ee0d6c0d68fe82bc96be", size = 794115, upload-time = "2025-09-25T21:32:31.353Z" }, + { url = "https://files.pythonhosted.org/packages/de/94/980b50a6531b3019e45ddeada0626d45fa85cbe22300844a7983285bed3b/pyyaml-6.0.3-cp313-cp313-win32.whl", hash = "sha256:d0eae10f8159e8fdad514efdc92d74fd8d682c933a6dd088030f3834bc8e6b26", size = 137427, upload-time = "2025-09-25T21:32:32.58Z" }, + { url = "https://files.pythonhosted.org/packages/97/c9/39d5b874e8b28845e4ec2202b5da735d0199dbe5b8fb85f91398814a9a46/pyyaml-6.0.3-cp313-cp313-win_amd64.whl", hash = "sha256:79005a0d97d5ddabfeeea4cf676af11e647e41d81c9a7722a193022accdb6b7c", size = 154090, upload-time = "2025-09-25T21:32:33.659Z" }, + { url = "https://files.pythonhosted.org/packages/73/e8/2bdf3ca2090f68bb3d75b44da7bbc71843b19c9f2b9cb9b0f4ab7a5a4329/pyyaml-6.0.3-cp313-cp313-win_arm64.whl", hash = "sha256:5498cd1645aa724a7c71c8f378eb29ebe23da2fc0d7a08071d89469bf1d2defb", size = 140246, upload-time = "2025-09-25T21:32:34.663Z" }, + { url = "https://files.pythonhosted.org/packages/9d/8c/f4bd7f6465179953d3ac9bc44ac1a8a3e6122cf8ada906b4f96c60172d43/pyyaml-6.0.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:8d1fab6bb153a416f9aeb4b8763bc0f22a5586065f86f7664fc23339fc1c1fac", size = 181814, upload-time = "2025-09-25T21:32:35.712Z" }, + { url = "https://files.pythonhosted.org/packages/bd/9c/4d95bb87eb2063d20db7b60faa3840c1b18025517ae857371c4dd55a6b3a/pyyaml-6.0.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:34d5fcd24b8445fadc33f9cf348c1047101756fd760b4dacb5c3e99755703310", size = 173809, upload-time = "2025-09-25T21:32:36.789Z" }, + { url = "https://files.pythonhosted.org/packages/92/b5/47e807c2623074914e29dabd16cbbdd4bf5e9b2db9f8090fa64411fc5382/pyyaml-6.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:501a031947e3a9025ed4405a168e6ef5ae3126c59f90ce0cd6f2bfc477be31b7", size = 766454, upload-time = "2025-09-25T21:32:37.966Z" }, + { url = "https://files.pythonhosted.org/packages/02/9e/e5e9b168be58564121efb3de6859c452fccde0ab093d8438905899a3a483/pyyaml-6.0.3-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:b3bc83488de33889877a0f2543ade9f70c67d66d9ebb4ac959502e12de895788", size = 836355, upload-time = "2025-09-25T21:32:39.178Z" }, + { url = "https://files.pythonhosted.org/packages/88/f9/16491d7ed2a919954993e48aa941b200f38040928474c9e85ea9e64222c3/pyyaml-6.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c458b6d084f9b935061bc36216e8a69a7e293a2f1e68bf956dcd9e6cbcd143f5", size = 794175, upload-time = "2025-09-25T21:32:40.865Z" }, + { url = "https://files.pythonhosted.org/packages/dd/3f/5989debef34dc6397317802b527dbbafb2b4760878a53d4166579111411e/pyyaml-6.0.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7c6610def4f163542a622a73fb39f534f8c101d690126992300bf3207eab9764", size = 755228, upload-time = "2025-09-25T21:32:42.084Z" }, + { url = "https://files.pythonhosted.org/packages/d7/ce/af88a49043cd2e265be63d083fc75b27b6ed062f5f9fd6cdc223ad62f03e/pyyaml-6.0.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:5190d403f121660ce8d1d2c1bb2ef1bd05b5f68533fc5c2ea899bd15f4399b35", size = 789194, upload-time = "2025-09-25T21:32:43.362Z" }, + { url = "https://files.pythonhosted.org/packages/23/20/bb6982b26a40bb43951265ba29d4c246ef0ff59c9fdcdf0ed04e0687de4d/pyyaml-6.0.3-cp314-cp314-win_amd64.whl", hash = "sha256:4a2e8cebe2ff6ab7d1050ecd59c25d4c8bd7e6f400f5f82b96557ac0abafd0ac", size = 156429, upload-time = "2025-09-25T21:32:57.844Z" }, + { url = "https://files.pythonhosted.org/packages/f4/f4/a4541072bb9422c8a883ab55255f918fa378ecf083f5b85e87fc2b4eda1b/pyyaml-6.0.3-cp314-cp314-win_arm64.whl", hash = "sha256:93dda82c9c22deb0a405ea4dc5f2d0cda384168e466364dec6255b293923b2f3", size = 143912, upload-time = "2025-09-25T21:32:59.247Z" }, + { url = "https://files.pythonhosted.org/packages/7c/f9/07dd09ae774e4616edf6cda684ee78f97777bdd15847253637a6f052a62f/pyyaml-6.0.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:02893d100e99e03eda1c8fd5c441d8c60103fd175728e23e431db1b589cf5ab3", size = 189108, upload-time = "2025-09-25T21:32:44.377Z" }, + { url = "https://files.pythonhosted.org/packages/4e/78/8d08c9fb7ce09ad8c38ad533c1191cf27f7ae1effe5bb9400a46d9437fcf/pyyaml-6.0.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:c1ff362665ae507275af2853520967820d9124984e0f7466736aea23d8611fba", size = 183641, upload-time = "2025-09-25T21:32:45.407Z" }, + { url = "https://files.pythonhosted.org/packages/7b/5b/3babb19104a46945cf816d047db2788bcaf8c94527a805610b0289a01c6b/pyyaml-6.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6adc77889b628398debc7b65c073bcb99c4a0237b248cacaf3fe8a557563ef6c", size = 831901, upload-time = "2025-09-25T21:32:48.83Z" }, + { url = "https://files.pythonhosted.org/packages/8b/cc/dff0684d8dc44da4d22a13f35f073d558c268780ce3c6ba1b87055bb0b87/pyyaml-6.0.3-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a80cb027f6b349846a3bf6d73b5e95e782175e52f22108cfa17876aaeff93702", size = 861132, upload-time = "2025-09-25T21:32:50.149Z" }, + { url = "https://files.pythonhosted.org/packages/b1/5e/f77dc6b9036943e285ba76b49e118d9ea929885becb0a29ba8a7c75e29fe/pyyaml-6.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:00c4bdeba853cc34e7dd471f16b4114f4162dc03e6b7afcc2128711f0eca823c", size = 839261, upload-time = "2025-09-25T21:32:51.808Z" }, + { url = "https://files.pythonhosted.org/packages/ce/88/a9db1376aa2a228197c58b37302f284b5617f56a5d959fd1763fb1675ce6/pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:66e1674c3ef6f541c35191caae2d429b967b99e02040f5ba928632d9a7f0f065", size = 805272, upload-time = "2025-09-25T21:32:52.941Z" }, + { url = "https://files.pythonhosted.org/packages/da/92/1446574745d74df0c92e6aa4a7b0b3130706a4142b2d1a5869f2eaa423c6/pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:16249ee61e95f858e83976573de0f5b2893b3677ba71c9dd36b9cf8be9ac6d65", size = 829923, upload-time = "2025-09-25T21:32:54.537Z" }, + { url = "https://files.pythonhosted.org/packages/f0/7a/1c7270340330e575b92f397352af856a8c06f230aa3e76f86b39d01b416a/pyyaml-6.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:4ad1906908f2f5ae4e5a8ddfce73c320c2a1429ec52eafd27138b7f1cbe341c9", size = 174062, upload-time = "2025-09-25T21:32:55.767Z" }, + { url = "https://files.pythonhosted.org/packages/f1/12/de94a39c2ef588c7e6455cfbe7343d3b2dc9d6b6b2f40c4c6565744c873d/pyyaml-6.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:ebc55a14a21cb14062aa4162f906cd962b28e2e9ea38f9b4391244cd8de4ae0b", size = 149341, upload-time = "2025-09-25T21:32:56.828Z" }, +] + +[[package]] +name = "requests" +version = "2.25.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "chardet" }, + { name = "idna" }, + { name = "urllib3" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/6b/47/c14abc08432ab22dc18b9892252efaf005ab44066de871e72a38d6af464b/requests-2.25.1.tar.gz", hash = "sha256:27973dd4a904a4f13b263a19c866c13b92a39ed1c964655f025f3f8d3d75b804", size = 102161, upload-time = "2020-12-16T19:38:36.779Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/29/c1/24814557f1d22c56d50280771a17307e6bf87b70727d975fd6b2ce6b014a/requests-2.25.1-py2.py3-none-any.whl", hash = "sha256:c210084e36a42ae6b9219e00e48287def368a26d03a048ddad7bfee44f75871e", size = 61216, upload-time = "2020-12-16T19:38:34.329Z" }, +] + +[[package]] +name = "sniffio" +version = "1.3.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a2/87/a6771e1546d97e7e041b6ae58d80074f81b7d5121207425c964ddf5cfdbd/sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc", size = 20372, upload-time = "2024-02-25T23:20:04.057Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235, upload-time = "2024-02-25T23:20:01.196Z" }, +] + +[[package]] +name = "test-project" +version = "1.0.0" +source = { virtual = "." } +dependencies = [ + { name = "flask" }, + { name = "markupsafe" }, + { name = "pywin32", marker = "sys_platform == 'win32'" }, + { name = "requests" }, + { name = "typing-extensions" }, + { name = "uvicorn", extra = ["standard"] }, +] + +[package.metadata] +requires-dist = [ + { name = "flask", specifier = "==2.0.3" }, + { name = "markupsafe", specifier = "==2.0.1" }, + { name = "pywin32", marker = "sys_platform == 'win32'", specifier = "==311" }, + { name = "requests", specifier = "==2.25.1" }, + { name = "typing-extensions", specifier = "==4.1.1" }, + { name = "uvicorn", extras = ["standard"], specifier = "==0.17.0" }, +] + +[[package]] +name = "typing-extensions" +version = "4.1.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b1/5a/8b5fbb891ef3f81fc923bf3cb4a578c0abf9471eb50ce0f51c74212182ab/typing_extensions-4.1.1.tar.gz", hash = "sha256:1a9462dcc3347a79b1f1c0271fbe79e844580bb598bafa1ed208b94da3cdcd42", size = 26694, upload-time = "2022-02-14T03:19:57.426Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/45/6b/44f7f8f1e110027cf88956b59f2fad776cca7e1704396d043f89effd3a0e/typing_extensions-4.1.1-py3-none-any.whl", hash = "sha256:21c85e0fe4b9a155d0799430b0ad741cdce7e359660ccbd8b530613e8df88ce2", size = 26844, upload-time = "2022-02-14T03:19:55.773Z" }, +] + +[[package]] +name = "urllib3" +version = "1.26.16" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e2/7d/539e6f0cf9f0b95b71dd701a56dae89f768cd39fd8ce0096af3546aeb5a3/urllib3-1.26.16.tar.gz", hash = "sha256:8f135f6502756bde6b2a9b28989df5fbe87c9970cecaa69041edcce7f0589b14", size = 303733, upload-time = "2023-05-23T12:18:43.917Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c5/05/c214b32d21c0b465506f95c4f28ccbcba15022e000b043b72b3df7728471/urllib3-1.26.16-py2.py3-none-any.whl", hash = "sha256:8d36afa7616d8ab714608411b4a3b13e58f463aee519024578e062e141dce20f", size = 143106, upload-time = "2023-05-23T12:18:41.548Z" }, +] + +[[package]] +name = "uvicorn" +version = "0.17.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "asgiref" }, + { name = "click" }, + { name = "h11" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/82/50/3c1ae075f624dbbd5beae39c55189e316f96b4175e5f62c4c946124cf1f5/uvicorn-0.17.0.tar.gz", hash = "sha256:192c2422b056a3beb512c6c260bf77a7a884204a4ae41856719c1913ead63bbb", size = 39362, upload-time = "2022-01-14T10:45:41.982Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a0/bb/1f93757efc22e6e047021dd10255ae471e7930cfc1676ad18b9c70de48e5/uvicorn-0.17.0-py3-none-any.whl", hash = "sha256:0b89c91bb8fe84c4bded9996af13c4b8c0de799d29bffeaa0c8ad298f2be0934", size = 54828, upload-time = "2022-01-14T10:45:40.86Z" }, +] + +[package.optional-dependencies] +standard = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "httptools" }, + { name = "python-dotenv" }, + { name = "pyyaml" }, + { name = "uvloop", marker = "platform_python_implementation != 'PyPy' and sys_platform != 'cygwin' and sys_platform != 'win32'" }, + { name = "watchgod" }, + { name = "websockets" }, +] + +[[package]] +name = "uvloop" +version = "0.22.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/06/f0/18d39dbd1971d6d62c4629cc7fa67f74821b0dc1f5a77af43719de7936a7/uvloop-0.22.1.tar.gz", hash = "sha256:6c84bae345b9147082b17371e3dd5d42775bddce91f885499017f4607fdaf39f", size = 2443250, upload-time = "2025-10-16T22:17:19.342Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/89/8c/182a2a593195bfd39842ea68ebc084e20c850806117213f5a299dfc513d9/uvloop-0.22.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:561577354eb94200d75aca23fbde86ee11be36b00e52a4eaf8f50fb0c86b7705", size = 1358611, upload-time = "2025-10-16T22:16:36.833Z" }, + { url = "https://files.pythonhosted.org/packages/d2/14/e301ee96a6dc95224b6f1162cd3312f6d1217be3907b79173b06785f2fe7/uvloop-0.22.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:1cdf5192ab3e674ca26da2eada35b288d2fa49fdd0f357a19f0e7c4e7d5077c8", size = 751811, upload-time = "2025-10-16T22:16:38.275Z" }, + { url = "https://files.pythonhosted.org/packages/b7/02/654426ce265ac19e2980bfd9ea6590ca96a56f10c76e63801a2df01c0486/uvloop-0.22.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6e2ea3d6190a2968f4a14a23019d3b16870dd2190cd69c8180f7c632d21de68d", size = 4288562, upload-time = "2025-10-16T22:16:39.375Z" }, + { url = "https://files.pythonhosted.org/packages/15/c0/0be24758891ef825f2065cd5db8741aaddabe3e248ee6acc5e8a80f04005/uvloop-0.22.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0530a5fbad9c9e4ee3f2b33b148c6a64d47bbad8000ea63704fa8260f4cf728e", size = 4366890, upload-time = "2025-10-16T22:16:40.547Z" }, + { url = "https://files.pythonhosted.org/packages/d2/53/8369e5219a5855869bcee5f4d317f6da0e2c669aecf0ef7d371e3d084449/uvloop-0.22.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:bc5ef13bbc10b5335792360623cc378d52d7e62c2de64660616478c32cd0598e", size = 4119472, upload-time = "2025-10-16T22:16:41.694Z" }, + { url = "https://files.pythonhosted.org/packages/f8/ba/d69adbe699b768f6b29a5eec7b47dd610bd17a69de51b251126a801369ea/uvloop-0.22.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:1f38ec5e3f18c8a10ded09742f7fb8de0108796eb673f30ce7762ce1b8550cad", size = 4239051, upload-time = "2025-10-16T22:16:43.224Z" }, + { url = "https://files.pythonhosted.org/packages/90/cd/b62bdeaa429758aee8de8b00ac0dd26593a9de93d302bff3d21439e9791d/uvloop-0.22.1-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:3879b88423ec7e97cd4eba2a443aa26ed4e59b45e6b76aabf13fe2f27023a142", size = 1362067, upload-time = "2025-10-16T22:16:44.503Z" }, + { url = "https://files.pythonhosted.org/packages/0d/f8/a132124dfda0777e489ca86732e85e69afcd1ff7686647000050ba670689/uvloop-0.22.1-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:4baa86acedf1d62115c1dc6ad1e17134476688f08c6efd8a2ab076e815665c74", size = 752423, upload-time = "2025-10-16T22:16:45.968Z" }, + { url = "https://files.pythonhosted.org/packages/a3/94/94af78c156f88da4b3a733773ad5ba0b164393e357cc4bd0ab2e2677a7d6/uvloop-0.22.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:297c27d8003520596236bdb2335e6b3f649480bd09e00d1e3a99144b691d2a35", size = 4272437, upload-time = "2025-10-16T22:16:47.451Z" }, + { url = "https://files.pythonhosted.org/packages/b5/35/60249e9fd07b32c665192cec7af29e06c7cd96fa1d08b84f012a56a0b38e/uvloop-0.22.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c1955d5a1dd43198244d47664a5858082a3239766a839b2102a269aaff7a4e25", size = 4292101, upload-time = "2025-10-16T22:16:49.318Z" }, + { url = "https://files.pythonhosted.org/packages/02/62/67d382dfcb25d0a98ce73c11ed1a6fba5037a1a1d533dcbb7cab033a2636/uvloop-0.22.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:b31dc2fccbd42adc73bc4e7cdbae4fc5086cf378979e53ca5d0301838c5682c6", size = 4114158, upload-time = "2025-10-16T22:16:50.517Z" }, + { url = "https://files.pythonhosted.org/packages/f0/7a/f1171b4a882a5d13c8b7576f348acfe6074d72eaf52cccef752f748d4a9f/uvloop-0.22.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:93f617675b2d03af4e72a5333ef89450dfaa5321303ede6e67ba9c9d26878079", size = 4177360, upload-time = "2025-10-16T22:16:52.646Z" }, + { url = "https://files.pythonhosted.org/packages/79/7b/b01414f31546caf0919da80ad57cbfe24c56b151d12af68cee1b04922ca8/uvloop-0.22.1-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:37554f70528f60cad66945b885eb01f1bb514f132d92b6eeed1c90fd54ed6289", size = 1454790, upload-time = "2025-10-16T22:16:54.355Z" }, + { url = "https://files.pythonhosted.org/packages/d4/31/0bb232318dd838cad3fa8fb0c68c8b40e1145b32025581975e18b11fab40/uvloop-0.22.1-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:b76324e2dc033a0b2f435f33eb88ff9913c156ef78e153fb210e03c13da746b3", size = 796783, upload-time = "2025-10-16T22:16:55.906Z" }, + { url = "https://files.pythonhosted.org/packages/42/38/c9b09f3271a7a723a5de69f8e237ab8e7803183131bc57c890db0b6bb872/uvloop-0.22.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:badb4d8e58ee08dad957002027830d5c3b06aea446a6a3744483c2b3b745345c", size = 4647548, upload-time = "2025-10-16T22:16:57.008Z" }, + { url = "https://files.pythonhosted.org/packages/c1/37/945b4ca0ac27e3dc4952642d4c900edd030b3da6c9634875af6e13ae80e5/uvloop-0.22.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b91328c72635f6f9e0282e4a57da7470c7350ab1c9f48546c0f2866205349d21", size = 4467065, upload-time = "2025-10-16T22:16:58.206Z" }, + { url = "https://files.pythonhosted.org/packages/97/cc/48d232f33d60e2e2e0b42f4e73455b146b76ebe216487e862700457fbf3c/uvloop-0.22.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:daf620c2995d193449393d6c62131b3fbd40a63bf7b307a1527856ace637fe88", size = 4328384, upload-time = "2025-10-16T22:16:59.36Z" }, + { url = "https://files.pythonhosted.org/packages/e4/16/c1fd27e9549f3c4baf1dc9c20c456cd2f822dbf8de9f463824b0c0357e06/uvloop-0.22.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:6cde23eeda1a25c75b2e07d39970f3374105d5eafbaab2a4482be82f272d5a5e", size = 4296730, upload-time = "2025-10-16T22:17:00.744Z" }, +] + +[[package]] +name = "watchgod" +version = "0.8.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/e8/6e/3904af0715e03fc5b2636cb8cf8b0eabc45b1f2cf6e4cf8453ddb6d23042/watchgod-0.8.2.tar.gz", hash = "sha256:cb11ff66657befba94d828e3b622d5fb76f22fbda1376f355f3e6e51e97d9450", size = 13865, upload-time = "2022-04-01T12:18:05.163Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9f/60/cfd9150167cb8ec0ac07642fe1383d27300729e0b2b877ff89cb0862bbeb/watchgod-0.8.2-py3-none-any.whl", hash = "sha256:2f3e8137d98f493ff58af54ea00f4d1433a6afe2ed08ab331a657df468c6bfce", size = 12255, upload-time = "2022-04-01T12:18:03.879Z" }, +] + +[[package]] +name = "websockets" +version = "16.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/04/24/4b2031d72e840ce4c1ccb255f693b15c334757fc50023e4db9537080b8c4/websockets-16.0.tar.gz", hash = "sha256:5f6261a5e56e8d5c42a4497b364ea24d94d9563e8fbd44e78ac40879c60179b5", size = 179346, upload-time = "2026-01-10T09:23:47.181Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cc/9c/baa8456050d1c1b08dd0ec7346026668cbc6f145ab4e314d707bb845bf0d/websockets-16.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:878b336ac47938b474c8f982ac2f7266a540adc3fa4ad74ae96fea9823a02cc9", size = 177364, upload-time = "2026-01-10T09:22:59.333Z" }, + { url = "https://files.pythonhosted.org/packages/7e/0c/8811fc53e9bcff68fe7de2bcbe75116a8d959ac699a3200f4847a8925210/websockets-16.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:52a0fec0e6c8d9a784c2c78276a48a2bdf099e4ccc2a4cad53b27718dbfd0230", size = 175039, upload-time = "2026-01-10T09:23:01.171Z" }, + { url = "https://files.pythonhosted.org/packages/aa/82/39a5f910cb99ec0b59e482971238c845af9220d3ab9fa76dd9162cda9d62/websockets-16.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:e6578ed5b6981005df1860a56e3617f14a6c307e6a71b4fff8c48fdc50f3ed2c", size = 175323, upload-time = "2026-01-10T09:23:02.341Z" }, + { url = "https://files.pythonhosted.org/packages/bd/28/0a25ee5342eb5d5f297d992a77e56892ecb65e7854c7898fb7d35e9b33bd/websockets-16.0-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:95724e638f0f9c350bb1c2b0a7ad0e83d9cc0c9259f3ea94e40d7b02a2179ae5", size = 184975, upload-time = "2026-01-10T09:23:03.756Z" }, + { url = "https://files.pythonhosted.org/packages/f9/66/27ea52741752f5107c2e41fda05e8395a682a1e11c4e592a809a90c6a506/websockets-16.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c0204dc62a89dc9d50d682412c10b3542d748260d743500a85c13cd1ee4bde82", size = 186203, upload-time = "2026-01-10T09:23:05.01Z" }, + { url = "https://files.pythonhosted.org/packages/37/e5/8e32857371406a757816a2b471939d51c463509be73fa538216ea52b792a/websockets-16.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:52ac480f44d32970d66763115edea932f1c5b1312de36df06d6b219f6741eed8", size = 185653, upload-time = "2026-01-10T09:23:06.301Z" }, + { url = "https://files.pythonhosted.org/packages/9b/67/f926bac29882894669368dc73f4da900fcdf47955d0a0185d60103df5737/websockets-16.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6e5a82b677f8f6f59e8dfc34ec06ca6b5b48bc4fcda346acd093694cc2c24d8f", size = 184920, upload-time = "2026-01-10T09:23:07.492Z" }, + { url = "https://files.pythonhosted.org/packages/3c/a1/3d6ccdcd125b0a42a311bcd15a7f705d688f73b2a22d8cf1c0875d35d34a/websockets-16.0-cp313-cp313-win32.whl", hash = "sha256:abf050a199613f64c886ea10f38b47770a65154dc37181bfaff70c160f45315a", size = 178255, upload-time = "2026-01-10T09:23:09.245Z" }, + { url = "https://files.pythonhosted.org/packages/6b/ae/90366304d7c2ce80f9b826096a9e9048b4bb760e44d3b873bb272cba696b/websockets-16.0-cp313-cp313-win_amd64.whl", hash = "sha256:3425ac5cf448801335d6fdc7ae1eb22072055417a96cc6b31b3861f455fbc156", size = 178689, upload-time = "2026-01-10T09:23:10.483Z" }, + { url = "https://files.pythonhosted.org/packages/f3/1d/e88022630271f5bd349ed82417136281931e558d628dd52c4d8621b4a0b2/websockets-16.0-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:8cc451a50f2aee53042ac52d2d053d08bf89bcb31ae799cb4487587661c038a0", size = 177406, upload-time = "2026-01-10T09:23:12.178Z" }, + { url = "https://files.pythonhosted.org/packages/f2/78/e63be1bf0724eeb4616efb1ae1c9044f7c3953b7957799abb5915bffd38e/websockets-16.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:daa3b6ff70a9241cf6c7fc9e949d41232d9d7d26fd3522b1ad2b4d62487e9904", size = 175085, upload-time = "2026-01-10T09:23:13.511Z" }, + { url = "https://files.pythonhosted.org/packages/bb/f4/d3c9220d818ee955ae390cf319a7c7a467beceb24f05ee7aaaa2414345ba/websockets-16.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:fd3cb4adb94a2a6e2b7c0d8d05cb94e6f1c81a0cf9dc2694fb65c7e8d94c42e4", size = 175328, upload-time = "2026-01-10T09:23:14.727Z" }, + { url = "https://files.pythonhosted.org/packages/63/bc/d3e208028de777087e6fb2b122051a6ff7bbcca0d6df9d9c2bf1dd869ae9/websockets-16.0-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:781caf5e8eee67f663126490c2f96f40906594cb86b408a703630f95550a8c3e", size = 185044, upload-time = "2026-01-10T09:23:15.939Z" }, + { url = "https://files.pythonhosted.org/packages/ad/6e/9a0927ac24bd33a0a9af834d89e0abc7cfd8e13bed17a86407a66773cc0e/websockets-16.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:caab51a72c51973ca21fa8a18bd8165e1a0183f1ac7066a182ff27107b71e1a4", size = 186279, upload-time = "2026-01-10T09:23:17.148Z" }, + { url = "https://files.pythonhosted.org/packages/b9/ca/bf1c68440d7a868180e11be653c85959502efd3a709323230314fda6e0b3/websockets-16.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:19c4dc84098e523fd63711e563077d39e90ec6702aff4b5d9e344a60cb3c0cb1", size = 185711, upload-time = "2026-01-10T09:23:18.372Z" }, + { url = "https://files.pythonhosted.org/packages/c4/f8/fdc34643a989561f217bb477cbc47a3a07212cbda91c0e4389c43c296ebf/websockets-16.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:a5e18a238a2b2249c9a9235466b90e96ae4795672598a58772dd806edc7ac6d3", size = 184982, upload-time = "2026-01-10T09:23:19.652Z" }, + { url = "https://files.pythonhosted.org/packages/dd/d1/574fa27e233764dbac9c52730d63fcf2823b16f0856b3329fc6268d6ae4f/websockets-16.0-cp314-cp314-win32.whl", hash = "sha256:a069d734c4a043182729edd3e9f247c3b2a4035415a9172fd0f1b71658a320a8", size = 177915, upload-time = "2026-01-10T09:23:21.458Z" }, + { url = "https://files.pythonhosted.org/packages/8a/f1/ae6b937bf3126b5134ce1f482365fde31a357c784ac51852978768b5eff4/websockets-16.0-cp314-cp314-win_amd64.whl", hash = "sha256:c0ee0e63f23914732c6d7e0cce24915c48f3f1512ec1d079ed01fc629dab269d", size = 178381, upload-time = "2026-01-10T09:23:22.715Z" }, + { url = "https://files.pythonhosted.org/packages/06/9b/f791d1db48403e1f0a27577a6beb37afae94254a8c6f08be4a23e4930bc0/websockets-16.0-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:a35539cacc3febb22b8f4d4a99cc79b104226a756aa7400adc722e83b0d03244", size = 177737, upload-time = "2026-01-10T09:23:24.523Z" }, + { url = "https://files.pythonhosted.org/packages/bd/40/53ad02341fa33b3ce489023f635367a4ac98b73570102ad2cdd770dacc9a/websockets-16.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:b784ca5de850f4ce93ec85d3269d24d4c82f22b7212023c974c401d4980ebc5e", size = 175268, upload-time = "2026-01-10T09:23:25.781Z" }, + { url = "https://files.pythonhosted.org/packages/74/9b/6158d4e459b984f949dcbbb0c5d270154c7618e11c01029b9bbd1bb4c4f9/websockets-16.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:569d01a4e7fba956c5ae4fc988f0d4e187900f5497ce46339c996dbf24f17641", size = 175486, upload-time = "2026-01-10T09:23:27.033Z" }, + { url = "https://files.pythonhosted.org/packages/e5/2d/7583b30208b639c8090206f95073646c2c9ffd66f44df967981a64f849ad/websockets-16.0-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:50f23cdd8343b984957e4077839841146f67a3d31ab0d00e6b824e74c5b2f6e8", size = 185331, upload-time = "2026-01-10T09:23:28.259Z" }, + { url = "https://files.pythonhosted.org/packages/45/b0/cce3784eb519b7b5ad680d14b9673a31ab8dcb7aad8b64d81709d2430aa8/websockets-16.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:152284a83a00c59b759697b7f9e9cddf4e3c7861dd0d964b472b70f78f89e80e", size = 186501, upload-time = "2026-01-10T09:23:29.449Z" }, + { url = "https://files.pythonhosted.org/packages/19/60/b8ebe4c7e89fb5f6cdf080623c9d92789a53636950f7abacfc33fe2b3135/websockets-16.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:bc59589ab64b0022385f429b94697348a6a234e8ce22544e3681b2e9331b5944", size = 186062, upload-time = "2026-01-10T09:23:31.368Z" }, + { url = "https://files.pythonhosted.org/packages/88/a8/a080593f89b0138b6cba1b28f8df5673b5506f72879322288b031337c0b8/websockets-16.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:32da954ffa2814258030e5a57bc73a3635463238e797c7375dc8091327434206", size = 185356, upload-time = "2026-01-10T09:23:32.627Z" }, + { url = "https://files.pythonhosted.org/packages/c2/b6/b9afed2afadddaf5ebb2afa801abf4b0868f42f8539bfe4b071b5266c9fe/websockets-16.0-cp314-cp314t-win32.whl", hash = "sha256:5a4b4cc550cb665dd8a47f868c8d04c8230f857363ad3c9caf7a0c3bf8c61ca6", size = 178085, upload-time = "2026-01-10T09:23:33.816Z" }, + { url = "https://files.pythonhosted.org/packages/9f/3e/28135a24e384493fa804216b79a6a6759a38cc4ff59118787b9fb693df93/websockets-16.0-cp314-cp314t-win_amd64.whl", hash = "sha256:b14dc141ed6d2dde437cddb216004bcac6a1df0935d79656387bd41632ba0bbd", size = 178531, upload-time = "2026-01-10T09:23:35.016Z" }, + { url = "https://files.pythonhosted.org/packages/6f/28/258ebab549c2bf3e64d2b0217b973467394a9cea8c42f70418ca2c5d0d2e/websockets-16.0-py3-none-any.whl", hash = "sha256:1637db62fad1dc833276dded54215f2c7fa46912301a24bd94d45d46a011ceec", size = 171598, upload-time = "2026-01-10T09:23:45.395Z" }, +] + +[[package]] +name = "werkzeug" +version = "2.0.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/6c/a8/60514fade2318e277453c9588545d0c335ea3ea6440ce5cdabfca7f73117/Werkzeug-2.0.3.tar.gz", hash = "sha256:b863f8ff057c522164b6067c9e28b041161b4be5ba4d0daceeaa50a163822d3c", size = 895551, upload-time = "2022-02-07T21:04:39.14Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f4/f3/22afbdb20cc4654b10c98043414a14057cd27fdba9d4ae61cea596000ba2/Werkzeug-2.0.3-py3-none-any.whl", hash = "sha256:1421ebfc7648a39a5c58c601b154165d05cf47a3cd0ccb70857cbdacf6c8f2b8", size = 289232, upload-time = "2022-02-07T21:04:36.336Z" }, +] diff --git a/test/providers/tst_manifests/pyproject/poetry_lock/expected_component_sbom.json b/test/providers/tst_manifests/pyproject/poetry_lock/expected_component_sbom.json new file mode 100644 index 00000000..846a9746 --- /dev/null +++ b/test/providers/tst_manifests/pyproject/poetry_lock/expected_component_sbom.json @@ -0,0 +1,48 @@ +{ + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-10-01T00:00:00.000Z", + "component": { + "name": "test-project", + "version": "1.0.0", + "purl": "pkg:pypi/test-project@1.0.0", + "type": "application", + "bom-ref": "pkg:pypi/test-project@1.0.0" + } + }, + "components": [ + { + "name": "flask", + "version": "3.1.3", + "purl": "pkg:pypi/flask@3.1.3", + "type": "library", + "bom-ref": "pkg:pypi/flask@3.1.3" + }, + { + "name": "requests", + "version": "2.33.0", + "purl": "pkg:pypi/requests@2.33.0", + "type": "library", + "bom-ref": "pkg:pypi/requests@2.33.0" + } + ], + "dependencies": [ + { + "ref": "pkg:pypi/test-project@1.0.0", + "dependsOn": [ + "pkg:pypi/flask@3.1.3", + "pkg:pypi/requests@2.33.0" + ] + }, + { + "ref": "pkg:pypi/flask@3.1.3", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/requests@2.33.0", + "dependsOn": [] + } + ] +} \ No newline at end of file diff --git a/test/providers/tst_manifests/pyproject/poetry_lock/expected_stack_sbom.json b/test/providers/tst_manifests/pyproject/poetry_lock/expected_stack_sbom.json new file mode 100644 index 00000000..a70f75a5 --- /dev/null +++ b/test/providers/tst_manifests/pyproject/poetry_lock/expected_stack_sbom.json @@ -0,0 +1,159 @@ +{ + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-10-01T00:00:00.000Z", + "component": { + "name": "test-project", + "version": "1.0.0", + "purl": "pkg:pypi/test-project@1.0.0", + "type": "application", + "bom-ref": "pkg:pypi/test-project@1.0.0" + } + }, + "components": [ + { + "name": "flask", + "version": "3.1.3", + "purl": "pkg:pypi/flask@3.1.3", + "type": "library", + "bom-ref": "pkg:pypi/flask@3.1.3" + }, + { + "name": "blinker", + "version": "1.9.0", + "purl": "pkg:pypi/blinker@1.9.0", + "type": "library", + "bom-ref": "pkg:pypi/blinker@1.9.0" + }, + { + "name": "itsdangerous", + "version": "2.2.0", + "purl": "pkg:pypi/itsdangerous@2.2.0", + "type": "library", + "bom-ref": "pkg:pypi/itsdangerous@2.2.0" + }, + { + "name": "jinja2", + "version": "3.1.6", + "purl": "pkg:pypi/jinja2@3.1.6", + "type": "library", + "bom-ref": "pkg:pypi/jinja2@3.1.6" + }, + { + "name": "markupsafe", + "version": "3.0.3", + "purl": "pkg:pypi/markupsafe@3.0.3", + "type": "library", + "bom-ref": "pkg:pypi/markupsafe@3.0.3" + }, + { + "name": "werkzeug", + "version": "3.1.7", + "purl": "pkg:pypi/werkzeug@3.1.7", + "type": "library", + "bom-ref": "pkg:pypi/werkzeug@3.1.7" + }, + { + "name": "requests", + "version": "2.33.0", + "purl": "pkg:pypi/requests@2.33.0", + "type": "library", + "bom-ref": "pkg:pypi/requests@2.33.0" + }, + { + "name": "certifi", + "version": "2026.2.25", + "purl": "pkg:pypi/certifi@2026.2.25", + "type": "library", + "bom-ref": "pkg:pypi/certifi@2026.2.25" + }, + { + "name": "charset-normalizer", + "version": "3.4.6", + "purl": "pkg:pypi/charset-normalizer@3.4.6", + "type": "library", + "bom-ref": "pkg:pypi/charset-normalizer@3.4.6" + }, + { + "name": "idna", + "version": "3.11", + "purl": "pkg:pypi/idna@3.11", + "type": "library", + "bom-ref": "pkg:pypi/idna@3.11" + }, + { + "name": "urllib3", + "version": "2.6.3", + "purl": "pkg:pypi/urllib3@2.6.3", + "type": "library", + "bom-ref": "pkg:pypi/urllib3@2.6.3" + } + ], + "dependencies": [ + { + "ref": "pkg:pypi/test-project@1.0.0", + "dependsOn": [ + "pkg:pypi/flask@3.1.3", + "pkg:pypi/requests@2.33.0" + ] + }, + { + "ref": "pkg:pypi/flask@3.1.3", + "dependsOn": [ + "pkg:pypi/blinker@1.9.0", + "pkg:pypi/itsdangerous@2.2.0", + "pkg:pypi/jinja2@3.1.6", + "pkg:pypi/werkzeug@3.1.7" + ] + }, + { + "ref": "pkg:pypi/blinker@1.9.0", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/itsdangerous@2.2.0", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/jinja2@3.1.6", + "dependsOn": [ + "pkg:pypi/markupsafe@3.0.3" + ] + }, + { + "ref": "pkg:pypi/markupsafe@3.0.3", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/werkzeug@3.1.7", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/requests@2.33.0", + "dependsOn": [ + "pkg:pypi/certifi@2026.2.25", + "pkg:pypi/charset-normalizer@3.4.6", + "pkg:pypi/idna@3.11", + "pkg:pypi/urllib3@2.6.3" + ] + }, + { + "ref": "pkg:pypi/certifi@2026.2.25", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/charset-normalizer@3.4.6", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/idna@3.11", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/urllib3@2.6.3", + "dependsOn": [] + } + ] +} \ No newline at end of file diff --git a/test/providers/tst_manifests/pyproject/poetry_lock/poetry.lock b/test/providers/tst_manifests/pyproject/poetry_lock/poetry.lock new file mode 100644 index 00000000..7eec73e1 --- /dev/null +++ b/test/providers/tst_manifests/pyproject/poetry_lock/poetry.lock @@ -0,0 +1,424 @@ +# This file is automatically @generated by Poetry 2.3.2 and should not be changed by hand. + +[[package]] +name = "blinker" +version = "1.9.0" +description = "Fast, simple object-to-object and broadcast signaling" +optional = false +python-versions = ">=3.9" +groups = ["main"] +files = [ + {file = "blinker-1.9.0-py3-none-any.whl", hash = "sha256:ba0efaa9080b619ff2f3459d1d500c57bddea4a6b424b60a91141db6fd2f08bc"}, + {file = "blinker-1.9.0.tar.gz", hash = "sha256:b4ce2265a7abece45e7cc896e98dbebe6cead56bcf805a3d23136d145f5445bf"}, +] + +[[package]] +name = "certifi" +version = "2026.2.25" +description = "Python package for providing Mozilla's CA Bundle." +optional = false +python-versions = ">=3.7" +groups = ["main"] +files = [ + {file = "certifi-2026.2.25-py3-none-any.whl", hash = "sha256:027692e4402ad994f1c42e52a4997a9763c646b73e4096e4d5d6db8af1d6f0fa"}, + {file = "certifi-2026.2.25.tar.gz", hash = "sha256:e887ab5cee78ea814d3472169153c2d12cd43b14bd03329a39a9c6e2e80bfba7"}, +] + +[[package]] +name = "charset-normalizer" +version = "3.4.6" +description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." +optional = false +python-versions = ">=3.7" +groups = ["main"] +files = [ + {file = "charset_normalizer-3.4.6-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:2e1d8ca8611099001949d1cdfaefc510cf0f212484fe7c565f735b68c78c3c95"}, + {file = "charset_normalizer-3.4.6-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e25369dc110d58ddf29b949377a93e0716d72a24f62bad72b2b39f155949c1fd"}, + {file = "charset_normalizer-3.4.6-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:259695e2ccc253feb2a016303543d691825e920917e31f894ca1a687982b1de4"}, + {file = "charset_normalizer-3.4.6-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:dda86aba335c902b6149a02a55b38e96287157e609200811837678214ba2b1db"}, + {file = "charset_normalizer-3.4.6-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:51fb3c322c81d20567019778cb5a4a6f2dc1c200b886bc0d636238e364848c89"}, + {file = "charset_normalizer-3.4.6-cp310-cp310-manylinux_2_31_armv7l.whl", hash = "sha256:4482481cb0572180b6fd976a4d5c72a30263e98564da68b86ec91f0fe35e8565"}, + {file = "charset_normalizer-3.4.6-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:39f5068d35621da2881271e5c3205125cc456f54e9030d3f723288c873a71bf9"}, + {file = "charset_normalizer-3.4.6-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:8bea55c4eef25b0b19a0337dc4e3f9a15b00d569c77211fa8cde38684f234fb7"}, + {file = "charset_normalizer-3.4.6-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:f0cdaecd4c953bfae0b6bb64910aaaca5a424ad9c72d85cb88417bb9814f7550"}, + {file = "charset_normalizer-3.4.6-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:150b8ce8e830eb7ccb029ec9ca36022f756986aaaa7956aad6d9ec90089338c0"}, + {file = "charset_normalizer-3.4.6-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:e68c14b04827dd76dcbd1aeea9e604e3e4b78322d8faf2f8132c7138efa340a8"}, + {file = "charset_normalizer-3.4.6-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:3778fd7d7cd04ae8f54651f4a7a0bd6e39a0cf20f801720a4c21d80e9b7ad6b0"}, + {file = "charset_normalizer-3.4.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:dad6e0f2e481fffdcf776d10ebee25e0ef89f16d691f1e5dee4b586375fdc64b"}, + {file = "charset_normalizer-3.4.6-cp310-cp310-win32.whl", hash = "sha256:74a2e659c7ecbc73562e2a15e05039f1e22c75b7c7618b4b574a3ea9118d1557"}, + {file = "charset_normalizer-3.4.6-cp310-cp310-win_amd64.whl", hash = "sha256:aa9cccf4a44b9b62d8ba8b4dd06c649ba683e4bf04eea606d2e94cfc2d6ff4d6"}, + {file = "charset_normalizer-3.4.6-cp310-cp310-win_arm64.whl", hash = "sha256:e985a16ff513596f217cee86c21371b8cd011c0f6f056d0920aa2d926c544058"}, + {file = "charset_normalizer-3.4.6-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:82060f995ab5003a2d6e0f4ad29065b7672b6593c8c63559beefe5b443242c3e"}, + {file = "charset_normalizer-3.4.6-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:60c74963d8350241a79cb8feea80e54d518f72c26db618862a8f53e5023deaf9"}, + {file = "charset_normalizer-3.4.6-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f6e4333fb15c83f7d1482a76d45a0818897b3d33f00efd215528ff7c51b8e35d"}, + {file = "charset_normalizer-3.4.6-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:bc72863f4d9aba2e8fd9085e63548a324ba706d2ea2c83b260da08a59b9482de"}, + {file = "charset_normalizer-3.4.6-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9cc4fc6c196d6a8b76629a70ddfcd4635a6898756e2d9cac5565cf0654605d73"}, + {file = "charset_normalizer-3.4.6-cp311-cp311-manylinux_2_31_armv7l.whl", hash = "sha256:0c173ce3a681f309f31b87125fecec7a5d1347261ea11ebbb856fa6006b23c8c"}, + {file = "charset_normalizer-3.4.6-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c907cdc8109f6c619e6254212e794d6548373cc40e1ec75e6e3823d9135d29cc"}, + {file = "charset_normalizer-3.4.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:404a1e552cf5b675a87f0651f8b79f5f1e6fd100ee88dc612f89aa16abd4486f"}, + {file = "charset_normalizer-3.4.6-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:e3c701e954abf6fc03a49f7c579cc80c2c6cc52525340ca3186c41d3f33482ef"}, + {file = "charset_normalizer-3.4.6-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:7a6967aaf043bceabab5412ed6bd6bd26603dae84d5cb75bf8d9a74a4959d398"}, + {file = "charset_normalizer-3.4.6-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:5feb91325bbceade6afab43eb3b508c63ee53579fe896c77137ded51c6b6958e"}, + {file = "charset_normalizer-3.4.6-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:f820f24b09e3e779fe84c3c456cb4108a7aa639b0d1f02c28046e11bfcd088ed"}, + {file = "charset_normalizer-3.4.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b35b200d6a71b9839a46b9b7fff66b6638bb52fc9658aa58796b0326595d3021"}, + {file = "charset_normalizer-3.4.6-cp311-cp311-win32.whl", hash = "sha256:9ca4c0b502ab399ef89248a2c84c54954f77a070f28e546a85e91da627d1301e"}, + {file = "charset_normalizer-3.4.6-cp311-cp311-win_amd64.whl", hash = "sha256:a9e68c9d88823b274cf1e72f28cb5dc89c990edf430b0bfd3e2fb0785bfeabf4"}, + {file = "charset_normalizer-3.4.6-cp311-cp311-win_arm64.whl", hash = "sha256:97d0235baafca5f2b09cf332cc275f021e694e8362c6bb9c96fc9a0eb74fc316"}, + {file = "charset_normalizer-3.4.6-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:2ef7fedc7a6ecbe99969cd09632516738a97eeb8bd7258bf8a0f23114c057dab"}, + {file = "charset_normalizer-3.4.6-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a4ea868bc28109052790eb2b52a9ab33f3aa7adc02f96673526ff47419490e21"}, + {file = "charset_normalizer-3.4.6-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:836ab36280f21fc1a03c99cd05c6b7af70d2697e374c7af0b61ed271401a72a2"}, + {file = "charset_normalizer-3.4.6-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f1ce721c8a7dfec21fcbdfe04e8f68174183cf4e8188e0645e92aa23985c57ff"}, + {file = "charset_normalizer-3.4.6-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0e28d62a8fc7a1fa411c43bd65e346f3bce9716dc51b897fbe930c5987b402d5"}, + {file = "charset_normalizer-3.4.6-cp312-cp312-manylinux_2_31_armv7l.whl", hash = "sha256:530d548084c4a9f7a16ed4a294d459b4f229db50df689bfe92027452452943a0"}, + {file = "charset_normalizer-3.4.6-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:30f445ae60aad5e1f8bdbb3108e39f6fbc09f4ea16c815c66578878325f8f15a"}, + {file = "charset_normalizer-3.4.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ac2393c73378fea4e52aa56285a3d64be50f1a12395afef9cce47772f60334c2"}, + {file = "charset_normalizer-3.4.6-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:90ca27cd8da8118b18a52d5f547859cc1f8354a00cd1e8e5120df3e30d6279e5"}, + {file = "charset_normalizer-3.4.6-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:8e5a94886bedca0f9b78fecd6afb6629142fd2605aa70a125d49f4edc6037ee6"}, + {file = "charset_normalizer-3.4.6-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:695f5c2823691a25f17bc5d5ffe79fa90972cc34b002ac6c843bb8a1720e950d"}, + {file = "charset_normalizer-3.4.6-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:231d4da14bcd9301310faf492051bee27df11f2bc7549bc0bb41fef11b82daa2"}, + {file = "charset_normalizer-3.4.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a056d1ad2633548ca18ffa2f85c202cfb48b68615129143915b8dc72a806a923"}, + {file = "charset_normalizer-3.4.6-cp312-cp312-win32.whl", hash = "sha256:c2274ca724536f173122f36c98ce188fd24ce3dad886ec2b7af859518ce008a4"}, + {file = "charset_normalizer-3.4.6-cp312-cp312-win_amd64.whl", hash = "sha256:c8ae56368f8cc97c7e40a7ee18e1cedaf8e780cd8bc5ed5ac8b81f238614facb"}, + {file = "charset_normalizer-3.4.6-cp312-cp312-win_arm64.whl", hash = "sha256:899d28f422116b08be5118ef350c292b36fc15ec2daeb9ea987c89281c7bb5c4"}, + {file = "charset_normalizer-3.4.6-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:11afb56037cbc4b1555a34dd69151e8e069bee82e613a73bef6e714ce733585f"}, + {file = "charset_normalizer-3.4.6-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:423fb7e748a08f854a08a222b983f4df1912b1daedce51a72bd24fe8f26a1843"}, + {file = "charset_normalizer-3.4.6-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:d73beaac5e90173ac3deb9928a74763a6d230f494e4bfb422c217a0ad8e629bf"}, + {file = "charset_normalizer-3.4.6-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d60377dce4511655582e300dc1e5a5f24ba0cb229005a1d5c8d0cb72bb758ab8"}, + {file = "charset_normalizer-3.4.6-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:530e8cebeea0d76bdcf93357aa5e41336f48c3dc709ac52da2bb167c5b8271d9"}, + {file = "charset_normalizer-3.4.6-cp313-cp313-manylinux_2_31_armv7l.whl", hash = "sha256:a26611d9987b230566f24a0a125f17fe0de6a6aff9f25c9f564aaa2721a5fb88"}, + {file = "charset_normalizer-3.4.6-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:34315ff4fc374b285ad7f4a0bf7dcbfe769e1b104230d40f49f700d4ab6bbd84"}, + {file = "charset_normalizer-3.4.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5f8ddd609f9e1af8c7bd6e2aca279c931aefecd148a14402d4e368f3171769fd"}, + {file = "charset_normalizer-3.4.6-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:80d0a5615143c0b3225e5e3ef22c8d5d51f3f72ce0ea6fb84c943546c7b25b6c"}, + {file = "charset_normalizer-3.4.6-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:92734d4d8d187a354a556626c221cd1a892a4e0802ccb2af432a1d85ec012194"}, + {file = "charset_normalizer-3.4.6-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:613f19aa6e082cf96e17e3ffd89383343d0d589abda756b7764cf78361fd41dc"}, + {file = "charset_normalizer-3.4.6-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:2b1a63e8224e401cafe7739f77efd3f9e7f5f2026bda4aead8e59afab537784f"}, + {file = "charset_normalizer-3.4.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6cceb5473417d28edd20c6c984ab6fee6c6267d38d906823ebfe20b03d607dc2"}, + {file = "charset_normalizer-3.4.6-cp313-cp313-win32.whl", hash = "sha256:d7de2637729c67d67cf87614b566626057e95c303bc0a55ffe391f5205e7003d"}, + {file = "charset_normalizer-3.4.6-cp313-cp313-win_amd64.whl", hash = "sha256:572d7c822caf521f0525ba1bce1a622a0b85cf47ffbdae6c9c19e3b5ac3c4389"}, + {file = "charset_normalizer-3.4.6-cp313-cp313-win_arm64.whl", hash = "sha256:a4474d924a47185a06411e0064b803c68be044be2d60e50e8bddcc2649957c1f"}, + {file = "charset_normalizer-3.4.6-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:9cc6e6d9e571d2f863fa77700701dae73ed5f78881efc8b3f9a4398772ff53e8"}, + {file = "charset_normalizer-3.4.6-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ef5960d965e67165d75b7c7ffc60a83ec5abfc5c11b764ec13ea54fbef8b4421"}, + {file = "charset_normalizer-3.4.6-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:b3694e3f87f8ac7ce279d4355645b3c878d24d1424581b46282f24b92f5a4ae2"}, + {file = "charset_normalizer-3.4.6-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5d11595abf8dd942a77883a39d81433739b287b6aa71620f15164f8096221b30"}, + {file = "charset_normalizer-3.4.6-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7bda6eebafd42133efdca535b04ccb338ab29467b3f7bf79569883676fc628db"}, + {file = "charset_normalizer-3.4.6-cp314-cp314-manylinux_2_31_armv7l.whl", hash = "sha256:bbc8c8650c6e51041ad1be191742b8b421d05bbd3410f43fa2a00c8db87678e8"}, + {file = "charset_normalizer-3.4.6-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:22c6f0c2fbc31e76c3b8a86fba1a56eda6166e238c29cdd3d14befdb4a4e4815"}, + {file = "charset_normalizer-3.4.6-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7edbed096e4a4798710ed6bc75dcaa2a21b68b6c356553ac4823c3658d53743a"}, + {file = "charset_normalizer-3.4.6-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:7f9019c9cb613f084481bd6a100b12e1547cf2efe362d873c2e31e4035a6fa43"}, + {file = "charset_normalizer-3.4.6-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:58c948d0d086229efc484fe2f30c2d382c86720f55cd9bc33591774348ad44e0"}, + {file = "charset_normalizer-3.4.6-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:419a9d91bd238052642a51938af8ac05da5b3343becde08d5cdeab9046df9ee1"}, + {file = "charset_normalizer-3.4.6-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:5273b9f0b5835ff0350c0828faea623c68bfa65b792720c453e22b25cc72930f"}, + {file = "charset_normalizer-3.4.6-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:0e901eb1049fdb80f5bd11ed5ea1e498ec423102f7a9b9e4645d5b8204ff2815"}, + {file = "charset_normalizer-3.4.6-cp314-cp314-win32.whl", hash = "sha256:b4ff1d35e8c5bd078be89349b6f3a845128e685e751b6ea1169cf2160b344c4d"}, + {file = "charset_normalizer-3.4.6-cp314-cp314-win_amd64.whl", hash = "sha256:74119174722c4349af9708993118581686f343adc1c8c9c007d59be90d077f3f"}, + {file = "charset_normalizer-3.4.6-cp314-cp314-win_arm64.whl", hash = "sha256:e5bcc1a1ae744e0bb59641171ae53743760130600da8db48cbb6e4918e186e4e"}, + {file = "charset_normalizer-3.4.6-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:ad8faf8df23f0378c6d527d8b0b15ea4a2e23c89376877c598c4870d1b2c7866"}, + {file = "charset_normalizer-3.4.6-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f5ea69428fa1b49573eef0cc44a1d43bebd45ad0c611eb7d7eac760c7ae771bc"}, + {file = "charset_normalizer-3.4.6-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:06a7e86163334edfc5d20fe104db92fcd666e5a5df0977cb5680a506fe26cc8e"}, + {file = "charset_normalizer-3.4.6-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:e1f6e2f00a6b8edb562826e4632e26d063ac10307e80f7461f7de3ad8ef3f077"}, + {file = "charset_normalizer-3.4.6-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:95b52c68d64c1878818687a473a10547b3292e82b6f6fe483808fb1468e2f52f"}, + {file = "charset_normalizer-3.4.6-cp314-cp314t-manylinux_2_31_armv7l.whl", hash = "sha256:7504e9b7dc05f99a9bbb4525c67a2c155073b44d720470a148b34166a69c054e"}, + {file = "charset_normalizer-3.4.6-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:172985e4ff804a7ad08eebec0a1640ece87ba5041d565fff23c8f99c1f389484"}, + {file = "charset_normalizer-3.4.6-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:4be9f4830ba8741527693848403e2c457c16e499100963ec711b1c6f2049b7c7"}, + {file = "charset_normalizer-3.4.6-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:79090741d842f564b1b2827c0b82d846405b744d31e84f18d7a7b41c20e473ff"}, + {file = "charset_normalizer-3.4.6-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:87725cfb1a4f1f8c2fc9890ae2f42094120f4b44db9360be5d99a4c6b0e03a9e"}, + {file = "charset_normalizer-3.4.6-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:fcce033e4021347d80ed9c66dcf1e7b1546319834b74445f561d2e2221de5659"}, + {file = "charset_normalizer-3.4.6-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:ca0276464d148c72defa8bb4390cce01b4a0e425f3b50d1435aa6d7a18107602"}, + {file = "charset_normalizer-3.4.6-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:197c1a244a274bb016dd8b79204850144ef77fe81c5b797dc389327adb552407"}, + {file = "charset_normalizer-3.4.6-cp314-cp314t-win32.whl", hash = "sha256:2a24157fa36980478dd1770b585c0f30d19e18f4fb0c47c13aa568f871718579"}, + {file = "charset_normalizer-3.4.6-cp314-cp314t-win_amd64.whl", hash = "sha256:cd5e2801c89992ed8c0a3f0293ae83c159a60d9a5d685005383ef4caca77f2c4"}, + {file = "charset_normalizer-3.4.6-cp314-cp314t-win_arm64.whl", hash = "sha256:47955475ac79cc504ef2704b192364e51d0d473ad452caedd0002605f780101c"}, + {file = "charset_normalizer-3.4.6-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:659a1e1b500fac8f2779dd9e1570464e012f43e580371470b45277a27baa7532"}, + {file = "charset_normalizer-3.4.6-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f61aa92e4aad0be58eb6eb4e0c21acf32cf8065f4b2cae5665da756c4ceef982"}, + {file = "charset_normalizer-3.4.6-cp38-cp38-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f50498891691e0864dc3da965f340fada0771f6142a378083dc4608f4ea513e2"}, + {file = "charset_normalizer-3.4.6-cp38-cp38-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:bf625105bb9eef28a56a943fec8c8a98aeb80e7d7db99bd3c388137e6eb2d237"}, + {file = "charset_normalizer-3.4.6-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2bd9d128ef93637a5d7a6af25363cf5dec3fa21cf80e68055aad627f280e8afa"}, + {file = "charset_normalizer-3.4.6-cp38-cp38-manylinux_2_31_armv7l.whl", hash = "sha256:d08ec48f0a1c48d75d0356cea971921848fb620fdeba805b28f937e90691209f"}, + {file = "charset_normalizer-3.4.6-cp38-cp38-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:1ed80ff870ca6de33f4d953fda4d55654b9a2b340ff39ab32fa3adbcd718f264"}, + {file = "charset_normalizer-3.4.6-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:f98059e4fcd3e3e4e2d632b7cf81c2faae96c43c60b569e9c621468082f1d104"}, + {file = "charset_normalizer-3.4.6-cp38-cp38-musllinux_1_2_armv7l.whl", hash = "sha256:ab30e5e3e706e3063bc6de96b118688cb10396b70bb9864a430f67df98c61ecc"}, + {file = "charset_normalizer-3.4.6-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:d5f5d1e9def3405f60e3ca8232d56f35c98fb7bf581efcc60051ebf53cb8b611"}, + {file = "charset_normalizer-3.4.6-cp38-cp38-musllinux_1_2_riscv64.whl", hash = "sha256:461598cd852bfa5a61b09cae2b1c02e2efcd166ee5516e243d540ac24bfa68a7"}, + {file = "charset_normalizer-3.4.6-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:71be7e0e01753a89cf024abf7ecb6bca2c81738ead80d43004d9b5e3f1244e64"}, + {file = "charset_normalizer-3.4.6-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:df01808ee470038c3f8dc4f48620df7225c49c2d6639e38f96e6d6ac6e6f7b0e"}, + {file = "charset_normalizer-3.4.6-cp38-cp38-win32.whl", hash = "sha256:69dd852c2f0ad631b8b60cfbe25a28c0058a894de5abb566619c205ce0550eae"}, + {file = "charset_normalizer-3.4.6-cp38-cp38-win_amd64.whl", hash = "sha256:517ad0e93394ac532745129ceabdf2696b609ec9f87863d337140317ebce1c14"}, + {file = "charset_normalizer-3.4.6-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:31215157227939b4fb3d740cd23fe27be0439afef67b785a1eb78a3ae69cba9e"}, + {file = "charset_normalizer-3.4.6-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ecbbd45615a6885fe3240eb9db73b9e62518b611850fdf8ab08bd56de7ad2b17"}, + {file = "charset_normalizer-3.4.6-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c45a03a4c69820a399f1dda9e1d8fbf3562eda46e7720458180302021b08f778"}, + {file = "charset_normalizer-3.4.6-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:e8aeb10fcbe92767f0fa69ad5a72deca50d0dca07fbde97848997d778a50c9fe"}, + {file = "charset_normalizer-3.4.6-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:54fae94be3d75f3e573c9a1b5402dc593de19377013c9a0e4285e3d402dd3a2a"}, + {file = "charset_normalizer-3.4.6-cp39-cp39-manylinux_2_31_armv7l.whl", hash = "sha256:2f7fdd9b6e6c529d6a2501a2d36b240109e78a8ceaef5687cfcfa2bbe671d297"}, + {file = "charset_normalizer-3.4.6-cp39-cp39-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:4d1d02209e06550bdaef34af58e041ad71b88e624f5d825519da3a3308e22687"}, + {file = "charset_normalizer-3.4.6-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:8bc5f0687d796c05b1e28ab0d38a50e6309906ee09375dd3aff6a9c09dd6e8f4"}, + {file = "charset_normalizer-3.4.6-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:ee4ec14bc1680d6b0afab9aea2ef27e26d2024f18b24a2d7155a52b60da7e833"}, + {file = "charset_normalizer-3.4.6-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:d1a2ee9c1499fc8f86f4521f27a973c914b211ffa87322f4ee33bb35392da2c5"}, + {file = "charset_normalizer-3.4.6-cp39-cp39-musllinux_1_2_riscv64.whl", hash = "sha256:48696db7f18afb80a068821504296eb0787d9ce239b91ca15059d1d3eaacf13b"}, + {file = "charset_normalizer-3.4.6-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:4f41da960b196ea355357285ad1316a00099f22d0929fe168343b99b254729c9"}, + {file = "charset_normalizer-3.4.6-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:802168e03fba8bbc5ce0d866d589e4b1ca751d06edee69f7f3a19c5a9fe6b597"}, + {file = "charset_normalizer-3.4.6-cp39-cp39-win32.whl", hash = "sha256:8761ac29b6c81574724322a554605608a9960769ea83d2c73e396f3df896ad54"}, + {file = "charset_normalizer-3.4.6-cp39-cp39-win_amd64.whl", hash = "sha256:1cf0a70018692f85172348fe06d3a4b63f94ecb055e13a00c644d368eb82e5b8"}, + {file = "charset_normalizer-3.4.6-cp39-cp39-win_arm64.whl", hash = "sha256:3516bbb8d42169de9e61b8520cbeeeb716f12f4ecfe3fd30a9919aa16c806ca8"}, + {file = "charset_normalizer-3.4.6-py3-none-any.whl", hash = "sha256:947cf925bc916d90adba35a64c82aace04fa39b46b52d4630ece166655905a69"}, + {file = "charset_normalizer-3.4.6.tar.gz", hash = "sha256:1ae6b62897110aa7c79ea2f5dd38d1abca6db663687c0b1ad9aed6f6bae3d9d6"}, +] + +[[package]] +name = "click" +version = "8.3.1" +description = "Composable command line interface toolkit" +optional = false +python-versions = ">=3.10" +groups = ["main"] +files = [ + {file = "click-8.3.1-py3-none-any.whl", hash = "sha256:981153a64e25f12d547d3426c367a4857371575ee7ad18df2a6183ab0545b2a6"}, + {file = "click-8.3.1.tar.gz", hash = "sha256:12ff4785d337a1bb490bb7e9c2b1ee5da3112e94a8622f26a6c77f5d2fc6842a"}, +] + +[package.dependencies] +colorama = {version = "*", markers = "platform_system == \"Windows\""} + +[[package]] +name = "colorama" +version = "0.4.6" +description = "Cross-platform colored terminal text." +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" +groups = ["main"] +markers = "platform_system == \"Windows\"" +files = [ + {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, + {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, +] + +[[package]] +name = "flask" +version = "3.1.3" +description = "A simple framework for building complex web applications." +optional = false +python-versions = ">=3.9" +groups = ["main"] +files = [ + {file = "flask-3.1.3-py3-none-any.whl", hash = "sha256:f4bcbefc124291925f1a26446da31a5178f9483862233b23c0c96a20701f670c"}, + {file = "flask-3.1.3.tar.gz", hash = "sha256:0ef0e52b8a9cd932855379197dd8f94047b359ca0a78695144304cb45f87c9eb"}, +] + +[package.dependencies] +blinker = ">=1.9.0" +click = ">=8.1.3" +itsdangerous = ">=2.2.0" +jinja2 = ">=3.1.2" +markupsafe = ">=2.1.1" +werkzeug = ">=3.1.0" + +[package.extras] +async = ["asgiref (>=3.2)"] +dotenv = ["python-dotenv"] + +[[package]] +name = "idna" +version = "3.11" +description = "Internationalized Domain Names in Applications (IDNA)" +optional = false +python-versions = ">=3.8" +groups = ["main"] +files = [ + {file = "idna-3.11-py3-none-any.whl", hash = "sha256:771a87f49d9defaf64091e6e6fe9c18d4833f140bd19464795bc32d966ca37ea"}, + {file = "idna-3.11.tar.gz", hash = "sha256:795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902"}, +] + +[package.extras] +all = ["flake8 (>=7.1.1)", "mypy (>=1.11.2)", "pytest (>=8.3.2)", "ruff (>=0.6.2)"] + +[[package]] +name = "itsdangerous" +version = "2.2.0" +description = "Safely pass data to untrusted environments and back." +optional = false +python-versions = ">=3.8" +groups = ["main"] +files = [ + {file = "itsdangerous-2.2.0-py3-none-any.whl", hash = "sha256:c6242fc49e35958c8b15141343aa660db5fc54d4f13a1db01a3f5891b98700ef"}, + {file = "itsdangerous-2.2.0.tar.gz", hash = "sha256:e0050c0b7da1eea53ffaf149c0cfbb5c6e2e2b69c4bef22c81fa6eb73e5f6173"}, +] + +[[package]] +name = "jinja2" +version = "3.1.6" +description = "A very fast and expressive template engine." +optional = false +python-versions = ">=3.7" +groups = ["main"] +files = [ + {file = "jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67"}, + {file = "jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d"}, +] + +[package.dependencies] +MarkupSafe = ">=2.0" + +[package.extras] +i18n = ["Babel (>=2.7)"] + +[[package]] +name = "markupsafe" +version = "3.0.3" +description = "Safely add untrusted strings to HTML/XML markup." +optional = false +python-versions = ">=3.9" +groups = ["main"] +files = [ + {file = "markupsafe-3.0.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2f981d352f04553a7171b8e44369f2af4055f888dfb147d55e42d29e29e74559"}, + {file = "markupsafe-3.0.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e1c1493fb6e50ab01d20a22826e57520f1284df32f2d8601fdd90b6304601419"}, + {file = "markupsafe-3.0.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1ba88449deb3de88bd40044603fafffb7bc2b055d626a330323a9ed736661695"}, + {file = "markupsafe-3.0.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f42d0984e947b8adf7dd6dde396e720934d12c506ce84eea8476409563607591"}, + {file = "markupsafe-3.0.3-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c0c0b3ade1c0b13b936d7970b1d37a57acde9199dc2aecc4c336773e1d86049c"}, + {file = "markupsafe-3.0.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:0303439a41979d9e74d18ff5e2dd8c43ed6c6001fd40e5bf2e43f7bd9bbc523f"}, + {file = "markupsafe-3.0.3-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:d2ee202e79d8ed691ceebae8e0486bd9a2cd4794cec4824e1c99b6f5009502f6"}, + {file = "markupsafe-3.0.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:177b5253b2834fe3678cb4a5f0059808258584c559193998be2601324fdeafb1"}, + {file = "markupsafe-3.0.3-cp310-cp310-win32.whl", hash = "sha256:2a15a08b17dd94c53a1da0438822d70ebcd13f8c3a95abe3a9ef9f11a94830aa"}, + {file = "markupsafe-3.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:c4ffb7ebf07cfe8931028e3e4c85f0357459a3f9f9490886198848f4fa002ec8"}, + {file = "markupsafe-3.0.3-cp310-cp310-win_arm64.whl", hash = "sha256:e2103a929dfa2fcaf9bb4e7c091983a49c9ac3b19c9061b6d5427dd7d14d81a1"}, + {file = "markupsafe-3.0.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1cc7ea17a6824959616c525620e387f6dd30fec8cb44f649e31712db02123dad"}, + {file = "markupsafe-3.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4bd4cd07944443f5a265608cc6aab442e4f74dff8088b0dfc8238647b8f6ae9a"}, + {file = "markupsafe-3.0.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6b5420a1d9450023228968e7e6a9ce57f65d148ab56d2313fcd589eee96a7a50"}, + {file = "markupsafe-3.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0bf2a864d67e76e5c9a34dc26ec616a66b9888e25e7b9460e1c76d3293bd9dbf"}, + {file = "markupsafe-3.0.3-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:bc51efed119bc9cfdf792cdeaa4d67e8f6fcccab66ed4bfdd6bde3e59bfcbb2f"}, + {file = "markupsafe-3.0.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:068f375c472b3e7acbe2d5318dea141359e6900156b5b2ba06a30b169086b91a"}, + {file = "markupsafe-3.0.3-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:7be7b61bb172e1ed687f1754f8e7484f1c8019780f6f6b0786e76bb01c2ae115"}, + {file = "markupsafe-3.0.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f9e130248f4462aaa8e2552d547f36ddadbeaa573879158d721bbd33dfe4743a"}, + {file = "markupsafe-3.0.3-cp311-cp311-win32.whl", hash = "sha256:0db14f5dafddbb6d9208827849fad01f1a2609380add406671a26386cdf15a19"}, + {file = "markupsafe-3.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:de8a88e63464af587c950061a5e6a67d3632e36df62b986892331d4620a35c01"}, + {file = "markupsafe-3.0.3-cp311-cp311-win_arm64.whl", hash = "sha256:3b562dd9e9ea93f13d53989d23a7e775fdfd1066c33494ff43f5418bc8c58a5c"}, + {file = "markupsafe-3.0.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d53197da72cc091b024dd97249dfc7794d6a56530370992a5e1a08983ad9230e"}, + {file = "markupsafe-3.0.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1872df69a4de6aead3491198eaf13810b565bdbeec3ae2dc8780f14458ec73ce"}, + {file = "markupsafe-3.0.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3a7e8ae81ae39e62a41ec302f972ba6ae23a5c5396c8e60113e9066ef893da0d"}, + {file = "markupsafe-3.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d6dd0be5b5b189d31db7cda48b91d7e0a9795f31430b7f271219ab30f1d3ac9d"}, + {file = "markupsafe-3.0.3-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:94c6f0bb423f739146aec64595853541634bde58b2135f27f61c1ffd1cd4d16a"}, + {file = "markupsafe-3.0.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:be8813b57049a7dc738189df53d69395eba14fb99345e0a5994914a3864c8a4b"}, + {file = "markupsafe-3.0.3-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:83891d0e9fb81a825d9a6d61e3f07550ca70a076484292a70fde82c4b807286f"}, + {file = "markupsafe-3.0.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:77f0643abe7495da77fb436f50f8dab76dbc6e5fd25d39589a0f1fe6548bfa2b"}, + {file = "markupsafe-3.0.3-cp312-cp312-win32.whl", hash = "sha256:d88b440e37a16e651bda4c7c2b930eb586fd15ca7406cb39e211fcff3bf3017d"}, + {file = "markupsafe-3.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:26a5784ded40c9e318cfc2bdb30fe164bdb8665ded9cd64d500a34fb42067b1c"}, + {file = "markupsafe-3.0.3-cp312-cp312-win_arm64.whl", hash = "sha256:35add3b638a5d900e807944a078b51922212fb3dedb01633a8defc4b01a3c85f"}, + {file = "markupsafe-3.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e1cf1972137e83c5d4c136c43ced9ac51d0e124706ee1c8aa8532c1287fa8795"}, + {file = "markupsafe-3.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:116bb52f642a37c115f517494ea5feb03889e04df47eeff5b130b1808ce7c219"}, + {file = "markupsafe-3.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:133a43e73a802c5562be9bbcd03d090aa5a1fe899db609c29e8c8d815c5f6de6"}, + {file = "markupsafe-3.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ccfcd093f13f0f0b7fdd0f198b90053bf7b2f02a3927a30e63f3ccc9df56b676"}, + {file = "markupsafe-3.0.3-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:509fa21c6deb7a7a273d629cf5ec029bc209d1a51178615ddf718f5918992ab9"}, + {file = "markupsafe-3.0.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a4afe79fb3de0b7097d81da19090f4df4f8d3a2b3adaa8764138aac2e44f3af1"}, + {file = "markupsafe-3.0.3-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:795e7751525cae078558e679d646ae45574b47ed6e7771863fcc079a6171a0fc"}, + {file = "markupsafe-3.0.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8485f406a96febb5140bfeca44a73e3ce5116b2501ac54fe953e488fb1d03b12"}, + {file = "markupsafe-3.0.3-cp313-cp313-win32.whl", hash = "sha256:bdd37121970bfd8be76c5fb069c7751683bdf373db1ed6c010162b2a130248ed"}, + {file = "markupsafe-3.0.3-cp313-cp313-win_amd64.whl", hash = "sha256:9a1abfdc021a164803f4d485104931fb8f8c1efd55bc6b748d2f5774e78b62c5"}, + {file = "markupsafe-3.0.3-cp313-cp313-win_arm64.whl", hash = "sha256:7e68f88e5b8799aa49c85cd116c932a1ac15caaa3f5db09087854d218359e485"}, + {file = "markupsafe-3.0.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:218551f6df4868a8d527e3062d0fb968682fe92054e89978594c28e642c43a73"}, + {file = "markupsafe-3.0.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3524b778fe5cfb3452a09d31e7b5adefeea8c5be1d43c4f810ba09f2ceb29d37"}, + {file = "markupsafe-3.0.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4e885a3d1efa2eadc93c894a21770e4bc67899e3543680313b09f139e149ab19"}, + {file = "markupsafe-3.0.3-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8709b08f4a89aa7586de0aadc8da56180242ee0ada3999749b183aa23df95025"}, + {file = "markupsafe-3.0.3-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:b8512a91625c9b3da6f127803b166b629725e68af71f8184ae7e7d54686a56d6"}, + {file = "markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:9b79b7a16f7fedff2495d684f2b59b0457c3b493778c9eed31111be64d58279f"}, + {file = "markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:12c63dfb4a98206f045aa9563db46507995f7ef6d83b2f68eda65c307c6829eb"}, + {file = "markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8f71bc33915be5186016f675cd83a1e08523649b0e33efdb898db577ef5bb009"}, + {file = "markupsafe-3.0.3-cp313-cp313t-win32.whl", hash = "sha256:69c0b73548bc525c8cb9a251cddf1931d1db4d2258e9599c28c07ef3580ef354"}, + {file = "markupsafe-3.0.3-cp313-cp313t-win_amd64.whl", hash = "sha256:1b4b79e8ebf6b55351f0d91fe80f893b4743f104bff22e90697db1590e47a218"}, + {file = "markupsafe-3.0.3-cp313-cp313t-win_arm64.whl", hash = "sha256:ad2cf8aa28b8c020ab2fc8287b0f823d0a7d8630784c31e9ee5edea20f406287"}, + {file = "markupsafe-3.0.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:eaa9599de571d72e2daf60164784109f19978b327a3910d3e9de8c97b5b70cfe"}, + {file = "markupsafe-3.0.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c47a551199eb8eb2121d4f0f15ae0f923d31350ab9280078d1e5f12b249e0026"}, + {file = "markupsafe-3.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f34c41761022dd093b4b6896d4810782ffbabe30f2d443ff5f083e0cbbb8c737"}, + {file = "markupsafe-3.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:457a69a9577064c05a97c41f4e65148652db078a3a509039e64d3467b9e7ef97"}, + {file = "markupsafe-3.0.3-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e8afc3f2ccfa24215f8cb28dcf43f0113ac3c37c2f0f0806d8c70e4228c5cf4d"}, + {file = "markupsafe-3.0.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ec15a59cf5af7be74194f7ab02d0f59a62bdcf1a537677ce67a2537c9b87fcda"}, + {file = "markupsafe-3.0.3-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:0eb9ff8191e8498cca014656ae6b8d61f39da5f95b488805da4bb029cccbfbaf"}, + {file = "markupsafe-3.0.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:2713baf880df847f2bece4230d4d094280f4e67b1e813eec43b4c0e144a34ffe"}, + {file = "markupsafe-3.0.3-cp314-cp314-win32.whl", hash = "sha256:729586769a26dbceff69f7a7dbbf59ab6572b99d94576a5592625d5b411576b9"}, + {file = "markupsafe-3.0.3-cp314-cp314-win_amd64.whl", hash = "sha256:bdc919ead48f234740ad807933cdf545180bfbe9342c2bb451556db2ed958581"}, + {file = "markupsafe-3.0.3-cp314-cp314-win_arm64.whl", hash = "sha256:5a7d5dc5140555cf21a6fefbdbf8723f06fcd2f63ef108f2854de715e4422cb4"}, + {file = "markupsafe-3.0.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:1353ef0c1b138e1907ae78e2f6c63ff67501122006b0f9abad68fda5f4ffc6ab"}, + {file = "markupsafe-3.0.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:1085e7fbddd3be5f89cc898938f42c0b3c711fdcb37d75221de2666af647c175"}, + {file = "markupsafe-3.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1b52b4fb9df4eb9ae465f8d0c228a00624de2334f216f178a995ccdcf82c4634"}, + {file = "markupsafe-3.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fed51ac40f757d41b7c48425901843666a6677e3e8eb0abcff09e4ba6e664f50"}, + {file = "markupsafe-3.0.3-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:f190daf01f13c72eac4efd5c430a8de82489d9cff23c364c3ea822545032993e"}, + {file = "markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e56b7d45a839a697b5eb268c82a71bd8c7f6c94d6fd50c3d577fa39a9f1409f5"}, + {file = "markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:f3e98bb3798ead92273dc0e5fd0f31ade220f59a266ffd8a4f6065e0a3ce0523"}, + {file = "markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:5678211cb9333a6468fb8d8be0305520aa073f50d17f089b5b4b477ea6e67fdc"}, + {file = "markupsafe-3.0.3-cp314-cp314t-win32.whl", hash = "sha256:915c04ba3851909ce68ccc2b8e2cd691618c4dc4c4232fb7982bca3f41fd8c3d"}, + {file = "markupsafe-3.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:4faffd047e07c38848ce017e8725090413cd80cbc23d86e55c587bf979e579c9"}, + {file = "markupsafe-3.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:32001d6a8fc98c8cb5c947787c5d08b0a50663d139f1305bac5885d98d9b40fa"}, + {file = "markupsafe-3.0.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:15d939a21d546304880945ca1ecb8a039db6b4dc49b2c5a400387cdae6a62e26"}, + {file = "markupsafe-3.0.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f71a396b3bf33ecaa1626c255855702aca4d3d9fea5e051b41ac59a9c1c41edc"}, + {file = "markupsafe-3.0.3-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0f4b68347f8c5eab4a13419215bdfd7f8c9b19f2b25520968adfad23eb0ce60c"}, + {file = "markupsafe-3.0.3-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e8fc20152abba6b83724d7ff268c249fa196d8259ff481f3b1476383f8f24e42"}, + {file = "markupsafe-3.0.3-cp39-cp39-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:949b8d66bc381ee8b007cd945914c721d9aba8e27f71959d750a46f7c282b20b"}, + {file = "markupsafe-3.0.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:3537e01efc9d4dccdf77221fb1cb3b8e1a38d5428920e0657ce299b20324d758"}, + {file = "markupsafe-3.0.3-cp39-cp39-musllinux_1_2_riscv64.whl", hash = "sha256:591ae9f2a647529ca990bc681daebdd52c8791ff06c2bfa05b65163e28102ef2"}, + {file = "markupsafe-3.0.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:a320721ab5a1aba0a233739394eb907f8c8da5c98c9181d1161e77a0c8e36f2d"}, + {file = "markupsafe-3.0.3-cp39-cp39-win32.whl", hash = "sha256:df2449253ef108a379b8b5d6b43f4b1a8e81a061d6537becd5582fba5f9196d7"}, + {file = "markupsafe-3.0.3-cp39-cp39-win_amd64.whl", hash = "sha256:7c3fb7d25180895632e5d3148dbdc29ea38ccb7fd210aa27acbd1201a1902c6e"}, + {file = "markupsafe-3.0.3-cp39-cp39-win_arm64.whl", hash = "sha256:38664109c14ffc9e7437e86b4dceb442b0096dfe3541d7864d9cbe1da4cf36c8"}, + {file = "markupsafe-3.0.3.tar.gz", hash = "sha256:722695808f4b6457b320fdc131280796bdceb04ab50fe1795cd540799ebe1698"}, +] + +[[package]] +name = "requests" +version = "2.33.0" +description = "Python HTTP for Humans." +optional = false +python-versions = ">=3.10" +groups = ["main"] +files = [ + {file = "requests-2.33.0-py3-none-any.whl", hash = "sha256:3324635456fa185245e24865e810cecec7b4caf933d7eb133dcde67d48cee69b"}, + {file = "requests-2.33.0.tar.gz", hash = "sha256:c7ebc5e8b0f21837386ad0e1c8fe8b829fa5f544d8df3b2253bff14ef29d7652"}, +] + +[package.dependencies] +certifi = ">=2023.5.7" +charset_normalizer = ">=2,<4" +idna = ">=2.5,<4" +urllib3 = ">=1.26,<3" + +[package.extras] +socks = ["PySocks (>=1.5.6,!=1.5.7)"] +test = ["PySocks (>=1.5.6,!=1.5.7)", "pytest (>=3)", "pytest-cov", "pytest-httpbin (==2.1.0)", "pytest-mock", "pytest-xdist"] +use-chardet-on-py3 = ["chardet (>=3.0.2,<8)"] + +[[package]] +name = "urllib3" +version = "2.6.3" +description = "HTTP library with thread-safe connection pooling, file post, and more." +optional = false +python-versions = ">=3.9" +groups = ["main"] +files = [ + {file = "urllib3-2.6.3-py3-none-any.whl", hash = "sha256:bf272323e553dfb2e87d9bfd225ca7b0f467b919d7bbd355436d3fd37cb0acd4"}, + {file = "urllib3-2.6.3.tar.gz", hash = "sha256:1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed"}, +] + +[package.extras] +brotli = ["brotli (>=1.2.0) ; platform_python_implementation == \"CPython\"", "brotlicffi (>=1.2.0.0) ; platform_python_implementation != \"CPython\""] +h2 = ["h2 (>=4,<5)"] +socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] +zstd = ["backports-zstd (>=1.0.0) ; python_version < \"3.14\""] + +[[package]] +name = "werkzeug" +version = "3.1.7" +description = "The comprehensive WSGI web application library." +optional = false +python-versions = ">=3.9" +groups = ["main"] +files = [ + {file = "werkzeug-3.1.7-py3-none-any.whl", hash = "sha256:4b314d81163a3e1a169b6a0be2a000a0e204e8873c5de6586f453c55688d422f"}, + {file = "werkzeug-3.1.7.tar.gz", hash = "sha256:fb8c01fe6ab13b9b7cdb46892b99b1d66754e1d7ab8e542e865ec13f526b5351"}, +] + +[package.dependencies] +markupsafe = ">=2.1.1" + +[package.extras] +watchdog = ["watchdog (>=2.3)"] + +[metadata] +lock-version = "2.1" +python-versions = "^3.11" +content-hash = "eb868b11bfba7b0ee596e7653ef3cbeda20604ed713fda827d666e9e04956142" diff --git a/test/providers/tst_manifests/pyproject/poetry_lock/pyproject.toml b/test/providers/tst_manifests/pyproject/poetry_lock/pyproject.toml new file mode 100644 index 00000000..534775ab --- /dev/null +++ b/test/providers/tst_manifests/pyproject/poetry_lock/pyproject.toml @@ -0,0 +1,14 @@ +[project] +name = "test-project" +version = "1.0.0" +dependencies = [ + "Flask==3.1.3", + "requests==2.33.0", + "click==8.3.1", #exhortignore +] + +[tool.poetry.dependencies] +python = "^3.11" + +[tool.poetry] +name = "test-project" diff --git a/test/providers/tst_manifests/pyproject/poetry_only_deps/expected_component_sbom.json b/test/providers/tst_manifests/pyproject/poetry_only_deps/expected_component_sbom.json new file mode 100644 index 00000000..06737c4e --- /dev/null +++ b/test/providers/tst_manifests/pyproject/poetry_only_deps/expected_component_sbom.json @@ -0,0 +1,60 @@ +{ + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-10-01T00:00:00.000Z", + "component": { + "name": "poetry-only-project", + "version": "1.0.0", + "purl": "pkg:pypi/poetry-only-project@1.0.0", + "type": "application", + "bom-ref": "pkg:pypi/poetry-only-project@1.0.0" + } + }, + "components": [ + { + "name": "click", + "version": "8.1.8", + "purl": "pkg:pypi/click@8.1.8", + "type": "library", + "bom-ref": "pkg:pypi/click@8.1.8" + }, + { + "name": "flask", + "version": "2.3.3", + "purl": "pkg:pypi/flask@2.3.3", + "type": "library", + "bom-ref": "pkg:pypi/flask@2.3.3" + }, + { + "name": "requests", + "version": "2.32.4", + "purl": "pkg:pypi/requests@2.32.4", + "type": "library", + "bom-ref": "pkg:pypi/requests@2.32.4" + } + ], + "dependencies": [ + { + "ref": "pkg:pypi/poetry-only-project@1.0.0", + "dependsOn": [ + "pkg:pypi/click@8.1.8", + "pkg:pypi/flask@2.3.3", + "pkg:pypi/requests@2.32.4" + ] + }, + { + "ref": "pkg:pypi/click@8.1.8", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/flask@2.3.3", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/requests@2.32.4", + "dependsOn": [] + } + ] +} diff --git a/test/providers/tst_manifests/pyproject/poetry_only_deps/expected_stack_sbom.json b/test/providers/tst_manifests/pyproject/poetry_only_deps/expected_stack_sbom.json new file mode 100644 index 00000000..2f7167af --- /dev/null +++ b/test/providers/tst_manifests/pyproject/poetry_only_deps/expected_stack_sbom.json @@ -0,0 +1,222 @@ +{ + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-10-01T00:00:00.000Z", + "component": { + "name": "poetry-only-project", + "version": "1.0.0", + "purl": "pkg:pypi/poetry-only-project@1.0.0", + "type": "application", + "bom-ref": "pkg:pypi/poetry-only-project@1.0.0" + } + }, + "components": [ + { + "name": "click", + "version": "8.1.8", + "purl": "pkg:pypi/click@8.1.8", + "type": "library", + "bom-ref": "pkg:pypi/click@8.1.8" + }, + { + "name": "colorama", + "version": "0.4.6", + "purl": "pkg:pypi/colorama@0.4.6", + "type": "library", + "bom-ref": "pkg:pypi/colorama@0.4.6" + }, + { + "name": "flask", + "version": "2.3.3", + "purl": "pkg:pypi/flask@2.3.3", + "type": "library", + "bom-ref": "pkg:pypi/flask@2.3.3" + }, + { + "name": "blinker", + "version": "1.8.2", + "purl": "pkg:pypi/blinker@1.8.2", + "type": "library", + "bom-ref": "pkg:pypi/blinker@1.8.2" + }, + { + "name": "importlib-metadata", + "version": "8.5.0", + "purl": "pkg:pypi/importlib-metadata@8.5.0", + "type": "library", + "bom-ref": "pkg:pypi/importlib-metadata@8.5.0" + }, + { + "name": "zipp", + "version": "3.20.2", + "purl": "pkg:pypi/zipp@3.20.2", + "type": "library", + "bom-ref": "pkg:pypi/zipp@3.20.2" + }, + { + "name": "itsdangerous", + "version": "2.2.0", + "purl": "pkg:pypi/itsdangerous@2.2.0", + "type": "library", + "bom-ref": "pkg:pypi/itsdangerous@2.2.0" + }, + { + "name": "jinja2", + "version": "3.1.6", + "purl": "pkg:pypi/jinja2@3.1.6", + "type": "library", + "bom-ref": "pkg:pypi/jinja2@3.1.6" + }, + { + "name": "markupsafe", + "version": "2.1.5", + "purl": "pkg:pypi/markupsafe@2.1.5", + "type": "library", + "bom-ref": "pkg:pypi/markupsafe@2.1.5" + }, + { + "name": "werkzeug", + "version": "3.0.6", + "purl": "pkg:pypi/werkzeug@3.0.6", + "type": "library", + "bom-ref": "pkg:pypi/werkzeug@3.0.6" + }, + { + "name": "requests", + "version": "2.32.4", + "purl": "pkg:pypi/requests@2.32.4", + "type": "library", + "bom-ref": "pkg:pypi/requests@2.32.4" + }, + { + "name": "certifi", + "version": "2026.2.25", + "purl": "pkg:pypi/certifi@2026.2.25", + "type": "library", + "bom-ref": "pkg:pypi/certifi@2026.2.25" + }, + { + "name": "charset-normalizer", + "version": "3.4.6", + "purl": "pkg:pypi/charset-normalizer@3.4.6", + "type": "library", + "bom-ref": "pkg:pypi/charset-normalizer@3.4.6" + }, + { + "name": "idna", + "version": "3.11", + "purl": "pkg:pypi/idna@3.11", + "type": "library", + "bom-ref": "pkg:pypi/idna@3.11" + }, + { + "name": "pysocks", + "version": "1.7.1", + "purl": "pkg:pypi/pysocks@1.7.1", + "type": "library", + "bom-ref": "pkg:pypi/pysocks@1.7.1" + }, + { + "name": "urllib3", + "version": "2.2.3", + "purl": "pkg:pypi/urllib3@2.2.3", + "type": "library", + "bom-ref": "pkg:pypi/urllib3@2.2.3" + } + ], + "dependencies": [ + { + "ref": "pkg:pypi/poetry-only-project@1.0.0", + "dependsOn": [ + "pkg:pypi/click@8.1.8", + "pkg:pypi/flask@2.3.3", + "pkg:pypi/requests@2.32.4" + ] + }, + { + "ref": "pkg:pypi/click@8.1.8", + "dependsOn": [ + "pkg:pypi/colorama@0.4.6" + ] + }, + { + "ref": "pkg:pypi/colorama@0.4.6", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/flask@2.3.3", + "dependsOn": [ + "pkg:pypi/blinker@1.8.2", + "pkg:pypi/click@8.1.8", + "pkg:pypi/importlib-metadata@8.5.0", + "pkg:pypi/itsdangerous@2.2.0", + "pkg:pypi/jinja2@3.1.6", + "pkg:pypi/werkzeug@3.0.6" + ] + }, + { + "ref": "pkg:pypi/blinker@1.8.2", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/importlib-metadata@8.5.0", + "dependsOn": [ + "pkg:pypi/zipp@3.20.2" + ] + }, + { + "ref": "pkg:pypi/zipp@3.20.2", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/itsdangerous@2.2.0", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/jinja2@3.1.6", + "dependsOn": [ + "pkg:pypi/markupsafe@2.1.5" + ] + }, + { + "ref": "pkg:pypi/markupsafe@2.1.5", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/werkzeug@3.0.6", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/requests@2.32.4", + "dependsOn": [ + "pkg:pypi/certifi@2026.2.25", + "pkg:pypi/charset-normalizer@3.4.6", + "pkg:pypi/idna@3.11", + "pkg:pypi/pysocks@1.7.1", + "pkg:pypi/urllib3@2.2.3" + ] + }, + { + "ref": "pkg:pypi/certifi@2026.2.25", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/charset-normalizer@3.4.6", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/idna@3.11", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/pysocks@1.7.1", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/urllib3@2.2.3", + "dependsOn": [] + } + ] +} diff --git a/test/providers/tst_manifests/pyproject/poetry_only_deps/poetry.lock b/test/providers/tst_manifests/pyproject/poetry_only_deps/poetry.lock new file mode 100644 index 00000000..d613e7f9 --- /dev/null +++ b/test/providers/tst_manifests/pyproject/poetry_only_deps/poetry.lock @@ -0,0 +1,454 @@ +# This file is automatically @generated by Poetry 2.3.2 and should not be changed by hand. + +[[package]] +name = "blinker" +version = "1.8.2" +description = "Fast, simple object-to-object and broadcast signaling" +optional = false +python-versions = ">=3.8" +groups = ["main"] +files = [ + {file = "blinker-1.8.2-py3-none-any.whl", hash = "sha256:1779309f71bf239144b9399d06ae925637cf6634cf6bd131104184531bf67c01"}, + {file = "blinker-1.8.2.tar.gz", hash = "sha256:8f77b09d3bf7c795e969e9486f39c2c5e9c39d4ee07424be2bc594ece9642d83"}, +] + +[[package]] +name = "certifi" +version = "2026.2.25" +description = "Python package for providing Mozilla's CA Bundle." +optional = false +python-versions = ">=3.7" +groups = ["main"] +files = [ + {file = "certifi-2026.2.25-py3-none-any.whl", hash = "sha256:027692e4402ad994f1c42e52a4997a9763c646b73e4096e4d5d6db8af1d6f0fa"}, + {file = "certifi-2026.2.25.tar.gz", hash = "sha256:e887ab5cee78ea814d3472169153c2d12cd43b14bd03329a39a9c6e2e80bfba7"}, +] + +[[package]] +name = "charset-normalizer" +version = "3.4.6" +description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." +optional = false +python-versions = ">=3.7" +groups = ["main"] +files = [ + {file = "charset_normalizer-3.4.6-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:2e1d8ca8611099001949d1cdfaefc510cf0f212484fe7c565f735b68c78c3c95"}, + {file = "charset_normalizer-3.4.6-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e25369dc110d58ddf29b949377a93e0716d72a24f62bad72b2b39f155949c1fd"}, + {file = "charset_normalizer-3.4.6-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:259695e2ccc253feb2a016303543d691825e920917e31f894ca1a687982b1de4"}, + {file = "charset_normalizer-3.4.6-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:dda86aba335c902b6149a02a55b38e96287157e609200811837678214ba2b1db"}, + {file = "charset_normalizer-3.4.6-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:51fb3c322c81d20567019778cb5a4a6f2dc1c200b886bc0d636238e364848c89"}, + {file = "charset_normalizer-3.4.6-cp310-cp310-manylinux_2_31_armv7l.whl", hash = "sha256:4482481cb0572180b6fd976a4d5c72a30263e98564da68b86ec91f0fe35e8565"}, + {file = "charset_normalizer-3.4.6-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:39f5068d35621da2881271e5c3205125cc456f54e9030d3f723288c873a71bf9"}, + {file = "charset_normalizer-3.4.6-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:8bea55c4eef25b0b19a0337dc4e3f9a15b00d569c77211fa8cde38684f234fb7"}, + {file = "charset_normalizer-3.4.6-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:f0cdaecd4c953bfae0b6bb64910aaaca5a424ad9c72d85cb88417bb9814f7550"}, + {file = "charset_normalizer-3.4.6-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:150b8ce8e830eb7ccb029ec9ca36022f756986aaaa7956aad6d9ec90089338c0"}, + {file = "charset_normalizer-3.4.6-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:e68c14b04827dd76dcbd1aeea9e604e3e4b78322d8faf2f8132c7138efa340a8"}, + {file = "charset_normalizer-3.4.6-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:3778fd7d7cd04ae8f54651f4a7a0bd6e39a0cf20f801720a4c21d80e9b7ad6b0"}, + {file = "charset_normalizer-3.4.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:dad6e0f2e481fffdcf776d10ebee25e0ef89f16d691f1e5dee4b586375fdc64b"}, + {file = "charset_normalizer-3.4.6-cp310-cp310-win32.whl", hash = "sha256:74a2e659c7ecbc73562e2a15e05039f1e22c75b7c7618b4b574a3ea9118d1557"}, + {file = "charset_normalizer-3.4.6-cp310-cp310-win_amd64.whl", hash = "sha256:aa9cccf4a44b9b62d8ba8b4dd06c649ba683e4bf04eea606d2e94cfc2d6ff4d6"}, + {file = "charset_normalizer-3.4.6-cp310-cp310-win_arm64.whl", hash = "sha256:e985a16ff513596f217cee86c21371b8cd011c0f6f056d0920aa2d926c544058"}, + {file = "charset_normalizer-3.4.6-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:82060f995ab5003a2d6e0f4ad29065b7672b6593c8c63559beefe5b443242c3e"}, + {file = "charset_normalizer-3.4.6-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:60c74963d8350241a79cb8feea80e54d518f72c26db618862a8f53e5023deaf9"}, + {file = "charset_normalizer-3.4.6-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f6e4333fb15c83f7d1482a76d45a0818897b3d33f00efd215528ff7c51b8e35d"}, + {file = "charset_normalizer-3.4.6-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:bc72863f4d9aba2e8fd9085e63548a324ba706d2ea2c83b260da08a59b9482de"}, + {file = "charset_normalizer-3.4.6-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9cc4fc6c196d6a8b76629a70ddfcd4635a6898756e2d9cac5565cf0654605d73"}, + {file = "charset_normalizer-3.4.6-cp311-cp311-manylinux_2_31_armv7l.whl", hash = "sha256:0c173ce3a681f309f31b87125fecec7a5d1347261ea11ebbb856fa6006b23c8c"}, + {file = "charset_normalizer-3.4.6-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c907cdc8109f6c619e6254212e794d6548373cc40e1ec75e6e3823d9135d29cc"}, + {file = "charset_normalizer-3.4.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:404a1e552cf5b675a87f0651f8b79f5f1e6fd100ee88dc612f89aa16abd4486f"}, + {file = "charset_normalizer-3.4.6-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:e3c701e954abf6fc03a49f7c579cc80c2c6cc52525340ca3186c41d3f33482ef"}, + {file = "charset_normalizer-3.4.6-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:7a6967aaf043bceabab5412ed6bd6bd26603dae84d5cb75bf8d9a74a4959d398"}, + {file = "charset_normalizer-3.4.6-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:5feb91325bbceade6afab43eb3b508c63ee53579fe896c77137ded51c6b6958e"}, + {file = "charset_normalizer-3.4.6-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:f820f24b09e3e779fe84c3c456cb4108a7aa639b0d1f02c28046e11bfcd088ed"}, + {file = "charset_normalizer-3.4.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b35b200d6a71b9839a46b9b7fff66b6638bb52fc9658aa58796b0326595d3021"}, + {file = "charset_normalizer-3.4.6-cp311-cp311-win32.whl", hash = "sha256:9ca4c0b502ab399ef89248a2c84c54954f77a070f28e546a85e91da627d1301e"}, + {file = "charset_normalizer-3.4.6-cp311-cp311-win_amd64.whl", hash = "sha256:a9e68c9d88823b274cf1e72f28cb5dc89c990edf430b0bfd3e2fb0785bfeabf4"}, + {file = "charset_normalizer-3.4.6-cp311-cp311-win_arm64.whl", hash = "sha256:97d0235baafca5f2b09cf332cc275f021e694e8362c6bb9c96fc9a0eb74fc316"}, + {file = "charset_normalizer-3.4.6-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:2ef7fedc7a6ecbe99969cd09632516738a97eeb8bd7258bf8a0f23114c057dab"}, + {file = "charset_normalizer-3.4.6-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a4ea868bc28109052790eb2b52a9ab33f3aa7adc02f96673526ff47419490e21"}, + {file = "charset_normalizer-3.4.6-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:836ab36280f21fc1a03c99cd05c6b7af70d2697e374c7af0b61ed271401a72a2"}, + {file = "charset_normalizer-3.4.6-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f1ce721c8a7dfec21fcbdfe04e8f68174183cf4e8188e0645e92aa23985c57ff"}, + {file = "charset_normalizer-3.4.6-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0e28d62a8fc7a1fa411c43bd65e346f3bce9716dc51b897fbe930c5987b402d5"}, + {file = "charset_normalizer-3.4.6-cp312-cp312-manylinux_2_31_armv7l.whl", hash = "sha256:530d548084c4a9f7a16ed4a294d459b4f229db50df689bfe92027452452943a0"}, + {file = "charset_normalizer-3.4.6-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:30f445ae60aad5e1f8bdbb3108e39f6fbc09f4ea16c815c66578878325f8f15a"}, + {file = "charset_normalizer-3.4.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ac2393c73378fea4e52aa56285a3d64be50f1a12395afef9cce47772f60334c2"}, + {file = "charset_normalizer-3.4.6-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:90ca27cd8da8118b18a52d5f547859cc1f8354a00cd1e8e5120df3e30d6279e5"}, + {file = "charset_normalizer-3.4.6-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:8e5a94886bedca0f9b78fecd6afb6629142fd2605aa70a125d49f4edc6037ee6"}, + {file = "charset_normalizer-3.4.6-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:695f5c2823691a25f17bc5d5ffe79fa90972cc34b002ac6c843bb8a1720e950d"}, + {file = "charset_normalizer-3.4.6-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:231d4da14bcd9301310faf492051bee27df11f2bc7549bc0bb41fef11b82daa2"}, + {file = "charset_normalizer-3.4.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a056d1ad2633548ca18ffa2f85c202cfb48b68615129143915b8dc72a806a923"}, + {file = "charset_normalizer-3.4.6-cp312-cp312-win32.whl", hash = "sha256:c2274ca724536f173122f36c98ce188fd24ce3dad886ec2b7af859518ce008a4"}, + {file = "charset_normalizer-3.4.6-cp312-cp312-win_amd64.whl", hash = "sha256:c8ae56368f8cc97c7e40a7ee18e1cedaf8e780cd8bc5ed5ac8b81f238614facb"}, + {file = "charset_normalizer-3.4.6-cp312-cp312-win_arm64.whl", hash = "sha256:899d28f422116b08be5118ef350c292b36fc15ec2daeb9ea987c89281c7bb5c4"}, + {file = "charset_normalizer-3.4.6-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:11afb56037cbc4b1555a34dd69151e8e069bee82e613a73bef6e714ce733585f"}, + {file = "charset_normalizer-3.4.6-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:423fb7e748a08f854a08a222b983f4df1912b1daedce51a72bd24fe8f26a1843"}, + {file = "charset_normalizer-3.4.6-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:d73beaac5e90173ac3deb9928a74763a6d230f494e4bfb422c217a0ad8e629bf"}, + {file = "charset_normalizer-3.4.6-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d60377dce4511655582e300dc1e5a5f24ba0cb229005a1d5c8d0cb72bb758ab8"}, + {file = "charset_normalizer-3.4.6-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:530e8cebeea0d76bdcf93357aa5e41336f48c3dc709ac52da2bb167c5b8271d9"}, + {file = "charset_normalizer-3.4.6-cp313-cp313-manylinux_2_31_armv7l.whl", hash = "sha256:a26611d9987b230566f24a0a125f17fe0de6a6aff9f25c9f564aaa2721a5fb88"}, + {file = "charset_normalizer-3.4.6-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:34315ff4fc374b285ad7f4a0bf7dcbfe769e1b104230d40f49f700d4ab6bbd84"}, + {file = "charset_normalizer-3.4.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5f8ddd609f9e1af8c7bd6e2aca279c931aefecd148a14402d4e368f3171769fd"}, + {file = "charset_normalizer-3.4.6-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:80d0a5615143c0b3225e5e3ef22c8d5d51f3f72ce0ea6fb84c943546c7b25b6c"}, + {file = "charset_normalizer-3.4.6-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:92734d4d8d187a354a556626c221cd1a892a4e0802ccb2af432a1d85ec012194"}, + {file = "charset_normalizer-3.4.6-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:613f19aa6e082cf96e17e3ffd89383343d0d589abda756b7764cf78361fd41dc"}, + {file = "charset_normalizer-3.4.6-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:2b1a63e8224e401cafe7739f77efd3f9e7f5f2026bda4aead8e59afab537784f"}, + {file = "charset_normalizer-3.4.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6cceb5473417d28edd20c6c984ab6fee6c6267d38d906823ebfe20b03d607dc2"}, + {file = "charset_normalizer-3.4.6-cp313-cp313-win32.whl", hash = "sha256:d7de2637729c67d67cf87614b566626057e95c303bc0a55ffe391f5205e7003d"}, + {file = "charset_normalizer-3.4.6-cp313-cp313-win_amd64.whl", hash = "sha256:572d7c822caf521f0525ba1bce1a622a0b85cf47ffbdae6c9c19e3b5ac3c4389"}, + {file = "charset_normalizer-3.4.6-cp313-cp313-win_arm64.whl", hash = "sha256:a4474d924a47185a06411e0064b803c68be044be2d60e50e8bddcc2649957c1f"}, + {file = "charset_normalizer-3.4.6-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:9cc6e6d9e571d2f863fa77700701dae73ed5f78881efc8b3f9a4398772ff53e8"}, + {file = "charset_normalizer-3.4.6-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ef5960d965e67165d75b7c7ffc60a83ec5abfc5c11b764ec13ea54fbef8b4421"}, + {file = "charset_normalizer-3.4.6-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:b3694e3f87f8ac7ce279d4355645b3c878d24d1424581b46282f24b92f5a4ae2"}, + {file = "charset_normalizer-3.4.6-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5d11595abf8dd942a77883a39d81433739b287b6aa71620f15164f8096221b30"}, + {file = "charset_normalizer-3.4.6-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7bda6eebafd42133efdca535b04ccb338ab29467b3f7bf79569883676fc628db"}, + {file = "charset_normalizer-3.4.6-cp314-cp314-manylinux_2_31_armv7l.whl", hash = "sha256:bbc8c8650c6e51041ad1be191742b8b421d05bbd3410f43fa2a00c8db87678e8"}, + {file = "charset_normalizer-3.4.6-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:22c6f0c2fbc31e76c3b8a86fba1a56eda6166e238c29cdd3d14befdb4a4e4815"}, + {file = "charset_normalizer-3.4.6-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7edbed096e4a4798710ed6bc75dcaa2a21b68b6c356553ac4823c3658d53743a"}, + {file = "charset_normalizer-3.4.6-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:7f9019c9cb613f084481bd6a100b12e1547cf2efe362d873c2e31e4035a6fa43"}, + {file = "charset_normalizer-3.4.6-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:58c948d0d086229efc484fe2f30c2d382c86720f55cd9bc33591774348ad44e0"}, + {file = "charset_normalizer-3.4.6-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:419a9d91bd238052642a51938af8ac05da5b3343becde08d5cdeab9046df9ee1"}, + {file = "charset_normalizer-3.4.6-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:5273b9f0b5835ff0350c0828faea623c68bfa65b792720c453e22b25cc72930f"}, + {file = "charset_normalizer-3.4.6-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:0e901eb1049fdb80f5bd11ed5ea1e498ec423102f7a9b9e4645d5b8204ff2815"}, + {file = "charset_normalizer-3.4.6-cp314-cp314-win32.whl", hash = "sha256:b4ff1d35e8c5bd078be89349b6f3a845128e685e751b6ea1169cf2160b344c4d"}, + {file = "charset_normalizer-3.4.6-cp314-cp314-win_amd64.whl", hash = "sha256:74119174722c4349af9708993118581686f343adc1c8c9c007d59be90d077f3f"}, + {file = "charset_normalizer-3.4.6-cp314-cp314-win_arm64.whl", hash = "sha256:e5bcc1a1ae744e0bb59641171ae53743760130600da8db48cbb6e4918e186e4e"}, + {file = "charset_normalizer-3.4.6-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:ad8faf8df23f0378c6d527d8b0b15ea4a2e23c89376877c598c4870d1b2c7866"}, + {file = "charset_normalizer-3.4.6-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f5ea69428fa1b49573eef0cc44a1d43bebd45ad0c611eb7d7eac760c7ae771bc"}, + {file = "charset_normalizer-3.4.6-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:06a7e86163334edfc5d20fe104db92fcd666e5a5df0977cb5680a506fe26cc8e"}, + {file = "charset_normalizer-3.4.6-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:e1f6e2f00a6b8edb562826e4632e26d063ac10307e80f7461f7de3ad8ef3f077"}, + {file = "charset_normalizer-3.4.6-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:95b52c68d64c1878818687a473a10547b3292e82b6f6fe483808fb1468e2f52f"}, + {file = "charset_normalizer-3.4.6-cp314-cp314t-manylinux_2_31_armv7l.whl", hash = "sha256:7504e9b7dc05f99a9bbb4525c67a2c155073b44d720470a148b34166a69c054e"}, + {file = "charset_normalizer-3.4.6-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:172985e4ff804a7ad08eebec0a1640ece87ba5041d565fff23c8f99c1f389484"}, + {file = "charset_normalizer-3.4.6-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:4be9f4830ba8741527693848403e2c457c16e499100963ec711b1c6f2049b7c7"}, + {file = "charset_normalizer-3.4.6-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:79090741d842f564b1b2827c0b82d846405b744d31e84f18d7a7b41c20e473ff"}, + {file = "charset_normalizer-3.4.6-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:87725cfb1a4f1f8c2fc9890ae2f42094120f4b44db9360be5d99a4c6b0e03a9e"}, + {file = "charset_normalizer-3.4.6-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:fcce033e4021347d80ed9c66dcf1e7b1546319834b74445f561d2e2221de5659"}, + {file = "charset_normalizer-3.4.6-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:ca0276464d148c72defa8bb4390cce01b4a0e425f3b50d1435aa6d7a18107602"}, + {file = "charset_normalizer-3.4.6-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:197c1a244a274bb016dd8b79204850144ef77fe81c5b797dc389327adb552407"}, + {file = "charset_normalizer-3.4.6-cp314-cp314t-win32.whl", hash = "sha256:2a24157fa36980478dd1770b585c0f30d19e18f4fb0c47c13aa568f871718579"}, + {file = "charset_normalizer-3.4.6-cp314-cp314t-win_amd64.whl", hash = "sha256:cd5e2801c89992ed8c0a3f0293ae83c159a60d9a5d685005383ef4caca77f2c4"}, + {file = "charset_normalizer-3.4.6-cp314-cp314t-win_arm64.whl", hash = "sha256:47955475ac79cc504ef2704b192364e51d0d473ad452caedd0002605f780101c"}, + {file = "charset_normalizer-3.4.6-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:659a1e1b500fac8f2779dd9e1570464e012f43e580371470b45277a27baa7532"}, + {file = "charset_normalizer-3.4.6-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f61aa92e4aad0be58eb6eb4e0c21acf32cf8065f4b2cae5665da756c4ceef982"}, + {file = "charset_normalizer-3.4.6-cp38-cp38-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f50498891691e0864dc3da965f340fada0771f6142a378083dc4608f4ea513e2"}, + {file = "charset_normalizer-3.4.6-cp38-cp38-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:bf625105bb9eef28a56a943fec8c8a98aeb80e7d7db99bd3c388137e6eb2d237"}, + {file = "charset_normalizer-3.4.6-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2bd9d128ef93637a5d7a6af25363cf5dec3fa21cf80e68055aad627f280e8afa"}, + {file = "charset_normalizer-3.4.6-cp38-cp38-manylinux_2_31_armv7l.whl", hash = "sha256:d08ec48f0a1c48d75d0356cea971921848fb620fdeba805b28f937e90691209f"}, + {file = "charset_normalizer-3.4.6-cp38-cp38-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:1ed80ff870ca6de33f4d953fda4d55654b9a2b340ff39ab32fa3adbcd718f264"}, + {file = "charset_normalizer-3.4.6-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:f98059e4fcd3e3e4e2d632b7cf81c2faae96c43c60b569e9c621468082f1d104"}, + {file = "charset_normalizer-3.4.6-cp38-cp38-musllinux_1_2_armv7l.whl", hash = "sha256:ab30e5e3e706e3063bc6de96b118688cb10396b70bb9864a430f67df98c61ecc"}, + {file = "charset_normalizer-3.4.6-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:d5f5d1e9def3405f60e3ca8232d56f35c98fb7bf581efcc60051ebf53cb8b611"}, + {file = "charset_normalizer-3.4.6-cp38-cp38-musllinux_1_2_riscv64.whl", hash = "sha256:461598cd852bfa5a61b09cae2b1c02e2efcd166ee5516e243d540ac24bfa68a7"}, + {file = "charset_normalizer-3.4.6-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:71be7e0e01753a89cf024abf7ecb6bca2c81738ead80d43004d9b5e3f1244e64"}, + {file = "charset_normalizer-3.4.6-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:df01808ee470038c3f8dc4f48620df7225c49c2d6639e38f96e6d6ac6e6f7b0e"}, + {file = "charset_normalizer-3.4.6-cp38-cp38-win32.whl", hash = "sha256:69dd852c2f0ad631b8b60cfbe25a28c0058a894de5abb566619c205ce0550eae"}, + {file = "charset_normalizer-3.4.6-cp38-cp38-win_amd64.whl", hash = "sha256:517ad0e93394ac532745129ceabdf2696b609ec9f87863d337140317ebce1c14"}, + {file = "charset_normalizer-3.4.6-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:31215157227939b4fb3d740cd23fe27be0439afef67b785a1eb78a3ae69cba9e"}, + {file = "charset_normalizer-3.4.6-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ecbbd45615a6885fe3240eb9db73b9e62518b611850fdf8ab08bd56de7ad2b17"}, + {file = "charset_normalizer-3.4.6-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c45a03a4c69820a399f1dda9e1d8fbf3562eda46e7720458180302021b08f778"}, + {file = "charset_normalizer-3.4.6-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:e8aeb10fcbe92767f0fa69ad5a72deca50d0dca07fbde97848997d778a50c9fe"}, + {file = "charset_normalizer-3.4.6-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:54fae94be3d75f3e573c9a1b5402dc593de19377013c9a0e4285e3d402dd3a2a"}, + {file = "charset_normalizer-3.4.6-cp39-cp39-manylinux_2_31_armv7l.whl", hash = "sha256:2f7fdd9b6e6c529d6a2501a2d36b240109e78a8ceaef5687cfcfa2bbe671d297"}, + {file = "charset_normalizer-3.4.6-cp39-cp39-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:4d1d02209e06550bdaef34af58e041ad71b88e624f5d825519da3a3308e22687"}, + {file = "charset_normalizer-3.4.6-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:8bc5f0687d796c05b1e28ab0d38a50e6309906ee09375dd3aff6a9c09dd6e8f4"}, + {file = "charset_normalizer-3.4.6-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:ee4ec14bc1680d6b0afab9aea2ef27e26d2024f18b24a2d7155a52b60da7e833"}, + {file = "charset_normalizer-3.4.6-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:d1a2ee9c1499fc8f86f4521f27a973c914b211ffa87322f4ee33bb35392da2c5"}, + {file = "charset_normalizer-3.4.6-cp39-cp39-musllinux_1_2_riscv64.whl", hash = "sha256:48696db7f18afb80a068821504296eb0787d9ce239b91ca15059d1d3eaacf13b"}, + {file = "charset_normalizer-3.4.6-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:4f41da960b196ea355357285ad1316a00099f22d0929fe168343b99b254729c9"}, + {file = "charset_normalizer-3.4.6-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:802168e03fba8bbc5ce0d866d589e4b1ca751d06edee69f7f3a19c5a9fe6b597"}, + {file = "charset_normalizer-3.4.6-cp39-cp39-win32.whl", hash = "sha256:8761ac29b6c81574724322a554605608a9960769ea83d2c73e396f3df896ad54"}, + {file = "charset_normalizer-3.4.6-cp39-cp39-win_amd64.whl", hash = "sha256:1cf0a70018692f85172348fe06d3a4b63f94ecb055e13a00c644d368eb82e5b8"}, + {file = "charset_normalizer-3.4.6-cp39-cp39-win_arm64.whl", hash = "sha256:3516bbb8d42169de9e61b8520cbeeeb716f12f4ecfe3fd30a9919aa16c806ca8"}, + {file = "charset_normalizer-3.4.6-py3-none-any.whl", hash = "sha256:947cf925bc916d90adba35a64c82aace04fa39b46b52d4630ece166655905a69"}, + {file = "charset_normalizer-3.4.6.tar.gz", hash = "sha256:1ae6b62897110aa7c79ea2f5dd38d1abca6db663687c0b1ad9aed6f6bae3d9d6"}, +] + +[[package]] +name = "click" +version = "8.1.8" +description = "Composable command line interface toolkit" +optional = false +python-versions = ">=3.7" +groups = ["main"] +files = [ + {file = "click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2"}, + {file = "click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a"}, +] + +[package.dependencies] +colorama = {version = "*", markers = "platform_system == \"Windows\""} + +[[package]] +name = "colorama" +version = "0.4.6" +description = "Cross-platform colored terminal text." +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" +groups = ["main"] +markers = "platform_system == \"Windows\"" +files = [ + {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, + {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, +] + +[[package]] +name = "flask" +version = "2.3.3" +description = "A simple framework for building complex web applications." +optional = false +python-versions = ">=3.8" +groups = ["main"] +files = [ + {file = "flask-2.3.3-py3-none-any.whl", hash = "sha256:f69fcd559dc907ed196ab9df0e48471709175e696d6e698dd4dbe940f96ce66b"}, + {file = "flask-2.3.3.tar.gz", hash = "sha256:09c347a92aa7ff4a8e7f3206795f30d826654baf38b873d0744cd571ca609efc"}, +] + +[package.dependencies] +blinker = ">=1.6.2" +click = ">=8.1.3" +importlib-metadata = {version = ">=3.6.0", markers = "python_version < \"3.10\""} +itsdangerous = ">=2.1.2" +Jinja2 = ">=3.1.2" +Werkzeug = ">=2.3.7" + +[package.extras] +async = ["asgiref (>=3.2)"] +dotenv = ["python-dotenv"] + +[[package]] +name = "idna" +version = "3.11" +description = "Internationalized Domain Names in Applications (IDNA)" +optional = false +python-versions = ">=3.8" +groups = ["main"] +files = [ + {file = "idna-3.11-py3-none-any.whl", hash = "sha256:771a87f49d9defaf64091e6e6fe9c18d4833f140bd19464795bc32d966ca37ea"}, + {file = "idna-3.11.tar.gz", hash = "sha256:795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902"}, +] + +[package.extras] +all = ["flake8 (>=7.1.1)", "mypy (>=1.11.2)", "pytest (>=8.3.2)", "ruff (>=0.6.2)"] + +[[package]] +name = "importlib-metadata" +version = "8.5.0" +description = "Read metadata from Python packages" +optional = false +python-versions = ">=3.8" +groups = ["main"] +markers = "python_version < \"3.10\"" +files = [ + {file = "importlib_metadata-8.5.0-py3-none-any.whl", hash = "sha256:45e54197d28b7a7f1559e60b95e7c567032b602131fbd588f1497f47880aa68b"}, + {file = "importlib_metadata-8.5.0.tar.gz", hash = "sha256:71522656f0abace1d072b9e5481a48f07c138e00f079c38c8f883823f9c26bd7"}, +] + +[package.dependencies] +zipp = ">=3.20" + +[package.extras] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1) ; sys_platform != \"cygwin\""] +cover = ["pytest-cov"] +doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +enabler = ["pytest-enabler (>=2.2)"] +perf = ["ipython"] +test = ["flufl.flake8", "importlib-resources (>=1.3) ; python_version < \"3.9\"", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6,!=8.1.*)", "pytest-perf (>=0.9.2)"] +type = ["pytest-mypy"] + +[[package]] +name = "itsdangerous" +version = "2.2.0" +description = "Safely pass data to untrusted environments and back." +optional = false +python-versions = ">=3.8" +groups = ["main"] +files = [ + {file = "itsdangerous-2.2.0-py3-none-any.whl", hash = "sha256:c6242fc49e35958c8b15141343aa660db5fc54d4f13a1db01a3f5891b98700ef"}, + {file = "itsdangerous-2.2.0.tar.gz", hash = "sha256:e0050c0b7da1eea53ffaf149c0cfbb5c6e2e2b69c4bef22c81fa6eb73e5f6173"}, +] + +[[package]] +name = "jinja2" +version = "3.1.6" +description = "A very fast and expressive template engine." +optional = false +python-versions = ">=3.7" +groups = ["main"] +files = [ + {file = "jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67"}, + {file = "jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d"}, +] + +[package.dependencies] +MarkupSafe = ">=2.0" + +[package.extras] +i18n = ["Babel (>=2.7)"] + +[[package]] +name = "markupsafe" +version = "2.1.5" +description = "Safely add untrusted strings to HTML/XML markup." +optional = false +python-versions = ">=3.7" +groups = ["main"] +files = [ + {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-win32.whl", hash = "sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-win_amd64.whl", hash = "sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-win32.whl", hash = "sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-win_amd64.whl", hash = "sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-win32.whl", hash = "sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-win_amd64.whl", hash = "sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c8b29db45f8fe46ad280a7294f5c3ec36dbac9491f2d1c17345be8e69cc5928f"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec6a563cff360b50eed26f13adc43e61bc0c04d94b8be985e6fb24b81f6dcfdf"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a549b9c31bec33820e885335b451286e2969a2d9e24879f83fe904a5ce59d70a"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4f11aa001c540f62c6166c7726f71f7573b52c68c31f014c25cc7901deea0b52"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:7b2e5a267c855eea6b4283940daa6e88a285f5f2a67f2220203786dfa59b37e9"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:2d2d793e36e230fd32babe143b04cec8a8b3eb8a3122d2aceb4a371e6b09b8df"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ce409136744f6521e39fd8e2a24c53fa18ad67aa5bc7c2cf83645cce5b5c4e50"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-win32.whl", hash = "sha256:4096e9de5c6fdf43fb4f04c26fb114f61ef0bf2e5604b6ee3019d51b69e8c371"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-win_amd64.whl", hash = "sha256:4275d846e41ecefa46e2015117a9f491e57a71ddd59bbead77e904dc02b1bed2"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:656f7526c69fac7f600bd1f400991cc282b417d17539a1b228617081106feb4a"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:97cafb1f3cbcd3fd2b6fbfb99ae11cdb14deea0736fc2b0952ee177f2b813a46"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f3fbcb7ef1f16e48246f704ab79d79da8a46891e2da03f8783a5b6fa41a9532"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa9db3f79de01457b03d4f01b34cf91bc0048eb2c3846ff26f66687c2f6d16ab"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffee1f21e5ef0d712f9033568f8344d5da8cc2869dbd08d87c84656e6a2d2f68"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:30b600cf0a7ac9234b2638fbc0fb6158ba5bdcdf46aeb631ead21248b9affbc4"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8dd717634f5a044f860435c1d8c16a270ddf0ef8588d4887037c5028b859b0c3"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-win32.whl", hash = "sha256:daa4ee5a243f0f20d528d939d06670a298dd39b1ad5f8a72a4275124a7819eff"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-win_amd64.whl", hash = "sha256:619bc166c4f2de5caa5a633b8b7326fbe98e0ccbfacabd87268a2b15ff73a029"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-win32.whl", hash = "sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-win_amd64.whl", hash = "sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5"}, + {file = "MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b"}, +] + +[[package]] +name = "pysocks" +version = "1.7.1" +description = "A Python SOCKS client module. See https://github.com/Anorov/PySocks for more information." +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +groups = ["main"] +files = [ + {file = "PySocks-1.7.1-py27-none-any.whl", hash = "sha256:08e69f092cc6dbe92a0fdd16eeb9b9ffbc13cadfe5ca4c7bd92ffb078b293299"}, + {file = "PySocks-1.7.1-py3-none-any.whl", hash = "sha256:2725bd0a9925919b9b51739eea5f9e2bae91e83288108a9ad338b2e3a4435ee5"}, + {file = "PySocks-1.7.1.tar.gz", hash = "sha256:3f8804571ebe159c380ac6de37643bb4685970655d3bba243530d6558b799aa0"}, +] + +[[package]] +name = "requests" +version = "2.32.4" +description = "Python HTTP for Humans." +optional = false +python-versions = ">=3.8" +groups = ["main"] +files = [ + {file = "requests-2.32.4-py3-none-any.whl", hash = "sha256:27babd3cda2a6d50b30443204ee89830707d396671944c998b5975b031ac2b2c"}, + {file = "requests-2.32.4.tar.gz", hash = "sha256:27d0316682c8a29834d3264820024b62a36942083d52caf2f14c0591336d3422"}, +] + +[package.dependencies] +certifi = ">=2017.4.17" +charset_normalizer = ">=2,<4" +idna = ">=2.5,<4" +PySocks = {version = ">=1.5.6,<1.5.7 || >1.5.7", optional = true, markers = "extra == \"socks\""} +urllib3 = ">=1.21.1,<3" + +[package.extras] +socks = ["PySocks (>=1.5.6,!=1.5.7)"] +use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] + +[[package]] +name = "urllib3" +version = "2.2.3" +description = "HTTP library with thread-safe connection pooling, file post, and more." +optional = false +python-versions = ">=3.8" +groups = ["main"] +files = [ + {file = "urllib3-2.2.3-py3-none-any.whl", hash = "sha256:ca899ca043dcb1bafa3e262d73aa25c465bfb49e0bd9dd5d59f1d0acba2f8fac"}, + {file = "urllib3-2.2.3.tar.gz", hash = "sha256:e7d814a81dad81e6caf2ec9fdedb284ecc9c73076b62654547cc64ccdcae26e9"}, +] + +[package.extras] +brotli = ["brotli (>=1.0.9) ; platform_python_implementation == \"CPython\"", "brotlicffi (>=0.8.0) ; platform_python_implementation != \"CPython\""] +h2 = ["h2 (>=4,<5)"] +socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] +zstd = ["zstandard (>=0.18.0)"] + +[[package]] +name = "werkzeug" +version = "3.0.6" +description = "The comprehensive WSGI web application library." +optional = false +python-versions = ">=3.8" +groups = ["main"] +files = [ + {file = "werkzeug-3.0.6-py3-none-any.whl", hash = "sha256:1bc0c2310d2fbb07b1dd1105eba2f7af72f322e1e455f2f93c993bee8c8a5f17"}, + {file = "werkzeug-3.0.6.tar.gz", hash = "sha256:a8dd59d4de28ca70471a34cba79bed5f7ef2e036a76b3ab0835474246eb41f8d"}, +] + +[package.dependencies] +MarkupSafe = ">=2.1.1" + +[package.extras] +watchdog = ["watchdog (>=2.3)"] + +[[package]] +name = "zipp" +version = "3.20.2" +description = "Backport of pathlib-compatible object wrapper for zip files" +optional = false +python-versions = ">=3.8" +groups = ["main"] +markers = "python_version < \"3.10\"" +files = [ + {file = "zipp-3.20.2-py3-none-any.whl", hash = "sha256:a817ac80d6cf4b23bf7f2828b7cabf326f15a001bea8b1f9b49631780ba28350"}, + {file = "zipp-3.20.2.tar.gz", hash = "sha256:bc9eb26f4506fda01b81bcde0ca78103b6e62f991b381fec825435c836edbc29"}, +] + +[package.extras] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1) ; sys_platform != \"cygwin\""] +cover = ["pytest-cov"] +doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +enabler = ["pytest-enabler (>=2.2)"] +test = ["big-O", "importlib-resources ; python_version < \"3.9\"", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more-itertools", "pytest (>=6,!=8.1.*)", "pytest-ignore-flaky"] +type = ["pytest-mypy"] + +[metadata] +lock-version = "2.1" +python-versions = "^3.8" +content-hash = "5d824396d5c4ef2cb141c1e7789c2e73641d604cd165f06fbc1418c46219915c" diff --git a/test/providers/tst_manifests/pyproject/poetry_only_deps/pyproject.toml b/test/providers/tst_manifests/pyproject/poetry_only_deps/pyproject.toml new file mode 100644 index 00000000..1f740fe8 --- /dev/null +++ b/test/providers/tst_manifests/pyproject/poetry_only_deps/pyproject.toml @@ -0,0 +1,10 @@ +[tool.poetry] +name = "poetry-only-project" +version = "1.0.0" +description = "A project using only poetry dependencies" + +[tool.poetry.dependencies] +python = "^3.8" +Flask = "^2.0.3" +requests = {version = "^2.25.1", extras = ["socks"]} +click = "^8.0.4" diff --git a/test/providers/tst_manifests/pyproject/poetry_workspace/expected_component_sbom.json b/test/providers/tst_manifests/pyproject/poetry_workspace/expected_component_sbom.json new file mode 100644 index 00000000..412726ee --- /dev/null +++ b/test/providers/tst_manifests/pyproject/poetry_workspace/expected_component_sbom.json @@ -0,0 +1,36 @@ +{ + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-10-01T00:00:00.000Z", + "component": { + "name": "poetry-mono", + "version": "0.1.0", + "purl": "pkg:pypi/poetry-mono@0.1.0", + "type": "application", + "bom-ref": "pkg:pypi/poetry-mono@0.1.0" + } + }, + "components": [ + { + "name": "requests", + "version": "2.33.1", + "purl": "pkg:pypi/requests@2.33.1", + "type": "library", + "bom-ref": "pkg:pypi/requests@2.33.1" + } + ], + "dependencies": [ + { + "ref": "pkg:pypi/poetry-mono@0.1.0", + "dependsOn": [ + "pkg:pypi/requests@2.33.1" + ] + }, + { + "ref": "pkg:pypi/requests@2.33.1", + "dependsOn": [] + } + ] +} diff --git a/test/providers/tst_manifests/pyproject/poetry_workspace/expected_stack_sbom.json b/test/providers/tst_manifests/pyproject/poetry_workspace/expected_stack_sbom.json new file mode 100644 index 00000000..543f8781 --- /dev/null +++ b/test/providers/tst_manifests/pyproject/poetry_workspace/expected_stack_sbom.json @@ -0,0 +1,85 @@ +{ + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-10-01T00:00:00.000Z", + "component": { + "name": "poetry-mono", + "version": "0.1.0", + "purl": "pkg:pypi/poetry-mono@0.1.0", + "type": "application", + "bom-ref": "pkg:pypi/poetry-mono@0.1.0" + } + }, + "components": [ + { + "name": "requests", + "version": "2.33.1", + "purl": "pkg:pypi/requests@2.33.1", + "type": "library", + "bom-ref": "pkg:pypi/requests@2.33.1" + }, + { + "name": "certifi", + "version": "2026.2.25", + "purl": "pkg:pypi/certifi@2026.2.25", + "type": "library", + "bom-ref": "pkg:pypi/certifi@2026.2.25" + }, + { + "name": "charset-normalizer", + "version": "3.4.7", + "purl": "pkg:pypi/charset-normalizer@3.4.7", + "type": "library", + "bom-ref": "pkg:pypi/charset-normalizer@3.4.7" + }, + { + "name": "idna", + "version": "3.11", + "purl": "pkg:pypi/idna@3.11", + "type": "library", + "bom-ref": "pkg:pypi/idna@3.11" + }, + { + "name": "urllib3", + "version": "2.6.3", + "purl": "pkg:pypi/urllib3@2.6.3", + "type": "library", + "bom-ref": "pkg:pypi/urllib3@2.6.3" + } + ], + "dependencies": [ + { + "ref": "pkg:pypi/poetry-mono@0.1.0", + "dependsOn": [ + "pkg:pypi/requests@2.33.1" + ] + }, + { + "ref": "pkg:pypi/requests@2.33.1", + "dependsOn": [ + "pkg:pypi/certifi@2026.2.25", + "pkg:pypi/charset-normalizer@3.4.7", + "pkg:pypi/idna@3.11", + "pkg:pypi/urllib3@2.6.3" + ] + }, + { + "ref": "pkg:pypi/certifi@2026.2.25", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/charset-normalizer@3.4.7", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/idna@3.11", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/urllib3@2.6.3", + "dependsOn": [] + } + ] +} diff --git a/test/providers/tst_manifests/pyproject/poetry_workspace/packages/sub-pkg/expected_component_sbom.json b/test/providers/tst_manifests/pyproject/poetry_workspace/packages/sub-pkg/expected_component_sbom.json new file mode 100644 index 00000000..dec8c565 --- /dev/null +++ b/test/providers/tst_manifests/pyproject/poetry_workspace/packages/sub-pkg/expected_component_sbom.json @@ -0,0 +1,36 @@ +{ + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-10-01T00:00:00.000Z", + "component": { + "name": "sub-pkg", + "version": "0.1.0", + "purl": "pkg:pypi/sub-pkg@0.1.0", + "type": "application", + "bom-ref": "pkg:pypi/sub-pkg@0.1.0" + } + }, + "components": [ + { + "name": "requests", + "version": "2.33.1", + "purl": "pkg:pypi/requests@2.33.1", + "type": "library", + "bom-ref": "pkg:pypi/requests@2.33.1" + } + ], + "dependencies": [ + { + "ref": "pkg:pypi/sub-pkg@0.1.0", + "dependsOn": [ + "pkg:pypi/requests@2.33.1" + ] + }, + { + "ref": "pkg:pypi/requests@2.33.1", + "dependsOn": [] + } + ] +} diff --git a/test/providers/tst_manifests/pyproject/poetry_workspace/packages/sub-pkg/expected_stack_sbom.json b/test/providers/tst_manifests/pyproject/poetry_workspace/packages/sub-pkg/expected_stack_sbom.json new file mode 100644 index 00000000..e9d1f86d --- /dev/null +++ b/test/providers/tst_manifests/pyproject/poetry_workspace/packages/sub-pkg/expected_stack_sbom.json @@ -0,0 +1,85 @@ +{ + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-10-01T00:00:00.000Z", + "component": { + "name": "sub-pkg", + "version": "0.1.0", + "purl": "pkg:pypi/sub-pkg@0.1.0", + "type": "application", + "bom-ref": "pkg:pypi/sub-pkg@0.1.0" + } + }, + "components": [ + { + "name": "requests", + "version": "2.33.1", + "purl": "pkg:pypi/requests@2.33.1", + "type": "library", + "bom-ref": "pkg:pypi/requests@2.33.1" + }, + { + "name": "certifi", + "version": "2026.2.25", + "purl": "pkg:pypi/certifi@2026.2.25", + "type": "library", + "bom-ref": "pkg:pypi/certifi@2026.2.25" + }, + { + "name": "charset-normalizer", + "version": "3.4.7", + "purl": "pkg:pypi/charset-normalizer@3.4.7", + "type": "library", + "bom-ref": "pkg:pypi/charset-normalizer@3.4.7" + }, + { + "name": "idna", + "version": "3.11", + "purl": "pkg:pypi/idna@3.11", + "type": "library", + "bom-ref": "pkg:pypi/idna@3.11" + }, + { + "name": "urllib3", + "version": "2.6.3", + "purl": "pkg:pypi/urllib3@2.6.3", + "type": "library", + "bom-ref": "pkg:pypi/urllib3@2.6.3" + } + ], + "dependencies": [ + { + "ref": "pkg:pypi/sub-pkg@0.1.0", + "dependsOn": [ + "pkg:pypi/requests@2.33.1" + ] + }, + { + "ref": "pkg:pypi/requests@2.33.1", + "dependsOn": [ + "pkg:pypi/certifi@2026.2.25", + "pkg:pypi/charset-normalizer@3.4.7", + "pkg:pypi/idna@3.11", + "pkg:pypi/urllib3@2.6.3" + ] + }, + { + "ref": "pkg:pypi/certifi@2026.2.25", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/charset-normalizer@3.4.7", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/idna@3.11", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/urllib3@2.6.3", + "dependsOn": [] + } + ] +} diff --git a/test/providers/tst_manifests/pyproject/poetry_workspace/packages/sub-pkg/pyproject.toml b/test/providers/tst_manifests/pyproject/poetry_workspace/packages/sub-pkg/pyproject.toml new file mode 100644 index 00000000..b25400fe --- /dev/null +++ b/test/providers/tst_manifests/pyproject/poetry_workspace/packages/sub-pkg/pyproject.toml @@ -0,0 +1,7 @@ +[tool.poetry] +name = "sub-pkg" +version = "0.1.0" + +[tool.poetry.dependencies] +python = "^3.12" +requests = "^2.0" diff --git a/test/providers/tst_manifests/pyproject/poetry_workspace/poetry.lock b/test/providers/tst_manifests/pyproject/poetry_workspace/poetry.lock new file mode 100644 index 00000000..9aaea7a1 --- /dev/null +++ b/test/providers/tst_manifests/pyproject/poetry_workspace/poetry.lock @@ -0,0 +1,212 @@ +# This file is automatically @generated by Poetry 2.3.2 and should not be changed by hand. + +[[package]] +name = "certifi" +version = "2026.2.25" +description = "Python package for providing Mozilla's CA Bundle." +optional = false +python-versions = ">=3.7" +groups = ["main"] +files = [ + {file = "certifi-2026.2.25-py3-none-any.whl", hash = "sha256:027692e4402ad994f1c42e52a4997a9763c646b73e4096e4d5d6db8af1d6f0fa"}, + {file = "certifi-2026.2.25.tar.gz", hash = "sha256:e887ab5cee78ea814d3472169153c2d12cd43b14bd03329a39a9c6e2e80bfba7"}, +] + +[[package]] +name = "charset-normalizer" +version = "3.4.7" +description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." +optional = false +python-versions = ">=3.7" +groups = ["main"] +files = [ + {file = "charset_normalizer-3.4.7-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cdd68a1fb318e290a2077696b7eb7a21a49163c455979c639bf5a5dcdc46617d"}, + {file = "charset_normalizer-3.4.7-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e17b8d5d6a8c47c85e68ca8379def1303fd360c3e22093a807cd34a71cd082b8"}, + {file = "charset_normalizer-3.4.7-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:511ef87c8aec0783e08ac18565a16d435372bc1ac25a91e6ac7f5ef2b0bff790"}, + {file = "charset_normalizer-3.4.7-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:007d05ec7321d12a40227aae9e2bc6dca73f3cb21058999a1df9e193555a9dcc"}, + {file = "charset_normalizer-3.4.7-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:cf29836da5119f3c8a8a70667b0ef5fdca3bb12f80fd06487cfa575b3909b393"}, + {file = "charset_normalizer-3.4.7-cp310-cp310-manylinux_2_31_armv7l.whl", hash = "sha256:12d8baf840cc7889b37c7c770f478adea7adce3dcb3944d02ec87508e2dcf153"}, + {file = "charset_normalizer-3.4.7-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:d560742f3c0d62afaccf9f41fe485ed69bd7661a241f86a3ef0f0fb8b1a397af"}, + {file = "charset_normalizer-3.4.7-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:b14b2d9dac08e28bb8046a1a0434b1750eb221c8f5b87a68f4fa11a6f97b5e34"}, + {file = "charset_normalizer-3.4.7-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:bc17a677b21b3502a21f66a8cc64f5bfad4df8a0b8434d661666f8ce90ac3af1"}, + {file = "charset_normalizer-3.4.7-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:750e02e074872a3fad7f233b47734166440af3cdea0add3e95163110816d6752"}, + {file = "charset_normalizer-3.4.7-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:4e5163c14bffd570ef2affbfdd77bba66383890797df43dc8b4cc7d6f500bf53"}, + {file = "charset_normalizer-3.4.7-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:6ed74185b2db44f41ef35fd1617c5888e59792da9bbc9190d6c7300617182616"}, + {file = "charset_normalizer-3.4.7-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:94e1885b270625a9a828c9793b4d52a64445299baa1fea5a173bf1d3dd9a1a5a"}, + {file = "charset_normalizer-3.4.7-cp310-cp310-win32.whl", hash = "sha256:6785f414ae0f3c733c437e0f3929197934f526d19dfaa75e18fdb4f94c6fb374"}, + {file = "charset_normalizer-3.4.7-cp310-cp310-win_amd64.whl", hash = "sha256:6696b7688f54f5af4462118f0bfa7c1621eeb87154f77fa04b9295ce7a8f2943"}, + {file = "charset_normalizer-3.4.7-cp310-cp310-win_arm64.whl", hash = "sha256:66671f93accb62ed07da56613636f3641f1a12c13046ce91ffc923721f23c008"}, + {file = "charset_normalizer-3.4.7-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7641bb8895e77f921102f72833904dcd9901df5d6d72a2ab8f31d04b7e51e4e7"}, + {file = "charset_normalizer-3.4.7-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:202389074300232baeb53ae2569a60901f7efadd4245cf3a3bf0617d60b439d7"}, + {file = "charset_normalizer-3.4.7-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:30b8d1d8c52a48c2c5690e152c169b673487a2a58de1ec7393196753063fcd5e"}, + {file = "charset_normalizer-3.4.7-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:532bc9bf33a68613fd7d65e4b1c71a6a38d7d42604ecf239c77392e9b4e8998c"}, + {file = "charset_normalizer-3.4.7-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2fe249cb4651fd12605b7288b24751d8bfd46d35f12a20b1ba33dea122e690df"}, + {file = "charset_normalizer-3.4.7-cp311-cp311-manylinux_2_31_armv7l.whl", hash = "sha256:65bcd23054beab4d166035cabbc868a09c1a49d1efe458fe8e4361215df40265"}, + {file = "charset_normalizer-3.4.7-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:08e721811161356f97b4059a9ba7bafb23ea5ee2255402c42881c214e173c6b4"}, + {file = "charset_normalizer-3.4.7-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e060d01aec0a910bdccb8be71faf34e7799ce36950f8294c8bf612cba65a2c9e"}, + {file = "charset_normalizer-3.4.7-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:38c0109396c4cfc574d502df99742a45c72c08eff0a36158b6f04000043dbf38"}, + {file = "charset_normalizer-3.4.7-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:1c2a768fdd44ee4a9339a9b0b130049139b8ce3c01d2ce09f67f5a68048d477c"}, + {file = "charset_normalizer-3.4.7-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:1a87ca9d5df6fe460483d9a5bbf2b18f620cbed41b432e2bddb686228282d10b"}, + {file = "charset_normalizer-3.4.7-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:d635aab80466bc95771bb78d5370e74d36d1fe31467b6b29b8b57b2a3cd7d22c"}, + {file = "charset_normalizer-3.4.7-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ae196f021b5e7c78e918242d217db021ed2a6ace2bc6ae94c0fc596221c7f58d"}, + {file = "charset_normalizer-3.4.7-cp311-cp311-win32.whl", hash = "sha256:adb2597b428735679446b46c8badf467b4ca5f5056aae4d51a19f9570301b1ad"}, + {file = "charset_normalizer-3.4.7-cp311-cp311-win_amd64.whl", hash = "sha256:8e385e4267ab76874ae30db04c627faaaf0b509e1ccc11a95b3fc3e83f855c00"}, + {file = "charset_normalizer-3.4.7-cp311-cp311-win_arm64.whl", hash = "sha256:d4a48e5b3c2a489fae013b7589308a40146ee081f6f509e047e0e096084ceca1"}, + {file = "charset_normalizer-3.4.7-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:eca9705049ad3c7345d574e3510665cb2cf844c2f2dcfe675332677f081cbd46"}, + {file = "charset_normalizer-3.4.7-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6178f72c5508bfc5fd446a5905e698c6212932f25bcdd4b47a757a50605a90e2"}, + {file = "charset_normalizer-3.4.7-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:e1421b502d83040e6d7fb2fb18dff63957f720da3d77b2fbd3187ceb63755d7b"}, + {file = "charset_normalizer-3.4.7-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:edac0f1ab77644605be2cbba52e6b7f630731fc42b34cb0f634be1a6eface56a"}, + {file = "charset_normalizer-3.4.7-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5649fd1c7bade02f320a462fdefd0b4bd3ce036065836d4f42e0de958038e116"}, + {file = "charset_normalizer-3.4.7-cp312-cp312-manylinux_2_31_armv7l.whl", hash = "sha256:203104ed3e428044fd943bc4bf45fa73c0730391f9621e37fe39ecf477b128cb"}, + {file = "charset_normalizer-3.4.7-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:298930cec56029e05497a76988377cbd7457ba864beeea92ad7e844fe74cd1f1"}, + {file = "charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:708838739abf24b2ceb208d0e22403dd018faeef86ddac04319a62ae884c4f15"}, + {file = "charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:0f7eb884681e3938906ed0434f20c63046eacd0111c4ba96f27b76084cd679f5"}, + {file = "charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:4dc1e73c36828f982bfe79fadf5919923f8a6f4df2860804db9a98c48824ce8d"}, + {file = "charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:aed52fea0513bac0ccde438c188c8a471c4e0f457c2dd20cdbf6ea7a450046c7"}, + {file = "charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:fea24543955a6a729c45a73fe90e08c743f0b3334bbf3201e6c4bc1b0c7fa464"}, + {file = "charset_normalizer-3.4.7-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:bb6d88045545b26da47aa879dd4a89a71d1dce0f0e549b1abcb31dfe4a8eac49"}, + {file = "charset_normalizer-3.4.7-cp312-cp312-win32.whl", hash = "sha256:2257141f39fe65a3fdf38aeccae4b953e5f3b3324f4ff0daf9f15b8518666a2c"}, + {file = "charset_normalizer-3.4.7-cp312-cp312-win_amd64.whl", hash = "sha256:5ed6ab538499c8644b8a3e18debabcd7ce684f3fa91cf867521a7a0279cab2d6"}, + {file = "charset_normalizer-3.4.7-cp312-cp312-win_arm64.whl", hash = "sha256:56be790f86bfb2c98fb742ce566dfb4816e5a83384616ab59c49e0604d49c51d"}, + {file = "charset_normalizer-3.4.7-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:f496c9c3cc02230093d8330875c4c3cdfc3b73612a5fd921c65d39cbcef08063"}, + {file = "charset_normalizer-3.4.7-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0ea948db76d31190bf08bd371623927ee1339d5f2a0b4b1b4a4439a65298703c"}, + {file = "charset_normalizer-3.4.7-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a277ab8928b9f299723bc1a2dabb1265911b1a76341f90a510368ca44ad9ab66"}, + {file = "charset_normalizer-3.4.7-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:3bec022aec2c514d9cf199522a802bd007cd588ab17ab2525f20f9c34d067c18"}, + {file = "charset_normalizer-3.4.7-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e044c39e41b92c845bc815e5ae4230804e8e7bc29e399b0437d64222d92809dd"}, + {file = "charset_normalizer-3.4.7-cp313-cp313-manylinux_2_31_armv7l.whl", hash = "sha256:f495a1652cf3fbab2eb0639776dad966c2fb874d79d87ca07f9d5f059b8bd215"}, + {file = "charset_normalizer-3.4.7-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e712b419df8ba5e42b226c510472b37bd57b38e897d3eca5e8cfd410a29fa859"}, + {file = "charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:7804338df6fcc08105c7745f1502ba68d900f45fd770d5bdd5288ddccb8a42d8"}, + {file = "charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:481551899c856c704d58119b5025793fa6730adda3571971af568f66d2424bb5"}, + {file = "charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:f59099f9b66f0d7145115e6f80dd8b1d847176df89b234a5a6b3f00437aa0832"}, + {file = "charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:f59ad4c0e8f6bba240a9bb85504faa1ab438237199d4cce5f622761507b8f6a6"}, + {file = "charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:3dedcc22d73ec993f42055eff4fcfed9318d1eeb9a6606c55892a26964964e48"}, + {file = "charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:64f02c6841d7d83f832cd97ccf8eb8a906d06eb95d5276069175c696b024b60a"}, + {file = "charset_normalizer-3.4.7-cp313-cp313-win32.whl", hash = "sha256:4042d5c8f957e15221d423ba781e85d553722fc4113f523f2feb7b188cc34c5e"}, + {file = "charset_normalizer-3.4.7-cp313-cp313-win_amd64.whl", hash = "sha256:3946fa46a0cf3e4c8cb1cc52f56bb536310d34f25f01ca9b6c16afa767dab110"}, + {file = "charset_normalizer-3.4.7-cp313-cp313-win_arm64.whl", hash = "sha256:80d04837f55fc81da168b98de4f4b797ef007fc8a79ab71c6ec9bc4dd662b15b"}, + {file = "charset_normalizer-3.4.7-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:c36c333c39be2dbca264d7803333c896ab8fa7d4d6f0ab7edb7dfd7aea6e98c0"}, + {file = "charset_normalizer-3.4.7-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1c2aed2e5e41f24ea8ef1590b8e848a79b56f3a5564a65ceec43c9d692dc7d8a"}, + {file = "charset_normalizer-3.4.7-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:54523e136b8948060c0fa0bc7b1b50c32c186f2fceee897a495406bb6e311d2b"}, + {file = "charset_normalizer-3.4.7-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:715479b9a2802ecac752a3b0efa2b0b60285cf962ee38414211abdfccc233b41"}, + {file = "charset_normalizer-3.4.7-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bd6c2a1c7573c64738d716488d2cdd3c00e340e4835707d8fdb8dc1a66ef164e"}, + {file = "charset_normalizer-3.4.7-cp314-cp314-manylinux_2_31_armv7l.whl", hash = "sha256:c45e9440fb78f8ddabcf714b68f936737a121355bf59f3907f4e17721b9d1aae"}, + {file = "charset_normalizer-3.4.7-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:3534e7dcbdcf757da6b85a0bbf5b6868786d5982dd959b065e65481644817a18"}, + {file = "charset_normalizer-3.4.7-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:e8ac484bf18ce6975760921bb6148041faa8fef0547200386ea0b52b5d27bf7b"}, + {file = "charset_normalizer-3.4.7-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:a5fe03b42827c13cdccd08e6c0247b6a6d4b5e3cdc53fd1749f5896adcdc2356"}, + {file = "charset_normalizer-3.4.7-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:2d6eb928e13016cea4f1f21d1e10c1cebd5a421bc57ddf5b1142ae3f86824fab"}, + {file = "charset_normalizer-3.4.7-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:e74327fb75de8986940def6e8dee4f127cc9752bee7355bb323cc5b2659b6d46"}, + {file = "charset_normalizer-3.4.7-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:d6038d37043bced98a66e68d3aa2b6a35505dc01328cd65217cefe82f25def44"}, + {file = "charset_normalizer-3.4.7-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:7579e913a5339fb8fa133f6bbcfd8e6749696206cf05acdbdca71a1b436d8e72"}, + {file = "charset_normalizer-3.4.7-cp314-cp314-win32.whl", hash = "sha256:5b77459df20e08151cd6f8b9ef8ef1f961ef73d85c21a555c7eed5b79410ec10"}, + {file = "charset_normalizer-3.4.7-cp314-cp314-win_amd64.whl", hash = "sha256:92a0a01ead5e668468e952e4238cccd7c537364eb7d851ab144ab6627dbbe12f"}, + {file = "charset_normalizer-3.4.7-cp314-cp314-win_arm64.whl", hash = "sha256:67f6279d125ca0046a7fd386d01b311c6363844deac3e5b069b514ba3e63c246"}, + {file = "charset_normalizer-3.4.7-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:effc3f449787117233702311a1b7d8f59cba9ced946ba727bdc329ec69028e24"}, + {file = "charset_normalizer-3.4.7-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:fbccdc05410c9ee21bbf16a35f4c1d16123dcdeb8a1d38f33654fa21d0234f79"}, + {file = "charset_normalizer-3.4.7-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:733784b6d6def852c814bce5f318d25da2ee65dd4839a0718641c696e09a2960"}, + {file = "charset_normalizer-3.4.7-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a89c23ef8d2c6b27fd200a42aa4ac72786e7c60d40efdc76e6011260b6e949c4"}, + {file = "charset_normalizer-3.4.7-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6c114670c45346afedc0d947faf3c7f701051d2518b943679c8ff88befe14f8e"}, + {file = "charset_normalizer-3.4.7-cp314-cp314t-manylinux_2_31_armv7l.whl", hash = "sha256:a180c5e59792af262bf263b21a3c49353f25945d8d9f70628e73de370d55e1e1"}, + {file = "charset_normalizer-3.4.7-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:3c9a494bc5ec77d43cea229c4f6db1e4d8fe7e1bbffa8b6f0f0032430ff8ab44"}, + {file = "charset_normalizer-3.4.7-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:8d828b6667a32a728a1ad1d93957cdf37489c57b97ae6c4de2860fa749b8fc1e"}, + {file = "charset_normalizer-3.4.7-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:cf1493cd8607bec4d8a7b9b004e699fcf8f9103a9284cc94962cb73d20f9d4a3"}, + {file = "charset_normalizer-3.4.7-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:0c96c3b819b5c3e9e165495db84d41914d6894d55181d2d108cc1a69bfc9cce0"}, + {file = "charset_normalizer-3.4.7-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:752a45dc4a6934060b3b0dab47e04edc3326575f82be64bc4fc293914566503e"}, + {file = "charset_normalizer-3.4.7-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:8778f0c7a52e56f75d12dae53ae320fae900a8b9b4164b981b9c5ce059cd1fcb"}, + {file = "charset_normalizer-3.4.7-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:ce3412fbe1e31eb81ea42f4169ed94861c56e643189e1e75f0041f3fe7020abe"}, + {file = "charset_normalizer-3.4.7-cp314-cp314t-win32.whl", hash = "sha256:c03a41a8784091e67a39648f70c5f97b5b6a37f216896d44d2cdcb82615339a0"}, + {file = "charset_normalizer-3.4.7-cp314-cp314t-win_amd64.whl", hash = "sha256:03853ed82eeebbce3c2abfdbc98c96dc205f32a79627688ac9a27370ea61a49c"}, + {file = "charset_normalizer-3.4.7-cp314-cp314t-win_arm64.whl", hash = "sha256:c35abb8bfff0185efac5878da64c45dafd2b37fb0383add1be155a763c1f083d"}, + {file = "charset_normalizer-3.4.7-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:e5f4d355f0a2b1a31bc3edec6795b46324349c9cb25eed068049e4f472fb4259"}, + {file = "charset_normalizer-3.4.7-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:16d971e29578a5e97d7117866d15889a4a07befe0e87e703ed63cd90cb348c01"}, + {file = "charset_normalizer-3.4.7-cp38-cp38-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:dca4bbc466a95ba9c0234ef56d7dd9509f63da22274589ebd4ed7f1f4d4c54e3"}, + {file = "charset_normalizer-3.4.7-cp38-cp38-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:e80c8378d8f3d83cd3164da1ad2df9e37a666cdde7b1cb2298ed0b558064be30"}, + {file = "charset_normalizer-3.4.7-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:36836d6ff945a00b88ba1e4572d721e60b5b8c98c155d465f56ad19d68f23734"}, + {file = "charset_normalizer-3.4.7-cp38-cp38-manylinux_2_31_armv7l.whl", hash = "sha256:bd9b23791fe793e4968dba0c447e12f78e425c59fc0e3b97f6450f4781f3ee60"}, + {file = "charset_normalizer-3.4.7-cp38-cp38-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:aef65cd602a6d0e0ff6f9930fcb1c8fec60dd2cfcb6facaf4bdb0e5873042db0"}, + {file = "charset_normalizer-3.4.7-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:82b271f5137d07749f7bf32f70b17ab6eaabedd297e75dce75081a24f76eb545"}, + {file = "charset_normalizer-3.4.7-cp38-cp38-musllinux_1_2_armv7l.whl", hash = "sha256:1efde3cae86c8c273f1eb3b287be7d8499420cf2fe7585c41d370d3e790054a5"}, + {file = "charset_normalizer-3.4.7-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:c593052c465475e64bbfe5dbd81680f64a67fdc752c56d7a0ae205dc8aeefe0f"}, + {file = "charset_normalizer-3.4.7-cp38-cp38-musllinux_1_2_riscv64.whl", hash = "sha256:af21eb4409a119e365397b2adbaca4c9ccab56543a65d5dbd9f920d6ac29f686"}, + {file = "charset_normalizer-3.4.7-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:84c018e49c3bf790f9c2771c45e9313a08c2c2a6342b162cd650258b57817706"}, + {file = "charset_normalizer-3.4.7-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:dd915403e231e6b1809fe9b6d9fc55cf8fb5e02765ac625d9cd623342a7905d7"}, + {file = "charset_normalizer-3.4.7-cp38-cp38-win32.whl", hash = "sha256:320ade88cfb846b8cd6b4ddf5ee9e80ee0c1f52401f2456b84ae1ae6a1a5f207"}, + {file = "charset_normalizer-3.4.7-cp38-cp38-win_amd64.whl", hash = "sha256:1dc8b0ea451d6e69735094606991f32867807881400f808a106ee1d963c46a83"}, + {file = "charset_normalizer-3.4.7-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:177a0ba5f0211d488e295aaf82707237e331c24788d8d76c96c5a41594723217"}, + {file = "charset_normalizer-3.4.7-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6e0d51f618228538a3e8f46bd246f87a6cd030565e015803691603f55e12afb5"}, + {file = "charset_normalizer-3.4.7-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:14265bfe1f09498b9d8ec91e9ec9fa52775edf90fcbde092b25f4a33d444fea9"}, + {file = "charset_normalizer-3.4.7-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:87fad7d9ba98c86bcb41b2dc8dbb326619be2562af1f8ff50776a39e55721c5a"}, + {file = "charset_normalizer-3.4.7-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f22dec1690b584cea26fade98b2435c132c1b5f68e39f5a0b7627cd7ae31f1dc"}, + {file = "charset_normalizer-3.4.7-cp39-cp39-manylinux_2_31_armv7l.whl", hash = "sha256:d61f00a0869d77422d9b2aba989e2d24afa6ffd552af442e0e58de4f35ea6d00"}, + {file = "charset_normalizer-3.4.7-cp39-cp39-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:6370e8686f662e6a3941ee48ed4742317cafbe5707e36406e9df792cdb535776"}, + {file = "charset_normalizer-3.4.7-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:a6c5863edfbe888d9eff9c8b8087354e27618d9da76425c119293f11712a6319"}, + {file = "charset_normalizer-3.4.7-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:ed065083d0898c9d5b4bbec7b026fd755ff7454e6e8b73a67f8c744b13986e24"}, + {file = "charset_normalizer-3.4.7-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:2cd4a60d0e2fb04537162c62bbbb4182f53541fe0ede35cdf270a1c1e723cc42"}, + {file = "charset_normalizer-3.4.7-cp39-cp39-musllinux_1_2_riscv64.whl", hash = "sha256:813c0e0132266c08eb87469a642cb30aaff57c5f426255419572aaeceeaa7bf4"}, + {file = "charset_normalizer-3.4.7-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:07d9e39b01743c3717745f4c530a6349eadbfa043c7577eef86c502c15df2c67"}, + {file = "charset_normalizer-3.4.7-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:c0f081d69a6e58272819b70288d3221a6ee64b98df852631c80f293514d3b274"}, + {file = "charset_normalizer-3.4.7-cp39-cp39-win32.whl", hash = "sha256:8751d2787c9131302398b11e6c8068053dcb55d5a8964e114b6e196cf16cb366"}, + {file = "charset_normalizer-3.4.7-cp39-cp39-win_amd64.whl", hash = "sha256:12a6fff75f6bc66711b73a2f0addfc4c8c15a20e805146a02d147a318962c444"}, + {file = "charset_normalizer-3.4.7-cp39-cp39-win_arm64.whl", hash = "sha256:bb8cc7534f51d9a017b93e3e85b260924f909601c3df002bcdb58ddb4dc41a5c"}, + {file = "charset_normalizer-3.4.7-py3-none-any.whl", hash = "sha256:3dce51d0f5e7951f8bb4900c257dad282f49190fdbebecd4ba99bcc41fef404d"}, + {file = "charset_normalizer-3.4.7.tar.gz", hash = "sha256:ae89db9e5f98a11a4bf50407d4363e7b09b31e55bc117b4f7d80aab97ba009e5"}, +] + +[[package]] +name = "idna" +version = "3.11" +description = "Internationalized Domain Names in Applications (IDNA)" +optional = false +python-versions = ">=3.8" +groups = ["main"] +files = [ + {file = "idna-3.11-py3-none-any.whl", hash = "sha256:771a87f49d9defaf64091e6e6fe9c18d4833f140bd19464795bc32d966ca37ea"}, + {file = "idna-3.11.tar.gz", hash = "sha256:795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902"}, +] + +[package.extras] +all = ["flake8 (>=7.1.1)", "mypy (>=1.11.2)", "pytest (>=8.3.2)", "ruff (>=0.6.2)"] + +[[package]] +name = "requests" +version = "2.33.1" +description = "Python HTTP for Humans." +optional = false +python-versions = ">=3.10" +groups = ["main"] +files = [ + {file = "requests-2.33.1-py3-none-any.whl", hash = "sha256:4e6d1ef462f3626a1f0a0a9c42dd93c63bad33f9f1c1937509b8c5c8718ab56a"}, + {file = "requests-2.33.1.tar.gz", hash = "sha256:18817f8c57c6263968bc123d237e3b8b08ac046f5456bd1e307ee8f4250d3517"}, +] + +[package.dependencies] +certifi = ">=2023.5.7" +charset_normalizer = ">=2,<4" +idna = ">=2.5,<4" +urllib3 = ">=1.26,<3" + +[package.extras] +socks = ["PySocks (>=1.5.6,!=1.5.7)"] +use-chardet-on-py3 = ["chardet (>=3.0.2,<8)"] + +[[package]] +name = "urllib3" +version = "2.6.3" +description = "HTTP library with thread-safe connection pooling, file post, and more." +optional = false +python-versions = ">=3.9" +groups = ["main"] +files = [ + {file = "urllib3-2.6.3-py3-none-any.whl", hash = "sha256:bf272323e553dfb2e87d9bfd225ca7b0f467b919d7bbd355436d3fd37cb0acd4"}, + {file = "urllib3-2.6.3.tar.gz", hash = "sha256:1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed"}, +] + +[package.extras] +brotli = ["brotli (>=1.2.0) ; platform_python_implementation == \"CPython\"", "brotlicffi (>=1.2.0.0) ; platform_python_implementation != \"CPython\""] +h2 = ["h2 (>=4,<5)"] +socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] +zstd = ["backports-zstd (>=1.0.0) ; python_version < \"3.14\""] + +[metadata] +lock-version = "2.1" +python-versions = "^3.12" +content-hash = "e19a593164d34bae9da444657fc9996c6b735cd63e05a0610d0e4c52259f6dd0" diff --git a/test/providers/tst_manifests/pyproject/poetry_workspace/pyproject.toml b/test/providers/tst_manifests/pyproject/poetry_workspace/pyproject.toml new file mode 100644 index 00000000..b2c88126 --- /dev/null +++ b/test/providers/tst_manifests/pyproject/poetry_workspace/pyproject.toml @@ -0,0 +1,8 @@ +[tool.poetry] +name = "poetry-mono" +version = "0.1.0" +description = "Poetry monorepo root" + +[tool.poetry.dependencies] +python = "^3.12" +requests = "^2.0" diff --git a/test/providers/tst_manifests/pyproject/uv_lock/expected_component_sbom.json b/test/providers/tst_manifests/pyproject/uv_lock/expected_component_sbom.json new file mode 100644 index 00000000..7d952815 --- /dev/null +++ b/test/providers/tst_manifests/pyproject/uv_lock/expected_component_sbom.json @@ -0,0 +1,48 @@ +{ + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-10-01T00:00:00.000Z", + "component": { + "name": "test-project", + "version": "1.0.0", + "purl": "pkg:pypi/test-project@1.0.0", + "type": "application", + "bom-ref": "pkg:pypi/test-project@1.0.0" + } + }, + "components": [ + { + "name": "flask", + "version": "2.0.3", + "purl": "pkg:pypi/flask@2.0.3", + "type": "library", + "bom-ref": "pkg:pypi/flask@2.0.3" + }, + { + "name": "requests", + "version": "2.25.1", + "purl": "pkg:pypi/requests@2.25.1", + "type": "library", + "bom-ref": "pkg:pypi/requests@2.25.1" + } + ], + "dependencies": [ + { + "ref": "pkg:pypi/test-project@1.0.0", + "dependsOn": [ + "pkg:pypi/flask@2.0.3", + "pkg:pypi/requests@2.25.1" + ] + }, + { + "ref": "pkg:pypi/flask@2.0.3", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/requests@2.25.1", + "dependsOn": [] + } + ] +} diff --git a/test/providers/tst_manifests/pyproject/uv_lock/expected_stack_sbom.json b/test/providers/tst_manifests/pyproject/uv_lock/expected_stack_sbom.json new file mode 100644 index 00000000..6d528dd8 --- /dev/null +++ b/test/providers/tst_manifests/pyproject/uv_lock/expected_stack_sbom.json @@ -0,0 +1,172 @@ +{ + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-10-01T00:00:00.000Z", + "component": { + "name": "test-project", + "version": "1.0.0", + "purl": "pkg:pypi/test-project@1.0.0", + "type": "application", + "bom-ref": "pkg:pypi/test-project@1.0.0" + } + }, + "components": [ + { + "name": "flask", + "version": "2.0.3", + "purl": "pkg:pypi/flask@2.0.3", + "type": "library", + "bom-ref": "pkg:pypi/flask@2.0.3" + }, + { + "name": "click", + "version": "8.3.1", + "purl": "pkg:pypi/click@8.3.1", + "type": "library", + "bom-ref": "pkg:pypi/click@8.3.1" + }, + { + "name": "colorama", + "version": "0.4.6", + "purl": "pkg:pypi/colorama@0.4.6", + "type": "library", + "bom-ref": "pkg:pypi/colorama@0.4.6" + }, + { + "name": "itsdangerous", + "version": "2.0.1", + "purl": "pkg:pypi/itsdangerous@2.0.1", + "type": "library", + "bom-ref": "pkg:pypi/itsdangerous@2.0.1" + }, + { + "name": "jinja2", + "version": "3.0.3", + "purl": "pkg:pypi/jinja2@3.0.3", + "type": "library", + "bom-ref": "pkg:pypi/jinja2@3.0.3" + }, + { + "name": "markupsafe", + "version": "2.0.1", + "purl": "pkg:pypi/markupsafe@2.0.1", + "type": "library", + "bom-ref": "pkg:pypi/markupsafe@2.0.1" + }, + { + "name": "werkzeug", + "version": "2.0.3", + "purl": "pkg:pypi/werkzeug@2.0.3", + "type": "library", + "bom-ref": "pkg:pypi/werkzeug@2.0.3" + }, + { + "name": "requests", + "version": "2.25.1", + "purl": "pkg:pypi/requests@2.25.1", + "type": "library", + "bom-ref": "pkg:pypi/requests@2.25.1" + }, + { + "name": "certifi", + "version": "2023.7.22", + "purl": "pkg:pypi/certifi@2023.7.22", + "type": "library", + "bom-ref": "pkg:pypi/certifi@2023.7.22" + }, + { + "name": "chardet", + "version": "4.0.0", + "purl": "pkg:pypi/chardet@4.0.0", + "type": "library", + "bom-ref": "pkg:pypi/chardet@4.0.0" + }, + { + "name": "idna", + "version": "2.10", + "purl": "pkg:pypi/idna@2.10", + "type": "library", + "bom-ref": "pkg:pypi/idna@2.10" + }, + { + "name": "urllib3", + "version": "1.26.16", + "purl": "pkg:pypi/urllib3@1.26.16", + "type": "library", + "bom-ref": "pkg:pypi/urllib3@1.26.16" + } + ], + "dependencies": [ + { + "ref": "pkg:pypi/test-project@1.0.0", + "dependsOn": [ + "pkg:pypi/flask@2.0.3", + "pkg:pypi/requests@2.25.1" + ] + }, + { + "ref": "pkg:pypi/flask@2.0.3", + "dependsOn": [ + "pkg:pypi/click@8.3.1", + "pkg:pypi/itsdangerous@2.0.1", + "pkg:pypi/jinja2@3.0.3", + "pkg:pypi/werkzeug@2.0.3" + ] + }, + { + "ref": "pkg:pypi/click@8.3.1", + "dependsOn": [ + "pkg:pypi/colorama@0.4.6" + ] + }, + { + "ref": "pkg:pypi/colorama@0.4.6", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/itsdangerous@2.0.1", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/jinja2@3.0.3", + "dependsOn": [ + "pkg:pypi/markupsafe@2.0.1" + ] + }, + { + "ref": "pkg:pypi/markupsafe@2.0.1", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/werkzeug@2.0.3", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/requests@2.25.1", + "dependsOn": [ + "pkg:pypi/certifi@2023.7.22", + "pkg:pypi/chardet@4.0.0", + "pkg:pypi/idna@2.10", + "pkg:pypi/urllib3@1.26.16" + ] + }, + { + "ref": "pkg:pypi/certifi@2023.7.22", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/chardet@4.0.0", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/idna@2.10", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/urllib3@1.26.16", + "dependsOn": [] + } + ] +} diff --git a/test/providers/tst_manifests/pyproject/uv_lock/pyproject.toml b/test/providers/tst_manifests/pyproject/uv_lock/pyproject.toml new file mode 100644 index 00000000..5e6f5dc0 --- /dev/null +++ b/test/providers/tst_manifests/pyproject/uv_lock/pyproject.toml @@ -0,0 +1,7 @@ +[project] +name = "test-project" +version = "1.0.0" +dependencies = [ + "flask==2.0.3", + "requests==2.25.1", +] diff --git a/test/providers/tst_manifests/pyproject/uv_lock/uv.lock b/test/providers/tst_manifests/pyproject/uv_lock/uv.lock new file mode 100644 index 00000000..114f3d20 --- /dev/null +++ b/test/providers/tst_manifests/pyproject/uv_lock/uv.lock @@ -0,0 +1,141 @@ +version = 1 +revision = 3 +requires-python = ">=3.13" + +[[package]] +name = "certifi" +version = "2023.7.22" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/98/98/c2ff18671db109c9f10ed27f5ef610ae05b73bd876664139cf95bd1429aa/certifi-2023.7.22.tar.gz", hash = "sha256:539cc1d13202e33ca466e88b2807e29f4c13049d6d87031a3c110744495cb082", size = 159517, upload-time = "2023-07-22T08:39:27.482Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4c/dd/2234eab22353ffc7d94e8d13177aaa050113286e93e7b40eae01fbf7c3d9/certifi-2023.7.22-py3-none-any.whl", hash = "sha256:92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9", size = 158334, upload-time = "2023-07-22T08:39:25.345Z" }, +] + +[[package]] +name = "chardet" +version = "4.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ee/2d/9cdc2b527e127b4c9db64b86647d567985940ac3698eeabc7ffaccb4ea61/chardet-4.0.0.tar.gz", hash = "sha256:0d6f53a15db4120f2b08c94f11e7d93d2c911ee118b6b30a04ec3ee8310179fa", size = 1907771, upload-time = "2020-12-10T19:35:33.971Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/19/c7/fa589626997dd07bd87d9269342ccb74b1720384a4d739a1872bd84fbe68/chardet-4.0.0-py2.py3-none-any.whl", hash = "sha256:f864054d66fd9118f2e67044ac8981a54775ec5b67aed0441892edb553d21da5", size = 178743, upload-time = "2020-12-10T19:35:32.469Z" }, +] + +[[package]] +name = "click" +version = "8.3.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/3d/fa/656b739db8587d7b5dfa22e22ed02566950fbfbcdc20311993483657a5c0/click-8.3.1.tar.gz", hash = "sha256:12ff4785d337a1bb490bb7e9c2b1ee5da3112e94a8622f26a6c77f5d2fc6842a", size = 295065, upload-time = "2025-11-15T20:45:42.706Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/98/78/01c019cdb5d6498122777c1a43056ebb3ebfeef2076d9d026bfe15583b2b/click-8.3.1-py3-none-any.whl", hash = "sha256:981153a64e25f12d547d3426c367a4857371575ee7ad18df2a6183ab0545b2a6", size = 108274, upload-time = "2025-11-15T20:45:41.139Z" }, +] + +[[package]] +name = "colorama" +version = "0.4.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload-time = "2022-10-25T02:36:22.414Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" }, +] + +[[package]] +name = "flask" +version = "2.0.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "click" }, + { name = "itsdangerous" }, + { name = "jinja2" }, + { name = "werkzeug" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/84/9d/66347e6b3e2eb78647392d3969c23bdc2d8b2fdc32bd078c817c15cb81ad/Flask-2.0.3.tar.gz", hash = "sha256:e1120c228ca2f553b470df4a5fa927ab66258467526069981b3eb0a91902687d", size = 629304, upload-time = "2022-02-14T20:01:09.281Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cd/77/59df23681f4fd19b7cbbb5e92484d46ad587554f5d490f33ef907e456132/Flask-2.0.3-py3-none-any.whl", hash = "sha256:59da8a3170004800a2837844bfa84d49b022550616070f7cb1a659682b2e7c9f", size = 95575, upload-time = "2022-02-14T20:01:06.923Z" }, +] + +[[package]] +name = "idna" +version = "2.10" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ea/b7/e0e3c1c467636186c39925827be42f16fee389dc404ac29e930e9136be70/idna-2.10.tar.gz", hash = "sha256:b307872f855b18632ce0c21c5e45be78c0ea7ae4c15c828c20788b26921eb3f6", size = 175616, upload-time = "2020-06-27T23:45:05.21Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a2/38/928ddce2273eaa564f6f50de919327bf3a00f091b5baba8dfa9460f3a8a8/idna-2.10-py2.py3-none-any.whl", hash = "sha256:b97d804b1e9b523befed77c48dacec60e6dcb0b5391d57af6a65a312a90648c0", size = 58811, upload-time = "2020-06-27T23:45:03.457Z" }, +] + +[[package]] +name = "itsdangerous" +version = "2.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/58/66/d6c5859dcac92b442626427a8c7a42322068c5cd5d4a463ce78b93f730b7/itsdangerous-2.0.1.tar.gz", hash = "sha256:9e724d68fc22902a1435351f84c3fb8623f303fffcc566a4cb952df8c572cff0", size = 59336, upload-time = "2021-05-18T15:09:44.532Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9c/96/26f935afba9cd6140216da5add223a0c465b99d0f112b68a4ca426441019/itsdangerous-2.0.1-py3-none-any.whl", hash = "sha256:5174094b9637652bdb841a3029700391451bd092ba3db90600dea710ba28e97c", size = 18326, upload-time = "2021-05-18T15:09:42.542Z" }, +] + +[[package]] +name = "jinja2" +version = "3.0.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markupsafe" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/91/a5/429efc6246119e1e3fbf562c00187d04e83e54619249eb732bb423efa6c6/Jinja2-3.0.3.tar.gz", hash = "sha256:611bb273cd68f3b993fabdc4064fc858c5b47a973cb5aa7999ec1ba405c87cd7", size = 269196, upload-time = "2021-11-09T20:27:29.541Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/20/9a/e5d9ec41927401e41aea8af6d16e78b5e612bca4699d417f646a9610a076/Jinja2-3.0.3-py3-none-any.whl", hash = "sha256:077ce6014f7b40d03b47d1f1ca4b0fc8328a692bd284016f806ed0eaca390ad8", size = 133630, upload-time = "2021-11-09T20:27:27.116Z" }, +] + +[[package]] +name = "markupsafe" +version = "2.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/bf/10/ff66fea6d1788c458663a84d88787bae15d45daa16f6b3ef33322a51fc7e/MarkupSafe-2.0.1.tar.gz", hash = "sha256:594c67807fb16238b30c44bdf74f36c02cdf22d1c8cda91ef8a0ed8dabf5620a", size = 18596, upload-time = "2021-05-18T17:18:22.856Z" } + +[[package]] +name = "requests" +version = "2.25.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "chardet" }, + { name = "idna" }, + { name = "urllib3" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/6b/47/c14abc08432ab22dc18b9892252efaf005ab44066de871e72a38d6af464b/requests-2.25.1.tar.gz", hash = "sha256:27973dd4a904a4f13b263a19c866c13b92a39ed1c964655f025f3f8d3d75b804", size = 102161, upload-time = "2020-12-16T19:38:36.779Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/29/c1/24814557f1d22c56d50280771a17307e6bf87b70727d975fd6b2ce6b014a/requests-2.25.1-py2.py3-none-any.whl", hash = "sha256:c210084e36a42ae6b9219e00e48287def368a26d03a048ddad7bfee44f75871e", size = 61216, upload-time = "2020-12-16T19:38:34.329Z" }, +] + +[[package]] +name = "test-project" +version = "1.0.0" +source = { virtual = "." } +dependencies = [ + { name = "flask" }, + { name = "requests" }, +] + +[package.metadata] +requires-dist = [ + { name = "flask", specifier = "==2.0.3" }, + { name = "requests", specifier = "==2.25.1" }, +] + +[[package]] +name = "urllib3" +version = "1.26.16" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e2/7d/539e6f0cf9f0b95b71dd701a56dae89f768cd39fd8ce0096af3546aeb5a3/urllib3-1.26.16.tar.gz", hash = "sha256:8f135f6502756bde6b2a9b28989df5fbe87c9970cecaa69041edcce7f0589b14", size = 303733, upload-time = "2023-05-23T12:18:43.917Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c5/05/c214b32d21c0b465506f95c4f28ccbcba15022e000b043b72b3df7728471/urllib3-1.26.16-py2.py3-none-any.whl", hash = "sha256:8d36afa7616d8ab714608411b4a3b13e58f463aee519024578e062e141dce20f", size = 143106, upload-time = "2023-05-23T12:18:41.548Z" }, +] + +[[package]] +name = "werkzeug" +version = "2.0.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/6c/a8/60514fade2318e277453c9588545d0c335ea3ea6440ce5cdabfca7f73117/Werkzeug-2.0.3.tar.gz", hash = "sha256:b863f8ff057c522164b6067c9e28b041161b4be5ba4d0daceeaa50a163822d3c", size = 895551, upload-time = "2022-02-07T21:04:39.14Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f4/f3/22afbdb20cc4654b10c98043414a14057cd27fdba9d4ae61cea596000ba2/Werkzeug-2.0.3-py3-none-any.whl", hash = "sha256:1421ebfc7648a39a5c58c601b154165d05cf47a3cd0ccb70857cbdacf6c8f2b8", size = 289232, upload-time = "2022-02-07T21:04:36.336Z" }, +] diff --git a/test/providers/tst_manifests/pyproject/uv_workspace/expected_component_sbom.json b/test/providers/tst_manifests/pyproject/uv_workspace/expected_component_sbom.json new file mode 100644 index 00000000..9e09c503 --- /dev/null +++ b/test/providers/tst_manifests/pyproject/uv_workspace/expected_component_sbom.json @@ -0,0 +1,48 @@ +{ + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-10-01T00:00:00.000Z", + "component": { + "name": "uv-mono", + "version": "0.1.0", + "purl": "pkg:pypi/uv-mono@0.1.0", + "type": "application", + "bom-ref": "pkg:pypi/uv-mono@0.1.0" + } + }, + "components": [ + { + "name": "flask", + "version": "2.0.3", + "purl": "pkg:pypi/flask@2.0.3", + "type": "library", + "bom-ref": "pkg:pypi/flask@2.0.3" + }, + { + "name": "mid-pkg", + "version": "0.1.0", + "purl": "pkg:pypi/mid-pkg@0.1.0", + "type": "library", + "bom-ref": "pkg:pypi/mid-pkg@0.1.0" + } + ], + "dependencies": [ + { + "ref": "pkg:pypi/uv-mono@0.1.0", + "dependsOn": [ + "pkg:pypi/flask@2.0.3", + "pkg:pypi/mid-pkg@0.1.0" + ] + }, + { + "ref": "pkg:pypi/flask@2.0.3", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/mid-pkg@0.1.0", + "dependsOn": [] + } + ] +} diff --git a/test/providers/tst_manifests/pyproject/uv_workspace/expected_stack_sbom.json b/test/providers/tst_manifests/pyproject/uv_workspace/expected_stack_sbom.json new file mode 100644 index 00000000..77df939e --- /dev/null +++ b/test/providers/tst_manifests/pyproject/uv_workspace/expected_stack_sbom.json @@ -0,0 +1,198 @@ +{ + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-10-01T00:00:00.000Z", + "component": { + "name": "uv-mono", + "version": "0.1.0", + "purl": "pkg:pypi/uv-mono@0.1.0", + "type": "application", + "bom-ref": "pkg:pypi/uv-mono@0.1.0" + } + }, + "components": [ + { + "name": "flask", + "version": "2.0.3", + "purl": "pkg:pypi/flask@2.0.3", + "type": "library", + "bom-ref": "pkg:pypi/flask@2.0.3" + }, + { + "name": "click", + "version": "8.3.2", + "purl": "pkg:pypi/click@8.3.2", + "type": "library", + "bom-ref": "pkg:pypi/click@8.3.2" + }, + { + "name": "colorama", + "version": "0.4.6", + "purl": "pkg:pypi/colorama@0.4.6", + "type": "library", + "bom-ref": "pkg:pypi/colorama@0.4.6" + }, + { + "name": "itsdangerous", + "version": "2.2.0", + "purl": "pkg:pypi/itsdangerous@2.2.0", + "type": "library", + "bom-ref": "pkg:pypi/itsdangerous@2.2.0" + }, + { + "name": "jinja2", + "version": "3.1.6", + "purl": "pkg:pypi/jinja2@3.1.6", + "type": "library", + "bom-ref": "pkg:pypi/jinja2@3.1.6" + }, + { + "name": "markupsafe", + "version": "3.0.3", + "purl": "pkg:pypi/markupsafe@3.0.3", + "type": "library", + "bom-ref": "pkg:pypi/markupsafe@3.0.3" + }, + { + "name": "werkzeug", + "version": "3.1.8", + "purl": "pkg:pypi/werkzeug@3.1.8", + "type": "library", + "bom-ref": "pkg:pypi/werkzeug@3.1.8" + }, + { + "name": "mid-pkg", + "version": "0.1.0", + "purl": "pkg:pypi/mid-pkg@0.1.0", + "type": "library", + "bom-ref": "pkg:pypi/mid-pkg@0.1.0" + }, + { + "name": "sub-pkg", + "version": "0.1.0", + "purl": "pkg:pypi/sub-pkg@0.1.0", + "type": "library", + "bom-ref": "pkg:pypi/sub-pkg@0.1.0" + }, + { + "name": "requests", + "version": "2.33.1", + "purl": "pkg:pypi/requests@2.33.1", + "type": "library", + "bom-ref": "pkg:pypi/requests@2.33.1" + }, + { + "name": "certifi", + "version": "2026.2.25", + "purl": "pkg:pypi/certifi@2026.2.25", + "type": "library", + "bom-ref": "pkg:pypi/certifi@2026.2.25" + }, + { + "name": "charset-normalizer", + "version": "3.4.7", + "purl": "pkg:pypi/charset-normalizer@3.4.7", + "type": "library", + "bom-ref": "pkg:pypi/charset-normalizer@3.4.7" + }, + { + "name": "idna", + "version": "3.11", + "purl": "pkg:pypi/idna@3.11", + "type": "library", + "bom-ref": "pkg:pypi/idna@3.11" + }, + { + "name": "urllib3", + "version": "2.6.3", + "purl": "pkg:pypi/urllib3@2.6.3", + "type": "library", + "bom-ref": "pkg:pypi/urllib3@2.6.3" + } + ], + "dependencies": [ + { + "ref": "pkg:pypi/uv-mono@0.1.0", + "dependsOn": [ + "pkg:pypi/flask@2.0.3", + "pkg:pypi/mid-pkg@0.1.0" + ] + }, + { + "ref": "pkg:pypi/flask@2.0.3", + "dependsOn": [ + "pkg:pypi/click@8.3.2", + "pkg:pypi/itsdangerous@2.2.0", + "pkg:pypi/jinja2@3.1.6", + "pkg:pypi/werkzeug@3.1.8" + ] + }, + { + "ref": "pkg:pypi/click@8.3.2", + "dependsOn": [ + "pkg:pypi/colorama@0.4.6" + ] + }, + { + "ref": "pkg:pypi/colorama@0.4.6", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/itsdangerous@2.2.0", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/jinja2@3.1.6", + "dependsOn": [ + "pkg:pypi/markupsafe@3.0.3" + ] + }, + { + "ref": "pkg:pypi/markupsafe@3.0.3", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/werkzeug@3.1.8", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/mid-pkg@0.1.0", + "dependsOn": [ + "pkg:pypi/sub-pkg@0.1.0" + ] + }, + { + "ref": "pkg:pypi/sub-pkg@0.1.0", + "dependsOn": [ + "pkg:pypi/requests@2.33.1" + ] + }, + { + "ref": "pkg:pypi/requests@2.33.1", + "dependsOn": [ + "pkg:pypi/certifi@2026.2.25", + "pkg:pypi/charset-normalizer@3.4.7", + "pkg:pypi/idna@3.11", + "pkg:pypi/urllib3@2.6.3" + ] + }, + { + "ref": "pkg:pypi/certifi@2026.2.25", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/charset-normalizer@3.4.7", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/idna@3.11", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/urllib3@2.6.3", + "dependsOn": [] + } + ] +} diff --git a/test/providers/tst_manifests/pyproject/uv_workspace/packages/mid-pkg/expected_component_sbom.json b/test/providers/tst_manifests/pyproject/uv_workspace/packages/mid-pkg/expected_component_sbom.json new file mode 100644 index 00000000..6028991b --- /dev/null +++ b/test/providers/tst_manifests/pyproject/uv_workspace/packages/mid-pkg/expected_component_sbom.json @@ -0,0 +1,36 @@ +{ + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-10-01T00:00:00.000Z", + "component": { + "name": "mid-pkg", + "version": "0.1.0", + "purl": "pkg:pypi/mid-pkg@0.1.0", + "type": "application", + "bom-ref": "pkg:pypi/mid-pkg@0.1.0" + } + }, + "components": [ + { + "name": "sub-pkg", + "version": "0.1.0", + "purl": "pkg:pypi/sub-pkg@0.1.0", + "type": "library", + "bom-ref": "pkg:pypi/sub-pkg@0.1.0" + } + ], + "dependencies": [ + { + "ref": "pkg:pypi/mid-pkg@0.1.0", + "dependsOn": [ + "pkg:pypi/sub-pkg@0.1.0" + ] + }, + { + "ref": "pkg:pypi/sub-pkg@0.1.0", + "dependsOn": [] + } + ] +} diff --git a/test/providers/tst_manifests/pyproject/uv_workspace/packages/mid-pkg/expected_stack_sbom.json b/test/providers/tst_manifests/pyproject/uv_workspace/packages/mid-pkg/expected_stack_sbom.json new file mode 100644 index 00000000..506c9dca --- /dev/null +++ b/test/providers/tst_manifests/pyproject/uv_workspace/packages/mid-pkg/expected_stack_sbom.json @@ -0,0 +1,98 @@ +{ + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-10-01T00:00:00.000Z", + "component": { + "name": "mid-pkg", + "version": "0.1.0", + "purl": "pkg:pypi/mid-pkg@0.1.0", + "type": "application", + "bom-ref": "pkg:pypi/mid-pkg@0.1.0" + } + }, + "components": [ + { + "name": "sub-pkg", + "version": "0.1.0", + "purl": "pkg:pypi/sub-pkg@0.1.0", + "type": "library", + "bom-ref": "pkg:pypi/sub-pkg@0.1.0" + }, + { + "name": "requests", + "version": "2.33.1", + "purl": "pkg:pypi/requests@2.33.1", + "type": "library", + "bom-ref": "pkg:pypi/requests@2.33.1" + }, + { + "name": "certifi", + "version": "2026.2.25", + "purl": "pkg:pypi/certifi@2026.2.25", + "type": "library", + "bom-ref": "pkg:pypi/certifi@2026.2.25" + }, + { + "name": "charset-normalizer", + "version": "3.4.7", + "purl": "pkg:pypi/charset-normalizer@3.4.7", + "type": "library", + "bom-ref": "pkg:pypi/charset-normalizer@3.4.7" + }, + { + "name": "idna", + "version": "3.11", + "purl": "pkg:pypi/idna@3.11", + "type": "library", + "bom-ref": "pkg:pypi/idna@3.11" + }, + { + "name": "urllib3", + "version": "2.6.3", + "purl": "pkg:pypi/urllib3@2.6.3", + "type": "library", + "bom-ref": "pkg:pypi/urllib3@2.6.3" + } + ], + "dependencies": [ + { + "ref": "pkg:pypi/mid-pkg@0.1.0", + "dependsOn": [ + "pkg:pypi/sub-pkg@0.1.0" + ] + }, + { + "ref": "pkg:pypi/sub-pkg@0.1.0", + "dependsOn": [ + "pkg:pypi/requests@2.33.1" + ] + }, + { + "ref": "pkg:pypi/requests@2.33.1", + "dependsOn": [ + "pkg:pypi/certifi@2026.2.25", + "pkg:pypi/charset-normalizer@3.4.7", + "pkg:pypi/idna@3.11", + "pkg:pypi/urllib3@2.6.3" + ] + }, + { + "ref": "pkg:pypi/certifi@2026.2.25", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/charset-normalizer@3.4.7", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/idna@3.11", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/urllib3@2.6.3", + "dependsOn": [] + } + ] +} diff --git a/test/providers/tst_manifests/pyproject/uv_workspace/packages/mid-pkg/pyproject.toml b/test/providers/tst_manifests/pyproject/uv_workspace/packages/mid-pkg/pyproject.toml new file mode 100644 index 00000000..e66920d8 --- /dev/null +++ b/test/providers/tst_manifests/pyproject/uv_workspace/packages/mid-pkg/pyproject.toml @@ -0,0 +1,9 @@ +[project] +name = "mid-pkg" +version = "0.1.0" +dependencies = [ + "sub-pkg", +] + +[tool.uv.sources] +sub-pkg = { workspace = true } diff --git a/test/providers/tst_manifests/pyproject/uv_workspace/packages/sub-pkg/expected_component_sbom.json b/test/providers/tst_manifests/pyproject/uv_workspace/packages/sub-pkg/expected_component_sbom.json new file mode 100644 index 00000000..dec8c565 --- /dev/null +++ b/test/providers/tst_manifests/pyproject/uv_workspace/packages/sub-pkg/expected_component_sbom.json @@ -0,0 +1,36 @@ +{ + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-10-01T00:00:00.000Z", + "component": { + "name": "sub-pkg", + "version": "0.1.0", + "purl": "pkg:pypi/sub-pkg@0.1.0", + "type": "application", + "bom-ref": "pkg:pypi/sub-pkg@0.1.0" + } + }, + "components": [ + { + "name": "requests", + "version": "2.33.1", + "purl": "pkg:pypi/requests@2.33.1", + "type": "library", + "bom-ref": "pkg:pypi/requests@2.33.1" + } + ], + "dependencies": [ + { + "ref": "pkg:pypi/sub-pkg@0.1.0", + "dependsOn": [ + "pkg:pypi/requests@2.33.1" + ] + }, + { + "ref": "pkg:pypi/requests@2.33.1", + "dependsOn": [] + } + ] +} diff --git a/test/providers/tst_manifests/pyproject/uv_workspace/packages/sub-pkg/expected_stack_sbom.json b/test/providers/tst_manifests/pyproject/uv_workspace/packages/sub-pkg/expected_stack_sbom.json new file mode 100644 index 00000000..e9d1f86d --- /dev/null +++ b/test/providers/tst_manifests/pyproject/uv_workspace/packages/sub-pkg/expected_stack_sbom.json @@ -0,0 +1,85 @@ +{ + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-10-01T00:00:00.000Z", + "component": { + "name": "sub-pkg", + "version": "0.1.0", + "purl": "pkg:pypi/sub-pkg@0.1.0", + "type": "application", + "bom-ref": "pkg:pypi/sub-pkg@0.1.0" + } + }, + "components": [ + { + "name": "requests", + "version": "2.33.1", + "purl": "pkg:pypi/requests@2.33.1", + "type": "library", + "bom-ref": "pkg:pypi/requests@2.33.1" + }, + { + "name": "certifi", + "version": "2026.2.25", + "purl": "pkg:pypi/certifi@2026.2.25", + "type": "library", + "bom-ref": "pkg:pypi/certifi@2026.2.25" + }, + { + "name": "charset-normalizer", + "version": "3.4.7", + "purl": "pkg:pypi/charset-normalizer@3.4.7", + "type": "library", + "bom-ref": "pkg:pypi/charset-normalizer@3.4.7" + }, + { + "name": "idna", + "version": "3.11", + "purl": "pkg:pypi/idna@3.11", + "type": "library", + "bom-ref": "pkg:pypi/idna@3.11" + }, + { + "name": "urllib3", + "version": "2.6.3", + "purl": "pkg:pypi/urllib3@2.6.3", + "type": "library", + "bom-ref": "pkg:pypi/urllib3@2.6.3" + } + ], + "dependencies": [ + { + "ref": "pkg:pypi/sub-pkg@0.1.0", + "dependsOn": [ + "pkg:pypi/requests@2.33.1" + ] + }, + { + "ref": "pkg:pypi/requests@2.33.1", + "dependsOn": [ + "pkg:pypi/certifi@2026.2.25", + "pkg:pypi/charset-normalizer@3.4.7", + "pkg:pypi/idna@3.11", + "pkg:pypi/urllib3@2.6.3" + ] + }, + { + "ref": "pkg:pypi/certifi@2026.2.25", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/charset-normalizer@3.4.7", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/idna@3.11", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/urllib3@2.6.3", + "dependsOn": [] + } + ] +} diff --git a/test/providers/tst_manifests/pyproject/uv_workspace/packages/sub-pkg/pyproject.toml b/test/providers/tst_manifests/pyproject/uv_workspace/packages/sub-pkg/pyproject.toml new file mode 100644 index 00000000..39aac1dd --- /dev/null +++ b/test/providers/tst_manifests/pyproject/uv_workspace/packages/sub-pkg/pyproject.toml @@ -0,0 +1,6 @@ +[project] +name = "sub-pkg" +version = "0.1.0" +dependencies = [ + "requests>=2.0", +] diff --git a/test/providers/tst_manifests/pyproject/uv_workspace/pyproject.toml b/test/providers/tst_manifests/pyproject/uv_workspace/pyproject.toml new file mode 100644 index 00000000..2d6cf260 --- /dev/null +++ b/test/providers/tst_manifests/pyproject/uv_workspace/pyproject.toml @@ -0,0 +1,13 @@ +[project] +name = "uv-mono" +version = "0.1.0" +dependencies = [ + "mid-pkg", + "flask==2.0.3" +] + +[tool.uv.sources] +mid-pkg = { workspace = true } + +[tool.uv.workspace] +members = ["packages/*"] diff --git a/test/providers/tst_manifests/pyproject/uv_workspace/uv.lock b/test/providers/tst_manifests/pyproject/uv_workspace/uv.lock new file mode 100644 index 00000000..3e67804f --- /dev/null +++ b/test/providers/tst_manifests/pyproject/uv_workspace/uv.lock @@ -0,0 +1,267 @@ +version = 1 +revision = 3 +requires-python = ">=3.13" + +[manifest] +members = [ + "mid-pkg", + "sub-pkg", + "uv-mono", +] + +[[package]] +name = "certifi" +version = "2026.2.25" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/af/2d/7bf41579a8986e348fa033a31cdd0e4121114f6bce2457e8876010b092dd/certifi-2026.2.25.tar.gz", hash = "sha256:e887ab5cee78ea814d3472169153c2d12cd43b14bd03329a39a9c6e2e80bfba7", size = 155029, upload-time = "2026-02-25T02:54:17.342Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9a/3c/c17fb3ca2d9c3acff52e30b309f538586f9f5b9c9cf454f3845fc9af4881/certifi-2026.2.25-py3-none-any.whl", hash = "sha256:027692e4402ad994f1c42e52a4997a9763c646b73e4096e4d5d6db8af1d6f0fa", size = 153684, upload-time = "2026-02-25T02:54:15.766Z" }, +] + +[[package]] +name = "charset-normalizer" +version = "3.4.7" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e7/a1/67fe25fac3c7642725500a3f6cfe5821ad557c3abb11c9d20d12c7008d3e/charset_normalizer-3.4.7.tar.gz", hash = "sha256:ae89db9e5f98a11a4bf50407d4363e7b09b31e55bc117b4f7d80aab97ba009e5", size = 144271, upload-time = "2026-04-02T09:28:39.342Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c1/3b/66777e39d3ae1ddc77ee606be4ec6d8cbd4c801f65e5a1b6f2b11b8346dd/charset_normalizer-3.4.7-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:f496c9c3cc02230093d8330875c4c3cdfc3b73612a5fd921c65d39cbcef08063", size = 309627, upload-time = "2026-04-02T09:26:45.198Z" }, + { url = "https://files.pythonhosted.org/packages/2e/4e/b7f84e617b4854ade48a1b7915c8ccfadeba444d2a18c291f696e37f0d3b/charset_normalizer-3.4.7-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0ea948db76d31190bf08bd371623927ee1339d5f2a0b4b1b4a4439a65298703c", size = 207008, upload-time = "2026-04-02T09:26:46.824Z" }, + { url = "https://files.pythonhosted.org/packages/c4/bb/ec73c0257c9e11b268f018f068f5d00aa0ef8c8b09f7753ebd5f2880e248/charset_normalizer-3.4.7-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a277ab8928b9f299723bc1a2dabb1265911b1a76341f90a510368ca44ad9ab66", size = 228303, upload-time = "2026-04-02T09:26:48.397Z" }, + { url = "https://files.pythonhosted.org/packages/85/fb/32d1f5033484494619f701e719429c69b766bfc4dbc61aa9e9c8c166528b/charset_normalizer-3.4.7-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:3bec022aec2c514d9cf199522a802bd007cd588ab17ab2525f20f9c34d067c18", size = 224282, upload-time = "2026-04-02T09:26:49.684Z" }, + { url = "https://files.pythonhosted.org/packages/fa/07/330e3a0dda4c404d6da83b327270906e9654a24f6c546dc886a0eb0ffb23/charset_normalizer-3.4.7-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e044c39e41b92c845bc815e5ae4230804e8e7bc29e399b0437d64222d92809dd", size = 215595, upload-time = "2026-04-02T09:26:50.915Z" }, + { url = "https://files.pythonhosted.org/packages/e3/7c/fc890655786e423f02556e0216d4b8c6bcb6bdfa890160dc66bf52dee468/charset_normalizer-3.4.7-cp313-cp313-manylinux_2_31_armv7l.whl", hash = "sha256:f495a1652cf3fbab2eb0639776dad966c2fb874d79d87ca07f9d5f059b8bd215", size = 201986, upload-time = "2026-04-02T09:26:52.197Z" }, + { url = "https://files.pythonhosted.org/packages/d8/97/bfb18b3db2aed3b90cf54dc292ad79fdd5ad65c4eae454099475cbeadd0d/charset_normalizer-3.4.7-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e712b419df8ba5e42b226c510472b37bd57b38e897d3eca5e8cfd410a29fa859", size = 211711, upload-time = "2026-04-02T09:26:53.49Z" }, + { url = "https://files.pythonhosted.org/packages/6f/a5/a581c13798546a7fd557c82614a5c65a13df2157e9ad6373166d2a3e645d/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:7804338df6fcc08105c7745f1502ba68d900f45fd770d5bdd5288ddccb8a42d8", size = 210036, upload-time = "2026-04-02T09:26:54.975Z" }, + { url = "https://files.pythonhosted.org/packages/8c/bf/b3ab5bcb478e4193d517644b0fb2bf5497fbceeaa7a1bc0f4d5b50953861/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:481551899c856c704d58119b5025793fa6730adda3571971af568f66d2424bb5", size = 202998, upload-time = "2026-04-02T09:26:56.303Z" }, + { url = "https://files.pythonhosted.org/packages/e7/4e/23efd79b65d314fa320ec6017b4b5834d5c12a58ba4610aa353af2e2f577/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:f59099f9b66f0d7145115e6f80dd8b1d847176df89b234a5a6b3f00437aa0832", size = 230056, upload-time = "2026-04-02T09:26:57.554Z" }, + { url = "https://files.pythonhosted.org/packages/b9/9f/1e1941bc3f0e01df116e68dc37a55c4d249df5e6fa77f008841aef68264f/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:f59ad4c0e8f6bba240a9bb85504faa1ab438237199d4cce5f622761507b8f6a6", size = 211537, upload-time = "2026-04-02T09:26:58.843Z" }, + { url = "https://files.pythonhosted.org/packages/80/0f/088cbb3020d44428964a6c97fe1edfb1b9550396bf6d278330281e8b709c/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:3dedcc22d73ec993f42055eff4fcfed9318d1eeb9a6606c55892a26964964e48", size = 226176, upload-time = "2026-04-02T09:27:00.437Z" }, + { url = "https://files.pythonhosted.org/packages/6a/9f/130394f9bbe06f4f63e22641d32fc9b202b7e251c9aef4db044324dac493/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:64f02c6841d7d83f832cd97ccf8eb8a906d06eb95d5276069175c696b024b60a", size = 217723, upload-time = "2026-04-02T09:27:02.021Z" }, + { url = "https://files.pythonhosted.org/packages/73/55/c469897448a06e49f8fa03f6caae97074fde823f432a98f979cc42b90e69/charset_normalizer-3.4.7-cp313-cp313-win32.whl", hash = "sha256:4042d5c8f957e15221d423ba781e85d553722fc4113f523f2feb7b188cc34c5e", size = 148085, upload-time = "2026-04-02T09:27:03.192Z" }, + { url = "https://files.pythonhosted.org/packages/5d/78/1b74c5bbb3f99b77a1715c91b3e0b5bdb6fe302d95ace4f5b1bec37b0167/charset_normalizer-3.4.7-cp313-cp313-win_amd64.whl", hash = "sha256:3946fa46a0cf3e4c8cb1cc52f56bb536310d34f25f01ca9b6c16afa767dab110", size = 158819, upload-time = "2026-04-02T09:27:04.454Z" }, + { url = "https://files.pythonhosted.org/packages/68/86/46bd42279d323deb8687c4a5a811fd548cb7d1de10cf6535d099877a9a9f/charset_normalizer-3.4.7-cp313-cp313-win_arm64.whl", hash = "sha256:80d04837f55fc81da168b98de4f4b797ef007fc8a79ab71c6ec9bc4dd662b15b", size = 147915, upload-time = "2026-04-02T09:27:05.971Z" }, + { url = "https://files.pythonhosted.org/packages/97/c8/c67cb8c70e19ef1960b97b22ed2a1567711de46c4ddf19799923adc836c2/charset_normalizer-3.4.7-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:c36c333c39be2dbca264d7803333c896ab8fa7d4d6f0ab7edb7dfd7aea6e98c0", size = 309234, upload-time = "2026-04-02T09:27:07.194Z" }, + { url = "https://files.pythonhosted.org/packages/99/85/c091fdee33f20de70d6c8b522743b6f831a2f1cd3ff86de4c6a827c48a76/charset_normalizer-3.4.7-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1c2aed2e5e41f24ea8ef1590b8e848a79b56f3a5564a65ceec43c9d692dc7d8a", size = 208042, upload-time = "2026-04-02T09:27:08.749Z" }, + { url = "https://files.pythonhosted.org/packages/87/1c/ab2ce611b984d2fd5d86a5a8a19c1ae26acac6bad967da4967562c75114d/charset_normalizer-3.4.7-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:54523e136b8948060c0fa0bc7b1b50c32c186f2fceee897a495406bb6e311d2b", size = 228706, upload-time = "2026-04-02T09:27:09.951Z" }, + { url = "https://files.pythonhosted.org/packages/a8/29/2b1d2cb00bf085f59d29eb773ce58ec2d325430f8c216804a0a5cd83cbca/charset_normalizer-3.4.7-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:715479b9a2802ecac752a3b0efa2b0b60285cf962ee38414211abdfccc233b41", size = 224727, upload-time = "2026-04-02T09:27:11.175Z" }, + { url = "https://files.pythonhosted.org/packages/47/5c/032c2d5a07fe4d4855fea851209cca2b6f03ebeb6d4e3afdb3358386a684/charset_normalizer-3.4.7-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bd6c2a1c7573c64738d716488d2cdd3c00e340e4835707d8fdb8dc1a66ef164e", size = 215882, upload-time = "2026-04-02T09:27:12.446Z" }, + { url = "https://files.pythonhosted.org/packages/2c/c2/356065d5a8b78ed04499cae5f339f091946a6a74f91e03476c33f0ab7100/charset_normalizer-3.4.7-cp314-cp314-manylinux_2_31_armv7l.whl", hash = "sha256:c45e9440fb78f8ddabcf714b68f936737a121355bf59f3907f4e17721b9d1aae", size = 200860, upload-time = "2026-04-02T09:27:13.721Z" }, + { url = "https://files.pythonhosted.org/packages/0c/cd/a32a84217ced5039f53b29f460962abb2d4420def55afabe45b1c3c7483d/charset_normalizer-3.4.7-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:3534e7dcbdcf757da6b85a0bbf5b6868786d5982dd959b065e65481644817a18", size = 211564, upload-time = "2026-04-02T09:27:15.272Z" }, + { url = "https://files.pythonhosted.org/packages/44/86/58e6f13ce26cc3b8f4a36b94a0f22ae2f00a72534520f4ae6857c4b81f89/charset_normalizer-3.4.7-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:e8ac484bf18ce6975760921bb6148041faa8fef0547200386ea0b52b5d27bf7b", size = 211276, upload-time = "2026-04-02T09:27:16.834Z" }, + { url = "https://files.pythonhosted.org/packages/8f/fe/d17c32dc72e17e155e06883efa84514ca375f8a528ba2546bee73fc4df81/charset_normalizer-3.4.7-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:a5fe03b42827c13cdccd08e6c0247b6a6d4b5e3cdc53fd1749f5896adcdc2356", size = 201238, upload-time = "2026-04-02T09:27:18.229Z" }, + { url = "https://files.pythonhosted.org/packages/6a/29/f33daa50b06525a237451cdb6c69da366c381a3dadcd833fa5676bc468b3/charset_normalizer-3.4.7-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:2d6eb928e13016cea4f1f21d1e10c1cebd5a421bc57ddf5b1142ae3f86824fab", size = 230189, upload-time = "2026-04-02T09:27:19.445Z" }, + { url = "https://files.pythonhosted.org/packages/b6/6e/52c84015394a6a0bdcd435210a7e944c5f94ea1055f5cc5d56c5fe368e7b/charset_normalizer-3.4.7-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:e74327fb75de8986940def6e8dee4f127cc9752bee7355bb323cc5b2659b6d46", size = 211352, upload-time = "2026-04-02T09:27:20.79Z" }, + { url = "https://files.pythonhosted.org/packages/8c/d7/4353be581b373033fb9198bf1da3cf8f09c1082561e8e922aa7b39bf9fe8/charset_normalizer-3.4.7-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:d6038d37043bced98a66e68d3aa2b6a35505dc01328cd65217cefe82f25def44", size = 227024, upload-time = "2026-04-02T09:27:22.063Z" }, + { url = "https://files.pythonhosted.org/packages/30/45/99d18aa925bd1740098ccd3060e238e21115fffbfdcb8f3ece837d0ace6c/charset_normalizer-3.4.7-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:7579e913a5339fb8fa133f6bbcfd8e6749696206cf05acdbdca71a1b436d8e72", size = 217869, upload-time = "2026-04-02T09:27:23.486Z" }, + { url = "https://files.pythonhosted.org/packages/5c/05/5ee478aa53f4bb7996482153d4bfe1b89e0f087f0ab6b294fcf92d595873/charset_normalizer-3.4.7-cp314-cp314-win32.whl", hash = "sha256:5b77459df20e08151cd6f8b9ef8ef1f961ef73d85c21a555c7eed5b79410ec10", size = 148541, upload-time = "2026-04-02T09:27:25.146Z" }, + { url = "https://files.pythonhosted.org/packages/48/77/72dcb0921b2ce86420b2d79d454c7022bf5be40202a2a07906b9f2a35c97/charset_normalizer-3.4.7-cp314-cp314-win_amd64.whl", hash = "sha256:92a0a01ead5e668468e952e4238cccd7c537364eb7d851ab144ab6627dbbe12f", size = 159634, upload-time = "2026-04-02T09:27:26.642Z" }, + { url = "https://files.pythonhosted.org/packages/c6/a3/c2369911cd72f02386e4e340770f6e158c7980267da16af8f668217abaa0/charset_normalizer-3.4.7-cp314-cp314-win_arm64.whl", hash = "sha256:67f6279d125ca0046a7fd386d01b311c6363844deac3e5b069b514ba3e63c246", size = 148384, upload-time = "2026-04-02T09:27:28.271Z" }, + { url = "https://files.pythonhosted.org/packages/94/09/7e8a7f73d24dba1f0035fbbf014d2c36828fc1bf9c88f84093e57d315935/charset_normalizer-3.4.7-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:effc3f449787117233702311a1b7d8f59cba9ced946ba727bdc329ec69028e24", size = 330133, upload-time = "2026-04-02T09:27:29.474Z" }, + { url = "https://files.pythonhosted.org/packages/8d/da/96975ddb11f8e977f706f45cddd8540fd8242f71ecdb5d18a80723dcf62c/charset_normalizer-3.4.7-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:fbccdc05410c9ee21bbf16a35f4c1d16123dcdeb8a1d38f33654fa21d0234f79", size = 216257, upload-time = "2026-04-02T09:27:30.793Z" }, + { url = "https://files.pythonhosted.org/packages/e5/e8/1d63bf8ef2d388e95c64b2098f45f84758f6d102a087552da1485912637b/charset_normalizer-3.4.7-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:733784b6d6def852c814bce5f318d25da2ee65dd4839a0718641c696e09a2960", size = 234851, upload-time = "2026-04-02T09:27:32.44Z" }, + { url = "https://files.pythonhosted.org/packages/9b/40/e5ff04233e70da2681fa43969ad6f66ca5611d7e669be0246c4c7aaf6dc8/charset_normalizer-3.4.7-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a89c23ef8d2c6b27fd200a42aa4ac72786e7c60d40efdc76e6011260b6e949c4", size = 233393, upload-time = "2026-04-02T09:27:34.03Z" }, + { url = "https://files.pythonhosted.org/packages/be/c1/06c6c49d5a5450f76899992f1ee40b41d076aee9279b49cf9974d2f313d5/charset_normalizer-3.4.7-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6c114670c45346afedc0d947faf3c7f701051d2518b943679c8ff88befe14f8e", size = 223251, upload-time = "2026-04-02T09:27:35.369Z" }, + { url = "https://files.pythonhosted.org/packages/2b/9f/f2ff16fb050946169e3e1f82134d107e5d4ae72647ec8a1b1446c148480f/charset_normalizer-3.4.7-cp314-cp314t-manylinux_2_31_armv7l.whl", hash = "sha256:a180c5e59792af262bf263b21a3c49353f25945d8d9f70628e73de370d55e1e1", size = 206609, upload-time = "2026-04-02T09:27:36.661Z" }, + { url = "https://files.pythonhosted.org/packages/69/d5/a527c0cd8d64d2eab7459784fb4169a0ac76e5a6fc5237337982fd61347e/charset_normalizer-3.4.7-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:3c9a494bc5ec77d43cea229c4f6db1e4d8fe7e1bbffa8b6f0f0032430ff8ab44", size = 220014, upload-time = "2026-04-02T09:27:38.019Z" }, + { url = "https://files.pythonhosted.org/packages/7e/80/8a7b8104a3e203074dc9aa2c613d4b726c0e136bad1cc734594b02867972/charset_normalizer-3.4.7-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:8d828b6667a32a728a1ad1d93957cdf37489c57b97ae6c4de2860fa749b8fc1e", size = 218979, upload-time = "2026-04-02T09:27:39.37Z" }, + { url = "https://files.pythonhosted.org/packages/02/9a/b759b503d507f375b2b5c153e4d2ee0a75aa215b7f2489cf314f4541f2c0/charset_normalizer-3.4.7-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:cf1493cd8607bec4d8a7b9b004e699fcf8f9103a9284cc94962cb73d20f9d4a3", size = 209238, upload-time = "2026-04-02T09:27:40.722Z" }, + { url = "https://files.pythonhosted.org/packages/c2/4e/0f3f5d47b86bdb79256e7290b26ac847a2832d9a4033f7eb2cd4bcf4bb5b/charset_normalizer-3.4.7-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:0c96c3b819b5c3e9e165495db84d41914d6894d55181d2d108cc1a69bfc9cce0", size = 236110, upload-time = "2026-04-02T09:27:42.33Z" }, + { url = "https://files.pythonhosted.org/packages/96/23/bce28734eb3ed2c91dcf93abeb8a5cf393a7b2749725030bb630e554fdd8/charset_normalizer-3.4.7-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:752a45dc4a6934060b3b0dab47e04edc3326575f82be64bc4fc293914566503e", size = 219824, upload-time = "2026-04-02T09:27:43.924Z" }, + { url = "https://files.pythonhosted.org/packages/2c/6f/6e897c6984cc4d41af319b077f2f600fc8214eb2fe2d6bcb79141b882400/charset_normalizer-3.4.7-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:8778f0c7a52e56f75d12dae53ae320fae900a8b9b4164b981b9c5ce059cd1fcb", size = 233103, upload-time = "2026-04-02T09:27:45.348Z" }, + { url = "https://files.pythonhosted.org/packages/76/22/ef7bd0fe480a0ae9b656189ec00744b60933f68b4f42a7bb06589f6f576a/charset_normalizer-3.4.7-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:ce3412fbe1e31eb81ea42f4169ed94861c56e643189e1e75f0041f3fe7020abe", size = 225194, upload-time = "2026-04-02T09:27:46.706Z" }, + { url = "https://files.pythonhosted.org/packages/c5/a7/0e0ab3e0b5bc1219bd80a6a0d4d72ca74d9250cb2382b7c699c147e06017/charset_normalizer-3.4.7-cp314-cp314t-win32.whl", hash = "sha256:c03a41a8784091e67a39648f70c5f97b5b6a37f216896d44d2cdcb82615339a0", size = 159827, upload-time = "2026-04-02T09:27:48.053Z" }, + { url = "https://files.pythonhosted.org/packages/7a/1d/29d32e0fb40864b1f878c7f5a0b343ae676c6e2b271a2d55cc3a152391da/charset_normalizer-3.4.7-cp314-cp314t-win_amd64.whl", hash = "sha256:03853ed82eeebbce3c2abfdbc98c96dc205f32a79627688ac9a27370ea61a49c", size = 174168, upload-time = "2026-04-02T09:27:49.795Z" }, + { url = "https://files.pythonhosted.org/packages/de/32/d92444ad05c7a6e41fb2036749777c163baf7a0301a040cb672d6b2b1ae9/charset_normalizer-3.4.7-cp314-cp314t-win_arm64.whl", hash = "sha256:c35abb8bfff0185efac5878da64c45dafd2b37fb0383add1be155a763c1f083d", size = 153018, upload-time = "2026-04-02T09:27:51.116Z" }, + { url = "https://files.pythonhosted.org/packages/db/8f/61959034484a4a7c527811f4721e75d02d653a35afb0b6054474d8185d4c/charset_normalizer-3.4.7-py3-none-any.whl", hash = "sha256:3dce51d0f5e7951f8bb4900c257dad282f49190fdbebecd4ba99bcc41fef404d", size = 61958, upload-time = "2026-04-02T09:28:37.794Z" }, +] + +[[package]] +name = "click" +version = "8.3.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/57/75/31212c6bf2503fdf920d87fee5d7a86a2e3bcf444984126f13d8e4016804/click-8.3.2.tar.gz", hash = "sha256:14162b8b3b3550a7d479eafa77dfd3c38d9dc8951f6f69c78913a8f9a7540fd5", size = 302856, upload-time = "2026-04-03T19:14:45.118Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e4/20/71885d8b97d4f3dde17b1fdb92dbd4908b00541c5a3379787137285f602e/click-8.3.2-py3-none-any.whl", hash = "sha256:1924d2c27c5653561cd2cae4548d1406039cb79b858b747cfea24924bbc1616d", size = 108379, upload-time = "2026-04-03T19:14:43.505Z" }, +] + +[[package]] +name = "colorama" +version = "0.4.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload-time = "2022-10-25T02:36:22.414Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" }, +] + +[[package]] +name = "flask" +version = "2.0.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "click" }, + { name = "itsdangerous" }, + { name = "jinja2" }, + { name = "werkzeug" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/84/9d/66347e6b3e2eb78647392d3969c23bdc2d8b2fdc32bd078c817c15cb81ad/Flask-2.0.3.tar.gz", hash = "sha256:e1120c228ca2f553b470df4a5fa927ab66258467526069981b3eb0a91902687d", size = 629304, upload-time = "2022-02-14T20:01:09.281Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cd/77/59df23681f4fd19b7cbbb5e92484d46ad587554f5d490f33ef907e456132/Flask-2.0.3-py3-none-any.whl", hash = "sha256:59da8a3170004800a2837844bfa84d49b022550616070f7cb1a659682b2e7c9f", size = 95575, upload-time = "2022-02-14T20:01:06.923Z" }, +] + +[[package]] +name = "idna" +version = "3.11" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz", hash = "sha256:795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902", size = 194582, upload-time = "2025-10-12T14:55:20.501Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0e/61/66938bbb5fc52dbdf84594873d5b51fb1f7c7794e9c0f5bd885f30bc507b/idna-3.11-py3-none-any.whl", hash = "sha256:771a87f49d9defaf64091e6e6fe9c18d4833f140bd19464795bc32d966ca37ea", size = 71008, upload-time = "2025-10-12T14:55:18.883Z" }, +] + +[[package]] +name = "itsdangerous" +version = "2.2.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/9c/cb/8ac0172223afbccb63986cc25049b154ecfb5e85932587206f42317be31d/itsdangerous-2.2.0.tar.gz", hash = "sha256:e0050c0b7da1eea53ffaf149c0cfbb5c6e2e2b69c4bef22c81fa6eb73e5f6173", size = 54410, upload-time = "2024-04-16T21:28:15.614Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/04/96/92447566d16df59b2a776c0fb82dbc4d9e07cd95062562af01e408583fc4/itsdangerous-2.2.0-py3-none-any.whl", hash = "sha256:c6242fc49e35958c8b15141343aa660db5fc54d4f13a1db01a3f5891b98700ef", size = 16234, upload-time = "2024-04-16T21:28:14.499Z" }, +] + +[[package]] +name = "jinja2" +version = "3.1.6" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markupsafe" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d", size = 245115, upload-time = "2025-03-05T20:05:02.478Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67", size = 134899, upload-time = "2025-03-05T20:05:00.369Z" }, +] + +[[package]] +name = "markupsafe" +version = "3.0.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7e/99/7690b6d4034fffd95959cbe0c02de8deb3098cc577c67bb6a24fe5d7caa7/markupsafe-3.0.3.tar.gz", hash = "sha256:722695808f4b6457b320fdc131280796bdceb04ab50fe1795cd540799ebe1698", size = 80313, upload-time = "2025-09-27T18:37:40.426Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/38/2f/907b9c7bbba283e68f20259574b13d005c121a0fa4c175f9bed27c4597ff/markupsafe-3.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e1cf1972137e83c5d4c136c43ced9ac51d0e124706ee1c8aa8532c1287fa8795", size = 11622, upload-time = "2025-09-27T18:36:41.777Z" }, + { url = "https://files.pythonhosted.org/packages/9c/d9/5f7756922cdd676869eca1c4e3c0cd0df60ed30199ffd775e319089cb3ed/markupsafe-3.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:116bb52f642a37c115f517494ea5feb03889e04df47eeff5b130b1808ce7c219", size = 12029, upload-time = "2025-09-27T18:36:43.257Z" }, + { url = "https://files.pythonhosted.org/packages/00/07/575a68c754943058c78f30db02ee03a64b3c638586fba6a6dd56830b30a3/markupsafe-3.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:133a43e73a802c5562be9bbcd03d090aa5a1fe899db609c29e8c8d815c5f6de6", size = 24374, upload-time = "2025-09-27T18:36:44.508Z" }, + { url = "https://files.pythonhosted.org/packages/a9/21/9b05698b46f218fc0e118e1f8168395c65c8a2c750ae2bab54fc4bd4e0e8/markupsafe-3.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ccfcd093f13f0f0b7fdd0f198b90053bf7b2f02a3927a30e63f3ccc9df56b676", size = 22980, upload-time = "2025-09-27T18:36:45.385Z" }, + { url = "https://files.pythonhosted.org/packages/7f/71/544260864f893f18b6827315b988c146b559391e6e7e8f7252839b1b846a/markupsafe-3.0.3-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:509fa21c6deb7a7a273d629cf5ec029bc209d1a51178615ddf718f5918992ab9", size = 21990, upload-time = "2025-09-27T18:36:46.916Z" }, + { url = "https://files.pythonhosted.org/packages/c2/28/b50fc2f74d1ad761af2f5dcce7492648b983d00a65b8c0e0cb457c82ebbe/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a4afe79fb3de0b7097d81da19090f4df4f8d3a2b3adaa8764138aac2e44f3af1", size = 23784, upload-time = "2025-09-27T18:36:47.884Z" }, + { url = "https://files.pythonhosted.org/packages/ed/76/104b2aa106a208da8b17a2fb72e033a5a9d7073c68f7e508b94916ed47a9/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:795e7751525cae078558e679d646ae45574b47ed6e7771863fcc079a6171a0fc", size = 21588, upload-time = "2025-09-27T18:36:48.82Z" }, + { url = "https://files.pythonhosted.org/packages/b5/99/16a5eb2d140087ebd97180d95249b00a03aa87e29cc224056274f2e45fd6/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8485f406a96febb5140bfeca44a73e3ce5116b2501ac54fe953e488fb1d03b12", size = 23041, upload-time = "2025-09-27T18:36:49.797Z" }, + { url = "https://files.pythonhosted.org/packages/19/bc/e7140ed90c5d61d77cea142eed9f9c303f4c4806f60a1044c13e3f1471d0/markupsafe-3.0.3-cp313-cp313-win32.whl", hash = "sha256:bdd37121970bfd8be76c5fb069c7751683bdf373db1ed6c010162b2a130248ed", size = 14543, upload-time = "2025-09-27T18:36:51.584Z" }, + { url = "https://files.pythonhosted.org/packages/05/73/c4abe620b841b6b791f2edc248f556900667a5a1cf023a6646967ae98335/markupsafe-3.0.3-cp313-cp313-win_amd64.whl", hash = "sha256:9a1abfdc021a164803f4d485104931fb8f8c1efd55bc6b748d2f5774e78b62c5", size = 15113, upload-time = "2025-09-27T18:36:52.537Z" }, + { url = "https://files.pythonhosted.org/packages/f0/3a/fa34a0f7cfef23cf9500d68cb7c32dd64ffd58a12b09225fb03dd37d5b80/markupsafe-3.0.3-cp313-cp313-win_arm64.whl", hash = "sha256:7e68f88e5b8799aa49c85cd116c932a1ac15caaa3f5db09087854d218359e485", size = 13911, upload-time = "2025-09-27T18:36:53.513Z" }, + { url = "https://files.pythonhosted.org/packages/e4/d7/e05cd7efe43a88a17a37b3ae96e79a19e846f3f456fe79c57ca61356ef01/markupsafe-3.0.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:218551f6df4868a8d527e3062d0fb968682fe92054e89978594c28e642c43a73", size = 11658, upload-time = "2025-09-27T18:36:54.819Z" }, + { url = "https://files.pythonhosted.org/packages/99/9e/e412117548182ce2148bdeacdda3bb494260c0b0184360fe0d56389b523b/markupsafe-3.0.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3524b778fe5cfb3452a09d31e7b5adefeea8c5be1d43c4f810ba09f2ceb29d37", size = 12066, upload-time = "2025-09-27T18:36:55.714Z" }, + { url = "https://files.pythonhosted.org/packages/bc/e6/fa0ffcda717ef64a5108eaa7b4f5ed28d56122c9a6d70ab8b72f9f715c80/markupsafe-3.0.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4e885a3d1efa2eadc93c894a21770e4bc67899e3543680313b09f139e149ab19", size = 25639, upload-time = "2025-09-27T18:36:56.908Z" }, + { url = "https://files.pythonhosted.org/packages/96/ec/2102e881fe9d25fc16cb4b25d5f5cde50970967ffa5dddafdb771237062d/markupsafe-3.0.3-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8709b08f4a89aa7586de0aadc8da56180242ee0ada3999749b183aa23df95025", size = 23569, upload-time = "2025-09-27T18:36:57.913Z" }, + { url = "https://files.pythonhosted.org/packages/4b/30/6f2fce1f1f205fc9323255b216ca8a235b15860c34b6798f810f05828e32/markupsafe-3.0.3-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:b8512a91625c9b3da6f127803b166b629725e68af71f8184ae7e7d54686a56d6", size = 23284, upload-time = "2025-09-27T18:36:58.833Z" }, + { url = "https://files.pythonhosted.org/packages/58/47/4a0ccea4ab9f5dcb6f79c0236d954acb382202721e704223a8aafa38b5c8/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:9b79b7a16f7fedff2495d684f2b59b0457c3b493778c9eed31111be64d58279f", size = 24801, upload-time = "2025-09-27T18:36:59.739Z" }, + { url = "https://files.pythonhosted.org/packages/6a/70/3780e9b72180b6fecb83a4814d84c3bf4b4ae4bf0b19c27196104149734c/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:12c63dfb4a98206f045aa9563db46507995f7ef6d83b2f68eda65c307c6829eb", size = 22769, upload-time = "2025-09-27T18:37:00.719Z" }, + { url = "https://files.pythonhosted.org/packages/98/c5/c03c7f4125180fc215220c035beac6b9cb684bc7a067c84fc69414d315f5/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8f71bc33915be5186016f675cd83a1e08523649b0e33efdb898db577ef5bb009", size = 23642, upload-time = "2025-09-27T18:37:01.673Z" }, + { url = "https://files.pythonhosted.org/packages/80/d6/2d1b89f6ca4bff1036499b1e29a1d02d282259f3681540e16563f27ebc23/markupsafe-3.0.3-cp313-cp313t-win32.whl", hash = "sha256:69c0b73548bc525c8cb9a251cddf1931d1db4d2258e9599c28c07ef3580ef354", size = 14612, upload-time = "2025-09-27T18:37:02.639Z" }, + { url = "https://files.pythonhosted.org/packages/2b/98/e48a4bfba0a0ffcf9925fe2d69240bfaa19c6f7507b8cd09c70684a53c1e/markupsafe-3.0.3-cp313-cp313t-win_amd64.whl", hash = "sha256:1b4b79e8ebf6b55351f0d91fe80f893b4743f104bff22e90697db1590e47a218", size = 15200, upload-time = "2025-09-27T18:37:03.582Z" }, + { url = "https://files.pythonhosted.org/packages/0e/72/e3cc540f351f316e9ed0f092757459afbc595824ca724cbc5a5d4263713f/markupsafe-3.0.3-cp313-cp313t-win_arm64.whl", hash = "sha256:ad2cf8aa28b8c020ab2fc8287b0f823d0a7d8630784c31e9ee5edea20f406287", size = 13973, upload-time = "2025-09-27T18:37:04.929Z" }, + { url = "https://files.pythonhosted.org/packages/33/8a/8e42d4838cd89b7dde187011e97fe6c3af66d8c044997d2183fbd6d31352/markupsafe-3.0.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:eaa9599de571d72e2daf60164784109f19978b327a3910d3e9de8c97b5b70cfe", size = 11619, upload-time = "2025-09-27T18:37:06.342Z" }, + { url = "https://files.pythonhosted.org/packages/b5/64/7660f8a4a8e53c924d0fa05dc3a55c9cee10bbd82b11c5afb27d44b096ce/markupsafe-3.0.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c47a551199eb8eb2121d4f0f15ae0f923d31350ab9280078d1e5f12b249e0026", size = 12029, upload-time = "2025-09-27T18:37:07.213Z" }, + { url = "https://files.pythonhosted.org/packages/da/ef/e648bfd021127bef5fa12e1720ffed0c6cbb8310c8d9bea7266337ff06de/markupsafe-3.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f34c41761022dd093b4b6896d4810782ffbabe30f2d443ff5f083e0cbbb8c737", size = 24408, upload-time = "2025-09-27T18:37:09.572Z" }, + { url = "https://files.pythonhosted.org/packages/41/3c/a36c2450754618e62008bf7435ccb0f88053e07592e6028a34776213d877/markupsafe-3.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:457a69a9577064c05a97c41f4e65148652db078a3a509039e64d3467b9e7ef97", size = 23005, upload-time = "2025-09-27T18:37:10.58Z" }, + { url = "https://files.pythonhosted.org/packages/bc/20/b7fdf89a8456b099837cd1dc21974632a02a999ec9bf7ca3e490aacd98e7/markupsafe-3.0.3-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e8afc3f2ccfa24215f8cb28dcf43f0113ac3c37c2f0f0806d8c70e4228c5cf4d", size = 22048, upload-time = "2025-09-27T18:37:11.547Z" }, + { url = "https://files.pythonhosted.org/packages/9a/a7/591f592afdc734f47db08a75793a55d7fbcc6902a723ae4cfbab61010cc5/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ec15a59cf5af7be74194f7ab02d0f59a62bdcf1a537677ce67a2537c9b87fcda", size = 23821, upload-time = "2025-09-27T18:37:12.48Z" }, + { url = "https://files.pythonhosted.org/packages/7d/33/45b24e4f44195b26521bc6f1a82197118f74df348556594bd2262bda1038/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:0eb9ff8191e8498cca014656ae6b8d61f39da5f95b488805da4bb029cccbfbaf", size = 21606, upload-time = "2025-09-27T18:37:13.485Z" }, + { url = "https://files.pythonhosted.org/packages/ff/0e/53dfaca23a69fbfbbf17a4b64072090e70717344c52eaaaa9c5ddff1e5f0/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:2713baf880df847f2bece4230d4d094280f4e67b1e813eec43b4c0e144a34ffe", size = 23043, upload-time = "2025-09-27T18:37:14.408Z" }, + { url = "https://files.pythonhosted.org/packages/46/11/f333a06fc16236d5238bfe74daccbca41459dcd8d1fa952e8fbd5dccfb70/markupsafe-3.0.3-cp314-cp314-win32.whl", hash = "sha256:729586769a26dbceff69f7a7dbbf59ab6572b99d94576a5592625d5b411576b9", size = 14747, upload-time = "2025-09-27T18:37:15.36Z" }, + { url = "https://files.pythonhosted.org/packages/28/52/182836104b33b444e400b14f797212f720cbc9ed6ba34c800639d154e821/markupsafe-3.0.3-cp314-cp314-win_amd64.whl", hash = "sha256:bdc919ead48f234740ad807933cdf545180bfbe9342c2bb451556db2ed958581", size = 15341, upload-time = "2025-09-27T18:37:16.496Z" }, + { url = "https://files.pythonhosted.org/packages/6f/18/acf23e91bd94fd7b3031558b1f013adfa21a8e407a3fdb32745538730382/markupsafe-3.0.3-cp314-cp314-win_arm64.whl", hash = "sha256:5a7d5dc5140555cf21a6fefbdbf8723f06fcd2f63ef108f2854de715e4422cb4", size = 14073, upload-time = "2025-09-27T18:37:17.476Z" }, + { url = "https://files.pythonhosted.org/packages/3c/f0/57689aa4076e1b43b15fdfa646b04653969d50cf30c32a102762be2485da/markupsafe-3.0.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:1353ef0c1b138e1907ae78e2f6c63ff67501122006b0f9abad68fda5f4ffc6ab", size = 11661, upload-time = "2025-09-27T18:37:18.453Z" }, + { url = "https://files.pythonhosted.org/packages/89/c3/2e67a7ca217c6912985ec766c6393b636fb0c2344443ff9d91404dc4c79f/markupsafe-3.0.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:1085e7fbddd3be5f89cc898938f42c0b3c711fdcb37d75221de2666af647c175", size = 12069, upload-time = "2025-09-27T18:37:19.332Z" }, + { url = "https://files.pythonhosted.org/packages/f0/00/be561dce4e6ca66b15276e184ce4b8aec61fe83662cce2f7d72bd3249d28/markupsafe-3.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1b52b4fb9df4eb9ae465f8d0c228a00624de2334f216f178a995ccdcf82c4634", size = 25670, upload-time = "2025-09-27T18:37:20.245Z" }, + { url = "https://files.pythonhosted.org/packages/50/09/c419f6f5a92e5fadde27efd190eca90f05e1261b10dbd8cbcb39cd8ea1dc/markupsafe-3.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fed51ac40f757d41b7c48425901843666a6677e3e8eb0abcff09e4ba6e664f50", size = 23598, upload-time = "2025-09-27T18:37:21.177Z" }, + { url = "https://files.pythonhosted.org/packages/22/44/a0681611106e0b2921b3033fc19bc53323e0b50bc70cffdd19f7d679bb66/markupsafe-3.0.3-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:f190daf01f13c72eac4efd5c430a8de82489d9cff23c364c3ea822545032993e", size = 23261, upload-time = "2025-09-27T18:37:22.167Z" }, + { url = "https://files.pythonhosted.org/packages/5f/57/1b0b3f100259dc9fffe780cfb60d4be71375510e435efec3d116b6436d43/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e56b7d45a839a697b5eb268c82a71bd8c7f6c94d6fd50c3d577fa39a9f1409f5", size = 24835, upload-time = "2025-09-27T18:37:23.296Z" }, + { url = "https://files.pythonhosted.org/packages/26/6a/4bf6d0c97c4920f1597cc14dd720705eca0bf7c787aebc6bb4d1bead5388/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:f3e98bb3798ead92273dc0e5fd0f31ade220f59a266ffd8a4f6065e0a3ce0523", size = 22733, upload-time = "2025-09-27T18:37:24.237Z" }, + { url = "https://files.pythonhosted.org/packages/14/c7/ca723101509b518797fedc2fdf79ba57f886b4aca8a7d31857ba3ee8281f/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:5678211cb9333a6468fb8d8be0305520aa073f50d17f089b5b4b477ea6e67fdc", size = 23672, upload-time = "2025-09-27T18:37:25.271Z" }, + { url = "https://files.pythonhosted.org/packages/fb/df/5bd7a48c256faecd1d36edc13133e51397e41b73bb77e1a69deab746ebac/markupsafe-3.0.3-cp314-cp314t-win32.whl", hash = "sha256:915c04ba3851909ce68ccc2b8e2cd691618c4dc4c4232fb7982bca3f41fd8c3d", size = 14819, upload-time = "2025-09-27T18:37:26.285Z" }, + { url = "https://files.pythonhosted.org/packages/1a/8a/0402ba61a2f16038b48b39bccca271134be00c5c9f0f623208399333c448/markupsafe-3.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:4faffd047e07c38848ce017e8725090413cd80cbc23d86e55c587bf979e579c9", size = 15426, upload-time = "2025-09-27T18:37:27.316Z" }, + { url = "https://files.pythonhosted.org/packages/70/bc/6f1c2f612465f5fa89b95bead1f44dcb607670fd42891d8fdcd5d039f4f4/markupsafe-3.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:32001d6a8fc98c8cb5c947787c5d08b0a50663d139f1305bac5885d98d9b40fa", size = 14146, upload-time = "2025-09-27T18:37:28.327Z" }, +] + +[[package]] +name = "mid-pkg" +version = "0.1.0" +source = { editable = "packages/mid-pkg" } +dependencies = [ + { name = "sub-pkg" }, +] + +[package.metadata] +requires-dist = [{ name = "sub-pkg", editable = "packages/sub-pkg" }] + +[[package]] +name = "requests" +version = "2.33.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "charset-normalizer" }, + { name = "idna" }, + { name = "urllib3" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/5f/a4/98b9c7c6428a668bf7e42ebb7c79d576a1c3c1e3ae2d47e674b468388871/requests-2.33.1.tar.gz", hash = "sha256:18817f8c57c6263968bc123d237e3b8b08ac046f5456bd1e307ee8f4250d3517", size = 134120, upload-time = "2026-03-30T16:09:15.531Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d7/8e/7540e8a2036f79a125c1d2ebadf69ed7901608859186c856fa0388ef4197/requests-2.33.1-py3-none-any.whl", hash = "sha256:4e6d1ef462f3626a1f0a0a9c42dd93c63bad33f9f1c1937509b8c5c8718ab56a", size = 64947, upload-time = "2026-03-30T16:09:13.83Z" }, +] + +[[package]] +name = "sub-pkg" +version = "0.1.0" +source = { editable = "packages/sub-pkg" } +dependencies = [ + { name = "requests" }, +] + +[package.metadata] +requires-dist = [{ name = "requests", specifier = ">=2.0" }] + +[[package]] +name = "urllib3" +version = "2.6.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/c7/24/5f1b3bdffd70275f6661c76461e25f024d5a38a46f04aaca912426a2b1d3/urllib3-2.6.3.tar.gz", hash = "sha256:1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed", size = 435556, upload-time = "2026-01-07T16:24:43.925Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/39/08/aaaad47bc4e9dc8c725e68f9d04865dbcb2052843ff09c97b08904852d84/urllib3-2.6.3-py3-none-any.whl", hash = "sha256:bf272323e553dfb2e87d9bfd225ca7b0f467b919d7bbd355436d3fd37cb0acd4", size = 131584, upload-time = "2026-01-07T16:24:42.685Z" }, +] + +[[package]] +name = "uv-mono" +version = "0.1.0" +source = { virtual = "." } +dependencies = [ + { name = "flask" }, + { name = "mid-pkg" }, +] + +[package.metadata] +requires-dist = [ + { name = "flask", specifier = "==2.0.3" }, + { name = "mid-pkg", editable = "packages/mid-pkg" }, +] + +[[package]] +name = "werkzeug" +version = "3.1.8" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markupsafe" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/dd/b2/381be8cfdee792dd117872481b6e378f85c957dd7c5bca38897b08f765fd/werkzeug-3.1.8.tar.gz", hash = "sha256:9bad61a4268dac112f1c5cd4630a56ede601b6ed420300677a869083d70a4c44", size = 875852, upload-time = "2026-04-02T18:49:14.268Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/93/8c/2e650f2afeb7ee576912636c23ddb621c91ac6a98e66dc8d29c3c69446e1/werkzeug-3.1.8-py3-none-any.whl", hash = "sha256:63a77fb8892bf28ebc3178683445222aa500e48ebad5ec77b0ad80f8726b1f50", size = 226459, upload-time = "2026-04-02T18:49:12.72Z" }, +] diff --git a/test/providers/tst_manifests/yarn-berry/package_json_deps_with_exhortignore_object/stack_expected_sbom.json b/test/providers/tst_manifests/yarn-berry/package_json_deps_with_exhortignore_object/stack_expected_sbom.json index e9f67efc..8d323ac2 100644 --- a/test/providers/tst_manifests/yarn-berry/package_json_deps_with_exhortignore_object/stack_expected_sbom.json +++ b/test/providers/tst_manifests/yarn-berry/package_json_deps_with_exhortignore_object/stack_expected_sbom.json @@ -13,13 +13,6 @@ } }, "components": [ - { - "name": "backend", - "version": "1.0.0", - "purl": "pkg:npm/backend@1.0.0", - "type": "application", - "bom-ref": "pkg:npm/backend@1.0.0" - }, { "group": "@hapi", "name": "address", @@ -3808,4 +3801,4 @@ "dependsOn": [] } ] -} \ No newline at end of file +} diff --git a/test/providers/tst_manifests/yarn-berry/package_json_deps_with_mixed_dep_types/listing_component.json b/test/providers/tst_manifests/yarn-berry/package_json_deps_with_mixed_dep_types/listing_component.json new file mode 100644 index 00000000..95d537b2 --- /dev/null +++ b/test/providers/tst_manifests/yarn-berry/package_json_deps_with_mixed_dep_types/listing_component.json @@ -0,0 +1,6 @@ +{"value":"axios@npm:0.19.0","children":{"Version":"0.19.0","Dependencies":[{"descriptor":"follow-redirects@npm:1.5.10","locator":"follow-redirects@npm:1.5.10"}]}} +{"value":"eslint@npm:7.0.0","children":{"Version":"7.0.0"}} +{"value":"express@npm:4.17.1","children":{"Version":"4.17.1","Dependencies":[{"descriptor":"body-parser@npm:1.19.0","locator":"body-parser@npm:1.19.0"}]}} +{"value":"jest@npm:26.0.0","children":{"Version":"26.0.0"}} +{"value":"lodash@npm:4.17.19","children":{"Version":"4.17.19"}} +{"value":"mixed-deps-test@workspace:.","children":{"Version":"1.0.0","Dependencies":[{"descriptor":"axios@npm:0.19.0","locator":"axios@npm:0.19.0"},{"descriptor":"eslint@npm:7.0.0","locator":"eslint@npm:7.0.0"},{"descriptor":"express@npm:4.17.1","locator":"express@npm:4.17.1"},{"descriptor":"jest@npm:26.0.0","locator":"jest@npm:26.0.0"},{"descriptor":"lodash@npm:4.17.19","locator":"lodash@npm:4.17.19"}]}} diff --git a/test/providers/tst_manifests/yarn-berry/package_json_deps_with_mixed_dep_types/listing_stack.json b/test/providers/tst_manifests/yarn-berry/package_json_deps_with_mixed_dep_types/listing_stack.json new file mode 100644 index 00000000..8c494ea6 --- /dev/null +++ b/test/providers/tst_manifests/yarn-berry/package_json_deps_with_mixed_dep_types/listing_stack.json @@ -0,0 +1,8 @@ +{"value":"axios@npm:0.19.0","children":{"Version":"0.19.0","Dependencies":[{"descriptor":"follow-redirects@npm:1.5.10","locator":"follow-redirects@npm:1.5.10"}]}} +{"value":"body-parser@npm:1.19.0","children":{"Version":"1.19.0"}} +{"value":"eslint@npm:7.0.0","children":{"Version":"7.0.0"}} +{"value":"express@npm:4.17.1","children":{"Version":"4.17.1","Dependencies":[{"descriptor":"body-parser@npm:1.19.0","locator":"body-parser@npm:1.19.0"}]}} +{"value":"follow-redirects@npm:1.5.10","children":{"Version":"1.5.10"}} +{"value":"jest@npm:26.0.0","children":{"Version":"26.0.0"}} +{"value":"lodash@npm:4.17.19","children":{"Version":"4.17.19"}} +{"value":"mixed-deps-test@workspace:.","children":{"Version":"1.0.0","Dependencies":[{"descriptor":"axios@npm:0.19.0","locator":"axios@npm:0.19.0"},{"descriptor":"eslint@npm:7.0.0","locator":"eslint@npm:7.0.0"},{"descriptor":"express@npm:4.17.1","locator":"express@npm:4.17.1"},{"descriptor":"jest@npm:26.0.0","locator":"jest@npm:26.0.0"},{"descriptor":"lodash@npm:4.17.19","locator":"lodash@npm:4.17.19"}]}} diff --git a/test/providers/tst_manifests/yarn-berry/package_json_deps_with_mixed_dep_types/package.json b/test/providers/tst_manifests/yarn-berry/package_json_deps_with_mixed_dep_types/package.json new file mode 100644 index 00000000..a8268c74 --- /dev/null +++ b/test/providers/tst_manifests/yarn-berry/package_json_deps_with_mixed_dep_types/package.json @@ -0,0 +1,22 @@ +{ + "name": "mixed-deps-test", + "version": "1.0.0", + "dependencies": { + "express": "4.17.1", + "axios": "0.19.0" + }, + "peerDependencies": { + "minimist": "1.2.0" + }, + "optionalDependencies": { + "lodash": "4.17.19" + }, + "bundledDependencies": [ + "express" + ], + "devDependencies": { + "jest": "26.0.0", + "eslint": "7.0.0" + }, + "packageManager": "yarn@4.9.1" +} diff --git a/test/providers/tst_manifests/yarn-berry/package_json_deps_with_mixed_dep_types/stack_expected_sbom.json b/test/providers/tst_manifests/yarn-berry/package_json_deps_with_mixed_dep_types/stack_expected_sbom.json new file mode 100644 index 00000000..23094ff6 --- /dev/null +++ b/test/providers/tst_manifests/yarn-berry/package_json_deps_with_mixed_dep_types/stack_expected_sbom.json @@ -0,0 +1,98 @@ +{ + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-08-07T00:00:00.000Z", + "component": { + "name": "mixed-deps-test", + "version": "1.0.0", + "purl": "pkg:npm/mixed-deps-test@1.0.0", + "type": "application", + "bom-ref": "pkg:npm/mixed-deps-test@1.0.0" + } + }, + "components": [ + { + "name": "express", + "version": "4.17.1", + "purl": "pkg:npm/express@4.17.1", + "type": "library", + "bom-ref": "pkg:npm/express@4.17.1" + }, + { + "name": "body-parser", + "version": "1.19.0", + "purl": "pkg:npm/body-parser@1.19.0", + "type": "library", + "bom-ref": "pkg:npm/body-parser@1.19.0" + }, + { + "name": "axios", + "version": "0.19.0", + "purl": "pkg:npm/axios@0.19.0", + "type": "library", + "bom-ref": "pkg:npm/axios@0.19.0" + }, + { + "name": "follow-redirects", + "version": "1.5.10", + "purl": "pkg:npm/follow-redirects@1.5.10", + "type": "library", + "bom-ref": "pkg:npm/follow-redirects@1.5.10" + }, + { + "name": "minimist", + "version": "1.2.0", + "purl": "pkg:npm/minimist@1.2.0", + "type": "library", + "bom-ref": "pkg:npm/minimist@1.2.0" + }, + { + "name": "lodash", + "version": "4.17.19", + "purl": "pkg:npm/lodash@4.17.19", + "type": "library", + "bom-ref": "pkg:npm/lodash@4.17.19" + } + ], + "dependencies": [ + { + "ref": "pkg:npm/mixed-deps-test@1.0.0", + "dependsOn": [ + "pkg:npm/axios@0.19.0", + "pkg:npm/express@4.17.1", + "pkg:npm/lodash@4.17.19", + "pkg:npm/minimist@1.2.0" + ] + }, + { + "ref": "pkg:npm/express@4.17.1", + "dependsOn": [ + "pkg:npm/body-parser@1.19.0" + ] + }, + { + "ref": "pkg:npm/body-parser@1.19.0", + "dependsOn": [] + }, + { + "ref": "pkg:npm/axios@0.19.0", + "dependsOn": [ + "pkg:npm/follow-redirects@1.5.10" + ] + }, + { + "ref": "pkg:npm/follow-redirects@1.5.10", + "dependsOn": [] + }, + { + "ref": "pkg:npm/minimist@1.2.0", + "dependsOn": [] + }, + { + "ref": "pkg:npm/lodash@4.17.19", + "dependsOn": [] + } + ] +} diff --git a/test/providers/tst_manifests/yarn-berry/package_json_deps_with_mixed_dep_types/yarn.lock b/test/providers/tst_manifests/yarn-berry/package_json_deps_with_mixed_dep_types/yarn.lock new file mode 100644 index 00000000..19d1db70 --- /dev/null +++ b/test/providers/tst_manifests/yarn-berry/package_json_deps_with_mixed_dep_types/yarn.lock @@ -0,0 +1,2 @@ +__metadata: + version: 8 diff --git a/test/providers/tst_manifests/yarn-berry/package_json_deps_without_exhortignore_object/stack_expected_sbom.json b/test/providers/tst_manifests/yarn-berry/package_json_deps_without_exhortignore_object/stack_expected_sbom.json index 8b36a13f..8f75bc10 100644 --- a/test/providers/tst_manifests/yarn-berry/package_json_deps_without_exhortignore_object/stack_expected_sbom.json +++ b/test/providers/tst_manifests/yarn-berry/package_json_deps_without_exhortignore_object/stack_expected_sbom.json @@ -1,1731 +1,1724 @@ { - "bomFormat" : "CycloneDX", - "specVersion" : "1.4", - "version" : 1, - "metadata" : { - "timestamp" : "2025-04-16T14:36:52Z", - "component" : { - "type" : "application", - "bom-ref" : "pkg:npm/backend@1.0.0", - "name" : "backend", - "version" : "1.0.0", - "purl" : "pkg:npm/backend@1.0.0" + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2025-04-16T14:36:52Z", + "component": { + "type": "application", + "bom-ref": "pkg:npm/backend@1.0.0", + "name": "backend", + "version": "1.0.0", + "purl": "pkg:npm/backend@1.0.0" } }, - "components" : [ + "components": [ { - "type" : "application", - "bom-ref" : "pkg:npm/backend@1.0.0", - "name" : "backend", - "version" : "1.0.0", - "purl" : "pkg:npm/backend@1.0.0" + "type": "library", + "bom-ref": "pkg:npm/%40hapi/address@4.1.0", + "group": "@hapi", + "name": "address", + "version": "4.1.0", + "purl": "pkg:npm/%40hapi/address@4.1.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/%40hapi/address@4.1.0", - "group" : "@hapi", - "name" : "address", - "version" : "4.1.0", - "purl" : "pkg:npm/%40hapi/address@4.1.0" + "type": "library", + "bom-ref": "pkg:npm/%40hapi/hoek@9.3.0", + "group": "@hapi", + "name": "hoek", + "version": "9.3.0", + "purl": "pkg:npm/%40hapi/hoek@9.3.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/%40hapi/hoek@9.3.0", - "group" : "@hapi", - "name" : "hoek", - "version" : "9.3.0", - "purl" : "pkg:npm/%40hapi/hoek@9.3.0" + "type": "library", + "bom-ref": "pkg:npm/%40hapi/joi@17.1.1", + "group": "@hapi", + "name": "joi", + "version": "17.1.1", + "purl": "pkg:npm/%40hapi/joi@17.1.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/%40hapi/joi@17.1.1", - "group" : "@hapi", - "name" : "joi", - "version" : "17.1.1", - "purl" : "pkg:npm/%40hapi/joi@17.1.1" + "type": "library", + "bom-ref": "pkg:npm/%40hapi/formula@2.0.0", + "group": "@hapi", + "name": "formula", + "version": "2.0.0", + "purl": "pkg:npm/%40hapi/formula@2.0.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/%40hapi/formula@2.0.0", - "group" : "@hapi", - "name" : "formula", - "version" : "2.0.0", - "purl" : "pkg:npm/%40hapi/formula@2.0.0" + "type": "library", + "bom-ref": "pkg:npm/%40hapi/pinpoint@2.0.1", + "group": "@hapi", + "name": "pinpoint", + "version": "2.0.1", + "purl": "pkg:npm/%40hapi/pinpoint@2.0.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/%40hapi/pinpoint@2.0.1", - "group" : "@hapi", - "name" : "pinpoint", - "version" : "2.0.1", - "purl" : "pkg:npm/%40hapi/pinpoint@2.0.1" + "type": "library", + "bom-ref": "pkg:npm/%40hapi/topo@5.1.0", + "group": "@hapi", + "name": "topo", + "version": "5.1.0", + "purl": "pkg:npm/%40hapi/topo@5.1.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/%40hapi/topo@5.1.0", - "group" : "@hapi", - "name" : "topo", - "version" : "5.1.0", - "purl" : "pkg:npm/%40hapi/topo@5.1.0" + "type": "library", + "bom-ref": "pkg:npm/%40isaacs/cliui@8.0.2", + "group": "@isaacs", + "name": "cliui", + "version": "8.0.2", + "purl": "pkg:npm/%40isaacs/cliui@8.0.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/%40isaacs/cliui@8.0.2", - "group" : "@isaacs", - "name" : "cliui", - "version" : "8.0.2", - "purl" : "pkg:npm/%40isaacs/cliui@8.0.2" + "type": "library", + "bom-ref": "pkg:npm/string-width@4.2.3", + "name": "string-width", + "version": "4.2.3", + "purl": "pkg:npm/string-width@4.2.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/string-width@4.2.3", - "name" : "string-width", - "version" : "4.2.3", - "purl" : "pkg:npm/string-width@4.2.3" + "type": "library", + "bom-ref": "pkg:npm/string-width@5.1.2", + "name": "string-width", + "version": "5.1.2", + "purl": "pkg:npm/string-width@5.1.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/string-width@5.1.2", - "name" : "string-width", - "version" : "5.1.2", - "purl" : "pkg:npm/string-width@5.1.2" + "type": "library", + "bom-ref": "pkg:npm/strip-ansi@6.0.1", + "name": "strip-ansi", + "version": "6.0.1", + "purl": "pkg:npm/strip-ansi@6.0.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/strip-ansi@6.0.1", - "name" : "strip-ansi", - "version" : "6.0.1", - "purl" : "pkg:npm/strip-ansi@6.0.1" + "type": "library", + "bom-ref": "pkg:npm/strip-ansi@7.1.0", + "name": "strip-ansi", + "version": "7.1.0", + "purl": "pkg:npm/strip-ansi@7.1.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/strip-ansi@7.1.0", - "name" : "strip-ansi", - "version" : "7.1.0", - "purl" : "pkg:npm/strip-ansi@7.1.0" + "type": "library", + "bom-ref": "pkg:npm/wrap-ansi@7.0.0", + "name": "wrap-ansi", + "version": "7.0.0", + "purl": "pkg:npm/wrap-ansi@7.0.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/wrap-ansi@7.0.0", - "name" : "wrap-ansi", - "version" : "7.0.0", - "purl" : "pkg:npm/wrap-ansi@7.0.0" + "type": "library", + "bom-ref": "pkg:npm/wrap-ansi@8.1.0", + "name": "wrap-ansi", + "version": "8.1.0", + "purl": "pkg:npm/wrap-ansi@8.1.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/wrap-ansi@8.1.0", - "name" : "wrap-ansi", - "version" : "8.1.0", - "purl" : "pkg:npm/wrap-ansi@8.1.0" + "type": "library", + "bom-ref": "pkg:npm/%40isaacs/fs-minipass@4.0.1", + "group": "@isaacs", + "name": "fs-minipass", + "version": "4.0.1", + "purl": "pkg:npm/%40isaacs/fs-minipass@4.0.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/%40isaacs/fs-minipass@4.0.1", - "group" : "@isaacs", - "name" : "fs-minipass", - "version" : "4.0.1", - "purl" : "pkg:npm/%40isaacs/fs-minipass@4.0.1" + "type": "library", + "bom-ref": "pkg:npm/minipass@7.1.2", + "name": "minipass", + "version": "7.1.2", + "purl": "pkg:npm/minipass@7.1.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/minipass@7.1.2", - "name" : "minipass", - "version" : "7.1.2", - "purl" : "pkg:npm/minipass@7.1.2" + "type": "library", + "bom-ref": "pkg:npm/%40npmcli/agent@3.0.0", + "group": "@npmcli", + "name": "agent", + "version": "3.0.0", + "purl": "pkg:npm/%40npmcli/agent@3.0.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/%40npmcli/agent@3.0.0", - "group" : "@npmcli", - "name" : "agent", - "version" : "3.0.0", - "purl" : "pkg:npm/%40npmcli/agent@3.0.0" + "type": "library", + "bom-ref": "pkg:npm/agent-base@7.1.3", + "name": "agent-base", + "version": "7.1.3", + "purl": "pkg:npm/agent-base@7.1.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/agent-base@7.1.3", - "name" : "agent-base", - "version" : "7.1.3", - "purl" : "pkg:npm/agent-base@7.1.3" + "type": "library", + "bom-ref": "pkg:npm/http-proxy-agent@7.0.2", + "name": "http-proxy-agent", + "version": "7.0.2", + "purl": "pkg:npm/http-proxy-agent@7.0.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/http-proxy-agent@7.0.2", - "name" : "http-proxy-agent", - "version" : "7.0.2", - "purl" : "pkg:npm/http-proxy-agent@7.0.2" + "type": "library", + "bom-ref": "pkg:npm/https-proxy-agent@7.0.6", + "name": "https-proxy-agent", + "version": "7.0.6", + "purl": "pkg:npm/https-proxy-agent@7.0.6" }, { - "type" : "library", - "bom-ref" : "pkg:npm/https-proxy-agent@7.0.6", - "name" : "https-proxy-agent", - "version" : "7.0.6", - "purl" : "pkg:npm/https-proxy-agent@7.0.6" + "type": "library", + "bom-ref": "pkg:npm/lru-cache@10.4.3", + "name": "lru-cache", + "version": "10.4.3", + "purl": "pkg:npm/lru-cache@10.4.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/lru-cache@10.4.3", - "name" : "lru-cache", - "version" : "10.4.3", - "purl" : "pkg:npm/lru-cache@10.4.3" + "type": "library", + "bom-ref": "pkg:npm/socks-proxy-agent@8.0.5", + "name": "socks-proxy-agent", + "version": "8.0.5", + "purl": "pkg:npm/socks-proxy-agent@8.0.5" }, { - "type" : "library", - "bom-ref" : "pkg:npm/socks-proxy-agent@8.0.5", - "name" : "socks-proxy-agent", - "version" : "8.0.5", - "purl" : "pkg:npm/socks-proxy-agent@8.0.5" + "type": "library", + "bom-ref": "pkg:npm/%40npmcli/fs@4.0.0", + "group": "@npmcli", + "name": "fs", + "version": "4.0.0", + "purl": "pkg:npm/%40npmcli/fs@4.0.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/%40npmcli/fs@4.0.0", - "group" : "@npmcli", - "name" : "fs", - "version" : "4.0.0", - "purl" : "pkg:npm/%40npmcli/fs@4.0.0" + "type": "library", + "bom-ref": "pkg:npm/semver@7.7.1", + "name": "semver", + "version": "7.7.1", + "purl": "pkg:npm/semver@7.7.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/semver@7.7.1", - "name" : "semver", - "version" : "7.7.1", - "purl" : "pkg:npm/semver@7.7.1" + "type": "library", + "bom-ref": "pkg:npm/%40types/bson@4.0.5", + "group": "@types", + "name": "bson", + "version": "4.0.5", + "purl": "pkg:npm/%40types/bson@4.0.5" }, { - "type" : "library", - "bom-ref" : "pkg:npm/%40types/bson@4.0.5", - "group" : "@types", - "name" : "bson", - "version" : "4.0.5", - "purl" : "pkg:npm/%40types/bson@4.0.5" + "type": "library", + "bom-ref": "pkg:npm/%40types/node@22.14.1", + "group": "@types", + "name": "node", + "version": "22.14.1", + "purl": "pkg:npm/%40types/node@22.14.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/%40types/node@22.14.1", - "group" : "@types", - "name" : "node", - "version" : "22.14.1", - "purl" : "pkg:npm/%40types/node@22.14.1" + "type": "library", + "bom-ref": "pkg:npm/%40types/mongodb@3.6.20", + "group": "@types", + "name": "mongodb", + "version": "3.6.20", + "purl": "pkg:npm/%40types/mongodb@3.6.20" }, { - "type" : "library", - "bom-ref" : "pkg:npm/%40types/mongodb@3.6.20", - "group" : "@types", - "name" : "mongodb", - "version" : "3.6.20", - "purl" : "pkg:npm/%40types/mongodb@3.6.20" + "type": "library", + "bom-ref": "pkg:npm/undici-types@6.21.0", + "name": "undici-types", + "version": "6.21.0", + "purl": "pkg:npm/undici-types@6.21.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/undici-types@6.21.0", - "name" : "undici-types", - "version" : "6.21.0", - "purl" : "pkg:npm/undici-types@6.21.0" + "type": "library", + "bom-ref": "pkg:npm/accepts@1.3.8", + "name": "accepts", + "version": "1.3.8", + "purl": "pkg:npm/accepts@1.3.8" }, { - "type" : "library", - "bom-ref" : "pkg:npm/accepts@1.3.8", - "name" : "accepts", - "version" : "1.3.8", - "purl" : "pkg:npm/accepts@1.3.8" + "type": "library", + "bom-ref": "pkg:npm/mime-types@2.1.35", + "name": "mime-types", + "version": "2.1.35", + "purl": "pkg:npm/mime-types@2.1.35" }, { - "type" : "library", - "bom-ref" : "pkg:npm/mime-types@2.1.35", - "name" : "mime-types", - "version" : "2.1.35", - "purl" : "pkg:npm/mime-types@2.1.35" + "type": "library", + "bom-ref": "pkg:npm/negotiator@0.6.3", + "name": "negotiator", + "version": "0.6.3", + "purl": "pkg:npm/negotiator@0.6.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/negotiator@0.6.3", - "name" : "negotiator", - "version" : "0.6.3", - "purl" : "pkg:npm/negotiator@0.6.3" + "type": "library", + "bom-ref": "pkg:npm/ansi-styles@4.3.0", + "name": "ansi-styles", + "version": "4.3.0", + "purl": "pkg:npm/ansi-styles@4.3.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/ansi-styles@4.3.0", - "name" : "ansi-styles", - "version" : "4.3.0", - "purl" : "pkg:npm/ansi-styles@4.3.0" + "type": "library", + "bom-ref": "pkg:npm/color-convert@2.0.1", + "name": "color-convert", + "version": "2.0.1", + "purl": "pkg:npm/color-convert@2.0.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/color-convert@2.0.1", - "name" : "color-convert", - "version" : "2.0.1", - "purl" : "pkg:npm/color-convert@2.0.1" + "type": "library", + "bom-ref": "pkg:npm/anymatch@3.1.3", + "name": "anymatch", + "version": "3.1.3", + "purl": "pkg:npm/anymatch@3.1.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/anymatch@3.1.3", - "name" : "anymatch", - "version" : "3.1.3", - "purl" : "pkg:npm/anymatch@3.1.3" + "type": "library", + "bom-ref": "pkg:npm/normalize-path@3.0.0", + "name": "normalize-path", + "version": "3.0.0", + "purl": "pkg:npm/normalize-path@3.0.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/normalize-path@3.0.0", - "name" : "normalize-path", - "version" : "3.0.0", - "purl" : "pkg:npm/normalize-path@3.0.0" + "type": "library", + "bom-ref": "pkg:npm/picomatch@2.3.1", + "name": "picomatch", + "version": "2.3.1", + "purl": "pkg:npm/picomatch@2.3.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/picomatch@2.3.1", - "name" : "picomatch", - "version" : "2.3.1", - "purl" : "pkg:npm/picomatch@2.3.1" + "type": "library", + "bom-ref": "pkg:npm/axios@0.19.2", + "name": "axios", + "version": "0.19.2", + "purl": "pkg:npm/axios@0.19.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/axios@0.19.2", - "name" : "axios", - "version" : "0.19.2", - "purl" : "pkg:npm/axios@0.19.2" + "type": "library", + "bom-ref": "pkg:npm/follow-redirects@1.5.10", + "name": "follow-redirects", + "version": "1.5.10", + "purl": "pkg:npm/follow-redirects@1.5.10" }, { - "type" : "library", - "bom-ref" : "pkg:npm/follow-redirects@1.5.10", - "name" : "follow-redirects", - "version" : "1.5.10", - "purl" : "pkg:npm/follow-redirects@1.5.10" + "type": "library", + "bom-ref": "pkg:npm/backend@0.0.0", + "name": "backend", + "version": "0.0.0", + "purl": "pkg:npm/backend@0.0.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/backend@0.0.0", - "name" : "backend", - "version" : "0.0.0", - "purl" : "pkg:npm/backend@0.0.0" + "type": "library", + "bom-ref": "pkg:npm/bcryptjs@2.4.3", + "name": "bcryptjs", + "version": "2.4.3", + "purl": "pkg:npm/bcryptjs@2.4.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/bcryptjs@2.4.3", - "name" : "bcryptjs", - "version" : "2.4.3", - "purl" : "pkg:npm/bcryptjs@2.4.3" + "type": "library", + "bom-ref": "pkg:npm/dotenv@8.6.0", + "name": "dotenv", + "version": "8.6.0", + "purl": "pkg:npm/dotenv@8.6.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/dotenv@8.6.0", - "name" : "dotenv", - "version" : "8.6.0", - "purl" : "pkg:npm/dotenv@8.6.0" + "type": "library", + "bom-ref": "pkg:npm/express@4.21.2", + "name": "express", + "version": "4.21.2", + "purl": "pkg:npm/express@4.21.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/express@4.21.2", - "name" : "express", - "version" : "4.21.2", - "purl" : "pkg:npm/express@4.21.2" + "type": "library", + "bom-ref": "pkg:npm/jsonwebtoken@8.5.1", + "name": "jsonwebtoken", + "version": "8.5.1", + "purl": "pkg:npm/jsonwebtoken@8.5.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/jsonwebtoken@8.5.1", - "name" : "jsonwebtoken", - "version" : "8.5.1", - "purl" : "pkg:npm/jsonwebtoken@8.5.1" + "type": "library", + "bom-ref": "pkg:npm/mongoose@5.13.23", + "name": "mongoose", + "version": "5.13.23", + "purl": "pkg:npm/mongoose@5.13.23" }, { - "type" : "library", - "bom-ref" : "pkg:npm/mongoose@5.13.23", - "name" : "mongoose", - "version" : "5.13.23", - "purl" : "pkg:npm/mongoose@5.13.23" + "type": "library", + "bom-ref": "pkg:npm/nodemon@2.0.22", + "name": "nodemon", + "version": "2.0.22", + "purl": "pkg:npm/nodemon@2.0.22" }, { - "type" : "library", - "bom-ref" : "pkg:npm/nodemon@2.0.22", - "name" : "nodemon", - "version" : "2.0.22", - "purl" : "pkg:npm/nodemon@2.0.22" + "type": "library", + "bom-ref": "pkg:npm/bl@2.2.1", + "name": "bl", + "version": "2.2.1", + "purl": "pkg:npm/bl@2.2.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/bl@2.2.1", - "name" : "bl", - "version" : "2.2.1", - "purl" : "pkg:npm/bl@2.2.1" + "type": "library", + "bom-ref": "pkg:npm/readable-stream@2.3.8", + "name": "readable-stream", + "version": "2.3.8", + "purl": "pkg:npm/readable-stream@2.3.8" }, { - "type" : "library", - "bom-ref" : "pkg:npm/readable-stream@2.3.8", - "name" : "readable-stream", - "version" : "2.3.8", - "purl" : "pkg:npm/readable-stream@2.3.8" + "type": "library", + "bom-ref": "pkg:npm/safe-buffer@5.2.1", + "name": "safe-buffer", + "version": "5.2.1", + "purl": "pkg:npm/safe-buffer@5.2.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/safe-buffer@5.2.1", - "name" : "safe-buffer", - "version" : "5.2.1", - "purl" : "pkg:npm/safe-buffer@5.2.1" + "type": "library", + "bom-ref": "pkg:npm/body-parser@1.20.3", + "name": "body-parser", + "version": "1.20.3", + "purl": "pkg:npm/body-parser@1.20.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/body-parser@1.20.3", - "name" : "body-parser", - "version" : "1.20.3", - "purl" : "pkg:npm/body-parser@1.20.3" + "type": "library", + "bom-ref": "pkg:npm/bytes@3.1.2", + "name": "bytes", + "version": "3.1.2", + "purl": "pkg:npm/bytes@3.1.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/bytes@3.1.2", - "name" : "bytes", - "version" : "3.1.2", - "purl" : "pkg:npm/bytes@3.1.2" + "type": "library", + "bom-ref": "pkg:npm/content-type@1.0.5", + "name": "content-type", + "version": "1.0.5", + "purl": "pkg:npm/content-type@1.0.5" }, { - "type" : "library", - "bom-ref" : "pkg:npm/content-type@1.0.5", - "name" : "content-type", - "version" : "1.0.5", - "purl" : "pkg:npm/content-type@1.0.5" + "type": "library", + "bom-ref": "pkg:npm/debug@2.6.9", + "name": "debug", + "version": "2.6.9", + "purl": "pkg:npm/debug@2.6.9" }, { - "type" : "library", - "bom-ref" : "pkg:npm/debug@2.6.9", - "name" : "debug", - "version" : "2.6.9", - "purl" : "pkg:npm/debug@2.6.9" + "type": "library", + "bom-ref": "pkg:npm/depd@2.0.0", + "name": "depd", + "version": "2.0.0", + "purl": "pkg:npm/depd@2.0.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/depd@2.0.0", - "name" : "depd", - "version" : "2.0.0", - "purl" : "pkg:npm/depd@2.0.0" + "type": "library", + "bom-ref": "pkg:npm/destroy@1.2.0", + "name": "destroy", + "version": "1.2.0", + "purl": "pkg:npm/destroy@1.2.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/destroy@1.2.0", - "name" : "destroy", - "version" : "1.2.0", - "purl" : "pkg:npm/destroy@1.2.0" + "type": "library", + "bom-ref": "pkg:npm/http-errors@2.0.0", + "name": "http-errors", + "version": "2.0.0", + "purl": "pkg:npm/http-errors@2.0.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/http-errors@2.0.0", - "name" : "http-errors", - "version" : "2.0.0", - "purl" : "pkg:npm/http-errors@2.0.0" + "type": "library", + "bom-ref": "pkg:npm/iconv-lite@0.4.24", + "name": "iconv-lite", + "version": "0.4.24", + "purl": "pkg:npm/iconv-lite@0.4.24" }, { - "type" : "library", - "bom-ref" : "pkg:npm/iconv-lite@0.4.24", - "name" : "iconv-lite", - "version" : "0.4.24", - "purl" : "pkg:npm/iconv-lite@0.4.24" + "type": "library", + "bom-ref": "pkg:npm/on-finished@2.4.1", + "name": "on-finished", + "version": "2.4.1", + "purl": "pkg:npm/on-finished@2.4.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/on-finished@2.4.1", - "name" : "on-finished", - "version" : "2.4.1", - "purl" : "pkg:npm/on-finished@2.4.1" + "type": "library", + "bom-ref": "pkg:npm/qs@6.13.0", + "name": "qs", + "version": "6.13.0", + "purl": "pkg:npm/qs@6.13.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/qs@6.13.0", - "name" : "qs", - "version" : "6.13.0", - "purl" : "pkg:npm/qs@6.13.0" + "type": "library", + "bom-ref": "pkg:npm/raw-body@2.5.2", + "name": "raw-body", + "version": "2.5.2", + "purl": "pkg:npm/raw-body@2.5.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/raw-body@2.5.2", - "name" : "raw-body", - "version" : "2.5.2", - "purl" : "pkg:npm/raw-body@2.5.2" + "type": "library", + "bom-ref": "pkg:npm/type-is@1.6.18", + "name": "type-is", + "version": "1.6.18", + "purl": "pkg:npm/type-is@1.6.18" }, { - "type" : "library", - "bom-ref" : "pkg:npm/type-is@1.6.18", - "name" : "type-is", - "version" : "1.6.18", - "purl" : "pkg:npm/type-is@1.6.18" + "type": "library", + "bom-ref": "pkg:npm/unpipe@1.0.0", + "name": "unpipe", + "version": "1.0.0", + "purl": "pkg:npm/unpipe@1.0.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/unpipe@1.0.0", - "name" : "unpipe", - "version" : "1.0.0", - "purl" : "pkg:npm/unpipe@1.0.0" + "type": "library", + "bom-ref": "pkg:npm/brace-expansion@1.1.11", + "name": "brace-expansion", + "version": "1.1.11", + "purl": "pkg:npm/brace-expansion@1.1.11" }, { - "type" : "library", - "bom-ref" : "pkg:npm/brace-expansion@1.1.11", - "name" : "brace-expansion", - "version" : "1.1.11", - "purl" : "pkg:npm/brace-expansion@1.1.11" + "type": "library", + "bom-ref": "pkg:npm/balanced-match@1.0.2", + "name": "balanced-match", + "version": "1.0.2", + "purl": "pkg:npm/balanced-match@1.0.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/balanced-match@1.0.2", - "name" : "balanced-match", - "version" : "1.0.2", - "purl" : "pkg:npm/balanced-match@1.0.2" + "type": "library", + "bom-ref": "pkg:npm/concat-map@0.0.1", + "name": "concat-map", + "version": "0.0.1", + "purl": "pkg:npm/concat-map@0.0.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/concat-map@0.0.1", - "name" : "concat-map", - "version" : "0.0.1", - "purl" : "pkg:npm/concat-map@0.0.1" + "type": "library", + "bom-ref": "pkg:npm/brace-expansion@2.0.1", + "name": "brace-expansion", + "version": "2.0.1", + "purl": "pkg:npm/brace-expansion@2.0.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/brace-expansion@2.0.1", - "name" : "brace-expansion", - "version" : "2.0.1", - "purl" : "pkg:npm/brace-expansion@2.0.1" + "type": "library", + "bom-ref": "pkg:npm/braces@3.0.3", + "name": "braces", + "version": "3.0.3", + "purl": "pkg:npm/braces@3.0.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/braces@3.0.3", - "name" : "braces", - "version" : "3.0.3", - "purl" : "pkg:npm/braces@3.0.3" + "type": "library", + "bom-ref": "pkg:npm/fill-range@7.1.1", + "name": "fill-range", + "version": "7.1.1", + "purl": "pkg:npm/fill-range@7.1.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/fill-range@7.1.1", - "name" : "fill-range", - "version" : "7.1.1", - "purl" : "pkg:npm/fill-range@7.1.1" + "type": "library", + "bom-ref": "pkg:npm/cacache@19.0.1", + "name": "cacache", + "version": "19.0.1", + "purl": "pkg:npm/cacache@19.0.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/cacache@19.0.1", - "name" : "cacache", - "version" : "19.0.1", - "purl" : "pkg:npm/cacache@19.0.1" + "type": "library", + "bom-ref": "pkg:npm/fs-minipass@3.0.3", + "name": "fs-minipass", + "version": "3.0.3", + "purl": "pkg:npm/fs-minipass@3.0.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/fs-minipass@3.0.3", - "name" : "fs-minipass", - "version" : "3.0.3", - "purl" : "pkg:npm/fs-minipass@3.0.3" + "type": "library", + "bom-ref": "pkg:npm/glob@10.4.5", + "name": "glob", + "version": "10.4.5", + "purl": "pkg:npm/glob@10.4.5" }, { - "type" : "library", - "bom-ref" : "pkg:npm/glob@10.4.5", - "name" : "glob", - "version" : "10.4.5", - "purl" : "pkg:npm/glob@10.4.5" + "type": "library", + "bom-ref": "pkg:npm/minipass-collect@2.0.1", + "name": "minipass-collect", + "version": "2.0.1", + "purl": "pkg:npm/minipass-collect@2.0.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/minipass-collect@2.0.1", - "name" : "minipass-collect", - "version" : "2.0.1", - "purl" : "pkg:npm/minipass-collect@2.0.1" + "type": "library", + "bom-ref": "pkg:npm/minipass-flush@1.0.5", + "name": "minipass-flush", + "version": "1.0.5", + "purl": "pkg:npm/minipass-flush@1.0.5" }, { - "type" : "library", - "bom-ref" : "pkg:npm/minipass-flush@1.0.5", - "name" : "minipass-flush", - "version" : "1.0.5", - "purl" : "pkg:npm/minipass-flush@1.0.5" + "type": "library", + "bom-ref": "pkg:npm/minipass-pipeline@1.2.4", + "name": "minipass-pipeline", + "version": "1.2.4", + "purl": "pkg:npm/minipass-pipeline@1.2.4" }, { - "type" : "library", - "bom-ref" : "pkg:npm/minipass-pipeline@1.2.4", - "name" : "minipass-pipeline", - "version" : "1.2.4", - "purl" : "pkg:npm/minipass-pipeline@1.2.4" + "type": "library", + "bom-ref": "pkg:npm/p-map@7.0.3", + "name": "p-map", + "version": "7.0.3", + "purl": "pkg:npm/p-map@7.0.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/p-map@7.0.3", - "name" : "p-map", - "version" : "7.0.3", - "purl" : "pkg:npm/p-map@7.0.3" + "type": "library", + "bom-ref": "pkg:npm/ssri@12.0.0", + "name": "ssri", + "version": "12.0.0", + "purl": "pkg:npm/ssri@12.0.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/ssri@12.0.0", - "name" : "ssri", - "version" : "12.0.0", - "purl" : "pkg:npm/ssri@12.0.0" + "type": "library", + "bom-ref": "pkg:npm/tar@7.4.3", + "name": "tar", + "version": "7.4.3", + "purl": "pkg:npm/tar@7.4.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/tar@7.4.3", - "name" : "tar", - "version" : "7.4.3", - "purl" : "pkg:npm/tar@7.4.3" + "type": "library", + "bom-ref": "pkg:npm/unique-filename@4.0.0", + "name": "unique-filename", + "version": "4.0.0", + "purl": "pkg:npm/unique-filename@4.0.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/unique-filename@4.0.0", - "name" : "unique-filename", - "version" : "4.0.0", - "purl" : "pkg:npm/unique-filename@4.0.0" + "type": "library", + "bom-ref": "pkg:npm/call-bind-apply-helpers@1.0.2", + "name": "call-bind-apply-helpers", + "version": "1.0.2", + "purl": "pkg:npm/call-bind-apply-helpers@1.0.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/call-bind-apply-helpers@1.0.2", - "name" : "call-bind-apply-helpers", - "version" : "1.0.2", - "purl" : "pkg:npm/call-bind-apply-helpers@1.0.2" + "type": "library", + "bom-ref": "pkg:npm/es-errors@1.3.0", + "name": "es-errors", + "version": "1.3.0", + "purl": "pkg:npm/es-errors@1.3.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/es-errors@1.3.0", - "name" : "es-errors", - "version" : "1.3.0", - "purl" : "pkg:npm/es-errors@1.3.0" + "type": "library", + "bom-ref": "pkg:npm/function-bind@1.1.2", + "name": "function-bind", + "version": "1.1.2", + "purl": "pkg:npm/function-bind@1.1.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/function-bind@1.1.2", - "name" : "function-bind", - "version" : "1.1.2", - "purl" : "pkg:npm/function-bind@1.1.2" + "type": "library", + "bom-ref": "pkg:npm/call-bound@1.0.4", + "name": "call-bound", + "version": "1.0.4", + "purl": "pkg:npm/call-bound@1.0.4" }, { - "type" : "library", - "bom-ref" : "pkg:npm/call-bound@1.0.4", - "name" : "call-bound", - "version" : "1.0.4", - "purl" : "pkg:npm/call-bound@1.0.4" + "type": "library", + "bom-ref": "pkg:npm/get-intrinsic@1.3.0", + "name": "get-intrinsic", + "version": "1.3.0", + "purl": "pkg:npm/get-intrinsic@1.3.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/get-intrinsic@1.3.0", - "name" : "get-intrinsic", - "version" : "1.3.0", - "purl" : "pkg:npm/get-intrinsic@1.3.0" + "type": "library", + "bom-ref": "pkg:npm/chokidar@3.6.0", + "name": "chokidar", + "version": "3.6.0", + "purl": "pkg:npm/chokidar@3.6.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/chokidar@3.6.0", - "name" : "chokidar", - "version" : "3.6.0", - "purl" : "pkg:npm/chokidar@3.6.0" + "type": "library", + "bom-ref": "pkg:npm/glob-parent@5.1.2", + "name": "glob-parent", + "version": "5.1.2", + "purl": "pkg:npm/glob-parent@5.1.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/glob-parent@5.1.2", - "name" : "glob-parent", - "version" : "5.1.2", - "purl" : "pkg:npm/glob-parent@5.1.2" + "type": "library", + "bom-ref": "pkg:npm/is-binary-path@2.1.0", + "name": "is-binary-path", + "version": "2.1.0", + "purl": "pkg:npm/is-binary-path@2.1.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/is-binary-path@2.1.0", - "name" : "is-binary-path", - "version" : "2.1.0", - "purl" : "pkg:npm/is-binary-path@2.1.0" + "type": "library", + "bom-ref": "pkg:npm/is-glob@4.0.3", + "name": "is-glob", + "version": "4.0.3", + "purl": "pkg:npm/is-glob@4.0.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/is-glob@4.0.3", - "name" : "is-glob", - "version" : "4.0.3", - "purl" : "pkg:npm/is-glob@4.0.3" + "type": "library", + "bom-ref": "pkg:npm/readdirp@3.6.0", + "name": "readdirp", + "version": "3.6.0", + "purl": "pkg:npm/readdirp@3.6.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/readdirp@3.6.0", - "name" : "readdirp", - "version" : "3.6.0", - "purl" : "pkg:npm/readdirp@3.6.0" + "type": "library", + "bom-ref": "pkg:npm/color-name@1.1.4", + "name": "color-name", + "version": "1.1.4", + "purl": "pkg:npm/color-name@1.1.4" }, { - "type" : "library", - "bom-ref" : "pkg:npm/color-name@1.1.4", - "name" : "color-name", - "version" : "1.1.4", - "purl" : "pkg:npm/color-name@1.1.4" + "type": "library", + "bom-ref": "pkg:npm/content-disposition@0.5.4", + "name": "content-disposition", + "version": "0.5.4", + "purl": "pkg:npm/content-disposition@0.5.4" }, { - "type" : "library", - "bom-ref" : "pkg:npm/content-disposition@0.5.4", - "name" : "content-disposition", - "version" : "0.5.4", - "purl" : "pkg:npm/content-disposition@0.5.4" + "type": "library", + "bom-ref": "pkg:npm/cross-spawn@7.0.6", + "name": "cross-spawn", + "version": "7.0.6", + "purl": "pkg:npm/cross-spawn@7.0.6" }, { - "type" : "library", - "bom-ref" : "pkg:npm/cross-spawn@7.0.6", - "name" : "cross-spawn", - "version" : "7.0.6", - "purl" : "pkg:npm/cross-spawn@7.0.6" + "type": "library", + "bom-ref": "pkg:npm/path-key@3.1.1", + "name": "path-key", + "version": "3.1.1", + "purl": "pkg:npm/path-key@3.1.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/path-key@3.1.1", - "name" : "path-key", - "version" : "3.1.1", - "purl" : "pkg:npm/path-key@3.1.1" + "type": "library", + "bom-ref": "pkg:npm/shebang-command@2.0.0", + "name": "shebang-command", + "version": "2.0.0", + "purl": "pkg:npm/shebang-command@2.0.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/shebang-command@2.0.0", - "name" : "shebang-command", - "version" : "2.0.0", - "purl" : "pkg:npm/shebang-command@2.0.0" + "type": "library", + "bom-ref": "pkg:npm/which@2.0.2", + "name": "which", + "version": "2.0.2", + "purl": "pkg:npm/which@2.0.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/which@2.0.2", - "name" : "which", - "version" : "2.0.2", - "purl" : "pkg:npm/which@2.0.2" + "type": "library", + "bom-ref": "pkg:npm/ms@2.0.0", + "name": "ms", + "version": "2.0.0", + "purl": "pkg:npm/ms@2.0.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/ms@2.0.0", - "name" : "ms", - "version" : "2.0.0", - "purl" : "pkg:npm/ms@2.0.0" + "type": "library", + "bom-ref": "pkg:npm/debug@3.1.0", + "name": "debug", + "version": "3.1.0", + "purl": "pkg:npm/debug@3.1.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/debug@3.1.0", - "name" : "debug", - "version" : "3.1.0", - "purl" : "pkg:npm/debug@3.1.0" + "type": "library", + "bom-ref": "pkg:npm/debug@3.2.7", + "name": "debug", + "version": "3.2.7", + "purl": "pkg:npm/debug@3.2.7" }, { - "type" : "library", - "bom-ref" : "pkg:npm/debug@3.2.7", - "name" : "debug", - "version" : "3.2.7", - "purl" : "pkg:npm/debug@3.2.7" + "type": "library", + "bom-ref": "pkg:npm/ms@2.1.3", + "name": "ms", + "version": "2.1.3", + "purl": "pkg:npm/ms@2.1.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/ms@2.1.3", - "name" : "ms", - "version" : "2.1.3", - "purl" : "pkg:npm/ms@2.1.3" + "type": "library", + "bom-ref": "pkg:npm/debug@4.4.0", + "name": "debug", + "version": "4.4.0", + "purl": "pkg:npm/debug@4.4.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/debug@4.4.0", - "name" : "debug", - "version" : "4.4.0", - "purl" : "pkg:npm/debug@4.4.0" + "type": "library", + "bom-ref": "pkg:npm/dunder-proto@1.0.1", + "name": "dunder-proto", + "version": "1.0.1", + "purl": "pkg:npm/dunder-proto@1.0.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/dunder-proto@1.0.1", - "name" : "dunder-proto", - "version" : "1.0.1", - "purl" : "pkg:npm/dunder-proto@1.0.1" + "type": "library", + "bom-ref": "pkg:npm/gopd@1.2.0", + "name": "gopd", + "version": "1.2.0", + "purl": "pkg:npm/gopd@1.2.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/gopd@1.2.0", - "name" : "gopd", - "version" : "1.2.0", - "purl" : "pkg:npm/gopd@1.2.0" + "type": "library", + "bom-ref": "pkg:npm/ecdsa-sig-formatter@1.0.11", + "name": "ecdsa-sig-formatter", + "version": "1.0.11", + "purl": "pkg:npm/ecdsa-sig-formatter@1.0.11" }, { - "type" : "library", - "bom-ref" : "pkg:npm/ecdsa-sig-formatter@1.0.11", - "name" : "ecdsa-sig-formatter", - "version" : "1.0.11", - "purl" : "pkg:npm/ecdsa-sig-formatter@1.0.11" + "type": "library", + "bom-ref": "pkg:npm/encoding@0.1.13", + "name": "encoding", + "version": "0.1.13", + "purl": "pkg:npm/encoding@0.1.13" }, { - "type" : "library", - "bom-ref" : "pkg:npm/encoding@0.1.13", - "name" : "encoding", - "version" : "0.1.13", - "purl" : "pkg:npm/encoding@0.1.13" + "type": "library", + "bom-ref": "pkg:npm/iconv-lite@0.6.3", + "name": "iconv-lite", + "version": "0.6.3", + "purl": "pkg:npm/iconv-lite@0.6.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/iconv-lite@0.6.3", - "name" : "iconv-lite", - "version" : "0.6.3", - "purl" : "pkg:npm/iconv-lite@0.6.3" + "type": "library", + "bom-ref": "pkg:npm/es-object-atoms@1.1.1", + "name": "es-object-atoms", + "version": "1.1.1", + "purl": "pkg:npm/es-object-atoms@1.1.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/es-object-atoms@1.1.1", - "name" : "es-object-atoms", - "version" : "1.1.1", - "purl" : "pkg:npm/es-object-atoms@1.1.1" + "type": "library", + "bom-ref": "pkg:npm/array-flatten@1.1.1", + "name": "array-flatten", + "version": "1.1.1", + "purl": "pkg:npm/array-flatten@1.1.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/array-flatten@1.1.1", - "name" : "array-flatten", - "version" : "1.1.1", - "purl" : "pkg:npm/array-flatten@1.1.1" + "type": "library", + "bom-ref": "pkg:npm/cookie-signature@1.0.6", + "name": "cookie-signature", + "version": "1.0.6", + "purl": "pkg:npm/cookie-signature@1.0.6" }, { - "type" : "library", - "bom-ref" : "pkg:npm/cookie-signature@1.0.6", - "name" : "cookie-signature", - "version" : "1.0.6", - "purl" : "pkg:npm/cookie-signature@1.0.6" + "type": "library", + "bom-ref": "pkg:npm/cookie@0.7.1", + "name": "cookie", + "version": "0.7.1", + "purl": "pkg:npm/cookie@0.7.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/cookie@0.7.1", - "name" : "cookie", - "version" : "0.7.1", - "purl" : "pkg:npm/cookie@0.7.1" + "type": "library", + "bom-ref": "pkg:npm/encodeurl@2.0.0", + "name": "encodeurl", + "version": "2.0.0", + "purl": "pkg:npm/encodeurl@2.0.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/encodeurl@2.0.0", - "name" : "encodeurl", - "version" : "2.0.0", - "purl" : "pkg:npm/encodeurl@2.0.0" + "type": "library", + "bom-ref": "pkg:npm/escape-html@1.0.3", + "name": "escape-html", + "version": "1.0.3", + "purl": "pkg:npm/escape-html@1.0.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/escape-html@1.0.3", - "name" : "escape-html", - "version" : "1.0.3", - "purl" : "pkg:npm/escape-html@1.0.3" + "type": "library", + "bom-ref": "pkg:npm/etag@1.8.1", + "name": "etag", + "version": "1.8.1", + "purl": "pkg:npm/etag@1.8.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/etag@1.8.1", - "name" : "etag", - "version" : "1.8.1", - "purl" : "pkg:npm/etag@1.8.1" + "type": "library", + "bom-ref": "pkg:npm/finalhandler@1.3.1", + "name": "finalhandler", + "version": "1.3.1", + "purl": "pkg:npm/finalhandler@1.3.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/finalhandler@1.3.1", - "name" : "finalhandler", - "version" : "1.3.1", - "purl" : "pkg:npm/finalhandler@1.3.1" + "type": "library", + "bom-ref": "pkg:npm/fresh@0.5.2", + "name": "fresh", + "version": "0.5.2", + "purl": "pkg:npm/fresh@0.5.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/fresh@0.5.2", - "name" : "fresh", - "version" : "0.5.2", - "purl" : "pkg:npm/fresh@0.5.2" + "type": "library", + "bom-ref": "pkg:npm/merge-descriptors@1.0.3", + "name": "merge-descriptors", + "version": "1.0.3", + "purl": "pkg:npm/merge-descriptors@1.0.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/merge-descriptors@1.0.3", - "name" : "merge-descriptors", - "version" : "1.0.3", - "purl" : "pkg:npm/merge-descriptors@1.0.3" + "type": "library", + "bom-ref": "pkg:npm/methods@1.1.2", + "name": "methods", + "version": "1.1.2", + "purl": "pkg:npm/methods@1.1.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/methods@1.1.2", - "name" : "methods", - "version" : "1.1.2", - "purl" : "pkg:npm/methods@1.1.2" + "type": "library", + "bom-ref": "pkg:npm/parseurl@1.3.3", + "name": "parseurl", + "version": "1.3.3", + "purl": "pkg:npm/parseurl@1.3.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/parseurl@1.3.3", - "name" : "parseurl", - "version" : "1.3.3", - "purl" : "pkg:npm/parseurl@1.3.3" + "type": "library", + "bom-ref": "pkg:npm/path-to-regexp@0.1.12", + "name": "path-to-regexp", + "version": "0.1.12", + "purl": "pkg:npm/path-to-regexp@0.1.12" }, { - "type" : "library", - "bom-ref" : "pkg:npm/path-to-regexp@0.1.12", - "name" : "path-to-regexp", - "version" : "0.1.12", - "purl" : "pkg:npm/path-to-regexp@0.1.12" + "type": "library", + "bom-ref": "pkg:npm/proxy-addr@2.0.7", + "name": "proxy-addr", + "version": "2.0.7", + "purl": "pkg:npm/proxy-addr@2.0.7" }, { - "type" : "library", - "bom-ref" : "pkg:npm/proxy-addr@2.0.7", - "name" : "proxy-addr", - "version" : "2.0.7", - "purl" : "pkg:npm/proxy-addr@2.0.7" + "type": "library", + "bom-ref": "pkg:npm/range-parser@1.2.1", + "name": "range-parser", + "version": "1.2.1", + "purl": "pkg:npm/range-parser@1.2.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/range-parser@1.2.1", - "name" : "range-parser", - "version" : "1.2.1", - "purl" : "pkg:npm/range-parser@1.2.1" + "type": "library", + "bom-ref": "pkg:npm/send@0.19.0", + "name": "send", + "version": "0.19.0", + "purl": "pkg:npm/send@0.19.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/send@0.19.0", - "name" : "send", - "version" : "0.19.0", - "purl" : "pkg:npm/send@0.19.0" + "type": "library", + "bom-ref": "pkg:npm/serve-static@1.16.2", + "name": "serve-static", + "version": "1.16.2", + "purl": "pkg:npm/serve-static@1.16.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/serve-static@1.16.2", - "name" : "serve-static", - "version" : "1.16.2", - "purl" : "pkg:npm/serve-static@1.16.2" + "type": "library", + "bom-ref": "pkg:npm/setprototypeof@1.2.0", + "name": "setprototypeof", + "version": "1.2.0", + "purl": "pkg:npm/setprototypeof@1.2.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/setprototypeof@1.2.0", - "name" : "setprototypeof", - "version" : "1.2.0", - "purl" : "pkg:npm/setprototypeof@1.2.0" + "type": "library", + "bom-ref": "pkg:npm/statuses@2.0.1", + "name": "statuses", + "version": "2.0.1", + "purl": "pkg:npm/statuses@2.0.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/statuses@2.0.1", - "name" : "statuses", - "version" : "2.0.1", - "purl" : "pkg:npm/statuses@2.0.1" + "type": "library", + "bom-ref": "pkg:npm/utils-merge@1.0.1", + "name": "utils-merge", + "version": "1.0.1", + "purl": "pkg:npm/utils-merge@1.0.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/utils-merge@1.0.1", - "name" : "utils-merge", - "version" : "1.0.1", - "purl" : "pkg:npm/utils-merge@1.0.1" + "type": "library", + "bom-ref": "pkg:npm/vary@1.1.2", + "name": "vary", + "version": "1.1.2", + "purl": "pkg:npm/vary@1.1.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/vary@1.1.2", - "name" : "vary", - "version" : "1.1.2", - "purl" : "pkg:npm/vary@1.1.2" + "type": "library", + "bom-ref": "pkg:npm/to-regex-range@5.0.1", + "name": "to-regex-range", + "version": "5.0.1", + "purl": "pkg:npm/to-regex-range@5.0.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/to-regex-range@5.0.1", - "name" : "to-regex-range", - "version" : "5.0.1", - "purl" : "pkg:npm/to-regex-range@5.0.1" + "type": "library", + "bom-ref": "pkg:npm/foreground-child@3.3.1", + "name": "foreground-child", + "version": "3.3.1", + "purl": "pkg:npm/foreground-child@3.3.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/foreground-child@3.3.1", - "name" : "foreground-child", - "version" : "3.3.1", - "purl" : "pkg:npm/foreground-child@3.3.1" + "type": "library", + "bom-ref": "pkg:npm/signal-exit@4.1.0", + "name": "signal-exit", + "version": "4.1.0", + "purl": "pkg:npm/signal-exit@4.1.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/signal-exit@4.1.0", - "name" : "signal-exit", - "version" : "4.1.0", - "purl" : "pkg:npm/signal-exit@4.1.0" + "type": "library", + "bom-ref": "pkg:npm/fsevents%40patch:fsevents@2.3.3", + "name": "fsevents@patch:fsevents", + "version": "2.3.3", + "purl": "pkg:npm/fsevents%40patch:fsevents@2.3.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/fsevents%40patch:fsevents@2.3.3", - "name" : "fsevents@patch:fsevents", - "version" : "2.3.3", - "purl" : "pkg:npm/fsevents%40patch:fsevents@2.3.3" + "type": "library", + "bom-ref": "pkg:npm/node-gyp@11.2.0", + "name": "node-gyp", + "version": "11.2.0", + "purl": "pkg:npm/node-gyp@11.2.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/node-gyp@11.2.0", - "name" : "node-gyp", - "version" : "11.2.0", - "purl" : "pkg:npm/node-gyp@11.2.0" + "type": "library", + "bom-ref": "pkg:npm/es-define-property@1.0.1", + "name": "es-define-property", + "version": "1.0.1", + "purl": "pkg:npm/es-define-property@1.0.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/es-define-property@1.0.1", - "name" : "es-define-property", - "version" : "1.0.1", - "purl" : "pkg:npm/es-define-property@1.0.1" + "type": "library", + "bom-ref": "pkg:npm/get-proto@1.0.1", + "name": "get-proto", + "version": "1.0.1", + "purl": "pkg:npm/get-proto@1.0.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/get-proto@1.0.1", - "name" : "get-proto", - "version" : "1.0.1", - "purl" : "pkg:npm/get-proto@1.0.1" + "type": "library", + "bom-ref": "pkg:npm/has-symbols@1.1.0", + "name": "has-symbols", + "version": "1.1.0", + "purl": "pkg:npm/has-symbols@1.1.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/has-symbols@1.1.0", - "name" : "has-symbols", - "version" : "1.1.0", - "purl" : "pkg:npm/has-symbols@1.1.0" + "type": "library", + "bom-ref": "pkg:npm/hasown@2.0.2", + "name": "hasown", + "version": "2.0.2", + "purl": "pkg:npm/hasown@2.0.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/hasown@2.0.2", - "name" : "hasown", - "version" : "2.0.2", - "purl" : "pkg:npm/hasown@2.0.2" + "type": "library", + "bom-ref": "pkg:npm/math-intrinsics@1.1.0", + "name": "math-intrinsics", + "version": "1.1.0", + "purl": "pkg:npm/math-intrinsics@1.1.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/math-intrinsics@1.1.0", - "name" : "math-intrinsics", - "version" : "1.1.0", - "purl" : "pkg:npm/math-intrinsics@1.1.0" + "type": "library", + "bom-ref": "pkg:npm/jackspeak@3.4.3", + "name": "jackspeak", + "version": "3.4.3", + "purl": "pkg:npm/jackspeak@3.4.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/jackspeak@3.4.3", - "name" : "jackspeak", - "version" : "3.4.3", - "purl" : "pkg:npm/jackspeak@3.4.3" + "type": "library", + "bom-ref": "pkg:npm/minimatch@9.0.5", + "name": "minimatch", + "version": "9.0.5", + "purl": "pkg:npm/minimatch@9.0.5" }, { - "type" : "library", - "bom-ref" : "pkg:npm/minimatch@9.0.5", - "name" : "minimatch", - "version" : "9.0.5", - "purl" : "pkg:npm/minimatch@9.0.5" + "type": "library", + "bom-ref": "pkg:npm/package-json-from-dist@1.0.1", + "name": "package-json-from-dist", + "version": "1.0.1", + "purl": "pkg:npm/package-json-from-dist@1.0.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/package-json-from-dist@1.0.1", - "name" : "package-json-from-dist", - "version" : "1.0.1", - "purl" : "pkg:npm/package-json-from-dist@1.0.1" + "type": "library", + "bom-ref": "pkg:npm/path-scurry@1.11.1", + "name": "path-scurry", + "version": "1.11.1", + "purl": "pkg:npm/path-scurry@1.11.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/path-scurry@1.11.1", - "name" : "path-scurry", - "version" : "1.11.1", - "purl" : "pkg:npm/path-scurry@1.11.1" + "type": "library", + "bom-ref": "pkg:npm/inherits@2.0.4", + "name": "inherits", + "version": "2.0.4", + "purl": "pkg:npm/inherits@2.0.4" }, { - "type" : "library", - "bom-ref" : "pkg:npm/inherits@2.0.4", - "name" : "inherits", - "version" : "2.0.4", - "purl" : "pkg:npm/inherits@2.0.4" + "type": "library", + "bom-ref": "pkg:npm/toidentifier@1.0.1", + "name": "toidentifier", + "version": "1.0.1", + "purl": "pkg:npm/toidentifier@1.0.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/toidentifier@1.0.1", - "name" : "toidentifier", - "version" : "1.0.1", - "purl" : "pkg:npm/toidentifier@1.0.1" + "type": "library", + "bom-ref": "pkg:npm/safer-buffer@2.1.2", + "name": "safer-buffer", + "version": "2.1.2", + "purl": "pkg:npm/safer-buffer@2.1.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/safer-buffer@2.1.2", - "name" : "safer-buffer", - "version" : "2.1.2", - "purl" : "pkg:npm/safer-buffer@2.1.2" + "type": "library", + "bom-ref": "pkg:npm/ip-address@9.0.5", + "name": "ip-address", + "version": "9.0.5", + "purl": "pkg:npm/ip-address@9.0.5" }, { - "type" : "library", - "bom-ref" : "pkg:npm/ip-address@9.0.5", - "name" : "ip-address", - "version" : "9.0.5", - "purl" : "pkg:npm/ip-address@9.0.5" + "type": "library", + "bom-ref": "pkg:npm/jsbn@1.1.0", + "name": "jsbn", + "version": "1.1.0", + "purl": "pkg:npm/jsbn@1.1.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/jsbn@1.1.0", - "name" : "jsbn", - "version" : "1.1.0", - "purl" : "pkg:npm/jsbn@1.1.0" + "type": "library", + "bom-ref": "pkg:npm/sprintf-js@1.1.3", + "name": "sprintf-js", + "version": "1.1.3", + "purl": "pkg:npm/sprintf-js@1.1.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/sprintf-js@1.1.3", - "name" : "sprintf-js", - "version" : "1.1.3", - "purl" : "pkg:npm/sprintf-js@1.1.3" + "type": "library", + "bom-ref": "pkg:npm/binary-extensions@2.3.0", + "name": "binary-extensions", + "version": "2.3.0", + "purl": "pkg:npm/binary-extensions@2.3.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/binary-extensions@2.3.0", - "name" : "binary-extensions", - "version" : "2.3.0", - "purl" : "pkg:npm/binary-extensions@2.3.0" + "type": "library", + "bom-ref": "pkg:npm/is-extglob@2.1.1", + "name": "is-extglob", + "version": "2.1.1", + "purl": "pkg:npm/is-extglob@2.1.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/is-extglob@2.1.1", - "name" : "is-extglob", - "version" : "2.1.1", - "purl" : "pkg:npm/is-extglob@2.1.1" + "type": "library", + "bom-ref": "pkg:npm/%40pkgjs/parseargs@0.11.0", + "group": "@pkgjs", + "name": "parseargs", + "version": "0.11.0", + "purl": "pkg:npm/%40pkgjs/parseargs@0.11.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/%40pkgjs/parseargs@0.11.0", - "group" : "@pkgjs", - "name" : "parseargs", - "version" : "0.11.0", - "purl" : "pkg:npm/%40pkgjs/parseargs@0.11.0" + "type": "library", + "bom-ref": "pkg:npm/jws@3.2.2", + "name": "jws", + "version": "3.2.2", + "purl": "pkg:npm/jws@3.2.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/jws@3.2.2", - "name" : "jws", - "version" : "3.2.2", - "purl" : "pkg:npm/jws@3.2.2" + "type": "library", + "bom-ref": "pkg:npm/lodash.includes@4.3.0", + "name": "lodash.includes", + "version": "4.3.0", + "purl": "pkg:npm/lodash.includes@4.3.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/lodash.includes@4.3.0", - "name" : "lodash.includes", - "version" : "4.3.0", - "purl" : "pkg:npm/lodash.includes@4.3.0" + "type": "library", + "bom-ref": "pkg:npm/lodash.isboolean@3.0.3", + "name": "lodash.isboolean", + "version": "3.0.3", + "purl": "pkg:npm/lodash.isboolean@3.0.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/lodash.isboolean@3.0.3", - "name" : "lodash.isboolean", - "version" : "3.0.3", - "purl" : "pkg:npm/lodash.isboolean@3.0.3" + "type": "library", + "bom-ref": "pkg:npm/lodash.isinteger@4.0.4", + "name": "lodash.isinteger", + "version": "4.0.4", + "purl": "pkg:npm/lodash.isinteger@4.0.4" }, { - "type" : "library", - "bom-ref" : "pkg:npm/lodash.isinteger@4.0.4", - "name" : "lodash.isinteger", - "version" : "4.0.4", - "purl" : "pkg:npm/lodash.isinteger@4.0.4" + "type": "library", + "bom-ref": "pkg:npm/lodash.isnumber@3.0.3", + "name": "lodash.isnumber", + "version": "3.0.3", + "purl": "pkg:npm/lodash.isnumber@3.0.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/lodash.isnumber@3.0.3", - "name" : "lodash.isnumber", - "version" : "3.0.3", - "purl" : "pkg:npm/lodash.isnumber@3.0.3" + "type": "library", + "bom-ref": "pkg:npm/lodash.isplainobject@4.0.6", + "name": "lodash.isplainobject", + "version": "4.0.6", + "purl": "pkg:npm/lodash.isplainobject@4.0.6" }, { - "type" : "library", - "bom-ref" : "pkg:npm/lodash.isplainobject@4.0.6", - "name" : "lodash.isplainobject", - "version" : "4.0.6", - "purl" : "pkg:npm/lodash.isplainobject@4.0.6" + "type": "library", + "bom-ref": "pkg:npm/lodash.isstring@4.0.1", + "name": "lodash.isstring", + "version": "4.0.1", + "purl": "pkg:npm/lodash.isstring@4.0.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/lodash.isstring@4.0.1", - "name" : "lodash.isstring", - "version" : "4.0.1", - "purl" : "pkg:npm/lodash.isstring@4.0.1" + "type": "library", + "bom-ref": "pkg:npm/lodash.once@4.1.1", + "name": "lodash.once", + "version": "4.1.1", + "purl": "pkg:npm/lodash.once@4.1.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/lodash.once@4.1.1", - "name" : "lodash.once", - "version" : "4.1.1", - "purl" : "pkg:npm/lodash.once@4.1.1" + "type": "library", + "bom-ref": "pkg:npm/semver@5.7.2", + "name": "semver", + "version": "5.7.2", + "purl": "pkg:npm/semver@5.7.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/semver@5.7.2", - "name" : "semver", - "version" : "5.7.2", - "purl" : "pkg:npm/semver@5.7.2" + "type": "library", + "bom-ref": "pkg:npm/jwa@1.4.1", + "name": "jwa", + "version": "1.4.1", + "purl": "pkg:npm/jwa@1.4.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/jwa@1.4.1", - "name" : "jwa", - "version" : "1.4.1", - "purl" : "pkg:npm/jwa@1.4.1" + "type": "library", + "bom-ref": "pkg:npm/buffer-equal-constant-time@1.0.1", + "name": "buffer-equal-constant-time", + "version": "1.0.1", + "purl": "pkg:npm/buffer-equal-constant-time@1.0.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/buffer-equal-constant-time@1.0.1", - "name" : "buffer-equal-constant-time", - "version" : "1.0.1", - "purl" : "pkg:npm/buffer-equal-constant-time@1.0.1" + "type": "library", + "bom-ref": "pkg:npm/make-fetch-happen@14.0.3", + "name": "make-fetch-happen", + "version": "14.0.3", + "purl": "pkg:npm/make-fetch-happen@14.0.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/make-fetch-happen@14.0.3", - "name" : "make-fetch-happen", - "version" : "14.0.3", - "purl" : "pkg:npm/make-fetch-happen@14.0.3" + "type": "library", + "bom-ref": "pkg:npm/http-cache-semantics@4.1.1", + "name": "http-cache-semantics", + "version": "4.1.1", + "purl": "pkg:npm/http-cache-semantics@4.1.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/http-cache-semantics@4.1.1", - "name" : "http-cache-semantics", - "version" : "4.1.1", - "purl" : "pkg:npm/http-cache-semantics@4.1.1" + "type": "library", + "bom-ref": "pkg:npm/minipass-fetch@4.0.1", + "name": "minipass-fetch", + "version": "4.0.1", + "purl": "pkg:npm/minipass-fetch@4.0.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/minipass-fetch@4.0.1", - "name" : "minipass-fetch", - "version" : "4.0.1", - "purl" : "pkg:npm/minipass-fetch@4.0.1" + "type": "library", + "bom-ref": "pkg:npm/negotiator@1.0.0", + "name": "negotiator", + "version": "1.0.0", + "purl": "pkg:npm/negotiator@1.0.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/negotiator@1.0.0", - "name" : "negotiator", - "version" : "1.0.0", - "purl" : "pkg:npm/negotiator@1.0.0" + "type": "library", + "bom-ref": "pkg:npm/proc-log@5.0.0", + "name": "proc-log", + "version": "5.0.0", + "purl": "pkg:npm/proc-log@5.0.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/proc-log@5.0.0", - "name" : "proc-log", - "version" : "5.0.0", - "purl" : "pkg:npm/proc-log@5.0.0" + "type": "library", + "bom-ref": "pkg:npm/promise-retry@2.0.1", + "name": "promise-retry", + "version": "2.0.1", + "purl": "pkg:npm/promise-retry@2.0.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/promise-retry@2.0.1", - "name" : "promise-retry", - "version" : "2.0.1", - "purl" : "pkg:npm/promise-retry@2.0.1" + "type": "library", + "bom-ref": "pkg:npm/mime-db@1.52.0", + "name": "mime-db", + "version": "1.52.0", + "purl": "pkg:npm/mime-db@1.52.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/mime-db@1.52.0", - "name" : "mime-db", - "version" : "1.52.0", - "purl" : "pkg:npm/mime-db@1.52.0" + "type": "library", + "bom-ref": "pkg:npm/minimatch@3.1.2", + "name": "minimatch", + "version": "3.1.2", + "purl": "pkg:npm/minimatch@3.1.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/minimatch@3.1.2", - "name" : "minimatch", - "version" : "3.1.2", - "purl" : "pkg:npm/minimatch@3.1.2" + "type": "library", + "bom-ref": "pkg:npm/minipass-sized@1.0.3", + "name": "minipass-sized", + "version": "1.0.3", + "purl": "pkg:npm/minipass-sized@1.0.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/minipass-sized@1.0.3", - "name" : "minipass-sized", - "version" : "1.0.3", - "purl" : "pkg:npm/minipass-sized@1.0.3" + "type": "library", + "bom-ref": "pkg:npm/minizlib@3.0.2", + "name": "minizlib", + "version": "3.0.2", + "purl": "pkg:npm/minizlib@3.0.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/minizlib@3.0.2", - "name" : "minizlib", - "version" : "3.0.2", - "purl" : "pkg:npm/minizlib@3.0.2" + "type": "library", + "bom-ref": "pkg:npm/minipass@3.3.6", + "name": "minipass", + "version": "3.3.6", + "purl": "pkg:npm/minipass@3.3.6" }, { - "type" : "library", - "bom-ref" : "pkg:npm/minipass@3.3.6", - "name" : "minipass", - "version" : "3.3.6", - "purl" : "pkg:npm/minipass@3.3.6" + "type": "library", + "bom-ref": "pkg:npm/yallist@4.0.0", + "name": "yallist", + "version": "4.0.0", + "purl": "pkg:npm/yallist@4.0.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/yallist@4.0.0", - "name" : "yallist", - "version" : "4.0.0", - "purl" : "pkg:npm/yallist@4.0.0" + "type": "library", + "bom-ref": "pkg:npm/mongodb@3.7.4", + "name": "mongodb", + "version": "3.7.4", + "purl": "pkg:npm/mongodb@3.7.4" }, { - "type" : "library", - "bom-ref" : "pkg:npm/mongodb@3.7.4", - "name" : "mongodb", - "version" : "3.7.4", - "purl" : "pkg:npm/mongodb@3.7.4" + "type": "library", + "bom-ref": "pkg:npm/bson@1.1.6", + "name": "bson", + "version": "1.1.6", + "purl": "pkg:npm/bson@1.1.6" }, { - "type" : "library", - "bom-ref" : "pkg:npm/bson@1.1.6", - "name" : "bson", - "version" : "1.1.6", - "purl" : "pkg:npm/bson@1.1.6" + "type": "library", + "bom-ref": "pkg:npm/denque@1.5.1", + "name": "denque", + "version": "1.5.1", + "purl": "pkg:npm/denque@1.5.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/denque@1.5.1", - "name" : "denque", - "version" : "1.5.1", - "purl" : "pkg:npm/denque@1.5.1" + "type": "library", + "bom-ref": "pkg:npm/optional-require@1.1.8", + "name": "optional-require", + "version": "1.1.8", + "purl": "pkg:npm/optional-require@1.1.8" }, { - "type" : "library", - "bom-ref" : "pkg:npm/optional-require@1.1.8", - "name" : "optional-require", - "version" : "1.1.8", - "purl" : "pkg:npm/optional-require@1.1.8" + "type": "library", + "bom-ref": "pkg:npm/saslprep@1.0.3", + "name": "saslprep", + "version": "1.0.3", + "purl": "pkg:npm/saslprep@1.0.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/saslprep@1.0.3", - "name" : "saslprep", - "version" : "1.0.3", - "purl" : "pkg:npm/saslprep@1.0.3" + "type": "library", + "bom-ref": "pkg:npm/kareem@2.3.2", + "name": "kareem", + "version": "2.3.2", + "purl": "pkg:npm/kareem@2.3.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/kareem@2.3.2", - "name" : "kareem", - "version" : "2.3.2", - "purl" : "pkg:npm/kareem@2.3.2" + "type": "library", + "bom-ref": "pkg:npm/mongoose-legacy-pluralize@1.0.2", + "name": "mongoose-legacy-pluralize", + "version": "1.0.2", + "purl": "pkg:npm/mongoose-legacy-pluralize@1.0.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/mongoose-legacy-pluralize@1.0.2", - "name" : "mongoose-legacy-pluralize", - "version" : "1.0.2", - "purl" : "pkg:npm/mongoose-legacy-pluralize@1.0.2" + "type": "library", + "bom-ref": "pkg:npm/mpath@0.8.4", + "name": "mpath", + "version": "0.8.4", + "purl": "pkg:npm/mpath@0.8.4" }, { - "type" : "library", - "bom-ref" : "pkg:npm/mpath@0.8.4", - "name" : "mpath", - "version" : "0.8.4", - "purl" : "pkg:npm/mpath@0.8.4" + "type": "library", + "bom-ref": "pkg:npm/mquery@3.2.5", + "name": "mquery", + "version": "3.2.5", + "purl": "pkg:npm/mquery@3.2.5" }, { - "type" : "library", - "bom-ref" : "pkg:npm/mquery@3.2.5", - "name" : "mquery", - "version" : "3.2.5", - "purl" : "pkg:npm/mquery@3.2.5" + "type": "library", + "bom-ref": "pkg:npm/ms@2.1.2", + "name": "ms", + "version": "2.1.2", + "purl": "pkg:npm/ms@2.1.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/ms@2.1.2", - "name" : "ms", - "version" : "2.1.2", - "purl" : "pkg:npm/ms@2.1.2" + "type": "library", + "bom-ref": "pkg:npm/optional-require@1.0.3", + "name": "optional-require", + "version": "1.0.3", + "purl": "pkg:npm/optional-require@1.0.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/optional-require@1.0.3", - "name" : "optional-require", - "version" : "1.0.3", - "purl" : "pkg:npm/optional-require@1.0.3" + "type": "library", + "bom-ref": "pkg:npm/regexp-clone@1.0.0", + "name": "regexp-clone", + "version": "1.0.0", + "purl": "pkg:npm/regexp-clone@1.0.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/regexp-clone@1.0.0", - "name" : "regexp-clone", - "version" : "1.0.0", - "purl" : "pkg:npm/regexp-clone@1.0.0" + "type": "library", + "bom-ref": "pkg:npm/sift@13.5.2", + "name": "sift", + "version": "13.5.2", + "purl": "pkg:npm/sift@13.5.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/sift@13.5.2", - "name" : "sift", - "version" : "13.5.2", - "purl" : "pkg:npm/sift@13.5.2" + "type": "library", + "bom-ref": "pkg:npm/sliced@1.0.1", + "name": "sliced", + "version": "1.0.1", + "purl": "pkg:npm/sliced@1.0.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/sliced@1.0.1", - "name" : "sliced", - "version" : "1.0.1", - "purl" : "pkg:npm/sliced@1.0.1" + "type": "library", + "bom-ref": "pkg:npm/bluebird@3.5.1", + "name": "bluebird", + "version": "3.5.1", + "purl": "pkg:npm/bluebird@3.5.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/bluebird@3.5.1", - "name" : "bluebird", - "version" : "3.5.1", - "purl" : "pkg:npm/bluebird@3.5.1" + "type": "library", + "bom-ref": "pkg:npm/safe-buffer@5.1.2", + "name": "safe-buffer", + "version": "5.1.2", + "purl": "pkg:npm/safe-buffer@5.1.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/safe-buffer@5.1.2", - "name" : "safe-buffer", - "version" : "5.1.2", - "purl" : "pkg:npm/safe-buffer@5.1.2" + "type": "library", + "bom-ref": "pkg:npm/env-paths@2.2.1", + "name": "env-paths", + "version": "2.2.1", + "purl": "pkg:npm/env-paths@2.2.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/env-paths@2.2.1", - "name" : "env-paths", - "version" : "2.2.1", - "purl" : "pkg:npm/env-paths@2.2.1" + "type": "library", + "bom-ref": "pkg:npm/exponential-backoff@3.1.2", + "name": "exponential-backoff", + "version": "3.1.2", + "purl": "pkg:npm/exponential-backoff@3.1.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/exponential-backoff@3.1.2", - "name" : "exponential-backoff", - "version" : "3.1.2", - "purl" : "pkg:npm/exponential-backoff@3.1.2" + "type": "library", + "bom-ref": "pkg:npm/graceful-fs@4.2.11", + "name": "graceful-fs", + "version": "4.2.11", + "purl": "pkg:npm/graceful-fs@4.2.11" }, { - "type" : "library", - "bom-ref" : "pkg:npm/graceful-fs@4.2.11", - "name" : "graceful-fs", - "version" : "4.2.11", - "purl" : "pkg:npm/graceful-fs@4.2.11" + "type": "library", + "bom-ref": "pkg:npm/nopt@8.1.0", + "name": "nopt", + "version": "8.1.0", + "purl": "pkg:npm/nopt@8.1.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/nopt@8.1.0", - "name" : "nopt", - "version" : "8.1.0", - "purl" : "pkg:npm/nopt@8.1.0" + "type": "library", + "bom-ref": "pkg:npm/tinyglobby@0.2.12", + "name": "tinyglobby", + "version": "0.2.12", + "purl": "pkg:npm/tinyglobby@0.2.12" }, { - "type" : "library", - "bom-ref" : "pkg:npm/tinyglobby@0.2.12", - "name" : "tinyglobby", - "version" : "0.2.12", - "purl" : "pkg:npm/tinyglobby@0.2.12" + "type": "library", + "bom-ref": "pkg:npm/which@5.0.0", + "name": "which", + "version": "5.0.0", + "purl": "pkg:npm/which@5.0.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/which@5.0.0", - "name" : "which", - "version" : "5.0.0", - "purl" : "pkg:npm/which@5.0.0" + "type": "library", + "bom-ref": "pkg:npm/ignore-by-default@1.0.1", + "name": "ignore-by-default", + "version": "1.0.1", + "purl": "pkg:npm/ignore-by-default@1.0.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/ignore-by-default@1.0.1", - "name" : "ignore-by-default", - "version" : "1.0.1", - "purl" : "pkg:npm/ignore-by-default@1.0.1" + "type": "library", + "bom-ref": "pkg:npm/pstree.remy@1.1.8", + "name": "pstree.remy", + "version": "1.1.8", + "purl": "pkg:npm/pstree.remy@1.1.8" }, { - "type" : "library", - "bom-ref" : "pkg:npm/pstree.remy@1.1.8", - "name" : "pstree.remy", - "version" : "1.1.8", - "purl" : "pkg:npm/pstree.remy@1.1.8" + "type": "library", + "bom-ref": "pkg:npm/simple-update-notifier@1.1.0", + "name": "simple-update-notifier", + "version": "1.1.0", + "purl": "pkg:npm/simple-update-notifier@1.1.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/simple-update-notifier@1.1.0", - "name" : "simple-update-notifier", - "version" : "1.1.0", - "purl" : "pkg:npm/simple-update-notifier@1.1.0" + "type": "library", + "bom-ref": "pkg:npm/supports-color@5.5.0", + "name": "supports-color", + "version": "5.5.0", + "purl": "pkg:npm/supports-color@5.5.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/supports-color@5.5.0", - "name" : "supports-color", - "version" : "5.5.0", - "purl" : "pkg:npm/supports-color@5.5.0" + "type": "library", + "bom-ref": "pkg:npm/touch@3.1.1", + "name": "touch", + "version": "3.1.1", + "purl": "pkg:npm/touch@3.1.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/touch@3.1.1", - "name" : "touch", - "version" : "3.1.1", - "purl" : "pkg:npm/touch@3.1.1" + "type": "library", + "bom-ref": "pkg:npm/undefsafe@2.0.5", + "name": "undefsafe", + "version": "2.0.5", + "purl": "pkg:npm/undefsafe@2.0.5" }, { - "type" : "library", - "bom-ref" : "pkg:npm/undefsafe@2.0.5", - "name" : "undefsafe", - "version" : "2.0.5", - "purl" : "pkg:npm/undefsafe@2.0.5" + "type": "library", + "bom-ref": "pkg:npm/abbrev@3.0.1", + "name": "abbrev", + "version": "3.0.1", + "purl": "pkg:npm/abbrev@3.0.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/abbrev@3.0.1", - "name" : "abbrev", - "version" : "3.0.1", - "purl" : "pkg:npm/abbrev@3.0.1" + "type": "library", + "bom-ref": "pkg:npm/ee-first@1.1.1", + "name": "ee-first", + "version": "1.1.1", + "purl": "pkg:npm/ee-first@1.1.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/ee-first@1.1.1", - "name" : "ee-first", - "version" : "1.1.1", - "purl" : "pkg:npm/ee-first@1.1.1" + "type": "library", + "bom-ref": "pkg:npm/require-at@1.0.6", + "name": "require-at", + "version": "1.0.6", + "purl": "pkg:npm/require-at@1.0.6" }, { - "type" : "library", - "bom-ref" : "pkg:npm/require-at@1.0.6", - "name" : "require-at", - "version" : "1.0.6", - "purl" : "pkg:npm/require-at@1.0.6" + "type": "library", + "bom-ref": "pkg:npm/err-code@2.0.3", + "name": "err-code", + "version": "2.0.3", + "purl": "pkg:npm/err-code@2.0.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/err-code@2.0.3", - "name" : "err-code", - "version" : "2.0.3", - "purl" : "pkg:npm/err-code@2.0.3" + "type": "library", + "bom-ref": "pkg:npm/retry@0.12.0", + "name": "retry", + "version": "0.12.0", + "purl": "pkg:npm/retry@0.12.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/retry@0.12.0", - "name" : "retry", - "version" : "0.12.0", - "purl" : "pkg:npm/retry@0.12.0" + "type": "library", + "bom-ref": "pkg:npm/forwarded@0.2.0", + "name": "forwarded", + "version": "0.2.0", + "purl": "pkg:npm/forwarded@0.2.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/forwarded@0.2.0", - "name" : "forwarded", - "version" : "0.2.0", - "purl" : "pkg:npm/forwarded@0.2.0" + "type": "library", + "bom-ref": "pkg:npm/ipaddr.js@1.9.1", + "name": "ipaddr.js", + "version": "1.9.1", + "purl": "pkg:npm/ipaddr.js@1.9.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/ipaddr.js@1.9.1", - "name" : "ipaddr.js", - "version" : "1.9.1", - "purl" : "pkg:npm/ipaddr.js@1.9.1" + "type": "library", + "bom-ref": "pkg:npm/side-channel@1.1.0", + "name": "side-channel", + "version": "1.1.0", + "purl": "pkg:npm/side-channel@1.1.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/side-channel@1.1.0", - "name" : "side-channel", - "version" : "1.1.0", - "purl" : "pkg:npm/side-channel@1.1.0" + "type": "library", + "bom-ref": "pkg:npm/core-util-is@1.0.3", + "name": "core-util-is", + "version": "1.0.3", + "purl": "pkg:npm/core-util-is@1.0.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/core-util-is@1.0.3", - "name" : "core-util-is", - "version" : "1.0.3", - "purl" : "pkg:npm/core-util-is@1.0.3" + "type": "library", + "bom-ref": "pkg:npm/isarray@1.0.0", + "name": "isarray", + "version": "1.0.0", + "purl": "pkg:npm/isarray@1.0.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/isarray@1.0.0", - "name" : "isarray", - "version" : "1.0.0", - "purl" : "pkg:npm/isarray@1.0.0" + "type": "library", + "bom-ref": "pkg:npm/process-nextick-args@2.0.1", + "name": "process-nextick-args", + "version": "2.0.1", + "purl": "pkg:npm/process-nextick-args@2.0.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/process-nextick-args@2.0.1", - "name" : "process-nextick-args", - "version" : "2.0.1", - "purl" : "pkg:npm/process-nextick-args@2.0.1" + "type": "library", + "bom-ref": "pkg:npm/string_decoder@1.1.1", + "name": "string_decoder", + "version": "1.1.1", + "purl": "pkg:npm/string_decoder@1.1.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/string_decoder@1.1.1", - "name" : "string_decoder", - "version" : "1.1.1", - "purl" : "pkg:npm/string_decoder@1.1.1" + "type": "library", + "bom-ref": "pkg:npm/util-deprecate@1.0.2", + "name": "util-deprecate", + "version": "1.0.2", + "purl": "pkg:npm/util-deprecate@1.0.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/util-deprecate@1.0.2", - "name" : "util-deprecate", - "version" : "1.0.2", - "purl" : "pkg:npm/util-deprecate@1.0.2" + "type": "library", + "bom-ref": "pkg:npm/sparse-bitfield@3.0.3", + "name": "sparse-bitfield", + "version": "3.0.3", + "purl": "pkg:npm/sparse-bitfield@3.0.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/sparse-bitfield@3.0.3", - "name" : "sparse-bitfield", - "version" : "3.0.3", - "purl" : "pkg:npm/sparse-bitfield@3.0.3" + "type": "library", + "bom-ref": "pkg:npm/encodeurl@1.0.2", + "name": "encodeurl", + "version": "1.0.2", + "purl": "pkg:npm/encodeurl@1.0.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/encodeurl@1.0.2", - "name" : "encodeurl", - "version" : "1.0.2", - "purl" : "pkg:npm/encodeurl@1.0.2" + "type": "library", + "bom-ref": "pkg:npm/mime@1.6.0", + "name": "mime", + "version": "1.6.0", + "purl": "pkg:npm/mime@1.6.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/mime@1.6.0", - "name" : "mime", - "version" : "1.6.0", - "purl" : "pkg:npm/mime@1.6.0" + "type": "library", + "bom-ref": "pkg:npm/shebang-regex@3.0.0", + "name": "shebang-regex", + "version": "3.0.0", + "purl": "pkg:npm/shebang-regex@3.0.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/shebang-regex@3.0.0", - "name" : "shebang-regex", - "version" : "3.0.0", - "purl" : "pkg:npm/shebang-regex@3.0.0" + "type": "library", + "bom-ref": "pkg:npm/side-channel-list@1.0.0", + "name": "side-channel-list", + "version": "1.0.0", + "purl": "pkg:npm/side-channel-list@1.0.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/side-channel-list@1.0.0", - "name" : "side-channel-list", - "version" : "1.0.0", - "purl" : "pkg:npm/side-channel-list@1.0.0" + "type": "library", + "bom-ref": "pkg:npm/object-inspect@1.13.4", + "name": "object-inspect", + "version": "1.13.4", + "purl": "pkg:npm/object-inspect@1.13.4" }, { - "type" : "library", - "bom-ref" : "pkg:npm/object-inspect@1.13.4", - "name" : "object-inspect", - "version" : "1.13.4", - "purl" : "pkg:npm/object-inspect@1.13.4" + "type": "library", + "bom-ref": "pkg:npm/side-channel-map@1.0.1", + "name": "side-channel-map", + "version": "1.0.1", + "purl": "pkg:npm/side-channel-map@1.0.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/side-channel-map@1.0.1", - "name" : "side-channel-map", - "version" : "1.0.1", - "purl" : "pkg:npm/side-channel-map@1.0.1" + "type": "library", + "bom-ref": "pkg:npm/side-channel-weakmap@1.0.2", + "name": "side-channel-weakmap", + "version": "1.0.2", + "purl": "pkg:npm/side-channel-weakmap@1.0.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/side-channel-weakmap@1.0.2", - "name" : "side-channel-weakmap", - "version" : "1.0.2", - "purl" : "pkg:npm/side-channel-weakmap@1.0.2" + "type": "library", + "bom-ref": "pkg:npm/semver@7.0.0", + "name": "semver", + "version": "7.0.0", + "purl": "pkg:npm/semver@7.0.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/semver@7.0.0", - "name" : "semver", - "version" : "7.0.0", - "purl" : "pkg:npm/semver@7.0.0" + "type": "library", + "bom-ref": "pkg:npm/socks@2.8.4", + "name": "socks", + "version": "2.8.4", + "purl": "pkg:npm/socks@2.8.4" }, { - "type" : "library", - "bom-ref" : "pkg:npm/socks@2.8.4", - "name" : "socks", - "version" : "2.8.4", - "purl" : "pkg:npm/socks@2.8.4" + "type": "library", + "bom-ref": "pkg:npm/smart-buffer@4.2.0", + "name": "smart-buffer", + "version": "4.2.0", + "purl": "pkg:npm/smart-buffer@4.2.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/smart-buffer@4.2.0", - "name" : "smart-buffer", - "version" : "4.2.0", - "purl" : "pkg:npm/smart-buffer@4.2.0" + "type": "library", + "bom-ref": "pkg:npm/memory-pager@1.5.0", + "name": "memory-pager", + "version": "1.5.0", + "purl": "pkg:npm/memory-pager@1.5.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/memory-pager@1.5.0", - "name" : "memory-pager", - "version" : "1.5.0", - "purl" : "pkg:npm/memory-pager@1.5.0" + "type": "library", + "bom-ref": "pkg:npm/emoji-regex@8.0.0", + "name": "emoji-regex", + "version": "8.0.0", + "purl": "pkg:npm/emoji-regex@8.0.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/emoji-regex@8.0.0", - "name" : "emoji-regex", - "version" : "8.0.0", - "purl" : "pkg:npm/emoji-regex@8.0.0" + "type": "library", + "bom-ref": "pkg:npm/is-fullwidth-code-point@3.0.0", + "name": "is-fullwidth-code-point", + "version": "3.0.0", + "purl": "pkg:npm/is-fullwidth-code-point@3.0.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/is-fullwidth-code-point@3.0.0", - "name" : "is-fullwidth-code-point", - "version" : "3.0.0", - "purl" : "pkg:npm/is-fullwidth-code-point@3.0.0" + "type": "library", + "bom-ref": "pkg:npm/eastasianwidth@0.2.0", + "name": "eastasianwidth", + "version": "0.2.0", + "purl": "pkg:npm/eastasianwidth@0.2.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/eastasianwidth@0.2.0", - "name" : "eastasianwidth", - "version" : "0.2.0", - "purl" : "pkg:npm/eastasianwidth@0.2.0" + "type": "library", + "bom-ref": "pkg:npm/emoji-regex@9.2.2", + "name": "emoji-regex", + "version": "9.2.2", + "purl": "pkg:npm/emoji-regex@9.2.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/emoji-regex@9.2.2", - "name" : "emoji-regex", - "version" : "9.2.2", - "purl" : "pkg:npm/emoji-regex@9.2.2" + "type": "library", + "bom-ref": "pkg:npm/ansi-regex@5.0.1", + "name": "ansi-regex", + "version": "5.0.1", + "purl": "pkg:npm/ansi-regex@5.0.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/ansi-regex@5.0.1", - "name" : "ansi-regex", - "version" : "5.0.1", - "purl" : "pkg:npm/ansi-regex@5.0.1" + "type": "library", + "bom-ref": "pkg:npm/ansi-regex@6.1.0", + "name": "ansi-regex", + "version": "6.1.0", + "purl": "pkg:npm/ansi-regex@6.1.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/ansi-regex@6.1.0", - "name" : "ansi-regex", - "version" : "6.1.0", - "purl" : "pkg:npm/ansi-regex@6.1.0" + "type": "library", + "bom-ref": "pkg:npm/has-flag@3.0.0", + "name": "has-flag", + "version": "3.0.0", + "purl": "pkg:npm/has-flag@3.0.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/has-flag@3.0.0", - "name" : "has-flag", - "version" : "3.0.0", - "purl" : "pkg:npm/has-flag@3.0.0" + "type": "library", + "bom-ref": "pkg:npm/chownr@3.0.0", + "name": "chownr", + "version": "3.0.0", + "purl": "pkg:npm/chownr@3.0.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/chownr@3.0.0", - "name" : "chownr", - "version" : "3.0.0", - "purl" : "pkg:npm/chownr@3.0.0" + "type": "library", + "bom-ref": "pkg:npm/mkdirp@3.0.1", + "name": "mkdirp", + "version": "3.0.1", + "purl": "pkg:npm/mkdirp@3.0.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/mkdirp@3.0.1", - "name" : "mkdirp", - "version" : "3.0.1", - "purl" : "pkg:npm/mkdirp@3.0.1" + "type": "library", + "bom-ref": "pkg:npm/yallist@5.0.0", + "name": "yallist", + "version": "5.0.0", + "purl": "pkg:npm/yallist@5.0.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/yallist@5.0.0", - "name" : "yallist", - "version" : "5.0.0", - "purl" : "pkg:npm/yallist@5.0.0" + "type": "library", + "bom-ref": "pkg:npm/fdir@6.4.3", + "name": "fdir", + "version": "6.4.3", + "purl": "pkg:npm/fdir@6.4.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/fdir@6.4.3", - "name" : "fdir", - "version" : "6.4.3", - "purl" : "pkg:npm/fdir@6.4.3" + "type": "library", + "bom-ref": "pkg:npm/picomatch@4.0.2", + "name": "picomatch", + "version": "4.0.2", + "purl": "pkg:npm/picomatch@4.0.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/picomatch@4.0.2", - "name" : "picomatch", - "version" : "4.0.2", - "purl" : "pkg:npm/picomatch@4.0.2" + "type": "library", + "bom-ref": "pkg:npm/is-number@7.0.0", + "name": "is-number", + "version": "7.0.0", + "purl": "pkg:npm/is-number@7.0.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/is-number@7.0.0", - "name" : "is-number", - "version" : "7.0.0", - "purl" : "pkg:npm/is-number@7.0.0" + "type": "library", + "bom-ref": "pkg:npm/media-typer@0.3.0", + "name": "media-typer", + "version": "0.3.0", + "purl": "pkg:npm/media-typer@0.3.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/media-typer@0.3.0", - "name" : "media-typer", - "version" : "0.3.0", - "purl" : "pkg:npm/media-typer@0.3.0" + "type": "library", + "bom-ref": "pkg:npm/unique-slug@5.0.0", + "name": "unique-slug", + "version": "5.0.0", + "purl": "pkg:npm/unique-slug@5.0.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/unique-slug@5.0.0", - "name" : "unique-slug", - "version" : "5.0.0", - "purl" : "pkg:npm/unique-slug@5.0.0" + "type": "library", + "bom-ref": "pkg:npm/imurmurhash@0.1.4", + "name": "imurmurhash", + "version": "0.1.4", + "purl": "pkg:npm/imurmurhash@0.1.4" }, { - "type" : "library", - "bom-ref" : "pkg:npm/imurmurhash@0.1.4", - "name" : "imurmurhash", - "version" : "0.1.4", - "purl" : "pkg:npm/imurmurhash@0.1.4" + "type": "library", + "bom-ref": "pkg:npm/isexe@2.0.0", + "name": "isexe", + "version": "2.0.0", + "purl": "pkg:npm/isexe@2.0.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/isexe@2.0.0", - "name" : "isexe", - "version" : "2.0.0", - "purl" : "pkg:npm/isexe@2.0.0" + "type": "library", + "bom-ref": "pkg:npm/isexe@3.1.1", + "name": "isexe", + "version": "3.1.1", + "purl": "pkg:npm/isexe@3.1.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/isexe@3.1.1", - "name" : "isexe", - "version" : "3.1.1", - "purl" : "pkg:npm/isexe@3.1.1" - }, - { - "type" : "library", - "bom-ref" : "pkg:npm/ansi-styles@6.2.1", - "name" : "ansi-styles", - "version" : "6.2.1", - "purl" : "pkg:npm/ansi-styles@6.2.1" + "type": "library", + "bom-ref": "pkg:npm/ansi-styles@6.2.1", + "name": "ansi-styles", + "version": "6.2.1", + "purl": "pkg:npm/ansi-styles@6.2.1" } ], - "dependencies" : [ + "dependencies": [ { - "ref" : "pkg:npm/backend@1.0.0", - "dependsOn" : [ + "ref": "pkg:npm/backend@1.0.0", + "dependsOn": [ "pkg:npm/%40hapi/joi@17.1.1", "pkg:npm/axios@0.19.2", "pkg:npm/backend@0.0.0", @@ -1738,18 +1731,18 @@ ] }, { - "ref" : "pkg:npm/%40hapi/address@4.1.0", - "dependsOn" : [ + "ref": "pkg:npm/%40hapi/address@4.1.0", + "dependsOn": [ "pkg:npm/%40hapi/hoek@9.3.0" ] }, { - "ref" : "pkg:npm/%40hapi/hoek@9.3.0", - "dependsOn" : [ ] + "ref": "pkg:npm/%40hapi/hoek@9.3.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/%40hapi/joi@17.1.1", - "dependsOn" : [ + "ref": "pkg:npm/%40hapi/joi@17.1.1", + "dependsOn": [ "pkg:npm/%40hapi/address@4.1.0", "pkg:npm/%40hapi/formula@2.0.0", "pkg:npm/%40hapi/hoek@9.3.0", @@ -1758,22 +1751,22 @@ ] }, { - "ref" : "pkg:npm/%40hapi/formula@2.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/%40hapi/formula@2.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/%40hapi/pinpoint@2.0.1", - "dependsOn" : [ ] + "ref": "pkg:npm/%40hapi/pinpoint@2.0.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/%40hapi/topo@5.1.0", - "dependsOn" : [ + "ref": "pkg:npm/%40hapi/topo@5.1.0", + "dependsOn": [ "pkg:npm/%40hapi/hoek@9.3.0" ] }, { - "ref" : "pkg:npm/%40isaacs/cliui@8.0.2", - "dependsOn" : [ + "ref": "pkg:npm/%40isaacs/cliui@8.0.2", + "dependsOn": [ "pkg:npm/string-width@4.2.3", "pkg:npm/string-width@5.1.2", "pkg:npm/strip-ansi@6.0.1", @@ -1783,62 +1776,62 @@ ] }, { - "ref" : "pkg:npm/string-width@4.2.3", - "dependsOn" : [ + "ref": "pkg:npm/string-width@4.2.3", + "dependsOn": [ "pkg:npm/emoji-regex@8.0.0", "pkg:npm/is-fullwidth-code-point@3.0.0", "pkg:npm/strip-ansi@6.0.1" ] }, { - "ref" : "pkg:npm/string-width@5.1.2", - "dependsOn" : [ + "ref": "pkg:npm/string-width@5.1.2", + "dependsOn": [ "pkg:npm/eastasianwidth@0.2.0", "pkg:npm/emoji-regex@9.2.2", "pkg:npm/strip-ansi@7.1.0" ] }, { - "ref" : "pkg:npm/strip-ansi@6.0.1", - "dependsOn" : [ + "ref": "pkg:npm/strip-ansi@6.0.1", + "dependsOn": [ "pkg:npm/ansi-regex@5.0.1" ] }, { - "ref" : "pkg:npm/strip-ansi@7.1.0", - "dependsOn" : [ + "ref": "pkg:npm/strip-ansi@7.1.0", + "dependsOn": [ "pkg:npm/ansi-regex@6.1.0" ] }, { - "ref" : "pkg:npm/wrap-ansi@7.0.0", - "dependsOn" : [ + "ref": "pkg:npm/wrap-ansi@7.0.0", + "dependsOn": [ "pkg:npm/ansi-styles@4.3.0", "pkg:npm/string-width@4.2.3", "pkg:npm/strip-ansi@6.0.1" ] }, { - "ref" : "pkg:npm/wrap-ansi@8.1.0", - "dependsOn" : [ + "ref": "pkg:npm/wrap-ansi@8.1.0", + "dependsOn": [ "pkg:npm/ansi-styles@6.2.1", "pkg:npm/string-width@5.1.2", "pkg:npm/strip-ansi@7.1.0" ] }, { - "ref" : "pkg:npm/%40isaacs/fs-minipass@4.0.1", - "dependsOn" : [ + "ref": "pkg:npm/%40isaacs/fs-minipass@4.0.1", + "dependsOn": [ "pkg:npm/minipass@7.1.2" ] }, { - "ref" : "pkg:npm/minipass@7.1.2", - "dependsOn" : [ ] + "ref": "pkg:npm/minipass@7.1.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/%40npmcli/agent@3.0.0", - "dependsOn" : [ + "ref": "pkg:npm/%40npmcli/agent@3.0.0", + "dependsOn": [ "pkg:npm/agent-base@7.1.3", "pkg:npm/http-proxy-agent@7.0.2", "pkg:npm/https-proxy-agent@7.0.6", @@ -1847,139 +1840,139 @@ ] }, { - "ref" : "pkg:npm/agent-base@7.1.3", - "dependsOn" : [ ] + "ref": "pkg:npm/agent-base@7.1.3", + "dependsOn": [] }, { - "ref" : "pkg:npm/http-proxy-agent@7.0.2", - "dependsOn" : [ + "ref": "pkg:npm/http-proxy-agent@7.0.2", + "dependsOn": [ "pkg:npm/agent-base@7.1.3", "pkg:npm/debug@4.4.0" ] }, { - "ref" : "pkg:npm/https-proxy-agent@7.0.6", - "dependsOn" : [ + "ref": "pkg:npm/https-proxy-agent@7.0.6", + "dependsOn": [ "pkg:npm/agent-base@7.1.3", "pkg:npm/debug@4.4.0" ] }, { - "ref" : "pkg:npm/lru-cache@10.4.3", - "dependsOn" : [ ] + "ref": "pkg:npm/lru-cache@10.4.3", + "dependsOn": [] }, { - "ref" : "pkg:npm/socks-proxy-agent@8.0.5", - "dependsOn" : [ + "ref": "pkg:npm/socks-proxy-agent@8.0.5", + "dependsOn": [ "pkg:npm/agent-base@7.1.3", "pkg:npm/debug@4.4.0", "pkg:npm/socks@2.8.4" ] }, { - "ref" : "pkg:npm/%40npmcli/fs@4.0.0", - "dependsOn" : [ + "ref": "pkg:npm/%40npmcli/fs@4.0.0", + "dependsOn": [ "pkg:npm/semver@7.7.1" ] }, { - "ref" : "pkg:npm/semver@7.7.1", - "dependsOn" : [ ] + "ref": "pkg:npm/semver@7.7.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/%40types/bson@4.0.5", - "dependsOn" : [ + "ref": "pkg:npm/%40types/bson@4.0.5", + "dependsOn": [ "pkg:npm/%40types/node@22.14.1" ] }, { - "ref" : "pkg:npm/%40types/node@22.14.1", - "dependsOn" : [ + "ref": "pkg:npm/%40types/node@22.14.1", + "dependsOn": [ "pkg:npm/undici-types@6.21.0" ] }, { - "ref" : "pkg:npm/%40types/mongodb@3.6.20", - "dependsOn" : [ + "ref": "pkg:npm/%40types/mongodb@3.6.20", + "dependsOn": [ "pkg:npm/%40types/bson@4.0.5", "pkg:npm/%40types/node@22.14.1" ] }, { - "ref" : "pkg:npm/undici-types@6.21.0", - "dependsOn" : [ ] + "ref": "pkg:npm/undici-types@6.21.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/accepts@1.3.8", - "dependsOn" : [ + "ref": "pkg:npm/accepts@1.3.8", + "dependsOn": [ "pkg:npm/mime-types@2.1.35", "pkg:npm/negotiator@0.6.3" ] }, { - "ref" : "pkg:npm/mime-types@2.1.35", - "dependsOn" : [ + "ref": "pkg:npm/mime-types@2.1.35", + "dependsOn": [ "pkg:npm/mime-db@1.52.0" ] }, { - "ref" : "pkg:npm/negotiator@0.6.3", - "dependsOn" : [ ] + "ref": "pkg:npm/negotiator@0.6.3", + "dependsOn": [] }, { - "ref" : "pkg:npm/ansi-styles@4.3.0", - "dependsOn" : [ + "ref": "pkg:npm/ansi-styles@4.3.0", + "dependsOn": [ "pkg:npm/color-convert@2.0.1" ] }, { - "ref" : "pkg:npm/color-convert@2.0.1", - "dependsOn" : [ + "ref": "pkg:npm/color-convert@2.0.1", + "dependsOn": [ "pkg:npm/color-name@1.1.4" ] }, { - "ref" : "pkg:npm/anymatch@3.1.3", - "dependsOn" : [ + "ref": "pkg:npm/anymatch@3.1.3", + "dependsOn": [ "pkg:npm/normalize-path@3.0.0", "pkg:npm/picomatch@2.3.1" ] }, { - "ref" : "pkg:npm/normalize-path@3.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/normalize-path@3.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/picomatch@2.3.1", - "dependsOn" : [ ] + "ref": "pkg:npm/picomatch@2.3.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/axios@0.19.2", - "dependsOn" : [ + "ref": "pkg:npm/axios@0.19.2", + "dependsOn": [ "pkg:npm/follow-redirects@1.5.10" ] }, { - "ref" : "pkg:npm/follow-redirects@1.5.10", - "dependsOn" : [ + "ref": "pkg:npm/follow-redirects@1.5.10", + "dependsOn": [ "pkg:npm/debug@3.1.0" ] }, { - "ref" : "pkg:npm/backend@0.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/backend@0.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/bcryptjs@2.4.3", - "dependsOn" : [ ] + "ref": "pkg:npm/bcryptjs@2.4.3", + "dependsOn": [] }, { - "ref" : "pkg:npm/dotenv@8.6.0", - "dependsOn" : [ ] + "ref": "pkg:npm/dotenv@8.6.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/express@4.21.2", - "dependsOn" : [ + "ref": "pkg:npm/express@4.21.2", + "dependsOn": [ "pkg:npm/accepts@1.3.8", "pkg:npm/array-flatten@1.1.1", "pkg:npm/body-parser@1.20.3", @@ -2014,8 +2007,8 @@ ] }, { - "ref" : "pkg:npm/jsonwebtoken@8.5.1", - "dependsOn" : [ + "ref": "pkg:npm/jsonwebtoken@8.5.1", + "dependsOn": [ "pkg:npm/jws@3.2.2", "pkg:npm/lodash.includes@4.3.0", "pkg:npm/lodash.isboolean@3.0.3", @@ -2029,8 +2022,8 @@ ] }, { - "ref" : "pkg:npm/mongoose@5.13.23", - "dependsOn" : [ + "ref": "pkg:npm/mongoose@5.13.23", + "dependsOn": [ "pkg:npm/%40types/bson@4.0.5", "pkg:npm/%40types/mongodb@3.6.20", "pkg:npm/bson@1.1.6", @@ -2048,8 +2041,8 @@ ] }, { - "ref" : "pkg:npm/nodemon@2.0.22", - "dependsOn" : [ + "ref": "pkg:npm/nodemon@2.0.22", + "dependsOn": [ "pkg:npm/chokidar@3.6.0", "pkg:npm/debug@3.2.7", "pkg:npm/ignore-by-default@1.0.1", @@ -2063,15 +2056,15 @@ ] }, { - "ref" : "pkg:npm/bl@2.2.1", - "dependsOn" : [ + "ref": "pkg:npm/bl@2.2.1", + "dependsOn": [ "pkg:npm/readable-stream@2.3.8", "pkg:npm/safe-buffer@5.2.1" ] }, { - "ref" : "pkg:npm/readable-stream@2.3.8", - "dependsOn" : [ + "ref": "pkg:npm/readable-stream@2.3.8", + "dependsOn": [ "pkg:npm/core-util-is@1.0.3", "pkg:npm/inherits@2.0.4", "pkg:npm/isarray@1.0.0", @@ -2082,12 +2075,12 @@ ] }, { - "ref" : "pkg:npm/safe-buffer@5.2.1", - "dependsOn" : [ ] + "ref": "pkg:npm/safe-buffer@5.2.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/body-parser@1.20.3", - "dependsOn" : [ + "ref": "pkg:npm/body-parser@1.20.3", + "dependsOn": [ "pkg:npm/bytes@3.1.2", "pkg:npm/content-type@1.0.5", "pkg:npm/debug@2.6.9", @@ -2103,30 +2096,30 @@ ] }, { - "ref" : "pkg:npm/bytes@3.1.2", - "dependsOn" : [ ] + "ref": "pkg:npm/bytes@3.1.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/content-type@1.0.5", - "dependsOn" : [ ] + "ref": "pkg:npm/content-type@1.0.5", + "dependsOn": [] }, { - "ref" : "pkg:npm/debug@2.6.9", - "dependsOn" : [ + "ref": "pkg:npm/debug@2.6.9", + "dependsOn": [ "pkg:npm/ms@2.0.0" ] }, { - "ref" : "pkg:npm/depd@2.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/depd@2.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/destroy@1.2.0", - "dependsOn" : [ ] + "ref": "pkg:npm/destroy@1.2.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/http-errors@2.0.0", - "dependsOn" : [ + "ref": "pkg:npm/http-errors@2.0.0", + "dependsOn": [ "pkg:npm/depd@2.0.0", "pkg:npm/inherits@2.0.4", "pkg:npm/setprototypeof@1.2.0", @@ -2135,26 +2128,26 @@ ] }, { - "ref" : "pkg:npm/iconv-lite@0.4.24", - "dependsOn" : [ + "ref": "pkg:npm/iconv-lite@0.4.24", + "dependsOn": [ "pkg:npm/safer-buffer@2.1.2" ] }, { - "ref" : "pkg:npm/on-finished@2.4.1", - "dependsOn" : [ + "ref": "pkg:npm/on-finished@2.4.1", + "dependsOn": [ "pkg:npm/ee-first@1.1.1" ] }, { - "ref" : "pkg:npm/qs@6.13.0", - "dependsOn" : [ + "ref": "pkg:npm/qs@6.13.0", + "dependsOn": [ "pkg:npm/side-channel@1.1.0" ] }, { - "ref" : "pkg:npm/raw-body@2.5.2", - "dependsOn" : [ + "ref": "pkg:npm/raw-body@2.5.2", + "dependsOn": [ "pkg:npm/bytes@3.1.2", "pkg:npm/http-errors@2.0.0", "pkg:npm/iconv-lite@0.4.24", @@ -2162,52 +2155,52 @@ ] }, { - "ref" : "pkg:npm/type-is@1.6.18", - "dependsOn" : [ + "ref": "pkg:npm/type-is@1.6.18", + "dependsOn": [ "pkg:npm/media-typer@0.3.0", "pkg:npm/mime-types@2.1.35" ] }, { - "ref" : "pkg:npm/unpipe@1.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/unpipe@1.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/brace-expansion@1.1.11", - "dependsOn" : [ + "ref": "pkg:npm/brace-expansion@1.1.11", + "dependsOn": [ "pkg:npm/balanced-match@1.0.2", "pkg:npm/concat-map@0.0.1" ] }, { - "ref" : "pkg:npm/balanced-match@1.0.2", - "dependsOn" : [ ] + "ref": "pkg:npm/balanced-match@1.0.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/concat-map@0.0.1", - "dependsOn" : [ ] + "ref": "pkg:npm/concat-map@0.0.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/brace-expansion@2.0.1", - "dependsOn" : [ + "ref": "pkg:npm/brace-expansion@2.0.1", + "dependsOn": [ "pkg:npm/balanced-match@1.0.2" ] }, { - "ref" : "pkg:npm/braces@3.0.3", - "dependsOn" : [ + "ref": "pkg:npm/braces@3.0.3", + "dependsOn": [ "pkg:npm/fill-range@7.1.1" ] }, { - "ref" : "pkg:npm/fill-range@7.1.1", - "dependsOn" : [ + "ref": "pkg:npm/fill-range@7.1.1", + "dependsOn": [ "pkg:npm/to-regex-range@5.0.1" ] }, { - "ref" : "pkg:npm/cacache@19.0.1", - "dependsOn" : [ + "ref": "pkg:npm/cacache@19.0.1", + "dependsOn": [ "pkg:npm/%40npmcli/fs@4.0.0", "pkg:npm/fs-minipass@3.0.3", "pkg:npm/glob@10.4.5", @@ -2223,14 +2216,14 @@ ] }, { - "ref" : "pkg:npm/fs-minipass@3.0.3", - "dependsOn" : [ + "ref": "pkg:npm/fs-minipass@3.0.3", + "dependsOn": [ "pkg:npm/minipass@7.1.2" ] }, { - "ref" : "pkg:npm/glob@10.4.5", - "dependsOn" : [ + "ref": "pkg:npm/glob@10.4.5", + "dependsOn": [ "pkg:npm/foreground-child@3.3.1", "pkg:npm/jackspeak@3.4.3", "pkg:npm/minimatch@9.0.5", @@ -2240,36 +2233,36 @@ ] }, { - "ref" : "pkg:npm/minipass-collect@2.0.1", - "dependsOn" : [ + "ref": "pkg:npm/minipass-collect@2.0.1", + "dependsOn": [ "pkg:npm/minipass@7.1.2" ] }, { - "ref" : "pkg:npm/minipass-flush@1.0.5", - "dependsOn" : [ + "ref": "pkg:npm/minipass-flush@1.0.5", + "dependsOn": [ "pkg:npm/minipass@3.3.6" ] }, { - "ref" : "pkg:npm/minipass-pipeline@1.2.4", - "dependsOn" : [ + "ref": "pkg:npm/minipass-pipeline@1.2.4", + "dependsOn": [ "pkg:npm/minipass@3.3.6" ] }, { - "ref" : "pkg:npm/p-map@7.0.3", - "dependsOn" : [ ] + "ref": "pkg:npm/p-map@7.0.3", + "dependsOn": [] }, { - "ref" : "pkg:npm/ssri@12.0.0", - "dependsOn" : [ + "ref": "pkg:npm/ssri@12.0.0", + "dependsOn": [ "pkg:npm/minipass@7.1.2" ] }, { - "ref" : "pkg:npm/tar@7.4.3", - "dependsOn" : [ + "ref": "pkg:npm/tar@7.4.3", + "dependsOn": [ "pkg:npm/%40isaacs/fs-minipass@4.0.1", "pkg:npm/chownr@3.0.0", "pkg:npm/minipass@7.1.2", @@ -2279,36 +2272,36 @@ ] }, { - "ref" : "pkg:npm/unique-filename@4.0.0", - "dependsOn" : [ + "ref": "pkg:npm/unique-filename@4.0.0", + "dependsOn": [ "pkg:npm/unique-slug@5.0.0" ] }, { - "ref" : "pkg:npm/call-bind-apply-helpers@1.0.2", - "dependsOn" : [ + "ref": "pkg:npm/call-bind-apply-helpers@1.0.2", + "dependsOn": [ "pkg:npm/es-errors@1.3.0", "pkg:npm/function-bind@1.1.2" ] }, { - "ref" : "pkg:npm/es-errors@1.3.0", - "dependsOn" : [ ] + "ref": "pkg:npm/es-errors@1.3.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/function-bind@1.1.2", - "dependsOn" : [ ] + "ref": "pkg:npm/function-bind@1.1.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/call-bound@1.0.4", - "dependsOn" : [ + "ref": "pkg:npm/call-bound@1.0.4", + "dependsOn": [ "pkg:npm/call-bind-apply-helpers@1.0.2", "pkg:npm/get-intrinsic@1.3.0" ] }, { - "ref" : "pkg:npm/get-intrinsic@1.3.0", - "dependsOn" : [ + "ref": "pkg:npm/get-intrinsic@1.3.0", + "dependsOn": [ "pkg:npm/call-bind-apply-helpers@1.0.2", "pkg:npm/es-define-property@1.0.1", "pkg:npm/es-errors@1.3.0", @@ -2322,8 +2315,8 @@ ] }, { - "ref" : "pkg:npm/chokidar@3.6.0", - "dependsOn" : [ + "ref": "pkg:npm/chokidar@3.6.0", + "dependsOn": [ "pkg:npm/anymatch@3.1.3", "pkg:npm/braces@3.0.3", "pkg:npm/glob-parent@5.1.2", @@ -2334,152 +2327,152 @@ ] }, { - "ref" : "pkg:npm/glob-parent@5.1.2", - "dependsOn" : [ + "ref": "pkg:npm/glob-parent@5.1.2", + "dependsOn": [ "pkg:npm/is-glob@4.0.3" ] }, { - "ref" : "pkg:npm/is-binary-path@2.1.0", - "dependsOn" : [ + "ref": "pkg:npm/is-binary-path@2.1.0", + "dependsOn": [ "pkg:npm/binary-extensions@2.3.0" ] }, { - "ref" : "pkg:npm/is-glob@4.0.3", - "dependsOn" : [ + "ref": "pkg:npm/is-glob@4.0.3", + "dependsOn": [ "pkg:npm/is-extglob@2.1.1" ] }, { - "ref" : "pkg:npm/readdirp@3.6.0", - "dependsOn" : [ + "ref": "pkg:npm/readdirp@3.6.0", + "dependsOn": [ "pkg:npm/picomatch@2.3.1" ] }, { - "ref" : "pkg:npm/color-name@1.1.4", - "dependsOn" : [ ] + "ref": "pkg:npm/color-name@1.1.4", + "dependsOn": [] }, { - "ref" : "pkg:npm/content-disposition@0.5.4", - "dependsOn" : [ + "ref": "pkg:npm/content-disposition@0.5.4", + "dependsOn": [ "pkg:npm/safe-buffer@5.2.1" ] }, { - "ref" : "pkg:npm/cross-spawn@7.0.6", - "dependsOn" : [ + "ref": "pkg:npm/cross-spawn@7.0.6", + "dependsOn": [ "pkg:npm/path-key@3.1.1", "pkg:npm/shebang-command@2.0.0", "pkg:npm/which@2.0.2" ] }, { - "ref" : "pkg:npm/path-key@3.1.1", - "dependsOn" : [ ] + "ref": "pkg:npm/path-key@3.1.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/shebang-command@2.0.0", - "dependsOn" : [ + "ref": "pkg:npm/shebang-command@2.0.0", + "dependsOn": [ "pkg:npm/shebang-regex@3.0.0" ] }, { - "ref" : "pkg:npm/which@2.0.2", - "dependsOn" : [ + "ref": "pkg:npm/which@2.0.2", + "dependsOn": [ "pkg:npm/isexe@2.0.0" ] }, { - "ref" : "pkg:npm/ms@2.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/ms@2.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/debug@3.1.0", - "dependsOn" : [ + "ref": "pkg:npm/debug@3.1.0", + "dependsOn": [ "pkg:npm/ms@2.0.0" ] }, { - "ref" : "pkg:npm/debug@3.2.7", - "dependsOn" : [ + "ref": "pkg:npm/debug@3.2.7", + "dependsOn": [ "pkg:npm/ms@2.1.3" ] }, { - "ref" : "pkg:npm/ms@2.1.3", - "dependsOn" : [ ] + "ref": "pkg:npm/ms@2.1.3", + "dependsOn": [] }, { - "ref" : "pkg:npm/debug@4.4.0", - "dependsOn" : [ + "ref": "pkg:npm/debug@4.4.0", + "dependsOn": [ "pkg:npm/ms@2.1.3" ] }, { - "ref" : "pkg:npm/dunder-proto@1.0.1", - "dependsOn" : [ + "ref": "pkg:npm/dunder-proto@1.0.1", + "dependsOn": [ "pkg:npm/call-bind-apply-helpers@1.0.2", "pkg:npm/es-errors@1.3.0", "pkg:npm/gopd@1.2.0" ] }, { - "ref" : "pkg:npm/gopd@1.2.0", - "dependsOn" : [ ] + "ref": "pkg:npm/gopd@1.2.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/ecdsa-sig-formatter@1.0.11", - "dependsOn" : [ + "ref": "pkg:npm/ecdsa-sig-formatter@1.0.11", + "dependsOn": [ "pkg:npm/safe-buffer@5.2.1" ] }, { - "ref" : "pkg:npm/encoding@0.1.13", - "dependsOn" : [ + "ref": "pkg:npm/encoding@0.1.13", + "dependsOn": [ "pkg:npm/iconv-lite@0.6.3" ] }, { - "ref" : "pkg:npm/iconv-lite@0.6.3", - "dependsOn" : [ + "ref": "pkg:npm/iconv-lite@0.6.3", + "dependsOn": [ "pkg:npm/safer-buffer@2.1.2" ] }, { - "ref" : "pkg:npm/es-object-atoms@1.1.1", - "dependsOn" : [ + "ref": "pkg:npm/es-object-atoms@1.1.1", + "dependsOn": [ "pkg:npm/es-errors@1.3.0" ] }, { - "ref" : "pkg:npm/array-flatten@1.1.1", - "dependsOn" : [ ] + "ref": "pkg:npm/array-flatten@1.1.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/cookie-signature@1.0.6", - "dependsOn" : [ ] + "ref": "pkg:npm/cookie-signature@1.0.6", + "dependsOn": [] }, { - "ref" : "pkg:npm/cookie@0.7.1", - "dependsOn" : [ ] + "ref": "pkg:npm/cookie@0.7.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/encodeurl@2.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/encodeurl@2.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/escape-html@1.0.3", - "dependsOn" : [ ] + "ref": "pkg:npm/escape-html@1.0.3", + "dependsOn": [] }, { - "ref" : "pkg:npm/etag@1.8.1", - "dependsOn" : [ ] + "ref": "pkg:npm/etag@1.8.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/finalhandler@1.3.1", - "dependsOn" : [ + "ref": "pkg:npm/finalhandler@1.3.1", + "dependsOn": [ "pkg:npm/debug@2.6.9", "pkg:npm/encodeurl@2.0.0", "pkg:npm/escape-html@1.0.3", @@ -2490,39 +2483,39 @@ ] }, { - "ref" : "pkg:npm/fresh@0.5.2", - "dependsOn" : [ ] + "ref": "pkg:npm/fresh@0.5.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/merge-descriptors@1.0.3", - "dependsOn" : [ ] + "ref": "pkg:npm/merge-descriptors@1.0.3", + "dependsOn": [] }, { - "ref" : "pkg:npm/methods@1.1.2", - "dependsOn" : [ ] + "ref": "pkg:npm/methods@1.1.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/parseurl@1.3.3", - "dependsOn" : [ ] + "ref": "pkg:npm/parseurl@1.3.3", + "dependsOn": [] }, { - "ref" : "pkg:npm/path-to-regexp@0.1.12", - "dependsOn" : [ ] + "ref": "pkg:npm/path-to-regexp@0.1.12", + "dependsOn": [] }, { - "ref" : "pkg:npm/proxy-addr@2.0.7", - "dependsOn" : [ + "ref": "pkg:npm/proxy-addr@2.0.7", + "dependsOn": [ "pkg:npm/forwarded@0.2.0", "pkg:npm/ipaddr.js@1.9.1" ] }, { - "ref" : "pkg:npm/range-parser@1.2.1", - "dependsOn" : [ ] + "ref": "pkg:npm/range-parser@1.2.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/send@0.19.0", - "dependsOn" : [ + "ref": "pkg:npm/send@0.19.0", + "dependsOn": [ "pkg:npm/debug@2.6.9", "pkg:npm/depd@2.0.0", "pkg:npm/destroy@1.2.0", @@ -2539,8 +2532,8 @@ ] }, { - "ref" : "pkg:npm/serve-static@1.16.2", - "dependsOn" : [ + "ref": "pkg:npm/serve-static@1.16.2", + "dependsOn": [ "pkg:npm/encodeurl@2.0.0", "pkg:npm/escape-html@1.0.3", "pkg:npm/parseurl@1.3.3", @@ -2548,47 +2541,47 @@ ] }, { - "ref" : "pkg:npm/setprototypeof@1.2.0", - "dependsOn" : [ ] + "ref": "pkg:npm/setprototypeof@1.2.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/statuses@2.0.1", - "dependsOn" : [ ] + "ref": "pkg:npm/statuses@2.0.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/utils-merge@1.0.1", - "dependsOn" : [ ] + "ref": "pkg:npm/utils-merge@1.0.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/vary@1.1.2", - "dependsOn" : [ ] + "ref": "pkg:npm/vary@1.1.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/to-regex-range@5.0.1", - "dependsOn" : [ + "ref": "pkg:npm/to-regex-range@5.0.1", + "dependsOn": [ "pkg:npm/is-number@7.0.0" ] }, { - "ref" : "pkg:npm/foreground-child@3.3.1", - "dependsOn" : [ + "ref": "pkg:npm/foreground-child@3.3.1", + "dependsOn": [ "pkg:npm/cross-spawn@7.0.6", "pkg:npm/signal-exit@4.1.0" ] }, { - "ref" : "pkg:npm/signal-exit@4.1.0", - "dependsOn" : [ ] + "ref": "pkg:npm/signal-exit@4.1.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/fsevents%40patch:fsevents@2.3.3", - "dependsOn" : [ + "ref": "pkg:npm/fsevents%40patch:fsevents@2.3.3", + "dependsOn": [ "pkg:npm/node-gyp@11.2.0" ] }, { - "ref" : "pkg:npm/node-gyp@11.2.0", - "dependsOn" : [ + "ref": "pkg:npm/node-gyp@11.2.0", + "dependsOn": [ "pkg:npm/env-paths@2.2.1", "pkg:npm/exponential-backoff@3.1.2", "pkg:npm/graceful-fs@4.2.11", @@ -2602,147 +2595,147 @@ ] }, { - "ref" : "pkg:npm/es-define-property@1.0.1", - "dependsOn" : [ ] + "ref": "pkg:npm/es-define-property@1.0.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/get-proto@1.0.1", - "dependsOn" : [ + "ref": "pkg:npm/get-proto@1.0.1", + "dependsOn": [ "pkg:npm/dunder-proto@1.0.1", "pkg:npm/es-object-atoms@1.1.1" ] }, { - "ref" : "pkg:npm/has-symbols@1.1.0", - "dependsOn" : [ ] + "ref": "pkg:npm/has-symbols@1.1.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/hasown@2.0.2", - "dependsOn" : [ + "ref": "pkg:npm/hasown@2.0.2", + "dependsOn": [ "pkg:npm/function-bind@1.1.2" ] }, { - "ref" : "pkg:npm/math-intrinsics@1.1.0", - "dependsOn" : [ ] + "ref": "pkg:npm/math-intrinsics@1.1.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/jackspeak@3.4.3", - "dependsOn" : [ + "ref": "pkg:npm/jackspeak@3.4.3", + "dependsOn": [ "pkg:npm/%40isaacs/cliui@8.0.2", "pkg:npm/%40pkgjs/parseargs@0.11.0" ] }, { - "ref" : "pkg:npm/minimatch@9.0.5", - "dependsOn" : [ + "ref": "pkg:npm/minimatch@9.0.5", + "dependsOn": [ "pkg:npm/brace-expansion@2.0.1" ] }, { - "ref" : "pkg:npm/package-json-from-dist@1.0.1", - "dependsOn" : [ ] + "ref": "pkg:npm/package-json-from-dist@1.0.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/path-scurry@1.11.1", - "dependsOn" : [ + "ref": "pkg:npm/path-scurry@1.11.1", + "dependsOn": [ "pkg:npm/lru-cache@10.4.3", "pkg:npm/minipass@7.1.2" ] }, { - "ref" : "pkg:npm/inherits@2.0.4", - "dependsOn" : [ ] + "ref": "pkg:npm/inherits@2.0.4", + "dependsOn": [] }, { - "ref" : "pkg:npm/toidentifier@1.0.1", - "dependsOn" : [ ] + "ref": "pkg:npm/toidentifier@1.0.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/safer-buffer@2.1.2", - "dependsOn" : [ ] + "ref": "pkg:npm/safer-buffer@2.1.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/ip-address@9.0.5", - "dependsOn" : [ + "ref": "pkg:npm/ip-address@9.0.5", + "dependsOn": [ "pkg:npm/jsbn@1.1.0", "pkg:npm/sprintf-js@1.1.3" ] }, { - "ref" : "pkg:npm/jsbn@1.1.0", - "dependsOn" : [ ] + "ref": "pkg:npm/jsbn@1.1.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/sprintf-js@1.1.3", - "dependsOn" : [ ] + "ref": "pkg:npm/sprintf-js@1.1.3", + "dependsOn": [] }, { - "ref" : "pkg:npm/binary-extensions@2.3.0", - "dependsOn" : [ ] + "ref": "pkg:npm/binary-extensions@2.3.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/is-extglob@2.1.1", - "dependsOn" : [ ] + "ref": "pkg:npm/is-extglob@2.1.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/%40pkgjs/parseargs@0.11.0", - "dependsOn" : [ ] + "ref": "pkg:npm/%40pkgjs/parseargs@0.11.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/jws@3.2.2", - "dependsOn" : [ + "ref": "pkg:npm/jws@3.2.2", + "dependsOn": [ "pkg:npm/jwa@1.4.1", "pkg:npm/safe-buffer@5.2.1" ] }, { - "ref" : "pkg:npm/lodash.includes@4.3.0", - "dependsOn" : [ ] + "ref": "pkg:npm/lodash.includes@4.3.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/lodash.isboolean@3.0.3", - "dependsOn" : [ ] + "ref": "pkg:npm/lodash.isboolean@3.0.3", + "dependsOn": [] }, { - "ref" : "pkg:npm/lodash.isinteger@4.0.4", - "dependsOn" : [ ] + "ref": "pkg:npm/lodash.isinteger@4.0.4", + "dependsOn": [] }, { - "ref" : "pkg:npm/lodash.isnumber@3.0.3", - "dependsOn" : [ ] + "ref": "pkg:npm/lodash.isnumber@3.0.3", + "dependsOn": [] }, { - "ref" : "pkg:npm/lodash.isplainobject@4.0.6", - "dependsOn" : [ ] + "ref": "pkg:npm/lodash.isplainobject@4.0.6", + "dependsOn": [] }, { - "ref" : "pkg:npm/lodash.isstring@4.0.1", - "dependsOn" : [ ] + "ref": "pkg:npm/lodash.isstring@4.0.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/lodash.once@4.1.1", - "dependsOn" : [ ] + "ref": "pkg:npm/lodash.once@4.1.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/semver@5.7.2", - "dependsOn" : [ ] + "ref": "pkg:npm/semver@5.7.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/jwa@1.4.1", - "dependsOn" : [ + "ref": "pkg:npm/jwa@1.4.1", + "dependsOn": [ "pkg:npm/buffer-equal-constant-time@1.0.1", "pkg:npm/ecdsa-sig-formatter@1.0.11", "pkg:npm/safe-buffer@5.2.1" ] }, { - "ref" : "pkg:npm/buffer-equal-constant-time@1.0.1", - "dependsOn" : [ ] + "ref": "pkg:npm/buffer-equal-constant-time@1.0.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/make-fetch-happen@14.0.3", - "dependsOn" : [ + "ref": "pkg:npm/make-fetch-happen@14.0.3", + "dependsOn": [ "pkg:npm/%40npmcli/agent@3.0.0", "pkg:npm/cacache@19.0.1", "pkg:npm/http-cache-semantics@4.1.1", @@ -2757,12 +2750,12 @@ ] }, { - "ref" : "pkg:npm/http-cache-semantics@4.1.1", - "dependsOn" : [ ] + "ref": "pkg:npm/http-cache-semantics@4.1.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/minipass-fetch@4.0.1", - "dependsOn" : [ + "ref": "pkg:npm/minipass-fetch@4.0.1", + "dependsOn": [ "pkg:npm/encoding@0.1.13", "pkg:npm/minipass-sized@1.0.3", "pkg:npm/minipass@7.1.2", @@ -2770,55 +2763,55 @@ ] }, { - "ref" : "pkg:npm/negotiator@1.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/negotiator@1.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/proc-log@5.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/proc-log@5.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/promise-retry@2.0.1", - "dependsOn" : [ + "ref": "pkg:npm/promise-retry@2.0.1", + "dependsOn": [ "pkg:npm/err-code@2.0.3", "pkg:npm/retry@0.12.0" ] }, { - "ref" : "pkg:npm/mime-db@1.52.0", - "dependsOn" : [ ] + "ref": "pkg:npm/mime-db@1.52.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/minimatch@3.1.2", - "dependsOn" : [ + "ref": "pkg:npm/minimatch@3.1.2", + "dependsOn": [ "pkg:npm/brace-expansion@1.1.11" ] }, { - "ref" : "pkg:npm/minipass-sized@1.0.3", - "dependsOn" : [ + "ref": "pkg:npm/minipass-sized@1.0.3", + "dependsOn": [ "pkg:npm/minipass@3.3.6" ] }, { - "ref" : "pkg:npm/minizlib@3.0.2", - "dependsOn" : [ + "ref": "pkg:npm/minizlib@3.0.2", + "dependsOn": [ "pkg:npm/minipass@7.1.2" ] }, { - "ref" : "pkg:npm/minipass@3.3.6", - "dependsOn" : [ + "ref": "pkg:npm/minipass@3.3.6", + "dependsOn": [ "pkg:npm/yallist@4.0.0" ] }, { - "ref" : "pkg:npm/yallist@4.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/yallist@4.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/mongodb@3.7.4", - "dependsOn" : [ + "ref": "pkg:npm/mongodb@3.7.4", + "dependsOn": [ "pkg:npm/bl@2.2.1", "pkg:npm/bson@1.1.6", "pkg:npm/denque@1.5.1", @@ -2828,40 +2821,40 @@ ] }, { - "ref" : "pkg:npm/bson@1.1.6", - "dependsOn" : [ ] + "ref": "pkg:npm/bson@1.1.6", + "dependsOn": [] }, { - "ref" : "pkg:npm/denque@1.5.1", - "dependsOn" : [ ] + "ref": "pkg:npm/denque@1.5.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/optional-require@1.1.8", - "dependsOn" : [ + "ref": "pkg:npm/optional-require@1.1.8", + "dependsOn": [ "pkg:npm/require-at@1.0.6" ] }, { - "ref" : "pkg:npm/saslprep@1.0.3", - "dependsOn" : [ + "ref": "pkg:npm/saslprep@1.0.3", + "dependsOn": [ "pkg:npm/sparse-bitfield@3.0.3" ] }, { - "ref" : "pkg:npm/kareem@2.3.2", - "dependsOn" : [ ] + "ref": "pkg:npm/kareem@2.3.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/mongoose-legacy-pluralize@1.0.2", - "dependsOn" : [ ] + "ref": "pkg:npm/mongoose-legacy-pluralize@1.0.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/mpath@0.8.4", - "dependsOn" : [ ] + "ref": "pkg:npm/mpath@0.8.4", + "dependsOn": [] }, { - "ref" : "pkg:npm/mquery@3.2.5", - "dependsOn" : [ + "ref": "pkg:npm/mquery@3.2.5", + "dependsOn": [ "pkg:npm/bluebird@3.5.1", "pkg:npm/debug@3.1.0", "pkg:npm/regexp-clone@1.0.0", @@ -2870,123 +2863,123 @@ ] }, { - "ref" : "pkg:npm/ms@2.1.2", - "dependsOn" : [ ] + "ref": "pkg:npm/ms@2.1.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/optional-require@1.0.3", - "dependsOn" : [ ] + "ref": "pkg:npm/optional-require@1.0.3", + "dependsOn": [] }, { - "ref" : "pkg:npm/regexp-clone@1.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/regexp-clone@1.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/sift@13.5.2", - "dependsOn" : [ ] + "ref": "pkg:npm/sift@13.5.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/sliced@1.0.1", - "dependsOn" : [ ] + "ref": "pkg:npm/sliced@1.0.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/bluebird@3.5.1", - "dependsOn" : [ ] + "ref": "pkg:npm/bluebird@3.5.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/safe-buffer@5.1.2", - "dependsOn" : [ ] + "ref": "pkg:npm/safe-buffer@5.1.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/env-paths@2.2.1", - "dependsOn" : [ ] + "ref": "pkg:npm/env-paths@2.2.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/exponential-backoff@3.1.2", - "dependsOn" : [ ] + "ref": "pkg:npm/exponential-backoff@3.1.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/graceful-fs@4.2.11", - "dependsOn" : [ ] + "ref": "pkg:npm/graceful-fs@4.2.11", + "dependsOn": [] }, { - "ref" : "pkg:npm/nopt@8.1.0", - "dependsOn" : [ + "ref": "pkg:npm/nopt@8.1.0", + "dependsOn": [ "pkg:npm/abbrev@3.0.1" ] }, { - "ref" : "pkg:npm/tinyglobby@0.2.12", - "dependsOn" : [ + "ref": "pkg:npm/tinyglobby@0.2.12", + "dependsOn": [ "pkg:npm/fdir@6.4.3", "pkg:npm/picomatch@4.0.2" ] }, { - "ref" : "pkg:npm/which@5.0.0", - "dependsOn" : [ + "ref": "pkg:npm/which@5.0.0", + "dependsOn": [ "pkg:npm/isexe@3.1.1" ] }, { - "ref" : "pkg:npm/ignore-by-default@1.0.1", - "dependsOn" : [ ] + "ref": "pkg:npm/ignore-by-default@1.0.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/pstree.remy@1.1.8", - "dependsOn" : [ ] + "ref": "pkg:npm/pstree.remy@1.1.8", + "dependsOn": [] }, { - "ref" : "pkg:npm/simple-update-notifier@1.1.0", - "dependsOn" : [ + "ref": "pkg:npm/simple-update-notifier@1.1.0", + "dependsOn": [ "pkg:npm/semver@7.0.0" ] }, { - "ref" : "pkg:npm/supports-color@5.5.0", - "dependsOn" : [ + "ref": "pkg:npm/supports-color@5.5.0", + "dependsOn": [ "pkg:npm/has-flag@3.0.0" ] }, { - "ref" : "pkg:npm/touch@3.1.1", - "dependsOn" : [ ] + "ref": "pkg:npm/touch@3.1.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/undefsafe@2.0.5", - "dependsOn" : [ ] + "ref": "pkg:npm/undefsafe@2.0.5", + "dependsOn": [] }, { - "ref" : "pkg:npm/abbrev@3.0.1", - "dependsOn" : [ ] + "ref": "pkg:npm/abbrev@3.0.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/ee-first@1.1.1", - "dependsOn" : [ ] + "ref": "pkg:npm/ee-first@1.1.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/require-at@1.0.6", - "dependsOn" : [ ] + "ref": "pkg:npm/require-at@1.0.6", + "dependsOn": [] }, { - "ref" : "pkg:npm/err-code@2.0.3", - "dependsOn" : [ ] + "ref": "pkg:npm/err-code@2.0.3", + "dependsOn": [] }, { - "ref" : "pkg:npm/retry@0.12.0", - "dependsOn" : [ ] + "ref": "pkg:npm/retry@0.12.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/forwarded@0.2.0", - "dependsOn" : [ ] + "ref": "pkg:npm/forwarded@0.2.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/ipaddr.js@1.9.1", - "dependsOn" : [ ] + "ref": "pkg:npm/ipaddr.js@1.9.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/side-channel@1.1.0", - "dependsOn" : [ + "ref": "pkg:npm/side-channel@1.1.0", + "dependsOn": [ "pkg:npm/es-errors@1.3.0", "pkg:npm/object-inspect@1.13.4", "pkg:npm/side-channel-list@1.0.0", @@ -2995,59 +2988,59 @@ ] }, { - "ref" : "pkg:npm/core-util-is@1.0.3", - "dependsOn" : [ ] + "ref": "pkg:npm/core-util-is@1.0.3", + "dependsOn": [] }, { - "ref" : "pkg:npm/isarray@1.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/isarray@1.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/process-nextick-args@2.0.1", - "dependsOn" : [ ] + "ref": "pkg:npm/process-nextick-args@2.0.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/string_decoder@1.1.1", - "dependsOn" : [ + "ref": "pkg:npm/string_decoder@1.1.1", + "dependsOn": [ "pkg:npm/safe-buffer@5.1.2" ] }, { - "ref" : "pkg:npm/util-deprecate@1.0.2", - "dependsOn" : [ ] + "ref": "pkg:npm/util-deprecate@1.0.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/sparse-bitfield@3.0.3", - "dependsOn" : [ + "ref": "pkg:npm/sparse-bitfield@3.0.3", + "dependsOn": [ "pkg:npm/memory-pager@1.5.0" ] }, { - "ref" : "pkg:npm/encodeurl@1.0.2", - "dependsOn" : [ ] + "ref": "pkg:npm/encodeurl@1.0.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/mime@1.6.0", - "dependsOn" : [ ] + "ref": "pkg:npm/mime@1.6.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/shebang-regex@3.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/shebang-regex@3.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/side-channel-list@1.0.0", - "dependsOn" : [ + "ref": "pkg:npm/side-channel-list@1.0.0", + "dependsOn": [ "pkg:npm/es-errors@1.3.0", "pkg:npm/object-inspect@1.13.4" ] }, { - "ref" : "pkg:npm/object-inspect@1.13.4", - "dependsOn" : [ ] + "ref": "pkg:npm/object-inspect@1.13.4", + "dependsOn": [] }, { - "ref" : "pkg:npm/side-channel-map@1.0.1", - "dependsOn" : [ + "ref": "pkg:npm/side-channel-map@1.0.1", + "dependsOn": [ "pkg:npm/call-bound@1.0.4", "pkg:npm/es-errors@1.3.0", "pkg:npm/get-intrinsic@1.3.0", @@ -3055,8 +3048,8 @@ ] }, { - "ref" : "pkg:npm/side-channel-weakmap@1.0.2", - "dependsOn" : [ + "ref": "pkg:npm/side-channel-weakmap@1.0.2", + "dependsOn": [ "pkg:npm/call-bound@1.0.4", "pkg:npm/es-errors@1.3.0", "pkg:npm/get-intrinsic@1.3.0", @@ -3065,101 +3058,101 @@ ] }, { - "ref" : "pkg:npm/semver@7.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/semver@7.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/socks@2.8.4", - "dependsOn" : [ + "ref": "pkg:npm/socks@2.8.4", + "dependsOn": [ "pkg:npm/ip-address@9.0.5", "pkg:npm/smart-buffer@4.2.0" ] }, { - "ref" : "pkg:npm/smart-buffer@4.2.0", - "dependsOn" : [ ] + "ref": "pkg:npm/smart-buffer@4.2.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/memory-pager@1.5.0", - "dependsOn" : [ ] + "ref": "pkg:npm/memory-pager@1.5.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/emoji-regex@8.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/emoji-regex@8.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/is-fullwidth-code-point@3.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/is-fullwidth-code-point@3.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/eastasianwidth@0.2.0", - "dependsOn" : [ ] + "ref": "pkg:npm/eastasianwidth@0.2.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/emoji-regex@9.2.2", - "dependsOn" : [ ] + "ref": "pkg:npm/emoji-regex@9.2.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/ansi-regex@5.0.1", - "dependsOn" : [ ] + "ref": "pkg:npm/ansi-regex@5.0.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/ansi-regex@6.1.0", - "dependsOn" : [ ] + "ref": "pkg:npm/ansi-regex@6.1.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/has-flag@3.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/has-flag@3.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/chownr@3.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/chownr@3.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/mkdirp@3.0.1", - "dependsOn" : [ ] + "ref": "pkg:npm/mkdirp@3.0.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/yallist@5.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/yallist@5.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/fdir@6.4.3", - "dependsOn" : [ ] + "ref": "pkg:npm/fdir@6.4.3", + "dependsOn": [] }, { - "ref" : "pkg:npm/picomatch@4.0.2", - "dependsOn" : [ ] + "ref": "pkg:npm/picomatch@4.0.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/is-number@7.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/is-number@7.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/media-typer@0.3.0", - "dependsOn" : [ ] + "ref": "pkg:npm/media-typer@0.3.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/unique-slug@5.0.0", - "dependsOn" : [ + "ref": "pkg:npm/unique-slug@5.0.0", + "dependsOn": [ "pkg:npm/imurmurhash@0.1.4" ] }, { - "ref" : "pkg:npm/imurmurhash@0.1.4", - "dependsOn" : [ ] + "ref": "pkg:npm/imurmurhash@0.1.4", + "dependsOn": [] }, { - "ref" : "pkg:npm/isexe@2.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/isexe@2.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/isexe@3.1.1", - "dependsOn" : [ ] + "ref": "pkg:npm/isexe@3.1.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/ansi-styles@6.2.1", - "dependsOn" : [ ] + "ref": "pkg:npm/ansi-styles@6.2.1", + "dependsOn": [] } ] -} \ No newline at end of file +} diff --git a/test/providers/tst_manifests/yarn-classic/package_json_deps_with_exhortignore_object/stack_expected_sbom.json b/test/providers/tst_manifests/yarn-classic/package_json_deps_with_exhortignore_object/stack_expected_sbom.json index 552a0e7b..2115ef6d 100644 --- a/test/providers/tst_manifests/yarn-classic/package_json_deps_with_exhortignore_object/stack_expected_sbom.json +++ b/test/providers/tst_manifests/yarn-classic/package_json_deps_with_exhortignore_object/stack_expected_sbom.json @@ -1,1125 +1,1118 @@ { - "bomFormat" : "CycloneDX", - "specVersion" : "1.4", - "version" : 1, - "metadata" : { - "timestamp" : "2025-04-16T14:36:52Z", - "component" : { - "type" : "application", - "bom-ref" : "pkg:npm/backend@1.0.0", - "name" : "backend", - "version" : "1.0.0", - "purl" : "pkg:npm/backend@1.0.0" + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2025-04-16T14:36:52Z", + "component": { + "type": "application", + "bom-ref": "pkg:npm/backend@1.0.0", + "name": "backend", + "version": "1.0.0", + "purl": "pkg:npm/backend@1.0.0" } }, - "components" : [ + "components": [ { - "type" : "application", - "bom-ref" : "pkg:npm/backend@1.0.0", - "name" : "backend", - "version" : "1.0.0", - "purl" : "pkg:npm/backend@1.0.0" + "type": "library", + "bom-ref": "pkg:npm/%40hapi/joi@17.1.1", + "group": "@hapi", + "name": "joi", + "version": "17.1.1", + "purl": "pkg:npm/%40hapi/joi@17.1.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/%40hapi/joi@17.1.1", - "group" : "@hapi", - "name" : "joi", - "version" : "17.1.1", - "purl" : "pkg:npm/%40hapi/joi@17.1.1" + "type": "library", + "bom-ref": "pkg:npm/backend@0.0.0", + "name": "backend", + "version": "0.0.0", + "purl": "pkg:npm/backend@0.0.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/backend@0.0.0", - "name" : "backend", - "version" : "0.0.0", - "purl" : "pkg:npm/backend@0.0.0" + "type": "library", + "bom-ref": "pkg:npm/bcryptjs@2.4.3", + "name": "bcryptjs", + "version": "2.4.3", + "purl": "pkg:npm/bcryptjs@2.4.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/bcryptjs@2.4.3", - "name" : "bcryptjs", - "version" : "2.4.3", - "purl" : "pkg:npm/bcryptjs@2.4.3" + "type": "library", + "bom-ref": "pkg:npm/dotenv@8.6.0", + "name": "dotenv", + "version": "8.6.0", + "purl": "pkg:npm/dotenv@8.6.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/dotenv@8.6.0", - "name" : "dotenv", - "version" : "8.6.0", - "purl" : "pkg:npm/dotenv@8.6.0" + "type": "library", + "bom-ref": "pkg:npm/express@4.21.2", + "name": "express", + "version": "4.21.2", + "purl": "pkg:npm/express@4.21.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/express@4.21.2", - "name" : "express", - "version" : "4.21.2", - "purl" : "pkg:npm/express@4.21.2" + "type": "library", + "bom-ref": "pkg:npm/mongoose@5.13.23", + "name": "mongoose", + "version": "5.13.23", + "purl": "pkg:npm/mongoose@5.13.23" }, { - "type" : "library", - "bom-ref" : "pkg:npm/mongoose@5.13.23", - "name" : "mongoose", - "version" : "5.13.23", - "purl" : "pkg:npm/mongoose@5.13.23" + "type": "library", + "bom-ref": "pkg:npm/nodemon@2.0.22", + "name": "nodemon", + "version": "2.0.22", + "purl": "pkg:npm/nodemon@2.0.22" }, { - "type" : "library", - "bom-ref" : "pkg:npm/nodemon@2.0.22", - "name" : "nodemon", - "version" : "2.0.22", - "purl" : "pkg:npm/nodemon@2.0.22" + "type": "library", + "bom-ref": "pkg:npm/axios@0.19.2", + "name": "axios", + "version": "0.19.2", + "purl": "pkg:npm/axios@0.19.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/axios@0.19.2", - "name" : "axios", - "version" : "0.19.2", - "purl" : "pkg:npm/axios@0.19.2" + "type": "library", + "bom-ref": "pkg:npm/debug@2.6.9", + "name": "debug", + "version": "2.6.9", + "purl": "pkg:npm/debug@2.6.9" }, { - "type" : "library", - "bom-ref" : "pkg:npm/debug@2.6.9", - "name" : "debug", - "version" : "2.6.9", - "purl" : "pkg:npm/debug@2.6.9" + "type": "library", + "bom-ref": "pkg:npm/ms@2.1.3", + "name": "ms", + "version": "2.1.3", + "purl": "pkg:npm/ms@2.1.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/ms@2.1.3", - "name" : "ms", - "version" : "2.1.3", - "purl" : "pkg:npm/ms@2.1.3" + "type": "library", + "bom-ref": "pkg:npm/ms@2.0.0", + "name": "ms", + "version": "2.0.0", + "purl": "pkg:npm/ms@2.0.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/ms@2.0.0", - "name" : "ms", - "version" : "2.0.0", - "purl" : "pkg:npm/ms@2.0.0" + "type": "library", + "bom-ref": "pkg:npm/%40hapi/address@4.1.0", + "group": "@hapi", + "name": "address", + "version": "4.1.0", + "purl": "pkg:npm/%40hapi/address@4.1.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/%40hapi/address@4.1.0", - "group" : "@hapi", - "name" : "address", - "version" : "4.1.0", - "purl" : "pkg:npm/%40hapi/address@4.1.0" + "type": "library", + "bom-ref": "pkg:npm/%40hapi/formula@2.0.0", + "group": "@hapi", + "name": "formula", + "version": "2.0.0", + "purl": "pkg:npm/%40hapi/formula@2.0.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/%40hapi/formula@2.0.0", - "group" : "@hapi", - "name" : "formula", - "version" : "2.0.0", - "purl" : "pkg:npm/%40hapi/formula@2.0.0" + "type": "library", + "bom-ref": "pkg:npm/%40hapi/hoek@9.3.0", + "group": "@hapi", + "name": "hoek", + "version": "9.3.0", + "purl": "pkg:npm/%40hapi/hoek@9.3.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/%40hapi/hoek@9.3.0", - "group" : "@hapi", - "name" : "hoek", - "version" : "9.3.0", - "purl" : "pkg:npm/%40hapi/hoek@9.3.0" + "type": "library", + "bom-ref": "pkg:npm/%40hapi/pinpoint@2.0.1", + "group": "@hapi", + "name": "pinpoint", + "version": "2.0.1", + "purl": "pkg:npm/%40hapi/pinpoint@2.0.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/%40hapi/pinpoint@2.0.1", - "group" : "@hapi", - "name" : "pinpoint", - "version" : "2.0.1", - "purl" : "pkg:npm/%40hapi/pinpoint@2.0.1" + "type": "library", + "bom-ref": "pkg:npm/%40hapi/topo@5.1.0", + "group": "@hapi", + "name": "topo", + "version": "5.1.0", + "purl": "pkg:npm/%40hapi/topo@5.1.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/%40hapi/topo@5.1.0", - "group" : "@hapi", - "name" : "topo", - "version" : "5.1.0", - "purl" : "pkg:npm/%40hapi/topo@5.1.0" + "type": "library", + "bom-ref": "pkg:npm/accepts@1.3.8", + "name": "accepts", + "version": "1.3.8", + "purl": "pkg:npm/accepts@1.3.8" }, { - "type" : "library", - "bom-ref" : "pkg:npm/accepts@1.3.8", - "name" : "accepts", - "version" : "1.3.8", - "purl" : "pkg:npm/accepts@1.3.8" + "type": "library", + "bom-ref": "pkg:npm/array-flatten@1.1.1", + "name": "array-flatten", + "version": "1.1.1", + "purl": "pkg:npm/array-flatten@1.1.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/array-flatten@1.1.1", - "name" : "array-flatten", - "version" : "1.1.1", - "purl" : "pkg:npm/array-flatten@1.1.1" + "type": "library", + "bom-ref": "pkg:npm/body-parser@1.20.3", + "name": "body-parser", + "version": "1.20.3", + "purl": "pkg:npm/body-parser@1.20.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/body-parser@1.20.3", - "name" : "body-parser", - "version" : "1.20.3", - "purl" : "pkg:npm/body-parser@1.20.3" + "type": "library", + "bom-ref": "pkg:npm/content-disposition@0.5.4", + "name": "content-disposition", + "version": "0.5.4", + "purl": "pkg:npm/content-disposition@0.5.4" }, { - "type" : "library", - "bom-ref" : "pkg:npm/content-disposition@0.5.4", - "name" : "content-disposition", - "version" : "0.5.4", - "purl" : "pkg:npm/content-disposition@0.5.4" + "type": "library", + "bom-ref": "pkg:npm/content-type@1.0.5", + "name": "content-type", + "version": "1.0.5", + "purl": "pkg:npm/content-type@1.0.5" }, { - "type" : "library", - "bom-ref" : "pkg:npm/content-type@1.0.5", - "name" : "content-type", - "version" : "1.0.5", - "purl" : "pkg:npm/content-type@1.0.5" + "type": "library", + "bom-ref": "pkg:npm/cookie@0.7.1", + "name": "cookie", + "version": "0.7.1", + "purl": "pkg:npm/cookie@0.7.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/cookie@0.7.1", - "name" : "cookie", - "version" : "0.7.1", - "purl" : "pkg:npm/cookie@0.7.1" + "type": "library", + "bom-ref": "pkg:npm/cookie-signature@1.0.6", + "name": "cookie-signature", + "version": "1.0.6", + "purl": "pkg:npm/cookie-signature@1.0.6" }, { - "type" : "library", - "bom-ref" : "pkg:npm/cookie-signature@1.0.6", - "name" : "cookie-signature", - "version" : "1.0.6", - "purl" : "pkg:npm/cookie-signature@1.0.6" + "type": "library", + "bom-ref": "pkg:npm/depd@2.0.0", + "name": "depd", + "version": "2.0.0", + "purl": "pkg:npm/depd@2.0.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/depd@2.0.0", - "name" : "depd", - "version" : "2.0.0", - "purl" : "pkg:npm/depd@2.0.0" + "type": "library", + "bom-ref": "pkg:npm/encodeurl@2.0.0", + "name": "encodeurl", + "version": "2.0.0", + "purl": "pkg:npm/encodeurl@2.0.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/encodeurl@2.0.0", - "name" : "encodeurl", - "version" : "2.0.0", - "purl" : "pkg:npm/encodeurl@2.0.0" + "type": "library", + "bom-ref": "pkg:npm/escape-html@1.0.3", + "name": "escape-html", + "version": "1.0.3", + "purl": "pkg:npm/escape-html@1.0.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/escape-html@1.0.3", - "name" : "escape-html", - "version" : "1.0.3", - "purl" : "pkg:npm/escape-html@1.0.3" + "type": "library", + "bom-ref": "pkg:npm/etag@1.8.1", + "name": "etag", + "version": "1.8.1", + "purl": "pkg:npm/etag@1.8.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/etag@1.8.1", - "name" : "etag", - "version" : "1.8.1", - "purl" : "pkg:npm/etag@1.8.1" + "type": "library", + "bom-ref": "pkg:npm/finalhandler@1.3.1", + "name": "finalhandler", + "version": "1.3.1", + "purl": "pkg:npm/finalhandler@1.3.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/finalhandler@1.3.1", - "name" : "finalhandler", - "version" : "1.3.1", - "purl" : "pkg:npm/finalhandler@1.3.1" + "type": "library", + "bom-ref": "pkg:npm/fresh@0.5.2", + "name": "fresh", + "version": "0.5.2", + "purl": "pkg:npm/fresh@0.5.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/fresh@0.5.2", - "name" : "fresh", - "version" : "0.5.2", - "purl" : "pkg:npm/fresh@0.5.2" + "type": "library", + "bom-ref": "pkg:npm/http-errors@2.0.0", + "name": "http-errors", + "version": "2.0.0", + "purl": "pkg:npm/http-errors@2.0.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/http-errors@2.0.0", - "name" : "http-errors", - "version" : "2.0.0", - "purl" : "pkg:npm/http-errors@2.0.0" + "type": "library", + "bom-ref": "pkg:npm/merge-descriptors@1.0.3", + "name": "merge-descriptors", + "version": "1.0.3", + "purl": "pkg:npm/merge-descriptors@1.0.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/merge-descriptors@1.0.3", - "name" : "merge-descriptors", - "version" : "1.0.3", - "purl" : "pkg:npm/merge-descriptors@1.0.3" + "type": "library", + "bom-ref": "pkg:npm/methods@1.1.2", + "name": "methods", + "version": "1.1.2", + "purl": "pkg:npm/methods@1.1.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/methods@1.1.2", - "name" : "methods", - "version" : "1.1.2", - "purl" : "pkg:npm/methods@1.1.2" + "type": "library", + "bom-ref": "pkg:npm/on-finished@2.4.1", + "name": "on-finished", + "version": "2.4.1", + "purl": "pkg:npm/on-finished@2.4.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/on-finished@2.4.1", - "name" : "on-finished", - "version" : "2.4.1", - "purl" : "pkg:npm/on-finished@2.4.1" + "type": "library", + "bom-ref": "pkg:npm/parseurl@1.3.3", + "name": "parseurl", + "version": "1.3.3", + "purl": "pkg:npm/parseurl@1.3.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/parseurl@1.3.3", - "name" : "parseurl", - "version" : "1.3.3", - "purl" : "pkg:npm/parseurl@1.3.3" + "type": "library", + "bom-ref": "pkg:npm/path-to-regexp@0.1.12", + "name": "path-to-regexp", + "version": "0.1.12", + "purl": "pkg:npm/path-to-regexp@0.1.12" }, { - "type" : "library", - "bom-ref" : "pkg:npm/path-to-regexp@0.1.12", - "name" : "path-to-regexp", - "version" : "0.1.12", - "purl" : "pkg:npm/path-to-regexp@0.1.12" + "type": "library", + "bom-ref": "pkg:npm/proxy-addr@2.0.7", + "name": "proxy-addr", + "version": "2.0.7", + "purl": "pkg:npm/proxy-addr@2.0.7" }, { - "type" : "library", - "bom-ref" : "pkg:npm/proxy-addr@2.0.7", - "name" : "proxy-addr", - "version" : "2.0.7", - "purl" : "pkg:npm/proxy-addr@2.0.7" + "type": "library", + "bom-ref": "pkg:npm/qs@6.13.0", + "name": "qs", + "version": "6.13.0", + "purl": "pkg:npm/qs@6.13.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/qs@6.13.0", - "name" : "qs", - "version" : "6.13.0", - "purl" : "pkg:npm/qs@6.13.0" + "type": "library", + "bom-ref": "pkg:npm/range-parser@1.2.1", + "name": "range-parser", + "version": "1.2.1", + "purl": "pkg:npm/range-parser@1.2.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/range-parser@1.2.1", - "name" : "range-parser", - "version" : "1.2.1", - "purl" : "pkg:npm/range-parser@1.2.1" + "type": "library", + "bom-ref": "pkg:npm/safe-buffer@5.2.1", + "name": "safe-buffer", + "version": "5.2.1", + "purl": "pkg:npm/safe-buffer@5.2.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/safe-buffer@5.2.1", - "name" : "safe-buffer", - "version" : "5.2.1", - "purl" : "pkg:npm/safe-buffer@5.2.1" + "type": "library", + "bom-ref": "pkg:npm/send@0.19.0", + "name": "send", + "version": "0.19.0", + "purl": "pkg:npm/send@0.19.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/send@0.19.0", - "name" : "send", - "version" : "0.19.0", - "purl" : "pkg:npm/send@0.19.0" + "type": "library", + "bom-ref": "pkg:npm/serve-static@1.16.2", + "name": "serve-static", + "version": "1.16.2", + "purl": "pkg:npm/serve-static@1.16.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/serve-static@1.16.2", - "name" : "serve-static", - "version" : "1.16.2", - "purl" : "pkg:npm/serve-static@1.16.2" + "type": "library", + "bom-ref": "pkg:npm/setprototypeof@1.2.0", + "name": "setprototypeof", + "version": "1.2.0", + "purl": "pkg:npm/setprototypeof@1.2.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/setprototypeof@1.2.0", - "name" : "setprototypeof", - "version" : "1.2.0", - "purl" : "pkg:npm/setprototypeof@1.2.0" + "type": "library", + "bom-ref": "pkg:npm/statuses@2.0.1", + "name": "statuses", + "version": "2.0.1", + "purl": "pkg:npm/statuses@2.0.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/statuses@2.0.1", - "name" : "statuses", - "version" : "2.0.1", - "purl" : "pkg:npm/statuses@2.0.1" + "type": "library", + "bom-ref": "pkg:npm/type-is@1.6.18", + "name": "type-is", + "version": "1.6.18", + "purl": "pkg:npm/type-is@1.6.18" }, { - "type" : "library", - "bom-ref" : "pkg:npm/type-is@1.6.18", - "name" : "type-is", - "version" : "1.6.18", - "purl" : "pkg:npm/type-is@1.6.18" + "type": "library", + "bom-ref": "pkg:npm/utils-merge@1.0.1", + "name": "utils-merge", + "version": "1.0.1", + "purl": "pkg:npm/utils-merge@1.0.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/utils-merge@1.0.1", - "name" : "utils-merge", - "version" : "1.0.1", - "purl" : "pkg:npm/utils-merge@1.0.1" + "type": "library", + "bom-ref": "pkg:npm/vary@1.1.2", + "name": "vary", + "version": "1.1.2", + "purl": "pkg:npm/vary@1.1.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/vary@1.1.2", - "name" : "vary", - "version" : "1.1.2", - "purl" : "pkg:npm/vary@1.1.2" + "type": "library", + "bom-ref": "pkg:npm/jws@3.2.2", + "name": "jws", + "version": "3.2.2", + "purl": "pkg:npm/jws@3.2.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/jws@3.2.2", - "name" : "jws", - "version" : "3.2.2", - "purl" : "pkg:npm/jws@3.2.2" + "type": "library", + "bom-ref": "pkg:npm/lodash.includes@4.3.0", + "name": "lodash.includes", + "version": "4.3.0", + "purl": "pkg:npm/lodash.includes@4.3.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/lodash.includes@4.3.0", - "name" : "lodash.includes", - "version" : "4.3.0", - "purl" : "pkg:npm/lodash.includes@4.3.0" + "type": "library", + "bom-ref": "pkg:npm/lodash.isboolean@3.0.3", + "name": "lodash.isboolean", + "version": "3.0.3", + "purl": "pkg:npm/lodash.isboolean@3.0.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/lodash.isboolean@3.0.3", - "name" : "lodash.isboolean", - "version" : "3.0.3", - "purl" : "pkg:npm/lodash.isboolean@3.0.3" + "type": "library", + "bom-ref": "pkg:npm/lodash.isinteger@4.0.4", + "name": "lodash.isinteger", + "version": "4.0.4", + "purl": "pkg:npm/lodash.isinteger@4.0.4" }, { - "type" : "library", - "bom-ref" : "pkg:npm/lodash.isinteger@4.0.4", - "name" : "lodash.isinteger", - "version" : "4.0.4", - "purl" : "pkg:npm/lodash.isinteger@4.0.4" + "type": "library", + "bom-ref": "pkg:npm/lodash.isnumber@3.0.3", + "name": "lodash.isnumber", + "version": "3.0.3", + "purl": "pkg:npm/lodash.isnumber@3.0.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/lodash.isnumber@3.0.3", - "name" : "lodash.isnumber", - "version" : "3.0.3", - "purl" : "pkg:npm/lodash.isnumber@3.0.3" + "type": "library", + "bom-ref": "pkg:npm/lodash.isplainobject@4.0.6", + "name": "lodash.isplainobject", + "version": "4.0.6", + "purl": "pkg:npm/lodash.isplainobject@4.0.6" }, { - "type" : "library", - "bom-ref" : "pkg:npm/lodash.isplainobject@4.0.6", - "name" : "lodash.isplainobject", - "version" : "4.0.6", - "purl" : "pkg:npm/lodash.isplainobject@4.0.6" + "type": "library", + "bom-ref": "pkg:npm/lodash.isstring@4.0.1", + "name": "lodash.isstring", + "version": "4.0.1", + "purl": "pkg:npm/lodash.isstring@4.0.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/lodash.isstring@4.0.1", - "name" : "lodash.isstring", - "version" : "4.0.1", - "purl" : "pkg:npm/lodash.isstring@4.0.1" + "type": "library", + "bom-ref": "pkg:npm/lodash.once@4.1.1", + "name": "lodash.once", + "version": "4.1.1", + "purl": "pkg:npm/lodash.once@4.1.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/lodash.once@4.1.1", - "name" : "lodash.once", - "version" : "4.1.1", - "purl" : "pkg:npm/lodash.once@4.1.1" + "type": "library", + "bom-ref": "pkg:npm/semver@5.7.2", + "name": "semver", + "version": "5.7.2", + "purl": "pkg:npm/semver@5.7.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/semver@5.7.2", - "name" : "semver", - "version" : "5.7.2", - "purl" : "pkg:npm/semver@5.7.2" + "type": "library", + "bom-ref": "pkg:npm/%40types/bson@4.0.5", + "group": "@types", + "name": "bson", + "version": "4.0.5", + "purl": "pkg:npm/%40types/bson@4.0.5" }, { - "type" : "library", - "bom-ref" : "pkg:npm/%40types/bson@4.0.5", - "group" : "@types", - "name" : "bson", - "version" : "4.0.5", - "purl" : "pkg:npm/%40types/bson@4.0.5" + "type": "library", + "bom-ref": "pkg:npm/%40types/mongodb@3.6.20", + "group": "@types", + "name": "mongodb", + "version": "3.6.20", + "purl": "pkg:npm/%40types/mongodb@3.6.20" }, { - "type" : "library", - "bom-ref" : "pkg:npm/%40types/mongodb@3.6.20", - "group" : "@types", - "name" : "mongodb", - "version" : "3.6.20", - "purl" : "pkg:npm/%40types/mongodb@3.6.20" + "type": "library", + "bom-ref": "pkg:npm/bson@1.1.6", + "name": "bson", + "version": "1.1.6", + "purl": "pkg:npm/bson@1.1.6" }, { - "type" : "library", - "bom-ref" : "pkg:npm/bson@1.1.6", - "name" : "bson", - "version" : "1.1.6", - "purl" : "pkg:npm/bson@1.1.6" + "type": "library", + "bom-ref": "pkg:npm/kareem@2.3.2", + "name": "kareem", + "version": "2.3.2", + "purl": "pkg:npm/kareem@2.3.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/kareem@2.3.2", - "name" : "kareem", - "version" : "2.3.2", - "purl" : "pkg:npm/kareem@2.3.2" + "type": "library", + "bom-ref": "pkg:npm/mongodb@3.7.4", + "name": "mongodb", + "version": "3.7.4", + "purl": "pkg:npm/mongodb@3.7.4" }, { - "type" : "library", - "bom-ref" : "pkg:npm/mongodb@3.7.4", - "name" : "mongodb", - "version" : "3.7.4", - "purl" : "pkg:npm/mongodb@3.7.4" + "type": "library", + "bom-ref": "pkg:npm/mongoose-legacy-pluralize@1.0.2", + "name": "mongoose-legacy-pluralize", + "version": "1.0.2", + "purl": "pkg:npm/mongoose-legacy-pluralize@1.0.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/mongoose-legacy-pluralize@1.0.2", - "name" : "mongoose-legacy-pluralize", - "version" : "1.0.2", - "purl" : "pkg:npm/mongoose-legacy-pluralize@1.0.2" + "type": "library", + "bom-ref": "pkg:npm/mpath@0.8.4", + "name": "mpath", + "version": "0.8.4", + "purl": "pkg:npm/mpath@0.8.4" }, { - "type" : "library", - "bom-ref" : "pkg:npm/mpath@0.8.4", - "name" : "mpath", - "version" : "0.8.4", - "purl" : "pkg:npm/mpath@0.8.4" + "type": "library", + "bom-ref": "pkg:npm/mquery@3.2.5", + "name": "mquery", + "version": "3.2.5", + "purl": "pkg:npm/mquery@3.2.5" }, { - "type" : "library", - "bom-ref" : "pkg:npm/mquery@3.2.5", - "name" : "mquery", - "version" : "3.2.5", - "purl" : "pkg:npm/mquery@3.2.5" + "type": "library", + "bom-ref": "pkg:npm/optional-require@1.0.3", + "name": "optional-require", + "version": "1.0.3", + "purl": "pkg:npm/optional-require@1.0.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/optional-require@1.0.3", - "name" : "optional-require", - "version" : "1.0.3", - "purl" : "pkg:npm/optional-require@1.0.3" + "type": "library", + "bom-ref": "pkg:npm/regexp-clone@1.0.0", + "name": "regexp-clone", + "version": "1.0.0", + "purl": "pkg:npm/regexp-clone@1.0.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/regexp-clone@1.0.0", - "name" : "regexp-clone", - "version" : "1.0.0", - "purl" : "pkg:npm/regexp-clone@1.0.0" + "type": "library", + "bom-ref": "pkg:npm/sift@13.5.2", + "name": "sift", + "version": "13.5.2", + "purl": "pkg:npm/sift@13.5.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/sift@13.5.2", - "name" : "sift", - "version" : "13.5.2", - "purl" : "pkg:npm/sift@13.5.2" + "type": "library", + "bom-ref": "pkg:npm/sliced@1.0.1", + "name": "sliced", + "version": "1.0.1", + "purl": "pkg:npm/sliced@1.0.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/sliced@1.0.1", - "name" : "sliced", - "version" : "1.0.1", - "purl" : "pkg:npm/sliced@1.0.1" + "type": "library", + "bom-ref": "pkg:npm/ms@2.1.2", + "name": "ms", + "version": "2.1.2", + "purl": "pkg:npm/ms@2.1.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/ms@2.1.2", - "name" : "ms", - "version" : "2.1.2", - "purl" : "pkg:npm/ms@2.1.2" + "type": "library", + "bom-ref": "pkg:npm/chokidar@3.6.0", + "name": "chokidar", + "version": "3.6.0", + "purl": "pkg:npm/chokidar@3.6.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/chokidar@3.6.0", - "name" : "chokidar", - "version" : "3.6.0", - "purl" : "pkg:npm/chokidar@3.6.0" + "type": "library", + "bom-ref": "pkg:npm/ignore-by-default@1.0.1", + "name": "ignore-by-default", + "version": "1.0.1", + "purl": "pkg:npm/ignore-by-default@1.0.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/ignore-by-default@1.0.1", - "name" : "ignore-by-default", - "version" : "1.0.1", - "purl" : "pkg:npm/ignore-by-default@1.0.1" + "type": "library", + "bom-ref": "pkg:npm/minimatch@3.1.2", + "name": "minimatch", + "version": "3.1.2", + "purl": "pkg:npm/minimatch@3.1.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/minimatch@3.1.2", - "name" : "minimatch", - "version" : "3.1.2", - "purl" : "pkg:npm/minimatch@3.1.2" + "type": "library", + "bom-ref": "pkg:npm/pstree.remy@1.1.8", + "name": "pstree.remy", + "version": "1.1.8", + "purl": "pkg:npm/pstree.remy@1.1.8" }, { - "type" : "library", - "bom-ref" : "pkg:npm/pstree.remy@1.1.8", - "name" : "pstree.remy", - "version" : "1.1.8", - "purl" : "pkg:npm/pstree.remy@1.1.8" + "type": "library", + "bom-ref": "pkg:npm/simple-update-notifier@1.1.0", + "name": "simple-update-notifier", + "version": "1.1.0", + "purl": "pkg:npm/simple-update-notifier@1.1.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/simple-update-notifier@1.1.0", - "name" : "simple-update-notifier", - "version" : "1.1.0", - "purl" : "pkg:npm/simple-update-notifier@1.1.0" + "type": "library", + "bom-ref": "pkg:npm/supports-color@5.5.0", + "name": "supports-color", + "version": "5.5.0", + "purl": "pkg:npm/supports-color@5.5.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/supports-color@5.5.0", - "name" : "supports-color", - "version" : "5.5.0", - "purl" : "pkg:npm/supports-color@5.5.0" + "type": "library", + "bom-ref": "pkg:npm/touch@3.1.1", + "name": "touch", + "version": "3.1.1", + "purl": "pkg:npm/touch@3.1.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/touch@3.1.1", - "name" : "touch", - "version" : "3.1.1", - "purl" : "pkg:npm/touch@3.1.1" + "type": "library", + "bom-ref": "pkg:npm/undefsafe@2.0.5", + "name": "undefsafe", + "version": "2.0.5", + "purl": "pkg:npm/undefsafe@2.0.5" }, { - "type" : "library", - "bom-ref" : "pkg:npm/undefsafe@2.0.5", - "name" : "undefsafe", - "version" : "2.0.5", - "purl" : "pkg:npm/undefsafe@2.0.5" + "type": "library", + "bom-ref": "pkg:npm/debug@3.2.7", + "name": "debug", + "version": "3.2.7", + "purl": "pkg:npm/debug@3.2.7" }, { - "type" : "library", - "bom-ref" : "pkg:npm/debug@3.2.7", - "name" : "debug", - "version" : "3.2.7", - "purl" : "pkg:npm/debug@3.2.7" + "type": "library", + "bom-ref": "pkg:npm/follow-redirects@1.5.10", + "name": "follow-redirects", + "version": "1.5.10", + "purl": "pkg:npm/follow-redirects@1.5.10" }, { - "type" : "library", - "bom-ref" : "pkg:npm/follow-redirects@1.5.10", - "name" : "follow-redirects", - "version" : "1.5.10", - "purl" : "pkg:npm/follow-redirects@1.5.10" + "type": "library", + "bom-ref": "pkg:npm/%40types/node@22.14.1", + "group": "@types", + "name": "node", + "version": "22.14.1", + "purl": "pkg:npm/%40types/node@22.14.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/%40types/node@22.14.1", - "group" : "@types", - "name" : "node", - "version" : "22.14.1", - "purl" : "pkg:npm/%40types/node@22.14.1" + "type": "library", + "bom-ref": "pkg:npm/%40types/bson@4.2.4", + "group": "@types", + "name": "bson", + "version": "4.2.4", + "purl": "pkg:npm/%40types/bson@4.2.4" }, { - "type" : "library", - "bom-ref" : "pkg:npm/%40types/bson@4.2.4", - "group" : "@types", - "name" : "bson", - "version" : "4.2.4", - "purl" : "pkg:npm/%40types/bson@4.2.4" + "type": "library", + "bom-ref": "pkg:npm/bson@6.10.3", + "name": "bson", + "version": "6.10.3", + "purl": "pkg:npm/bson@6.10.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/bson@6.10.3", - "name" : "bson", - "version" : "6.10.3", - "purl" : "pkg:npm/bson@6.10.3" + "type": "library", + "bom-ref": "pkg:npm/mime-types@2.1.35", + "name": "mime-types", + "version": "2.1.35", + "purl": "pkg:npm/mime-types@2.1.35" }, { - "type" : "library", - "bom-ref" : "pkg:npm/mime-types@2.1.35", - "name" : "mime-types", - "version" : "2.1.35", - "purl" : "pkg:npm/mime-types@2.1.35" + "type": "library", + "bom-ref": "pkg:npm/negotiator@0.6.3", + "name": "negotiator", + "version": "0.6.3", + "purl": "pkg:npm/negotiator@0.6.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/negotiator@0.6.3", - "name" : "negotiator", - "version" : "0.6.3", - "purl" : "pkg:npm/negotiator@0.6.3" + "type": "library", + "bom-ref": "pkg:npm/bytes@3.1.2", + "name": "bytes", + "version": "3.1.2", + "purl": "pkg:npm/bytes@3.1.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/bytes@3.1.2", - "name" : "bytes", - "version" : "3.1.2", - "purl" : "pkg:npm/bytes@3.1.2" + "type": "library", + "bom-ref": "pkg:npm/destroy@1.2.0", + "name": "destroy", + "version": "1.2.0", + "purl": "pkg:npm/destroy@1.2.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/destroy@1.2.0", - "name" : "destroy", - "version" : "1.2.0", - "purl" : "pkg:npm/destroy@1.2.0" + "type": "library", + "bom-ref": "pkg:npm/iconv-lite@0.4.24", + "name": "iconv-lite", + "version": "0.4.24", + "purl": "pkg:npm/iconv-lite@0.4.24" }, { - "type" : "library", - "bom-ref" : "pkg:npm/iconv-lite@0.4.24", - "name" : "iconv-lite", - "version" : "0.4.24", - "purl" : "pkg:npm/iconv-lite@0.4.24" + "type": "library", + "bom-ref": "pkg:npm/raw-body@2.5.2", + "name": "raw-body", + "version": "2.5.2", + "purl": "pkg:npm/raw-body@2.5.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/raw-body@2.5.2", - "name" : "raw-body", - "version" : "2.5.2", - "purl" : "pkg:npm/raw-body@2.5.2" + "type": "library", + "bom-ref": "pkg:npm/unpipe@1.0.0", + "name": "unpipe", + "version": "1.0.0", + "purl": "pkg:npm/unpipe@1.0.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/unpipe@1.0.0", - "name" : "unpipe", - "version" : "1.0.0", - "purl" : "pkg:npm/unpipe@1.0.0" + "type": "library", + "bom-ref": "pkg:npm/anymatch@3.1.3", + "name": "anymatch", + "version": "3.1.3", + "purl": "pkg:npm/anymatch@3.1.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/anymatch@3.1.3", - "name" : "anymatch", - "version" : "3.1.3", - "purl" : "pkg:npm/anymatch@3.1.3" + "type": "library", + "bom-ref": "pkg:npm/braces@3.0.3", + "name": "braces", + "version": "3.0.3", + "purl": "pkg:npm/braces@3.0.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/braces@3.0.3", - "name" : "braces", - "version" : "3.0.3", - "purl" : "pkg:npm/braces@3.0.3" + "type": "library", + "bom-ref": "pkg:npm/glob-parent@5.1.2", + "name": "glob-parent", + "version": "5.1.2", + "purl": "pkg:npm/glob-parent@5.1.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/glob-parent@5.1.2", - "name" : "glob-parent", - "version" : "5.1.2", - "purl" : "pkg:npm/glob-parent@5.1.2" + "type": "library", + "bom-ref": "pkg:npm/is-binary-path@2.1.0", + "name": "is-binary-path", + "version": "2.1.0", + "purl": "pkg:npm/is-binary-path@2.1.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/is-binary-path@2.1.0", - "name" : "is-binary-path", - "version" : "2.1.0", - "purl" : "pkg:npm/is-binary-path@2.1.0" + "type": "library", + "bom-ref": "pkg:npm/is-glob@4.0.3", + "name": "is-glob", + "version": "4.0.3", + "purl": "pkg:npm/is-glob@4.0.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/is-glob@4.0.3", - "name" : "is-glob", - "version" : "4.0.3", - "purl" : "pkg:npm/is-glob@4.0.3" + "type": "library", + "bom-ref": "pkg:npm/normalize-path@3.0.0", + "name": "normalize-path", + "version": "3.0.0", + "purl": "pkg:npm/normalize-path@3.0.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/normalize-path@3.0.0", - "name" : "normalize-path", - "version" : "3.0.0", - "purl" : "pkg:npm/normalize-path@3.0.0" + "type": "library", + "bom-ref": "pkg:npm/readdirp@3.6.0", + "name": "readdirp", + "version": "3.6.0", + "purl": "pkg:npm/readdirp@3.6.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/readdirp@3.6.0", - "name" : "readdirp", - "version" : "3.6.0", - "purl" : "pkg:npm/readdirp@3.6.0" + "type": "library", + "bom-ref": "pkg:npm/fsevents@2.3.3", + "name": "fsevents", + "version": "2.3.3", + "purl": "pkg:npm/fsevents@2.3.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/fsevents@2.3.3", - "name" : "fsevents", - "version" : "2.3.3", - "purl" : "pkg:npm/fsevents@2.3.3" + "type": "library", + "bom-ref": "pkg:npm/debug@3.1.0", + "name": "debug", + "version": "3.1.0", + "purl": "pkg:npm/debug@3.1.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/debug@3.1.0", - "name" : "debug", - "version" : "3.1.0", - "purl" : "pkg:npm/debug@3.1.0" + "type": "library", + "bom-ref": "pkg:npm/inherits@2.0.4", + "name": "inherits", + "version": "2.0.4", + "purl": "pkg:npm/inherits@2.0.4" }, { - "type" : "library", - "bom-ref" : "pkg:npm/inherits@2.0.4", - "name" : "inherits", - "version" : "2.0.4", - "purl" : "pkg:npm/inherits@2.0.4" + "type": "library", + "bom-ref": "pkg:npm/toidentifier@1.0.1", + "name": "toidentifier", + "version": "1.0.1", + "purl": "pkg:npm/toidentifier@1.0.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/toidentifier@1.0.1", - "name" : "toidentifier", - "version" : "1.0.1", - "purl" : "pkg:npm/toidentifier@1.0.1" + "type": "library", + "bom-ref": "pkg:npm/jwa@1.4.1", + "name": "jwa", + "version": "1.4.1", + "purl": "pkg:npm/jwa@1.4.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/jwa@1.4.1", - "name" : "jwa", - "version" : "1.4.1", - "purl" : "pkg:npm/jwa@1.4.1" + "type": "library", + "bom-ref": "pkg:npm/brace-expansion@1.1.11", + "name": "brace-expansion", + "version": "1.1.11", + "purl": "pkg:npm/brace-expansion@1.1.11" }, { - "type" : "library", - "bom-ref" : "pkg:npm/brace-expansion@1.1.11", - "name" : "brace-expansion", - "version" : "1.1.11", - "purl" : "pkg:npm/brace-expansion@1.1.11" + "type": "library", + "bom-ref": "pkg:npm/bl@2.2.1", + "name": "bl", + "version": "2.2.1", + "purl": "pkg:npm/bl@2.2.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/bl@2.2.1", - "name" : "bl", - "version" : "2.2.1", - "purl" : "pkg:npm/bl@2.2.1" + "type": "library", + "bom-ref": "pkg:npm/denque@1.5.1", + "name": "denque", + "version": "1.5.1", + "purl": "pkg:npm/denque@1.5.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/denque@1.5.1", - "name" : "denque", - "version" : "1.5.1", - "purl" : "pkg:npm/denque@1.5.1" + "type": "library", + "bom-ref": "pkg:npm/saslprep@1.0.3", + "name": "saslprep", + "version": "1.0.3", + "purl": "pkg:npm/saslprep@1.0.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/saslprep@1.0.3", - "name" : "saslprep", - "version" : "1.0.3", - "purl" : "pkg:npm/saslprep@1.0.3" + "type": "library", + "bom-ref": "pkg:npm/optional-require@1.1.8", + "name": "optional-require", + "version": "1.1.8", + "purl": "pkg:npm/optional-require@1.1.8" }, { - "type" : "library", - "bom-ref" : "pkg:npm/optional-require@1.1.8", - "name" : "optional-require", - "version" : "1.1.8", - "purl" : "pkg:npm/optional-require@1.1.8" + "type": "library", + "bom-ref": "pkg:npm/require-at@1.0.6", + "name": "require-at", + "version": "1.0.6", + "purl": "pkg:npm/require-at@1.0.6" }, { - "type" : "library", - "bom-ref" : "pkg:npm/require-at@1.0.6", - "name" : "require-at", - "version" : "1.0.6", - "purl" : "pkg:npm/require-at@1.0.6" + "type": "library", + "bom-ref": "pkg:npm/bluebird@3.5.1", + "name": "bluebird", + "version": "3.5.1", + "purl": "pkg:npm/bluebird@3.5.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/bluebird@3.5.1", - "name" : "bluebird", - "version" : "3.5.1", - "purl" : "pkg:npm/bluebird@3.5.1" + "type": "library", + "bom-ref": "pkg:npm/safe-buffer@5.1.2", + "name": "safe-buffer", + "version": "5.1.2", + "purl": "pkg:npm/safe-buffer@5.1.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/safe-buffer@5.1.2", - "name" : "safe-buffer", - "version" : "5.1.2", - "purl" : "pkg:npm/safe-buffer@5.1.2" + "type": "library", + "bom-ref": "pkg:npm/ee-first@1.1.1", + "name": "ee-first", + "version": "1.1.1", + "purl": "pkg:npm/ee-first@1.1.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/ee-first@1.1.1", - "name" : "ee-first", - "version" : "1.1.1", - "purl" : "pkg:npm/ee-first@1.1.1" + "type": "library", + "bom-ref": "pkg:npm/forwarded@0.2.0", + "name": "forwarded", + "version": "0.2.0", + "purl": "pkg:npm/forwarded@0.2.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/forwarded@0.2.0", - "name" : "forwarded", - "version" : "0.2.0", - "purl" : "pkg:npm/forwarded@0.2.0" + "type": "library", + "bom-ref": "pkg:npm/ipaddr.js@1.9.1", + "name": "ipaddr.js", + "version": "1.9.1", + "purl": "pkg:npm/ipaddr.js@1.9.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/ipaddr.js@1.9.1", - "name" : "ipaddr.js", - "version" : "1.9.1", - "purl" : "pkg:npm/ipaddr.js@1.9.1" + "type": "library", + "bom-ref": "pkg:npm/side-channel@1.1.0", + "name": "side-channel", + "version": "1.1.0", + "purl": "pkg:npm/side-channel@1.1.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/side-channel@1.1.0", - "name" : "side-channel", - "version" : "1.1.0", - "purl" : "pkg:npm/side-channel@1.1.0" + "type": "library", + "bom-ref": "pkg:npm/mime@1.6.0", + "name": "mime", + "version": "1.6.0", + "purl": "pkg:npm/mime@1.6.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/mime@1.6.0", - "name" : "mime", - "version" : "1.6.0", - "purl" : "pkg:npm/mime@1.6.0" + "type": "library", + "bom-ref": "pkg:npm/encodeurl@1.0.2", + "name": "encodeurl", + "version": "1.0.2", + "purl": "pkg:npm/encodeurl@1.0.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/encodeurl@1.0.2", - "name" : "encodeurl", - "version" : "1.0.2", - "purl" : "pkg:npm/encodeurl@1.0.2" + "type": "library", + "bom-ref": "pkg:npm/semver@7.0.0", + "name": "semver", + "version": "7.0.0", + "purl": "pkg:npm/semver@7.0.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/semver@7.0.0", - "name" : "semver", - "version" : "7.0.0", - "purl" : "pkg:npm/semver@7.0.0" + "type": "library", + "bom-ref": "pkg:npm/has-flag@3.0.0", + "name": "has-flag", + "version": "3.0.0", + "purl": "pkg:npm/has-flag@3.0.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/has-flag@3.0.0", - "name" : "has-flag", - "version" : "3.0.0", - "purl" : "pkg:npm/has-flag@3.0.0" + "type": "library", + "bom-ref": "pkg:npm/media-typer@0.3.0", + "name": "media-typer", + "version": "0.3.0", + "purl": "pkg:npm/media-typer@0.3.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/media-typer@0.3.0", - "name" : "media-typer", - "version" : "0.3.0", - "purl" : "pkg:npm/media-typer@0.3.0" + "type": "library", + "bom-ref": "pkg:npm/undici-types@6.21.0", + "name": "undici-types", + "version": "6.21.0", + "purl": "pkg:npm/undici-types@6.21.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/undici-types@6.21.0", - "name" : "undici-types", - "version" : "6.21.0", - "purl" : "pkg:npm/undici-types@6.21.0" + "type": "library", + "bom-ref": "pkg:npm/picomatch@2.3.1", + "name": "picomatch", + "version": "2.3.1", + "purl": "pkg:npm/picomatch@2.3.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/picomatch@2.3.1", - "name" : "picomatch", - "version" : "2.3.1", - "purl" : "pkg:npm/picomatch@2.3.1" + "type": "library", + "bom-ref": "pkg:npm/readable-stream@2.3.8", + "name": "readable-stream", + "version": "2.3.8", + "purl": "pkg:npm/readable-stream@2.3.8" }, { - "type" : "library", - "bom-ref" : "pkg:npm/readable-stream@2.3.8", - "name" : "readable-stream", - "version" : "2.3.8", - "purl" : "pkg:npm/readable-stream@2.3.8" + "type": "library", + "bom-ref": "pkg:npm/balanced-match@1.0.2", + "name": "balanced-match", + "version": "1.0.2", + "purl": "pkg:npm/balanced-match@1.0.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/balanced-match@1.0.2", - "name" : "balanced-match", - "version" : "1.0.2", - "purl" : "pkg:npm/balanced-match@1.0.2" + "type": "library", + "bom-ref": "pkg:npm/concat-map@0.0.1", + "name": "concat-map", + "version": "0.0.1", + "purl": "pkg:npm/concat-map@0.0.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/concat-map@0.0.1", - "name" : "concat-map", - "version" : "0.0.1", - "purl" : "pkg:npm/concat-map@0.0.1" + "type": "library", + "bom-ref": "pkg:npm/fill-range@7.1.1", + "name": "fill-range", + "version": "7.1.1", + "purl": "pkg:npm/fill-range@7.1.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/fill-range@7.1.1", - "name" : "fill-range", - "version" : "7.1.1", - "purl" : "pkg:npm/fill-range@7.1.1" + "type": "library", + "bom-ref": "pkg:npm/safer-buffer@2.1.2", + "name": "safer-buffer", + "version": "2.1.2", + "purl": "pkg:npm/safer-buffer@2.1.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/safer-buffer@2.1.2", - "name" : "safer-buffer", - "version" : "2.1.2", - "purl" : "pkg:npm/safer-buffer@2.1.2" + "type": "library", + "bom-ref": "pkg:npm/binary-extensions@2.3.0", + "name": "binary-extensions", + "version": "2.3.0", + "purl": "pkg:npm/binary-extensions@2.3.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/binary-extensions@2.3.0", - "name" : "binary-extensions", - "version" : "2.3.0", - "purl" : "pkg:npm/binary-extensions@2.3.0" + "type": "library", + "bom-ref": "pkg:npm/is-extglob@2.1.1", + "name": "is-extglob", + "version": "2.1.1", + "purl": "pkg:npm/is-extglob@2.1.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/is-extglob@2.1.1", - "name" : "is-extglob", - "version" : "2.1.1", - "purl" : "pkg:npm/is-extglob@2.1.1" + "type": "library", + "bom-ref": "pkg:npm/buffer-equal-constant-time@1.0.1", + "name": "buffer-equal-constant-time", + "version": "1.0.1", + "purl": "pkg:npm/buffer-equal-constant-time@1.0.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/buffer-equal-constant-time@1.0.1", - "name" : "buffer-equal-constant-time", - "version" : "1.0.1", - "purl" : "pkg:npm/buffer-equal-constant-time@1.0.1" + "type": "library", + "bom-ref": "pkg:npm/ecdsa-sig-formatter@1.0.11", + "name": "ecdsa-sig-formatter", + "version": "1.0.11", + "purl": "pkg:npm/ecdsa-sig-formatter@1.0.11" }, { - "type" : "library", - "bom-ref" : "pkg:npm/ecdsa-sig-formatter@1.0.11", - "name" : "ecdsa-sig-formatter", - "version" : "1.0.11", - "purl" : "pkg:npm/ecdsa-sig-formatter@1.0.11" + "type": "library", + "bom-ref": "pkg:npm/mime-db@1.52.0", + "name": "mime-db", + "version": "1.52.0", + "purl": "pkg:npm/mime-db@1.52.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/mime-db@1.52.0", - "name" : "mime-db", - "version" : "1.52.0", - "purl" : "pkg:npm/mime-db@1.52.0" + "type": "library", + "bom-ref": "pkg:npm/sparse-bitfield@3.0.3", + "name": "sparse-bitfield", + "version": "3.0.3", + "purl": "pkg:npm/sparse-bitfield@3.0.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/sparse-bitfield@3.0.3", - "name" : "sparse-bitfield", - "version" : "3.0.3", - "purl" : "pkg:npm/sparse-bitfield@3.0.3" + "type": "library", + "bom-ref": "pkg:npm/es-errors@1.3.0", + "name": "es-errors", + "version": "1.3.0", + "purl": "pkg:npm/es-errors@1.3.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/es-errors@1.3.0", - "name" : "es-errors", - "version" : "1.3.0", - "purl" : "pkg:npm/es-errors@1.3.0" + "type": "library", + "bom-ref": "pkg:npm/object-inspect@1.13.4", + "name": "object-inspect", + "version": "1.13.4", + "purl": "pkg:npm/object-inspect@1.13.4" }, { - "type" : "library", - "bom-ref" : "pkg:npm/object-inspect@1.13.4", - "name" : "object-inspect", - "version" : "1.13.4", - "purl" : "pkg:npm/object-inspect@1.13.4" + "type": "library", + "bom-ref": "pkg:npm/side-channel-list@1.0.0", + "name": "side-channel-list", + "version": "1.0.0", + "purl": "pkg:npm/side-channel-list@1.0.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/side-channel-list@1.0.0", - "name" : "side-channel-list", - "version" : "1.0.0", - "purl" : "pkg:npm/side-channel-list@1.0.0" + "type": "library", + "bom-ref": "pkg:npm/side-channel-map@1.0.1", + "name": "side-channel-map", + "version": "1.0.1", + "purl": "pkg:npm/side-channel-map@1.0.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/side-channel-map@1.0.1", - "name" : "side-channel-map", - "version" : "1.0.1", - "purl" : "pkg:npm/side-channel-map@1.0.1" + "type": "library", + "bom-ref": "pkg:npm/side-channel-weakmap@1.0.2", + "name": "side-channel-weakmap", + "version": "1.0.2", + "purl": "pkg:npm/side-channel-weakmap@1.0.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/side-channel-weakmap@1.0.2", - "name" : "side-channel-weakmap", - "version" : "1.0.2", - "purl" : "pkg:npm/side-channel-weakmap@1.0.2" + "type": "library", + "bom-ref": "pkg:npm/to-regex-range@5.0.1", + "name": "to-regex-range", + "version": "5.0.1", + "purl": "pkg:npm/to-regex-range@5.0.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/to-regex-range@5.0.1", - "name" : "to-regex-range", - "version" : "5.0.1", - "purl" : "pkg:npm/to-regex-range@5.0.1" + "type": "library", + "bom-ref": "pkg:npm/core-util-is@1.0.3", + "name": "core-util-is", + "version": "1.0.3", + "purl": "pkg:npm/core-util-is@1.0.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/core-util-is@1.0.3", - "name" : "core-util-is", - "version" : "1.0.3", - "purl" : "pkg:npm/core-util-is@1.0.3" + "type": "library", + "bom-ref": "pkg:npm/isarray@1.0.0", + "name": "isarray", + "version": "1.0.0", + "purl": "pkg:npm/isarray@1.0.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/isarray@1.0.0", - "name" : "isarray", - "version" : "1.0.0", - "purl" : "pkg:npm/isarray@1.0.0" + "type": "library", + "bom-ref": "pkg:npm/process-nextick-args@2.0.1", + "name": "process-nextick-args", + "version": "2.0.1", + "purl": "pkg:npm/process-nextick-args@2.0.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/process-nextick-args@2.0.1", - "name" : "process-nextick-args", - "version" : "2.0.1", - "purl" : "pkg:npm/process-nextick-args@2.0.1" + "type": "library", + "bom-ref": "pkg:npm/string_decoder@1.1.1", + "name": "string_decoder", + "version": "1.1.1", + "purl": "pkg:npm/string_decoder@1.1.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/string_decoder@1.1.1", - "name" : "string_decoder", - "version" : "1.1.1", - "purl" : "pkg:npm/string_decoder@1.1.1" + "type": "library", + "bom-ref": "pkg:npm/util-deprecate@1.0.2", + "name": "util-deprecate", + "version": "1.0.2", + "purl": "pkg:npm/util-deprecate@1.0.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/util-deprecate@1.0.2", - "name" : "util-deprecate", - "version" : "1.0.2", - "purl" : "pkg:npm/util-deprecate@1.0.2" + "type": "library", + "bom-ref": "pkg:npm/call-bound@1.0.4", + "name": "call-bound", + "version": "1.0.4", + "purl": "pkg:npm/call-bound@1.0.4" }, { - "type" : "library", - "bom-ref" : "pkg:npm/call-bound@1.0.4", - "name" : "call-bound", - "version" : "1.0.4", - "purl" : "pkg:npm/call-bound@1.0.4" + "type": "library", + "bom-ref": "pkg:npm/get-intrinsic@1.3.0", + "name": "get-intrinsic", + "version": "1.3.0", + "purl": "pkg:npm/get-intrinsic@1.3.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/get-intrinsic@1.3.0", - "name" : "get-intrinsic", - "version" : "1.3.0", - "purl" : "pkg:npm/get-intrinsic@1.3.0" + "type": "library", + "bom-ref": "pkg:npm/memory-pager@1.5.0", + "name": "memory-pager", + "version": "1.5.0", + "purl": "pkg:npm/memory-pager@1.5.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/memory-pager@1.5.0", - "name" : "memory-pager", - "version" : "1.5.0", - "purl" : "pkg:npm/memory-pager@1.5.0" + "type": "library", + "bom-ref": "pkg:npm/call-bind-apply-helpers@1.0.2", + "name": "call-bind-apply-helpers", + "version": "1.0.2", + "purl": "pkg:npm/call-bind-apply-helpers@1.0.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/call-bind-apply-helpers@1.0.2", - "name" : "call-bind-apply-helpers", - "version" : "1.0.2", - "purl" : "pkg:npm/call-bind-apply-helpers@1.0.2" + "type": "library", + "bom-ref": "pkg:npm/es-define-property@1.0.1", + "name": "es-define-property", + "version": "1.0.1", + "purl": "pkg:npm/es-define-property@1.0.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/es-define-property@1.0.1", - "name" : "es-define-property", - "version" : "1.0.1", - "purl" : "pkg:npm/es-define-property@1.0.1" + "type": "library", + "bom-ref": "pkg:npm/es-object-atoms@1.1.1", + "name": "es-object-atoms", + "version": "1.1.1", + "purl": "pkg:npm/es-object-atoms@1.1.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/es-object-atoms@1.1.1", - "name" : "es-object-atoms", - "version" : "1.1.1", - "purl" : "pkg:npm/es-object-atoms@1.1.1" + "type": "library", + "bom-ref": "pkg:npm/function-bind@1.1.2", + "name": "function-bind", + "version": "1.1.2", + "purl": "pkg:npm/function-bind@1.1.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/function-bind@1.1.2", - "name" : "function-bind", - "version" : "1.1.2", - "purl" : "pkg:npm/function-bind@1.1.2" + "type": "library", + "bom-ref": "pkg:npm/get-proto@1.0.1", + "name": "get-proto", + "version": "1.0.1", + "purl": "pkg:npm/get-proto@1.0.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/get-proto@1.0.1", - "name" : "get-proto", - "version" : "1.0.1", - "purl" : "pkg:npm/get-proto@1.0.1" + "type": "library", + "bom-ref": "pkg:npm/gopd@1.2.0", + "name": "gopd", + "version": "1.2.0", + "purl": "pkg:npm/gopd@1.2.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/gopd@1.2.0", - "name" : "gopd", - "version" : "1.2.0", - "purl" : "pkg:npm/gopd@1.2.0" + "type": "library", + "bom-ref": "pkg:npm/has-symbols@1.1.0", + "name": "has-symbols", + "version": "1.1.0", + "purl": "pkg:npm/has-symbols@1.1.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/has-symbols@1.1.0", - "name" : "has-symbols", - "version" : "1.1.0", - "purl" : "pkg:npm/has-symbols@1.1.0" + "type": "library", + "bom-ref": "pkg:npm/hasown@2.0.2", + "name": "hasown", + "version": "2.0.2", + "purl": "pkg:npm/hasown@2.0.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/hasown@2.0.2", - "name" : "hasown", - "version" : "2.0.2", - "purl" : "pkg:npm/hasown@2.0.2" + "type": "library", + "bom-ref": "pkg:npm/math-intrinsics@1.1.0", + "name": "math-intrinsics", + "version": "1.1.0", + "purl": "pkg:npm/math-intrinsics@1.1.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/math-intrinsics@1.1.0", - "name" : "math-intrinsics", - "version" : "1.1.0", - "purl" : "pkg:npm/math-intrinsics@1.1.0" + "type": "library", + "bom-ref": "pkg:npm/is-number@7.0.0", + "name": "is-number", + "version": "7.0.0", + "purl": "pkg:npm/is-number@7.0.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/is-number@7.0.0", - "name" : "is-number", - "version" : "7.0.0", - "purl" : "pkg:npm/is-number@7.0.0" - }, - { - "type" : "library", - "bom-ref" : "pkg:npm/dunder-proto@1.0.1", - "name" : "dunder-proto", - "version" : "1.0.1", - "purl" : "pkg:npm/dunder-proto@1.0.1" + "type": "library", + "bom-ref": "pkg:npm/dunder-proto@1.0.1", + "name": "dunder-proto", + "version": "1.0.1", + "purl": "pkg:npm/dunder-proto@1.0.1" } ], - "dependencies" : [ + "dependencies": [ { - "ref" : "pkg:npm/backend@1.0.0", - "dependsOn" : [ + "ref": "pkg:npm/backend@1.0.0", + "dependsOn": [ "pkg:npm/%40hapi/joi@17.1.1", "pkg:npm/backend@0.0.0", "pkg:npm/bcryptjs@2.4.3", @@ -1131,8 +1124,8 @@ ] }, { - "ref" : "pkg:npm/%40hapi/joi@17.1.1", - "dependsOn" : [ + "ref": "pkg:npm/%40hapi/joi@17.1.1", + "dependsOn": [ "pkg:npm/%40hapi/address@4.1.0", "pkg:npm/%40hapi/formula@2.0.0", "pkg:npm/%40hapi/hoek@9.3.0", @@ -1141,20 +1134,20 @@ ] }, { - "ref" : "pkg:npm/backend@0.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/backend@0.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/bcryptjs@2.4.3", - "dependsOn" : [ ] + "ref": "pkg:npm/bcryptjs@2.4.3", + "dependsOn": [] }, { - "ref" : "pkg:npm/dotenv@8.6.0", - "dependsOn" : [ ] + "ref": "pkg:npm/dotenv@8.6.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/express@4.21.2", - "dependsOn" : [ + "ref": "pkg:npm/express@4.21.2", + "dependsOn": [ "pkg:npm/accepts@1.3.8", "pkg:npm/array-flatten@1.1.1", "pkg:npm/body-parser@1.20.3", @@ -1189,8 +1182,8 @@ ] }, { - "ref" : "pkg:npm/mongoose@5.13.23", - "dependsOn" : [ + "ref": "pkg:npm/mongoose@5.13.23", + "dependsOn": [ "pkg:npm/%40types/bson@4.0.5", "pkg:npm/%40types/mongodb@3.6.20", "pkg:npm/bson@1.1.6", @@ -1209,8 +1202,8 @@ ] }, { - "ref" : "pkg:npm/nodemon@2.0.22", - "dependsOn" : [ + "ref": "pkg:npm/nodemon@2.0.22", + "dependsOn": [ "pkg:npm/chokidar@3.6.0", "pkg:npm/debug@2.6.9", "pkg:npm/ignore-by-default@1.0.1", @@ -1225,64 +1218,64 @@ ] }, { - "ref" : "pkg:npm/axios@0.19.2", - "dependsOn" : [ + "ref": "pkg:npm/axios@0.19.2", + "dependsOn": [ "pkg:npm/follow-redirects@1.5.10" ] }, { - "ref" : "pkg:npm/debug@2.6.9", - "dependsOn" : [ + "ref": "pkg:npm/debug@2.6.9", + "dependsOn": [ "pkg:npm/ms@2.1.3", "pkg:npm/ms@2.0.0" ] }, { - "ref" : "pkg:npm/ms@2.1.3", - "dependsOn" : [ ] + "ref": "pkg:npm/ms@2.1.3", + "dependsOn": [] }, { - "ref" : "pkg:npm/ms@2.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/ms@2.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/%40hapi/address@4.1.0", - "dependsOn" : [ + "ref": "pkg:npm/%40hapi/address@4.1.0", + "dependsOn": [ "pkg:npm/%40hapi/hoek@9.3.0" ] }, { - "ref" : "pkg:npm/%40hapi/formula@2.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/%40hapi/formula@2.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/%40hapi/hoek@9.3.0", - "dependsOn" : [ ] + "ref": "pkg:npm/%40hapi/hoek@9.3.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/%40hapi/pinpoint@2.0.1", - "dependsOn" : [ ] + "ref": "pkg:npm/%40hapi/pinpoint@2.0.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/%40hapi/topo@5.1.0", - "dependsOn" : [ + "ref": "pkg:npm/%40hapi/topo@5.1.0", + "dependsOn": [ "pkg:npm/%40hapi/hoek@9.3.0" ] }, { - "ref" : "pkg:npm/accepts@1.3.8", - "dependsOn" : [ + "ref": "pkg:npm/accepts@1.3.8", + "dependsOn": [ "pkg:npm/mime-types@2.1.35", "pkg:npm/negotiator@0.6.3" ] }, { - "ref" : "pkg:npm/array-flatten@1.1.1", - "dependsOn" : [ ] + "ref": "pkg:npm/array-flatten@1.1.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/body-parser@1.20.3", - "dependsOn" : [ + "ref": "pkg:npm/body-parser@1.20.3", + "dependsOn": [ "pkg:npm/bytes@3.1.2", "pkg:npm/content-type@1.0.5", "pkg:npm/debug@2.6.9", @@ -1298,42 +1291,42 @@ ] }, { - "ref" : "pkg:npm/content-disposition@0.5.4", - "dependsOn" : [ + "ref": "pkg:npm/content-disposition@0.5.4", + "dependsOn": [ "pkg:npm/safe-buffer@5.2.1" ] }, { - "ref" : "pkg:npm/content-type@1.0.5", - "dependsOn" : [ ] + "ref": "pkg:npm/content-type@1.0.5", + "dependsOn": [] }, { - "ref" : "pkg:npm/cookie@0.7.1", - "dependsOn" : [ ] + "ref": "pkg:npm/cookie@0.7.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/cookie-signature@1.0.6", - "dependsOn" : [ ] + "ref": "pkg:npm/cookie-signature@1.0.6", + "dependsOn": [] }, { - "ref" : "pkg:npm/depd@2.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/depd@2.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/encodeurl@2.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/encodeurl@2.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/escape-html@1.0.3", - "dependsOn" : [ ] + "ref": "pkg:npm/escape-html@1.0.3", + "dependsOn": [] }, { - "ref" : "pkg:npm/etag@1.8.1", - "dependsOn" : [ ] + "ref": "pkg:npm/etag@1.8.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/finalhandler@1.3.1", - "dependsOn" : [ + "ref": "pkg:npm/finalhandler@1.3.1", + "dependsOn": [ "pkg:npm/debug@2.6.9", "pkg:npm/encodeurl@2.0.0", "pkg:npm/escape-html@1.0.3", @@ -1344,12 +1337,12 @@ ] }, { - "ref" : "pkg:npm/fresh@0.5.2", - "dependsOn" : [ ] + "ref": "pkg:npm/fresh@0.5.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/http-errors@2.0.0", - "dependsOn" : [ + "ref": "pkg:npm/http-errors@2.0.0", + "dependsOn": [ "pkg:npm/depd@2.0.0", "pkg:npm/inherits@2.0.4", "pkg:npm/setprototypeof@1.2.0", @@ -1358,51 +1351,51 @@ ] }, { - "ref" : "pkg:npm/merge-descriptors@1.0.3", - "dependsOn" : [ ] + "ref": "pkg:npm/merge-descriptors@1.0.3", + "dependsOn": [] }, { - "ref" : "pkg:npm/methods@1.1.2", - "dependsOn" : [ ] + "ref": "pkg:npm/methods@1.1.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/on-finished@2.4.1", - "dependsOn" : [ + "ref": "pkg:npm/on-finished@2.4.1", + "dependsOn": [ "pkg:npm/ee-first@1.1.1" ] }, { - "ref" : "pkg:npm/parseurl@1.3.3", - "dependsOn" : [ ] + "ref": "pkg:npm/parseurl@1.3.3", + "dependsOn": [] }, { - "ref" : "pkg:npm/path-to-regexp@0.1.12", - "dependsOn" : [ ] + "ref": "pkg:npm/path-to-regexp@0.1.12", + "dependsOn": [] }, { - "ref" : "pkg:npm/proxy-addr@2.0.7", - "dependsOn" : [ + "ref": "pkg:npm/proxy-addr@2.0.7", + "dependsOn": [ "pkg:npm/forwarded@0.2.0", "pkg:npm/ipaddr.js@1.9.1" ] }, { - "ref" : "pkg:npm/qs@6.13.0", - "dependsOn" : [ + "ref": "pkg:npm/qs@6.13.0", + "dependsOn": [ "pkg:npm/side-channel@1.1.0" ] }, { - "ref" : "pkg:npm/range-parser@1.2.1", - "dependsOn" : [ ] + "ref": "pkg:npm/range-parser@1.2.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/safe-buffer@5.2.1", - "dependsOn" : [ ] + "ref": "pkg:npm/safe-buffer@5.2.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/send@0.19.0", - "dependsOn" : [ + "ref": "pkg:npm/send@0.19.0", + "dependsOn": [ "pkg:npm/debug@2.6.9", "pkg:npm/depd@2.0.0", "pkg:npm/destroy@1.2.0", @@ -1420,8 +1413,8 @@ ] }, { - "ref" : "pkg:npm/serve-static@1.16.2", - "dependsOn" : [ + "ref": "pkg:npm/serve-static@1.16.2", + "dependsOn": [ "pkg:npm/encodeurl@2.0.0", "pkg:npm/escape-html@1.0.3", "pkg:npm/parseurl@1.3.3", @@ -1429,76 +1422,76 @@ ] }, { - "ref" : "pkg:npm/setprototypeof@1.2.0", - "dependsOn" : [ ] + "ref": "pkg:npm/setprototypeof@1.2.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/statuses@2.0.1", - "dependsOn" : [ ] + "ref": "pkg:npm/statuses@2.0.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/type-is@1.6.18", - "dependsOn" : [ + "ref": "pkg:npm/type-is@1.6.18", + "dependsOn": [ "pkg:npm/media-typer@0.3.0", "pkg:npm/mime-types@2.1.35" ] }, { - "ref" : "pkg:npm/utils-merge@1.0.1", - "dependsOn" : [ ] + "ref": "pkg:npm/utils-merge@1.0.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/vary@1.1.2", - "dependsOn" : [ ] + "ref": "pkg:npm/vary@1.1.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/jws@3.2.2", - "dependsOn" : [ + "ref": "pkg:npm/jws@3.2.2", + "dependsOn": [ "pkg:npm/jwa@1.4.1", "pkg:npm/safe-buffer@5.2.1" ] }, { - "ref" : "pkg:npm/lodash.includes@4.3.0", - "dependsOn" : [ ] + "ref": "pkg:npm/lodash.includes@4.3.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/lodash.isboolean@3.0.3", - "dependsOn" : [ ] + "ref": "pkg:npm/lodash.isboolean@3.0.3", + "dependsOn": [] }, { - "ref" : "pkg:npm/lodash.isinteger@4.0.4", - "dependsOn" : [ ] + "ref": "pkg:npm/lodash.isinteger@4.0.4", + "dependsOn": [] }, { - "ref" : "pkg:npm/lodash.isnumber@3.0.3", - "dependsOn" : [ ] + "ref": "pkg:npm/lodash.isnumber@3.0.3", + "dependsOn": [] }, { - "ref" : "pkg:npm/lodash.isplainobject@4.0.6", - "dependsOn" : [ ] + "ref": "pkg:npm/lodash.isplainobject@4.0.6", + "dependsOn": [] }, { - "ref" : "pkg:npm/lodash.isstring@4.0.1", - "dependsOn" : [ ] + "ref": "pkg:npm/lodash.isstring@4.0.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/lodash.once@4.1.1", - "dependsOn" : [ ] + "ref": "pkg:npm/lodash.once@4.1.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/semver@5.7.2", - "dependsOn" : [ ] + "ref": "pkg:npm/semver@5.7.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/%40types/bson@4.0.5", - "dependsOn" : [ + "ref": "pkg:npm/%40types/bson@4.0.5", + "dependsOn": [ "pkg:npm/%40types/node@22.14.1" ] }, { - "ref" : "pkg:npm/%40types/mongodb@3.6.20", - "dependsOn" : [ + "ref": "pkg:npm/%40types/mongodb@3.6.20", + "dependsOn": [ "pkg:npm/%40types/bson@4.0.5", "pkg:npm/%40types/node@22.14.1", "pkg:npm/%40types/bson@4.2.4", @@ -1506,16 +1499,16 @@ ] }, { - "ref" : "pkg:npm/bson@1.1.6", - "dependsOn" : [ ] + "ref": "pkg:npm/bson@1.1.6", + "dependsOn": [] }, { - "ref" : "pkg:npm/kareem@2.3.2", - "dependsOn" : [ ] + "ref": "pkg:npm/kareem@2.3.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/mongodb@3.7.4", - "dependsOn" : [ + "ref": "pkg:npm/mongodb@3.7.4", + "dependsOn": [ "pkg:npm/bl@2.2.1", "pkg:npm/bson@1.1.6", "pkg:npm/denque@1.5.1", @@ -1526,16 +1519,16 @@ ] }, { - "ref" : "pkg:npm/mongoose-legacy-pluralize@1.0.2", - "dependsOn" : [ ] + "ref": "pkg:npm/mongoose-legacy-pluralize@1.0.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/mpath@0.8.4", - "dependsOn" : [ ] + "ref": "pkg:npm/mpath@0.8.4", + "dependsOn": [] }, { - "ref" : "pkg:npm/mquery@3.2.5", - "dependsOn" : [ + "ref": "pkg:npm/mquery@3.2.5", + "dependsOn": [ "pkg:npm/bluebird@3.5.1", "pkg:npm/debug@2.6.9", "pkg:npm/regexp-clone@1.0.0", @@ -1547,28 +1540,28 @@ ] }, { - "ref" : "pkg:npm/optional-require@1.0.3", - "dependsOn" : [ ] + "ref": "pkg:npm/optional-require@1.0.3", + "dependsOn": [] }, { - "ref" : "pkg:npm/regexp-clone@1.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/regexp-clone@1.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/sift@13.5.2", - "dependsOn" : [ ] + "ref": "pkg:npm/sift@13.5.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/sliced@1.0.1", - "dependsOn" : [ ] + "ref": "pkg:npm/sliced@1.0.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/ms@2.1.2", - "dependsOn" : [ ] + "ref": "pkg:npm/ms@2.1.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/chokidar@3.6.0", - "dependsOn" : [ + "ref": "pkg:npm/chokidar@3.6.0", + "dependsOn": [ "pkg:npm/anymatch@3.1.3", "pkg:npm/braces@3.0.3", "pkg:npm/glob-parent@5.1.2", @@ -1580,97 +1573,97 @@ ] }, { - "ref" : "pkg:npm/ignore-by-default@1.0.1", - "dependsOn" : [ ] + "ref": "pkg:npm/ignore-by-default@1.0.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/minimatch@3.1.2", - "dependsOn" : [ + "ref": "pkg:npm/minimatch@3.1.2", + "dependsOn": [ "pkg:npm/brace-expansion@1.1.11" ] }, { - "ref" : "pkg:npm/pstree.remy@1.1.8", - "dependsOn" : [ ] + "ref": "pkg:npm/pstree.remy@1.1.8", + "dependsOn": [] }, { - "ref" : "pkg:npm/simple-update-notifier@1.1.0", - "dependsOn" : [ + "ref": "pkg:npm/simple-update-notifier@1.1.0", + "dependsOn": [ "pkg:npm/semver@5.7.2", "pkg:npm/semver@7.0.0" ] }, { - "ref" : "pkg:npm/supports-color@5.5.0", - "dependsOn" : [ + "ref": "pkg:npm/supports-color@5.5.0", + "dependsOn": [ "pkg:npm/has-flag@3.0.0" ] }, { - "ref" : "pkg:npm/touch@3.1.1", - "dependsOn" : [ ] + "ref": "pkg:npm/touch@3.1.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/undefsafe@2.0.5", - "dependsOn" : [ ] + "ref": "pkg:npm/undefsafe@2.0.5", + "dependsOn": [] }, { - "ref" : "pkg:npm/debug@3.2.7", - "dependsOn" : [ + "ref": "pkg:npm/debug@3.2.7", + "dependsOn": [ "pkg:npm/ms@2.1.3" ] }, { - "ref" : "pkg:npm/follow-redirects@1.5.10", - "dependsOn" : [ + "ref": "pkg:npm/follow-redirects@1.5.10", + "dependsOn": [ "pkg:npm/debug@2.6.9", "pkg:npm/debug@3.1.0", "pkg:npm/ms@2.0.0" ] }, { - "ref" : "pkg:npm/%40types/node@22.14.1", - "dependsOn" : [ + "ref": "pkg:npm/%40types/node@22.14.1", + "dependsOn": [ "pkg:npm/undici-types@6.21.0" ] }, { - "ref" : "pkg:npm/%40types/bson@4.2.4", - "dependsOn" : [ + "ref": "pkg:npm/%40types/bson@4.2.4", + "dependsOn": [ "pkg:npm/bson@1.1.6" ] }, { - "ref" : "pkg:npm/bson@6.10.3", - "dependsOn" : [ ] + "ref": "pkg:npm/bson@6.10.3", + "dependsOn": [] }, { - "ref" : "pkg:npm/mime-types@2.1.35", - "dependsOn" : [ + "ref": "pkg:npm/mime-types@2.1.35", + "dependsOn": [ "pkg:npm/mime-db@1.52.0" ] }, { - "ref" : "pkg:npm/negotiator@0.6.3", - "dependsOn" : [ ] + "ref": "pkg:npm/negotiator@0.6.3", + "dependsOn": [] }, { - "ref" : "pkg:npm/bytes@3.1.2", - "dependsOn" : [ ] + "ref": "pkg:npm/bytes@3.1.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/destroy@1.2.0", - "dependsOn" : [ ] + "ref": "pkg:npm/destroy@1.2.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/iconv-lite@0.4.24", - "dependsOn" : [ + "ref": "pkg:npm/iconv-lite@0.4.24", + "dependsOn": [ "pkg:npm/safer-buffer@2.1.2" ] }, { - "ref" : "pkg:npm/raw-body@2.5.2", - "dependsOn" : [ + "ref": "pkg:npm/raw-body@2.5.2", + "dependsOn": [ "pkg:npm/bytes@3.1.2", "pkg:npm/http-errors@2.0.0", "pkg:npm/iconv-lite@0.4.24", @@ -1678,133 +1671,133 @@ ] }, { - "ref" : "pkg:npm/unpipe@1.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/unpipe@1.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/anymatch@3.1.3", - "dependsOn" : [ + "ref": "pkg:npm/anymatch@3.1.3", + "dependsOn": [ "pkg:npm/normalize-path@3.0.0", "pkg:npm/picomatch@2.3.1" ] }, { - "ref" : "pkg:npm/braces@3.0.3", - "dependsOn" : [ + "ref": "pkg:npm/braces@3.0.3", + "dependsOn": [ "pkg:npm/fill-range@7.1.1" ] }, { - "ref" : "pkg:npm/glob-parent@5.1.2", - "dependsOn" : [ + "ref": "pkg:npm/glob-parent@5.1.2", + "dependsOn": [ "pkg:npm/is-glob@4.0.3" ] }, { - "ref" : "pkg:npm/is-binary-path@2.1.0", - "dependsOn" : [ + "ref": "pkg:npm/is-binary-path@2.1.0", + "dependsOn": [ "pkg:npm/binary-extensions@2.3.0" ] }, { - "ref" : "pkg:npm/is-glob@4.0.3", - "dependsOn" : [ + "ref": "pkg:npm/is-glob@4.0.3", + "dependsOn": [ "pkg:npm/is-extglob@2.1.1" ] }, { - "ref" : "pkg:npm/normalize-path@3.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/normalize-path@3.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/readdirp@3.6.0", - "dependsOn" : [ + "ref": "pkg:npm/readdirp@3.6.0", + "dependsOn": [ "pkg:npm/picomatch@2.3.1" ] }, { - "ref" : "pkg:npm/fsevents@2.3.3", - "dependsOn" : [ ] + "ref": "pkg:npm/fsevents@2.3.3", + "dependsOn": [] }, { - "ref" : "pkg:npm/debug@3.1.0", - "dependsOn" : [ + "ref": "pkg:npm/debug@3.1.0", + "dependsOn": [ "pkg:npm/ms@2.1.3" ] }, { - "ref" : "pkg:npm/inherits@2.0.4", - "dependsOn" : [ ] + "ref": "pkg:npm/inherits@2.0.4", + "dependsOn": [] }, { - "ref" : "pkg:npm/toidentifier@1.0.1", - "dependsOn" : [ ] + "ref": "pkg:npm/toidentifier@1.0.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/jwa@1.4.1", - "dependsOn" : [ + "ref": "pkg:npm/jwa@1.4.1", + "dependsOn": [ "pkg:npm/buffer-equal-constant-time@1.0.1", "pkg:npm/ecdsa-sig-formatter@1.0.11", "pkg:npm/safe-buffer@5.2.1" ] }, { - "ref" : "pkg:npm/brace-expansion@1.1.11", - "dependsOn" : [ + "ref": "pkg:npm/brace-expansion@1.1.11", + "dependsOn": [ "pkg:npm/balanced-match@1.0.2", "pkg:npm/concat-map@0.0.1" ] }, { - "ref" : "pkg:npm/bl@2.2.1", - "dependsOn" : [ + "ref": "pkg:npm/bl@2.2.1", + "dependsOn": [ "pkg:npm/readable-stream@2.3.8", "pkg:npm/safe-buffer@5.2.1" ] }, { - "ref" : "pkg:npm/denque@1.5.1", - "dependsOn" : [ ] + "ref": "pkg:npm/denque@1.5.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/saslprep@1.0.3", - "dependsOn" : [ + "ref": "pkg:npm/saslprep@1.0.3", + "dependsOn": [ "pkg:npm/sparse-bitfield@3.0.3" ] }, { - "ref" : "pkg:npm/optional-require@1.1.8", - "dependsOn" : [ + "ref": "pkg:npm/optional-require@1.1.8", + "dependsOn": [ "pkg:npm/require-at@1.0.6" ] }, { - "ref" : "pkg:npm/require-at@1.0.6", - "dependsOn" : [ ] + "ref": "pkg:npm/require-at@1.0.6", + "dependsOn": [] }, { - "ref" : "pkg:npm/bluebird@3.5.1", - "dependsOn" : [ ] + "ref": "pkg:npm/bluebird@3.5.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/safe-buffer@5.1.2", - "dependsOn" : [ ] + "ref": "pkg:npm/safe-buffer@5.1.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/ee-first@1.1.1", - "dependsOn" : [ ] + "ref": "pkg:npm/ee-first@1.1.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/forwarded@0.2.0", - "dependsOn" : [ ] + "ref": "pkg:npm/forwarded@0.2.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/ipaddr.js@1.9.1", - "dependsOn" : [ ] + "ref": "pkg:npm/ipaddr.js@1.9.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/side-channel@1.1.0", - "dependsOn" : [ + "ref": "pkg:npm/side-channel@1.1.0", + "dependsOn": [ "pkg:npm/es-errors@1.3.0", "pkg:npm/object-inspect@1.13.4", "pkg:npm/side-channel-list@1.0.0", @@ -1813,36 +1806,36 @@ ] }, { - "ref" : "pkg:npm/mime@1.6.0", - "dependsOn" : [ ] + "ref": "pkg:npm/mime@1.6.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/encodeurl@1.0.2", - "dependsOn" : [ ] + "ref": "pkg:npm/encodeurl@1.0.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/semver@7.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/semver@7.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/has-flag@3.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/has-flag@3.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/media-typer@0.3.0", - "dependsOn" : [ ] + "ref": "pkg:npm/media-typer@0.3.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/undici-types@6.21.0", - "dependsOn" : [ ] + "ref": "pkg:npm/undici-types@6.21.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/picomatch@2.3.1", - "dependsOn" : [ ] + "ref": "pkg:npm/picomatch@2.3.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/readable-stream@2.3.8", - "dependsOn" : [ + "ref": "pkg:npm/readable-stream@2.3.8", + "dependsOn": [ "pkg:npm/core-util-is@1.0.3", "pkg:npm/inherits@2.0.4", "pkg:npm/isarray@1.0.0", @@ -1854,69 +1847,69 @@ ] }, { - "ref" : "pkg:npm/balanced-match@1.0.2", - "dependsOn" : [ ] + "ref": "pkg:npm/balanced-match@1.0.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/concat-map@0.0.1", - "dependsOn" : [ ] + "ref": "pkg:npm/concat-map@0.0.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/fill-range@7.1.1", - "dependsOn" : [ + "ref": "pkg:npm/fill-range@7.1.1", + "dependsOn": [ "pkg:npm/to-regex-range@5.0.1" ] }, { - "ref" : "pkg:npm/safer-buffer@2.1.2", - "dependsOn" : [ ] + "ref": "pkg:npm/safer-buffer@2.1.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/binary-extensions@2.3.0", - "dependsOn" : [ ] + "ref": "pkg:npm/binary-extensions@2.3.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/is-extglob@2.1.1", - "dependsOn" : [ ] + "ref": "pkg:npm/is-extglob@2.1.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/buffer-equal-constant-time@1.0.1", - "dependsOn" : [ ] + "ref": "pkg:npm/buffer-equal-constant-time@1.0.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/ecdsa-sig-formatter@1.0.11", - "dependsOn" : [ + "ref": "pkg:npm/ecdsa-sig-formatter@1.0.11", + "dependsOn": [ "pkg:npm/safe-buffer@5.2.1" ] }, { - "ref" : "pkg:npm/mime-db@1.52.0", - "dependsOn" : [ ] + "ref": "pkg:npm/mime-db@1.52.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/sparse-bitfield@3.0.3", - "dependsOn" : [ + "ref": "pkg:npm/sparse-bitfield@3.0.3", + "dependsOn": [ "pkg:npm/memory-pager@1.5.0" ] }, { - "ref" : "pkg:npm/es-errors@1.3.0", - "dependsOn" : [ ] + "ref": "pkg:npm/es-errors@1.3.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/object-inspect@1.13.4", - "dependsOn" : [ ] + "ref": "pkg:npm/object-inspect@1.13.4", + "dependsOn": [] }, { - "ref" : "pkg:npm/side-channel-list@1.0.0", - "dependsOn" : [ + "ref": "pkg:npm/side-channel-list@1.0.0", + "dependsOn": [ "pkg:npm/es-errors@1.3.0", "pkg:npm/object-inspect@1.13.4" ] }, { - "ref" : "pkg:npm/side-channel-map@1.0.1", - "dependsOn" : [ + "ref": "pkg:npm/side-channel-map@1.0.1", + "dependsOn": [ "pkg:npm/call-bound@1.0.4", "pkg:npm/es-errors@1.3.0", "pkg:npm/get-intrinsic@1.3.0", @@ -1924,8 +1917,8 @@ ] }, { - "ref" : "pkg:npm/side-channel-weakmap@1.0.2", - "dependsOn" : [ + "ref": "pkg:npm/side-channel-weakmap@1.0.2", + "dependsOn": [ "pkg:npm/call-bound@1.0.4", "pkg:npm/es-errors@1.3.0", "pkg:npm/get-intrinsic@1.3.0", @@ -1934,44 +1927,44 @@ ] }, { - "ref" : "pkg:npm/to-regex-range@5.0.1", - "dependsOn" : [ + "ref": "pkg:npm/to-regex-range@5.0.1", + "dependsOn": [ "pkg:npm/is-number@7.0.0" ] }, { - "ref" : "pkg:npm/core-util-is@1.0.3", - "dependsOn" : [ ] + "ref": "pkg:npm/core-util-is@1.0.3", + "dependsOn": [] }, { - "ref" : "pkg:npm/isarray@1.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/isarray@1.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/process-nextick-args@2.0.1", - "dependsOn" : [ ] + "ref": "pkg:npm/process-nextick-args@2.0.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/string_decoder@1.1.1", - "dependsOn" : [ + "ref": "pkg:npm/string_decoder@1.1.1", + "dependsOn": [ "pkg:npm/safe-buffer@5.2.1", "pkg:npm/safe-buffer@5.1.2" ] }, { - "ref" : "pkg:npm/util-deprecate@1.0.2", - "dependsOn" : [ ] + "ref": "pkg:npm/util-deprecate@1.0.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/call-bound@1.0.4", - "dependsOn" : [ + "ref": "pkg:npm/call-bound@1.0.4", + "dependsOn": [ "pkg:npm/call-bind-apply-helpers@1.0.2", "pkg:npm/get-intrinsic@1.3.0" ] }, { - "ref" : "pkg:npm/get-intrinsic@1.3.0", - "dependsOn" : [ + "ref": "pkg:npm/get-intrinsic@1.3.0", + "dependsOn": [ "pkg:npm/call-bind-apply-helpers@1.0.2", "pkg:npm/es-define-property@1.0.1", "pkg:npm/es-errors@1.3.0", @@ -1985,66 +1978,66 @@ ] }, { - "ref" : "pkg:npm/memory-pager@1.5.0", - "dependsOn" : [ ] + "ref": "pkg:npm/memory-pager@1.5.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/call-bind-apply-helpers@1.0.2", - "dependsOn" : [ + "ref": "pkg:npm/call-bind-apply-helpers@1.0.2", + "dependsOn": [ "pkg:npm/es-errors@1.3.0", "pkg:npm/function-bind@1.1.2" ] }, { - "ref" : "pkg:npm/es-define-property@1.0.1", - "dependsOn" : [ ] + "ref": "pkg:npm/es-define-property@1.0.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/es-object-atoms@1.1.1", - "dependsOn" : [ + "ref": "pkg:npm/es-object-atoms@1.1.1", + "dependsOn": [ "pkg:npm/es-errors@1.3.0" ] }, { - "ref" : "pkg:npm/function-bind@1.1.2", - "dependsOn" : [ ] + "ref": "pkg:npm/function-bind@1.1.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/get-proto@1.0.1", - "dependsOn" : [ + "ref": "pkg:npm/get-proto@1.0.1", + "dependsOn": [ "pkg:npm/dunder-proto@1.0.1", "pkg:npm/es-object-atoms@1.1.1" ] }, { - "ref" : "pkg:npm/gopd@1.2.0", - "dependsOn" : [ ] + "ref": "pkg:npm/gopd@1.2.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/has-symbols@1.1.0", - "dependsOn" : [ ] + "ref": "pkg:npm/has-symbols@1.1.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/hasown@2.0.2", - "dependsOn" : [ + "ref": "pkg:npm/hasown@2.0.2", + "dependsOn": [ "pkg:npm/function-bind@1.1.2" ] }, { - "ref" : "pkg:npm/math-intrinsics@1.1.0", - "dependsOn" : [ ] + "ref": "pkg:npm/math-intrinsics@1.1.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/is-number@7.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/is-number@7.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/dunder-proto@1.0.1", - "dependsOn" : [ + "ref": "pkg:npm/dunder-proto@1.0.1", + "dependsOn": [ "pkg:npm/call-bind-apply-helpers@1.0.2", "pkg:npm/es-errors@1.3.0", "pkg:npm/gopd@1.2.0" ] } ] -} \ No newline at end of file +} diff --git a/test/providers/tst_manifests/yarn-classic/package_json_deps_with_mixed_dep_types/listing_component.json b/test/providers/tst_manifests/yarn-classic/package_json_deps_with_mixed_dep_types/listing_component.json new file mode 100644 index 00000000..8c27d084 --- /dev/null +++ b/test/providers/tst_manifests/yarn-classic/package_json_deps_with_mixed_dep_types/listing_component.json @@ -0,0 +1 @@ +{"type":"tree","data":{"type":"list","trees":[{"name":"express@4.17.1","children":[],"hint":null,"color":null,"depth":0},{"name":"axios@0.19.0","children":[],"hint":null,"color":null,"depth":0},{"name":"lodash@4.17.19","children":[],"hint":null,"color":null,"depth":0}]}} diff --git a/test/providers/tst_manifests/yarn-classic/package_json_deps_with_mixed_dep_types/listing_stack.json b/test/providers/tst_manifests/yarn-classic/package_json_deps_with_mixed_dep_types/listing_stack.json new file mode 100644 index 00000000..7c090ccb --- /dev/null +++ b/test/providers/tst_manifests/yarn-classic/package_json_deps_with_mixed_dep_types/listing_stack.json @@ -0,0 +1 @@ +{"type":"tree","data":{"type":"list","trees":[{"name":"express@4.17.1","children":[{"name":"body-parser@1.19.0","children":[],"hint":null,"color":null,"depth":0}],"hint":null,"color":null,"depth":0},{"name":"axios@0.19.0","children":[{"name":"follow-redirects@1.5.10","children":[],"hint":null,"color":null,"depth":0}],"hint":null,"color":null,"depth":0},{"name":"lodash@4.17.19","children":[],"hint":null,"color":null,"depth":0},{"name":"body-parser@1.19.0","children":[],"hint":null,"color":null,"depth":0},{"name":"follow-redirects@1.5.10","children":[],"hint":null,"color":null,"depth":0}]}} diff --git a/test/providers/tst_manifests/yarn-classic/package_json_deps_with_mixed_dep_types/package.json b/test/providers/tst_manifests/yarn-classic/package_json_deps_with_mixed_dep_types/package.json new file mode 100644 index 00000000..eb16da72 --- /dev/null +++ b/test/providers/tst_manifests/yarn-classic/package_json_deps_with_mixed_dep_types/package.json @@ -0,0 +1,21 @@ +{ + "name": "mixed-deps-test", + "version": "1.0.0", + "dependencies": { + "express": "4.17.1", + "axios": "0.19.0" + }, + "peerDependencies": { + "minimist": "1.2.0" + }, + "optionalDependencies": { + "lodash": "4.17.19" + }, + "bundledDependencies": [ + "express" + ], + "devDependencies": { + "jest": "26.0.0", + "eslint": "7.0.0" + } +} diff --git a/test/providers/tst_manifests/yarn-classic/package_json_deps_with_mixed_dep_types/stack_expected_sbom.json b/test/providers/tst_manifests/yarn-classic/package_json_deps_with_mixed_dep_types/stack_expected_sbom.json new file mode 100644 index 00000000..75a0c47a --- /dev/null +++ b/test/providers/tst_manifests/yarn-classic/package_json_deps_with_mixed_dep_types/stack_expected_sbom.json @@ -0,0 +1,98 @@ +{ + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2023-08-07T00:00:00.000Z", + "component": { + "name": "mixed-deps-test", + "version": "1.0.0", + "purl": "pkg:npm/mixed-deps-test@1.0.0", + "type": "application", + "bom-ref": "pkg:npm/mixed-deps-test@1.0.0" + } + }, + "components": [ + { + "name": "express", + "version": "4.17.1", + "purl": "pkg:npm/express@4.17.1", + "type": "library", + "bom-ref": "pkg:npm/express@4.17.1" + }, + { + "name": "body-parser", + "version": "1.19.0", + "purl": "pkg:npm/body-parser@1.19.0", + "type": "library", + "bom-ref": "pkg:npm/body-parser@1.19.0" + }, + { + "name": "axios", + "version": "0.19.0", + "purl": "pkg:npm/axios@0.19.0", + "type": "library", + "bom-ref": "pkg:npm/axios@0.19.0" + }, + { + "name": "follow-redirects", + "version": "1.5.10", + "purl": "pkg:npm/follow-redirects@1.5.10", + "type": "library", + "bom-ref": "pkg:npm/follow-redirects@1.5.10" + }, + { + "name": "minimist", + "version": "1.2.0", + "purl": "pkg:npm/minimist@1.2.0", + "type": "library", + "bom-ref": "pkg:npm/minimist@1.2.0" + }, + { + "name": "lodash", + "version": "4.17.19", + "purl": "pkg:npm/lodash@4.17.19", + "type": "library", + "bom-ref": "pkg:npm/lodash@4.17.19" + } + ], + "dependencies": [ + { + "ref": "pkg:npm/mixed-deps-test@1.0.0", + "dependsOn": [ + "pkg:npm/express@4.17.1", + "pkg:npm/axios@0.19.0", + "pkg:npm/lodash@4.17.19", + "pkg:npm/minimist@1.2.0" + ] + }, + { + "ref": "pkg:npm/express@4.17.1", + "dependsOn": [ + "pkg:npm/body-parser@1.19.0" + ] + }, + { + "ref": "pkg:npm/body-parser@1.19.0", + "dependsOn": [] + }, + { + "ref": "pkg:npm/axios@0.19.0", + "dependsOn": [ + "pkg:npm/follow-redirects@1.5.10" + ] + }, + { + "ref": "pkg:npm/follow-redirects@1.5.10", + "dependsOn": [] + }, + { + "ref": "pkg:npm/minimist@1.2.0", + "dependsOn": [] + }, + { + "ref": "pkg:npm/lodash@4.17.19", + "dependsOn": [] + } + ] +} diff --git a/test/providers/tst_manifests/yarn-classic/package_json_deps_with_mixed_dep_types/yarn.lock b/test/providers/tst_manifests/yarn-classic/package_json_deps_with_mixed_dep_types/yarn.lock new file mode 100644 index 00000000..ef452491 --- /dev/null +++ b/test/providers/tst_manifests/yarn-classic/package_json_deps_with_mixed_dep_types/yarn.lock @@ -0,0 +1 @@ +# yarn lockfile v1 diff --git a/test/providers/tst_manifests/yarn-classic/package_json_deps_without_exhortignore_object/stack_expected_sbom.json b/test/providers/tst_manifests/yarn-classic/package_json_deps_without_exhortignore_object/stack_expected_sbom.json index 523b8eba..0d2e4fb4 100644 --- a/test/providers/tst_manifests/yarn-classic/package_json_deps_without_exhortignore_object/stack_expected_sbom.json +++ b/test/providers/tst_manifests/yarn-classic/package_json_deps_without_exhortignore_object/stack_expected_sbom.json @@ -1,1132 +1,1125 @@ { - "bomFormat" : "CycloneDX", - "specVersion" : "1.4", - "version" : 1, - "metadata" : { - "timestamp" : "2025-04-16T14:36:52Z", - "component" : { - "type" : "application", - "bom-ref" : "pkg:npm/backend@1.0.0", - "name" : "backend", - "version" : "1.0.0", - "purl" : "pkg:npm/backend@1.0.0" + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "timestamp": "2025-04-16T14:36:52Z", + "component": { + "type": "application", + "bom-ref": "pkg:npm/backend@1.0.0", + "name": "backend", + "version": "1.0.0", + "purl": "pkg:npm/backend@1.0.0" } }, - "components" : [ + "components": [ { - "type" : "application", - "bom-ref" : "pkg:npm/backend@1.0.0", - "name" : "backend", - "version" : "1.0.0", - "purl" : "pkg:npm/backend@1.0.0" + "type": "library", + "bom-ref": "pkg:npm/%40hapi/joi@17.1.1", + "group": "@hapi", + "name": "joi", + "version": "17.1.1", + "purl": "pkg:npm/%40hapi/joi@17.1.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/%40hapi/joi@17.1.1", - "group" : "@hapi", - "name" : "joi", - "version" : "17.1.1", - "purl" : "pkg:npm/%40hapi/joi@17.1.1" + "type": "library", + "bom-ref": "pkg:npm/backend@0.0.0", + "name": "backend", + "version": "0.0.0", + "purl": "pkg:npm/backend@0.0.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/backend@0.0.0", - "name" : "backend", - "version" : "0.0.0", - "purl" : "pkg:npm/backend@0.0.0" + "type": "library", + "bom-ref": "pkg:npm/bcryptjs@2.4.3", + "name": "bcryptjs", + "version": "2.4.3", + "purl": "pkg:npm/bcryptjs@2.4.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/bcryptjs@2.4.3", - "name" : "bcryptjs", - "version" : "2.4.3", - "purl" : "pkg:npm/bcryptjs@2.4.3" + "type": "library", + "bom-ref": "pkg:npm/dotenv@8.6.0", + "name": "dotenv", + "version": "8.6.0", + "purl": "pkg:npm/dotenv@8.6.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/dotenv@8.6.0", - "name" : "dotenv", - "version" : "8.6.0", - "purl" : "pkg:npm/dotenv@8.6.0" + "type": "library", + "bom-ref": "pkg:npm/express@4.21.2", + "name": "express", + "version": "4.21.2", + "purl": "pkg:npm/express@4.21.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/express@4.21.2", - "name" : "express", - "version" : "4.21.2", - "purl" : "pkg:npm/express@4.21.2" + "type": "library", + "bom-ref": "pkg:npm/jsonwebtoken@8.5.1", + "name": "jsonwebtoken", + "version": "8.5.1", + "purl": "pkg:npm/jsonwebtoken@8.5.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/jsonwebtoken@8.5.1", - "name" : "jsonwebtoken", - "version" : "8.5.1", - "purl" : "pkg:npm/jsonwebtoken@8.5.1" + "type": "library", + "bom-ref": "pkg:npm/mongoose@5.13.23", + "name": "mongoose", + "version": "5.13.23", + "purl": "pkg:npm/mongoose@5.13.23" }, { - "type" : "library", - "bom-ref" : "pkg:npm/mongoose@5.13.23", - "name" : "mongoose", - "version" : "5.13.23", - "purl" : "pkg:npm/mongoose@5.13.23" + "type": "library", + "bom-ref": "pkg:npm/nodemon@2.0.22", + "name": "nodemon", + "version": "2.0.22", + "purl": "pkg:npm/nodemon@2.0.22" }, { - "type" : "library", - "bom-ref" : "pkg:npm/nodemon@2.0.22", - "name" : "nodemon", - "version" : "2.0.22", - "purl" : "pkg:npm/nodemon@2.0.22" + "type": "library", + "bom-ref": "pkg:npm/axios@0.19.2", + "name": "axios", + "version": "0.19.2", + "purl": "pkg:npm/axios@0.19.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/axios@0.19.2", - "name" : "axios", - "version" : "0.19.2", - "purl" : "pkg:npm/axios@0.19.2" + "type": "library", + "bom-ref": "pkg:npm/debug@2.6.9", + "name": "debug", + "version": "2.6.9", + "purl": "pkg:npm/debug@2.6.9" }, { - "type" : "library", - "bom-ref" : "pkg:npm/debug@2.6.9", - "name" : "debug", - "version" : "2.6.9", - "purl" : "pkg:npm/debug@2.6.9" + "type": "library", + "bom-ref": "pkg:npm/ms@2.1.3", + "name": "ms", + "version": "2.1.3", + "purl": "pkg:npm/ms@2.1.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/ms@2.1.3", - "name" : "ms", - "version" : "2.1.3", - "purl" : "pkg:npm/ms@2.1.3" + "type": "library", + "bom-ref": "pkg:npm/ms@2.0.0", + "name": "ms", + "version": "2.0.0", + "purl": "pkg:npm/ms@2.0.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/ms@2.0.0", - "name" : "ms", - "version" : "2.0.0", - "purl" : "pkg:npm/ms@2.0.0" + "type": "library", + "bom-ref": "pkg:npm/%40hapi/address@4.1.0", + "group": "@hapi", + "name": "address", + "version": "4.1.0", + "purl": "pkg:npm/%40hapi/address@4.1.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/%40hapi/address@4.1.0", - "group" : "@hapi", - "name" : "address", - "version" : "4.1.0", - "purl" : "pkg:npm/%40hapi/address@4.1.0" + "type": "library", + "bom-ref": "pkg:npm/%40hapi/formula@2.0.0", + "group": "@hapi", + "name": "formula", + "version": "2.0.0", + "purl": "pkg:npm/%40hapi/formula@2.0.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/%40hapi/formula@2.0.0", - "group" : "@hapi", - "name" : "formula", - "version" : "2.0.0", - "purl" : "pkg:npm/%40hapi/formula@2.0.0" + "type": "library", + "bom-ref": "pkg:npm/%40hapi/hoek@9.3.0", + "group": "@hapi", + "name": "hoek", + "version": "9.3.0", + "purl": "pkg:npm/%40hapi/hoek@9.3.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/%40hapi/hoek@9.3.0", - "group" : "@hapi", - "name" : "hoek", - "version" : "9.3.0", - "purl" : "pkg:npm/%40hapi/hoek@9.3.0" + "type": "library", + "bom-ref": "pkg:npm/%40hapi/pinpoint@2.0.1", + "group": "@hapi", + "name": "pinpoint", + "version": "2.0.1", + "purl": "pkg:npm/%40hapi/pinpoint@2.0.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/%40hapi/pinpoint@2.0.1", - "group" : "@hapi", - "name" : "pinpoint", - "version" : "2.0.1", - "purl" : "pkg:npm/%40hapi/pinpoint@2.0.1" + "type": "library", + "bom-ref": "pkg:npm/%40hapi/topo@5.1.0", + "group": "@hapi", + "name": "topo", + "version": "5.1.0", + "purl": "pkg:npm/%40hapi/topo@5.1.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/%40hapi/topo@5.1.0", - "group" : "@hapi", - "name" : "topo", - "version" : "5.1.0", - "purl" : "pkg:npm/%40hapi/topo@5.1.0" + "type": "library", + "bom-ref": "pkg:npm/accepts@1.3.8", + "name": "accepts", + "version": "1.3.8", + "purl": "pkg:npm/accepts@1.3.8" }, { - "type" : "library", - "bom-ref" : "pkg:npm/accepts@1.3.8", - "name" : "accepts", - "version" : "1.3.8", - "purl" : "pkg:npm/accepts@1.3.8" + "type": "library", + "bom-ref": "pkg:npm/array-flatten@1.1.1", + "name": "array-flatten", + "version": "1.1.1", + "purl": "pkg:npm/array-flatten@1.1.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/array-flatten@1.1.1", - "name" : "array-flatten", - "version" : "1.1.1", - "purl" : "pkg:npm/array-flatten@1.1.1" + "type": "library", + "bom-ref": "pkg:npm/body-parser@1.20.3", + "name": "body-parser", + "version": "1.20.3", + "purl": "pkg:npm/body-parser@1.20.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/body-parser@1.20.3", - "name" : "body-parser", - "version" : "1.20.3", - "purl" : "pkg:npm/body-parser@1.20.3" + "type": "library", + "bom-ref": "pkg:npm/content-disposition@0.5.4", + "name": "content-disposition", + "version": "0.5.4", + "purl": "pkg:npm/content-disposition@0.5.4" }, { - "type" : "library", - "bom-ref" : "pkg:npm/content-disposition@0.5.4", - "name" : "content-disposition", - "version" : "0.5.4", - "purl" : "pkg:npm/content-disposition@0.5.4" + "type": "library", + "bom-ref": "pkg:npm/content-type@1.0.5", + "name": "content-type", + "version": "1.0.5", + "purl": "pkg:npm/content-type@1.0.5" }, { - "type" : "library", - "bom-ref" : "pkg:npm/content-type@1.0.5", - "name" : "content-type", - "version" : "1.0.5", - "purl" : "pkg:npm/content-type@1.0.5" + "type": "library", + "bom-ref": "pkg:npm/cookie@0.7.1", + "name": "cookie", + "version": "0.7.1", + "purl": "pkg:npm/cookie@0.7.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/cookie@0.7.1", - "name" : "cookie", - "version" : "0.7.1", - "purl" : "pkg:npm/cookie@0.7.1" + "type": "library", + "bom-ref": "pkg:npm/cookie-signature@1.0.6", + "name": "cookie-signature", + "version": "1.0.6", + "purl": "pkg:npm/cookie-signature@1.0.6" }, { - "type" : "library", - "bom-ref" : "pkg:npm/cookie-signature@1.0.6", - "name" : "cookie-signature", - "version" : "1.0.6", - "purl" : "pkg:npm/cookie-signature@1.0.6" + "type": "library", + "bom-ref": "pkg:npm/depd@2.0.0", + "name": "depd", + "version": "2.0.0", + "purl": "pkg:npm/depd@2.0.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/depd@2.0.0", - "name" : "depd", - "version" : "2.0.0", - "purl" : "pkg:npm/depd@2.0.0" + "type": "library", + "bom-ref": "pkg:npm/encodeurl@2.0.0", + "name": "encodeurl", + "version": "2.0.0", + "purl": "pkg:npm/encodeurl@2.0.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/encodeurl@2.0.0", - "name" : "encodeurl", - "version" : "2.0.0", - "purl" : "pkg:npm/encodeurl@2.0.0" + "type": "library", + "bom-ref": "pkg:npm/escape-html@1.0.3", + "name": "escape-html", + "version": "1.0.3", + "purl": "pkg:npm/escape-html@1.0.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/escape-html@1.0.3", - "name" : "escape-html", - "version" : "1.0.3", - "purl" : "pkg:npm/escape-html@1.0.3" + "type": "library", + "bom-ref": "pkg:npm/etag@1.8.1", + "name": "etag", + "version": "1.8.1", + "purl": "pkg:npm/etag@1.8.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/etag@1.8.1", - "name" : "etag", - "version" : "1.8.1", - "purl" : "pkg:npm/etag@1.8.1" + "type": "library", + "bom-ref": "pkg:npm/finalhandler@1.3.1", + "name": "finalhandler", + "version": "1.3.1", + "purl": "pkg:npm/finalhandler@1.3.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/finalhandler@1.3.1", - "name" : "finalhandler", - "version" : "1.3.1", - "purl" : "pkg:npm/finalhandler@1.3.1" + "type": "library", + "bom-ref": "pkg:npm/fresh@0.5.2", + "name": "fresh", + "version": "0.5.2", + "purl": "pkg:npm/fresh@0.5.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/fresh@0.5.2", - "name" : "fresh", - "version" : "0.5.2", - "purl" : "pkg:npm/fresh@0.5.2" + "type": "library", + "bom-ref": "pkg:npm/http-errors@2.0.0", + "name": "http-errors", + "version": "2.0.0", + "purl": "pkg:npm/http-errors@2.0.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/http-errors@2.0.0", - "name" : "http-errors", - "version" : "2.0.0", - "purl" : "pkg:npm/http-errors@2.0.0" + "type": "library", + "bom-ref": "pkg:npm/merge-descriptors@1.0.3", + "name": "merge-descriptors", + "version": "1.0.3", + "purl": "pkg:npm/merge-descriptors@1.0.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/merge-descriptors@1.0.3", - "name" : "merge-descriptors", - "version" : "1.0.3", - "purl" : "pkg:npm/merge-descriptors@1.0.3" + "type": "library", + "bom-ref": "pkg:npm/methods@1.1.2", + "name": "methods", + "version": "1.1.2", + "purl": "pkg:npm/methods@1.1.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/methods@1.1.2", - "name" : "methods", - "version" : "1.1.2", - "purl" : "pkg:npm/methods@1.1.2" + "type": "library", + "bom-ref": "pkg:npm/on-finished@2.4.1", + "name": "on-finished", + "version": "2.4.1", + "purl": "pkg:npm/on-finished@2.4.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/on-finished@2.4.1", - "name" : "on-finished", - "version" : "2.4.1", - "purl" : "pkg:npm/on-finished@2.4.1" + "type": "library", + "bom-ref": "pkg:npm/parseurl@1.3.3", + "name": "parseurl", + "version": "1.3.3", + "purl": "pkg:npm/parseurl@1.3.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/parseurl@1.3.3", - "name" : "parseurl", - "version" : "1.3.3", - "purl" : "pkg:npm/parseurl@1.3.3" + "type": "library", + "bom-ref": "pkg:npm/path-to-regexp@0.1.12", + "name": "path-to-regexp", + "version": "0.1.12", + "purl": "pkg:npm/path-to-regexp@0.1.12" }, { - "type" : "library", - "bom-ref" : "pkg:npm/path-to-regexp@0.1.12", - "name" : "path-to-regexp", - "version" : "0.1.12", - "purl" : "pkg:npm/path-to-regexp@0.1.12" + "type": "library", + "bom-ref": "pkg:npm/proxy-addr@2.0.7", + "name": "proxy-addr", + "version": "2.0.7", + "purl": "pkg:npm/proxy-addr@2.0.7" }, { - "type" : "library", - "bom-ref" : "pkg:npm/proxy-addr@2.0.7", - "name" : "proxy-addr", - "version" : "2.0.7", - "purl" : "pkg:npm/proxy-addr@2.0.7" + "type": "library", + "bom-ref": "pkg:npm/qs@6.13.0", + "name": "qs", + "version": "6.13.0", + "purl": "pkg:npm/qs@6.13.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/qs@6.13.0", - "name" : "qs", - "version" : "6.13.0", - "purl" : "pkg:npm/qs@6.13.0" + "type": "library", + "bom-ref": "pkg:npm/range-parser@1.2.1", + "name": "range-parser", + "version": "1.2.1", + "purl": "pkg:npm/range-parser@1.2.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/range-parser@1.2.1", - "name" : "range-parser", - "version" : "1.2.1", - "purl" : "pkg:npm/range-parser@1.2.1" + "type": "library", + "bom-ref": "pkg:npm/safe-buffer@5.2.1", + "name": "safe-buffer", + "version": "5.2.1", + "purl": "pkg:npm/safe-buffer@5.2.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/safe-buffer@5.2.1", - "name" : "safe-buffer", - "version" : "5.2.1", - "purl" : "pkg:npm/safe-buffer@5.2.1" + "type": "library", + "bom-ref": "pkg:npm/send@0.19.0", + "name": "send", + "version": "0.19.0", + "purl": "pkg:npm/send@0.19.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/send@0.19.0", - "name" : "send", - "version" : "0.19.0", - "purl" : "pkg:npm/send@0.19.0" + "type": "library", + "bom-ref": "pkg:npm/serve-static@1.16.2", + "name": "serve-static", + "version": "1.16.2", + "purl": "pkg:npm/serve-static@1.16.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/serve-static@1.16.2", - "name" : "serve-static", - "version" : "1.16.2", - "purl" : "pkg:npm/serve-static@1.16.2" + "type": "library", + "bom-ref": "pkg:npm/setprototypeof@1.2.0", + "name": "setprototypeof", + "version": "1.2.0", + "purl": "pkg:npm/setprototypeof@1.2.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/setprototypeof@1.2.0", - "name" : "setprototypeof", - "version" : "1.2.0", - "purl" : "pkg:npm/setprototypeof@1.2.0" + "type": "library", + "bom-ref": "pkg:npm/statuses@2.0.1", + "name": "statuses", + "version": "2.0.1", + "purl": "pkg:npm/statuses@2.0.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/statuses@2.0.1", - "name" : "statuses", - "version" : "2.0.1", - "purl" : "pkg:npm/statuses@2.0.1" + "type": "library", + "bom-ref": "pkg:npm/type-is@1.6.18", + "name": "type-is", + "version": "1.6.18", + "purl": "pkg:npm/type-is@1.6.18" }, { - "type" : "library", - "bom-ref" : "pkg:npm/type-is@1.6.18", - "name" : "type-is", - "version" : "1.6.18", - "purl" : "pkg:npm/type-is@1.6.18" + "type": "library", + "bom-ref": "pkg:npm/utils-merge@1.0.1", + "name": "utils-merge", + "version": "1.0.1", + "purl": "pkg:npm/utils-merge@1.0.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/utils-merge@1.0.1", - "name" : "utils-merge", - "version" : "1.0.1", - "purl" : "pkg:npm/utils-merge@1.0.1" + "type": "library", + "bom-ref": "pkg:npm/vary@1.1.2", + "name": "vary", + "version": "1.1.2", + "purl": "pkg:npm/vary@1.1.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/vary@1.1.2", - "name" : "vary", - "version" : "1.1.2", - "purl" : "pkg:npm/vary@1.1.2" + "type": "library", + "bom-ref": "pkg:npm/jws@3.2.2", + "name": "jws", + "version": "3.2.2", + "purl": "pkg:npm/jws@3.2.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/jws@3.2.2", - "name" : "jws", - "version" : "3.2.2", - "purl" : "pkg:npm/jws@3.2.2" + "type": "library", + "bom-ref": "pkg:npm/lodash.includes@4.3.0", + "name": "lodash.includes", + "version": "4.3.0", + "purl": "pkg:npm/lodash.includes@4.3.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/lodash.includes@4.3.0", - "name" : "lodash.includes", - "version" : "4.3.0", - "purl" : "pkg:npm/lodash.includes@4.3.0" + "type": "library", + "bom-ref": "pkg:npm/lodash.isboolean@3.0.3", + "name": "lodash.isboolean", + "version": "3.0.3", + "purl": "pkg:npm/lodash.isboolean@3.0.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/lodash.isboolean@3.0.3", - "name" : "lodash.isboolean", - "version" : "3.0.3", - "purl" : "pkg:npm/lodash.isboolean@3.0.3" + "type": "library", + "bom-ref": "pkg:npm/lodash.isinteger@4.0.4", + "name": "lodash.isinteger", + "version": "4.0.4", + "purl": "pkg:npm/lodash.isinteger@4.0.4" }, { - "type" : "library", - "bom-ref" : "pkg:npm/lodash.isinteger@4.0.4", - "name" : "lodash.isinteger", - "version" : "4.0.4", - "purl" : "pkg:npm/lodash.isinteger@4.0.4" + "type": "library", + "bom-ref": "pkg:npm/lodash.isnumber@3.0.3", + "name": "lodash.isnumber", + "version": "3.0.3", + "purl": "pkg:npm/lodash.isnumber@3.0.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/lodash.isnumber@3.0.3", - "name" : "lodash.isnumber", - "version" : "3.0.3", - "purl" : "pkg:npm/lodash.isnumber@3.0.3" + "type": "library", + "bom-ref": "pkg:npm/lodash.isplainobject@4.0.6", + "name": "lodash.isplainobject", + "version": "4.0.6", + "purl": "pkg:npm/lodash.isplainobject@4.0.6" }, { - "type" : "library", - "bom-ref" : "pkg:npm/lodash.isplainobject@4.0.6", - "name" : "lodash.isplainobject", - "version" : "4.0.6", - "purl" : "pkg:npm/lodash.isplainobject@4.0.6" + "type": "library", + "bom-ref": "pkg:npm/lodash.isstring@4.0.1", + "name": "lodash.isstring", + "version": "4.0.1", + "purl": "pkg:npm/lodash.isstring@4.0.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/lodash.isstring@4.0.1", - "name" : "lodash.isstring", - "version" : "4.0.1", - "purl" : "pkg:npm/lodash.isstring@4.0.1" + "type": "library", + "bom-ref": "pkg:npm/lodash.once@4.1.1", + "name": "lodash.once", + "version": "4.1.1", + "purl": "pkg:npm/lodash.once@4.1.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/lodash.once@4.1.1", - "name" : "lodash.once", - "version" : "4.1.1", - "purl" : "pkg:npm/lodash.once@4.1.1" + "type": "library", + "bom-ref": "pkg:npm/semver@5.7.2", + "name": "semver", + "version": "5.7.2", + "purl": "pkg:npm/semver@5.7.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/semver@5.7.2", - "name" : "semver", - "version" : "5.7.2", - "purl" : "pkg:npm/semver@5.7.2" + "type": "library", + "bom-ref": "pkg:npm/%40types/bson@4.0.5", + "group": "@types", + "name": "bson", + "version": "4.0.5", + "purl": "pkg:npm/%40types/bson@4.0.5" }, { - "type" : "library", - "bom-ref" : "pkg:npm/%40types/bson@4.0.5", - "group" : "@types", - "name" : "bson", - "version" : "4.0.5", - "purl" : "pkg:npm/%40types/bson@4.0.5" + "type": "library", + "bom-ref": "pkg:npm/%40types/mongodb@3.6.20", + "group": "@types", + "name": "mongodb", + "version": "3.6.20", + "purl": "pkg:npm/%40types/mongodb@3.6.20" }, { - "type" : "library", - "bom-ref" : "pkg:npm/%40types/mongodb@3.6.20", - "group" : "@types", - "name" : "mongodb", - "version" : "3.6.20", - "purl" : "pkg:npm/%40types/mongodb@3.6.20" + "type": "library", + "bom-ref": "pkg:npm/bson@1.1.6", + "name": "bson", + "version": "1.1.6", + "purl": "pkg:npm/bson@1.1.6" }, { - "type" : "library", - "bom-ref" : "pkg:npm/bson@1.1.6", - "name" : "bson", - "version" : "1.1.6", - "purl" : "pkg:npm/bson@1.1.6" + "type": "library", + "bom-ref": "pkg:npm/kareem@2.3.2", + "name": "kareem", + "version": "2.3.2", + "purl": "pkg:npm/kareem@2.3.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/kareem@2.3.2", - "name" : "kareem", - "version" : "2.3.2", - "purl" : "pkg:npm/kareem@2.3.2" + "type": "library", + "bom-ref": "pkg:npm/mongodb@3.7.4", + "name": "mongodb", + "version": "3.7.4", + "purl": "pkg:npm/mongodb@3.7.4" }, { - "type" : "library", - "bom-ref" : "pkg:npm/mongodb@3.7.4", - "name" : "mongodb", - "version" : "3.7.4", - "purl" : "pkg:npm/mongodb@3.7.4" + "type": "library", + "bom-ref": "pkg:npm/mongoose-legacy-pluralize@1.0.2", + "name": "mongoose-legacy-pluralize", + "version": "1.0.2", + "purl": "pkg:npm/mongoose-legacy-pluralize@1.0.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/mongoose-legacy-pluralize@1.0.2", - "name" : "mongoose-legacy-pluralize", - "version" : "1.0.2", - "purl" : "pkg:npm/mongoose-legacy-pluralize@1.0.2" + "type": "library", + "bom-ref": "pkg:npm/mpath@0.8.4", + "name": "mpath", + "version": "0.8.4", + "purl": "pkg:npm/mpath@0.8.4" }, { - "type" : "library", - "bom-ref" : "pkg:npm/mpath@0.8.4", - "name" : "mpath", - "version" : "0.8.4", - "purl" : "pkg:npm/mpath@0.8.4" + "type": "library", + "bom-ref": "pkg:npm/mquery@3.2.5", + "name": "mquery", + "version": "3.2.5", + "purl": "pkg:npm/mquery@3.2.5" }, { - "type" : "library", - "bom-ref" : "pkg:npm/mquery@3.2.5", - "name" : "mquery", - "version" : "3.2.5", - "purl" : "pkg:npm/mquery@3.2.5" + "type": "library", + "bom-ref": "pkg:npm/optional-require@1.0.3", + "name": "optional-require", + "version": "1.0.3", + "purl": "pkg:npm/optional-require@1.0.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/optional-require@1.0.3", - "name" : "optional-require", - "version" : "1.0.3", - "purl" : "pkg:npm/optional-require@1.0.3" + "type": "library", + "bom-ref": "pkg:npm/regexp-clone@1.0.0", + "name": "regexp-clone", + "version": "1.0.0", + "purl": "pkg:npm/regexp-clone@1.0.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/regexp-clone@1.0.0", - "name" : "regexp-clone", - "version" : "1.0.0", - "purl" : "pkg:npm/regexp-clone@1.0.0" + "type": "library", + "bom-ref": "pkg:npm/sift@13.5.2", + "name": "sift", + "version": "13.5.2", + "purl": "pkg:npm/sift@13.5.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/sift@13.5.2", - "name" : "sift", - "version" : "13.5.2", - "purl" : "pkg:npm/sift@13.5.2" + "type": "library", + "bom-ref": "pkg:npm/sliced@1.0.1", + "name": "sliced", + "version": "1.0.1", + "purl": "pkg:npm/sliced@1.0.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/sliced@1.0.1", - "name" : "sliced", - "version" : "1.0.1", - "purl" : "pkg:npm/sliced@1.0.1" + "type": "library", + "bom-ref": "pkg:npm/ms@2.1.2", + "name": "ms", + "version": "2.1.2", + "purl": "pkg:npm/ms@2.1.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/ms@2.1.2", - "name" : "ms", - "version" : "2.1.2", - "purl" : "pkg:npm/ms@2.1.2" + "type": "library", + "bom-ref": "pkg:npm/chokidar@3.6.0", + "name": "chokidar", + "version": "3.6.0", + "purl": "pkg:npm/chokidar@3.6.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/chokidar@3.6.0", - "name" : "chokidar", - "version" : "3.6.0", - "purl" : "pkg:npm/chokidar@3.6.0" + "type": "library", + "bom-ref": "pkg:npm/ignore-by-default@1.0.1", + "name": "ignore-by-default", + "version": "1.0.1", + "purl": "pkg:npm/ignore-by-default@1.0.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/ignore-by-default@1.0.1", - "name" : "ignore-by-default", - "version" : "1.0.1", - "purl" : "pkg:npm/ignore-by-default@1.0.1" + "type": "library", + "bom-ref": "pkg:npm/minimatch@3.1.2", + "name": "minimatch", + "version": "3.1.2", + "purl": "pkg:npm/minimatch@3.1.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/minimatch@3.1.2", - "name" : "minimatch", - "version" : "3.1.2", - "purl" : "pkg:npm/minimatch@3.1.2" + "type": "library", + "bom-ref": "pkg:npm/pstree.remy@1.1.8", + "name": "pstree.remy", + "version": "1.1.8", + "purl": "pkg:npm/pstree.remy@1.1.8" }, { - "type" : "library", - "bom-ref" : "pkg:npm/pstree.remy@1.1.8", - "name" : "pstree.remy", - "version" : "1.1.8", - "purl" : "pkg:npm/pstree.remy@1.1.8" + "type": "library", + "bom-ref": "pkg:npm/simple-update-notifier@1.1.0", + "name": "simple-update-notifier", + "version": "1.1.0", + "purl": "pkg:npm/simple-update-notifier@1.1.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/simple-update-notifier@1.1.0", - "name" : "simple-update-notifier", - "version" : "1.1.0", - "purl" : "pkg:npm/simple-update-notifier@1.1.0" + "type": "library", + "bom-ref": "pkg:npm/supports-color@5.5.0", + "name": "supports-color", + "version": "5.5.0", + "purl": "pkg:npm/supports-color@5.5.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/supports-color@5.5.0", - "name" : "supports-color", - "version" : "5.5.0", - "purl" : "pkg:npm/supports-color@5.5.0" + "type": "library", + "bom-ref": "pkg:npm/touch@3.1.1", + "name": "touch", + "version": "3.1.1", + "purl": "pkg:npm/touch@3.1.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/touch@3.1.1", - "name" : "touch", - "version" : "3.1.1", - "purl" : "pkg:npm/touch@3.1.1" + "type": "library", + "bom-ref": "pkg:npm/undefsafe@2.0.5", + "name": "undefsafe", + "version": "2.0.5", + "purl": "pkg:npm/undefsafe@2.0.5" }, { - "type" : "library", - "bom-ref" : "pkg:npm/undefsafe@2.0.5", - "name" : "undefsafe", - "version" : "2.0.5", - "purl" : "pkg:npm/undefsafe@2.0.5" + "type": "library", + "bom-ref": "pkg:npm/debug@3.2.7", + "name": "debug", + "version": "3.2.7", + "purl": "pkg:npm/debug@3.2.7" }, { - "type" : "library", - "bom-ref" : "pkg:npm/debug@3.2.7", - "name" : "debug", - "version" : "3.2.7", - "purl" : "pkg:npm/debug@3.2.7" + "type": "library", + "bom-ref": "pkg:npm/follow-redirects@1.5.10", + "name": "follow-redirects", + "version": "1.5.10", + "purl": "pkg:npm/follow-redirects@1.5.10" }, { - "type" : "library", - "bom-ref" : "pkg:npm/follow-redirects@1.5.10", - "name" : "follow-redirects", - "version" : "1.5.10", - "purl" : "pkg:npm/follow-redirects@1.5.10" + "type": "library", + "bom-ref": "pkg:npm/%40types/node@22.14.1", + "group": "@types", + "name": "node", + "version": "22.14.1", + "purl": "pkg:npm/%40types/node@22.14.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/%40types/node@22.14.1", - "group" : "@types", - "name" : "node", - "version" : "22.14.1", - "purl" : "pkg:npm/%40types/node@22.14.1" + "type": "library", + "bom-ref": "pkg:npm/%40types/bson@4.2.4", + "group": "@types", + "name": "bson", + "version": "4.2.4", + "purl": "pkg:npm/%40types/bson@4.2.4" }, { - "type" : "library", - "bom-ref" : "pkg:npm/%40types/bson@4.2.4", - "group" : "@types", - "name" : "bson", - "version" : "4.2.4", - "purl" : "pkg:npm/%40types/bson@4.2.4" + "type": "library", + "bom-ref": "pkg:npm/bson@6.10.3", + "name": "bson", + "version": "6.10.3", + "purl": "pkg:npm/bson@6.10.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/bson@6.10.3", - "name" : "bson", - "version" : "6.10.3", - "purl" : "pkg:npm/bson@6.10.3" + "type": "library", + "bom-ref": "pkg:npm/mime-types@2.1.35", + "name": "mime-types", + "version": "2.1.35", + "purl": "pkg:npm/mime-types@2.1.35" }, { - "type" : "library", - "bom-ref" : "pkg:npm/mime-types@2.1.35", - "name" : "mime-types", - "version" : "2.1.35", - "purl" : "pkg:npm/mime-types@2.1.35" + "type": "library", + "bom-ref": "pkg:npm/negotiator@0.6.3", + "name": "negotiator", + "version": "0.6.3", + "purl": "pkg:npm/negotiator@0.6.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/negotiator@0.6.3", - "name" : "negotiator", - "version" : "0.6.3", - "purl" : "pkg:npm/negotiator@0.6.3" + "type": "library", + "bom-ref": "pkg:npm/bytes@3.1.2", + "name": "bytes", + "version": "3.1.2", + "purl": "pkg:npm/bytes@3.1.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/bytes@3.1.2", - "name" : "bytes", - "version" : "3.1.2", - "purl" : "pkg:npm/bytes@3.1.2" + "type": "library", + "bom-ref": "pkg:npm/destroy@1.2.0", + "name": "destroy", + "version": "1.2.0", + "purl": "pkg:npm/destroy@1.2.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/destroy@1.2.0", - "name" : "destroy", - "version" : "1.2.0", - "purl" : "pkg:npm/destroy@1.2.0" + "type": "library", + "bom-ref": "pkg:npm/iconv-lite@0.4.24", + "name": "iconv-lite", + "version": "0.4.24", + "purl": "pkg:npm/iconv-lite@0.4.24" }, { - "type" : "library", - "bom-ref" : "pkg:npm/iconv-lite@0.4.24", - "name" : "iconv-lite", - "version" : "0.4.24", - "purl" : "pkg:npm/iconv-lite@0.4.24" + "type": "library", + "bom-ref": "pkg:npm/raw-body@2.5.2", + "name": "raw-body", + "version": "2.5.2", + "purl": "pkg:npm/raw-body@2.5.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/raw-body@2.5.2", - "name" : "raw-body", - "version" : "2.5.2", - "purl" : "pkg:npm/raw-body@2.5.2" + "type": "library", + "bom-ref": "pkg:npm/unpipe@1.0.0", + "name": "unpipe", + "version": "1.0.0", + "purl": "pkg:npm/unpipe@1.0.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/unpipe@1.0.0", - "name" : "unpipe", - "version" : "1.0.0", - "purl" : "pkg:npm/unpipe@1.0.0" + "type": "library", + "bom-ref": "pkg:npm/anymatch@3.1.3", + "name": "anymatch", + "version": "3.1.3", + "purl": "pkg:npm/anymatch@3.1.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/anymatch@3.1.3", - "name" : "anymatch", - "version" : "3.1.3", - "purl" : "pkg:npm/anymatch@3.1.3" + "type": "library", + "bom-ref": "pkg:npm/braces@3.0.3", + "name": "braces", + "version": "3.0.3", + "purl": "pkg:npm/braces@3.0.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/braces@3.0.3", - "name" : "braces", - "version" : "3.0.3", - "purl" : "pkg:npm/braces@3.0.3" + "type": "library", + "bom-ref": "pkg:npm/glob-parent@5.1.2", + "name": "glob-parent", + "version": "5.1.2", + "purl": "pkg:npm/glob-parent@5.1.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/glob-parent@5.1.2", - "name" : "glob-parent", - "version" : "5.1.2", - "purl" : "pkg:npm/glob-parent@5.1.2" + "type": "library", + "bom-ref": "pkg:npm/is-binary-path@2.1.0", + "name": "is-binary-path", + "version": "2.1.0", + "purl": "pkg:npm/is-binary-path@2.1.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/is-binary-path@2.1.0", - "name" : "is-binary-path", - "version" : "2.1.0", - "purl" : "pkg:npm/is-binary-path@2.1.0" + "type": "library", + "bom-ref": "pkg:npm/is-glob@4.0.3", + "name": "is-glob", + "version": "4.0.3", + "purl": "pkg:npm/is-glob@4.0.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/is-glob@4.0.3", - "name" : "is-glob", - "version" : "4.0.3", - "purl" : "pkg:npm/is-glob@4.0.3" + "type": "library", + "bom-ref": "pkg:npm/normalize-path@3.0.0", + "name": "normalize-path", + "version": "3.0.0", + "purl": "pkg:npm/normalize-path@3.0.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/normalize-path@3.0.0", - "name" : "normalize-path", - "version" : "3.0.0", - "purl" : "pkg:npm/normalize-path@3.0.0" + "type": "library", + "bom-ref": "pkg:npm/readdirp@3.6.0", + "name": "readdirp", + "version": "3.6.0", + "purl": "pkg:npm/readdirp@3.6.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/readdirp@3.6.0", - "name" : "readdirp", - "version" : "3.6.0", - "purl" : "pkg:npm/readdirp@3.6.0" + "type": "library", + "bom-ref": "pkg:npm/fsevents@2.3.3", + "name": "fsevents", + "version": "2.3.3", + "purl": "pkg:npm/fsevents@2.3.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/fsevents@2.3.3", - "name" : "fsevents", - "version" : "2.3.3", - "purl" : "pkg:npm/fsevents@2.3.3" + "type": "library", + "bom-ref": "pkg:npm/debug@3.1.0", + "name": "debug", + "version": "3.1.0", + "purl": "pkg:npm/debug@3.1.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/debug@3.1.0", - "name" : "debug", - "version" : "3.1.0", - "purl" : "pkg:npm/debug@3.1.0" + "type": "library", + "bom-ref": "pkg:npm/inherits@2.0.4", + "name": "inherits", + "version": "2.0.4", + "purl": "pkg:npm/inherits@2.0.4" }, { - "type" : "library", - "bom-ref" : "pkg:npm/inherits@2.0.4", - "name" : "inherits", - "version" : "2.0.4", - "purl" : "pkg:npm/inherits@2.0.4" + "type": "library", + "bom-ref": "pkg:npm/toidentifier@1.0.1", + "name": "toidentifier", + "version": "1.0.1", + "purl": "pkg:npm/toidentifier@1.0.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/toidentifier@1.0.1", - "name" : "toidentifier", - "version" : "1.0.1", - "purl" : "pkg:npm/toidentifier@1.0.1" + "type": "library", + "bom-ref": "pkg:npm/jwa@1.4.1", + "name": "jwa", + "version": "1.4.1", + "purl": "pkg:npm/jwa@1.4.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/jwa@1.4.1", - "name" : "jwa", - "version" : "1.4.1", - "purl" : "pkg:npm/jwa@1.4.1" + "type": "library", + "bom-ref": "pkg:npm/brace-expansion@1.1.11", + "name": "brace-expansion", + "version": "1.1.11", + "purl": "pkg:npm/brace-expansion@1.1.11" }, { - "type" : "library", - "bom-ref" : "pkg:npm/brace-expansion@1.1.11", - "name" : "brace-expansion", - "version" : "1.1.11", - "purl" : "pkg:npm/brace-expansion@1.1.11" + "type": "library", + "bom-ref": "pkg:npm/bl@2.2.1", + "name": "bl", + "version": "2.2.1", + "purl": "pkg:npm/bl@2.2.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/bl@2.2.1", - "name" : "bl", - "version" : "2.2.1", - "purl" : "pkg:npm/bl@2.2.1" + "type": "library", + "bom-ref": "pkg:npm/denque@1.5.1", + "name": "denque", + "version": "1.5.1", + "purl": "pkg:npm/denque@1.5.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/denque@1.5.1", - "name" : "denque", - "version" : "1.5.1", - "purl" : "pkg:npm/denque@1.5.1" + "type": "library", + "bom-ref": "pkg:npm/saslprep@1.0.3", + "name": "saslprep", + "version": "1.0.3", + "purl": "pkg:npm/saslprep@1.0.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/saslprep@1.0.3", - "name" : "saslprep", - "version" : "1.0.3", - "purl" : "pkg:npm/saslprep@1.0.3" + "type": "library", + "bom-ref": "pkg:npm/optional-require@1.1.8", + "name": "optional-require", + "version": "1.1.8", + "purl": "pkg:npm/optional-require@1.1.8" }, { - "type" : "library", - "bom-ref" : "pkg:npm/optional-require@1.1.8", - "name" : "optional-require", - "version" : "1.1.8", - "purl" : "pkg:npm/optional-require@1.1.8" + "type": "library", + "bom-ref": "pkg:npm/require-at@1.0.6", + "name": "require-at", + "version": "1.0.6", + "purl": "pkg:npm/require-at@1.0.6" }, { - "type" : "library", - "bom-ref" : "pkg:npm/require-at@1.0.6", - "name" : "require-at", - "version" : "1.0.6", - "purl" : "pkg:npm/require-at@1.0.6" + "type": "library", + "bom-ref": "pkg:npm/bluebird@3.5.1", + "name": "bluebird", + "version": "3.5.1", + "purl": "pkg:npm/bluebird@3.5.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/bluebird@3.5.1", - "name" : "bluebird", - "version" : "3.5.1", - "purl" : "pkg:npm/bluebird@3.5.1" + "type": "library", + "bom-ref": "pkg:npm/safe-buffer@5.1.2", + "name": "safe-buffer", + "version": "5.1.2", + "purl": "pkg:npm/safe-buffer@5.1.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/safe-buffer@5.1.2", - "name" : "safe-buffer", - "version" : "5.1.2", - "purl" : "pkg:npm/safe-buffer@5.1.2" + "type": "library", + "bom-ref": "pkg:npm/ee-first@1.1.1", + "name": "ee-first", + "version": "1.1.1", + "purl": "pkg:npm/ee-first@1.1.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/ee-first@1.1.1", - "name" : "ee-first", - "version" : "1.1.1", - "purl" : "pkg:npm/ee-first@1.1.1" + "type": "library", + "bom-ref": "pkg:npm/forwarded@0.2.0", + "name": "forwarded", + "version": "0.2.0", + "purl": "pkg:npm/forwarded@0.2.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/forwarded@0.2.0", - "name" : "forwarded", - "version" : "0.2.0", - "purl" : "pkg:npm/forwarded@0.2.0" + "type": "library", + "bom-ref": "pkg:npm/ipaddr.js@1.9.1", + "name": "ipaddr.js", + "version": "1.9.1", + "purl": "pkg:npm/ipaddr.js@1.9.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/ipaddr.js@1.9.1", - "name" : "ipaddr.js", - "version" : "1.9.1", - "purl" : "pkg:npm/ipaddr.js@1.9.1" + "type": "library", + "bom-ref": "pkg:npm/side-channel@1.1.0", + "name": "side-channel", + "version": "1.1.0", + "purl": "pkg:npm/side-channel@1.1.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/side-channel@1.1.0", - "name" : "side-channel", - "version" : "1.1.0", - "purl" : "pkg:npm/side-channel@1.1.0" + "type": "library", + "bom-ref": "pkg:npm/mime@1.6.0", + "name": "mime", + "version": "1.6.0", + "purl": "pkg:npm/mime@1.6.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/mime@1.6.0", - "name" : "mime", - "version" : "1.6.0", - "purl" : "pkg:npm/mime@1.6.0" + "type": "library", + "bom-ref": "pkg:npm/encodeurl@1.0.2", + "name": "encodeurl", + "version": "1.0.2", + "purl": "pkg:npm/encodeurl@1.0.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/encodeurl@1.0.2", - "name" : "encodeurl", - "version" : "1.0.2", - "purl" : "pkg:npm/encodeurl@1.0.2" + "type": "library", + "bom-ref": "pkg:npm/semver@7.0.0", + "name": "semver", + "version": "7.0.0", + "purl": "pkg:npm/semver@7.0.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/semver@7.0.0", - "name" : "semver", - "version" : "7.0.0", - "purl" : "pkg:npm/semver@7.0.0" + "type": "library", + "bom-ref": "pkg:npm/has-flag@3.0.0", + "name": "has-flag", + "version": "3.0.0", + "purl": "pkg:npm/has-flag@3.0.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/has-flag@3.0.0", - "name" : "has-flag", - "version" : "3.0.0", - "purl" : "pkg:npm/has-flag@3.0.0" + "type": "library", + "bom-ref": "pkg:npm/media-typer@0.3.0", + "name": "media-typer", + "version": "0.3.0", + "purl": "pkg:npm/media-typer@0.3.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/media-typer@0.3.0", - "name" : "media-typer", - "version" : "0.3.0", - "purl" : "pkg:npm/media-typer@0.3.0" + "type": "library", + "bom-ref": "pkg:npm/undici-types@6.21.0", + "name": "undici-types", + "version": "6.21.0", + "purl": "pkg:npm/undici-types@6.21.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/undici-types@6.21.0", - "name" : "undici-types", - "version" : "6.21.0", - "purl" : "pkg:npm/undici-types@6.21.0" + "type": "library", + "bom-ref": "pkg:npm/picomatch@2.3.1", + "name": "picomatch", + "version": "2.3.1", + "purl": "pkg:npm/picomatch@2.3.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/picomatch@2.3.1", - "name" : "picomatch", - "version" : "2.3.1", - "purl" : "pkg:npm/picomatch@2.3.1" + "type": "library", + "bom-ref": "pkg:npm/readable-stream@2.3.8", + "name": "readable-stream", + "version": "2.3.8", + "purl": "pkg:npm/readable-stream@2.3.8" }, { - "type" : "library", - "bom-ref" : "pkg:npm/readable-stream@2.3.8", - "name" : "readable-stream", - "version" : "2.3.8", - "purl" : "pkg:npm/readable-stream@2.3.8" + "type": "library", + "bom-ref": "pkg:npm/balanced-match@1.0.2", + "name": "balanced-match", + "version": "1.0.2", + "purl": "pkg:npm/balanced-match@1.0.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/balanced-match@1.0.2", - "name" : "balanced-match", - "version" : "1.0.2", - "purl" : "pkg:npm/balanced-match@1.0.2" + "type": "library", + "bom-ref": "pkg:npm/concat-map@0.0.1", + "name": "concat-map", + "version": "0.0.1", + "purl": "pkg:npm/concat-map@0.0.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/concat-map@0.0.1", - "name" : "concat-map", - "version" : "0.0.1", - "purl" : "pkg:npm/concat-map@0.0.1" + "type": "library", + "bom-ref": "pkg:npm/fill-range@7.1.1", + "name": "fill-range", + "version": "7.1.1", + "purl": "pkg:npm/fill-range@7.1.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/fill-range@7.1.1", - "name" : "fill-range", - "version" : "7.1.1", - "purl" : "pkg:npm/fill-range@7.1.1" + "type": "library", + "bom-ref": "pkg:npm/safer-buffer@2.1.2", + "name": "safer-buffer", + "version": "2.1.2", + "purl": "pkg:npm/safer-buffer@2.1.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/safer-buffer@2.1.2", - "name" : "safer-buffer", - "version" : "2.1.2", - "purl" : "pkg:npm/safer-buffer@2.1.2" + "type": "library", + "bom-ref": "pkg:npm/binary-extensions@2.3.0", + "name": "binary-extensions", + "version": "2.3.0", + "purl": "pkg:npm/binary-extensions@2.3.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/binary-extensions@2.3.0", - "name" : "binary-extensions", - "version" : "2.3.0", - "purl" : "pkg:npm/binary-extensions@2.3.0" + "type": "library", + "bom-ref": "pkg:npm/is-extglob@2.1.1", + "name": "is-extglob", + "version": "2.1.1", + "purl": "pkg:npm/is-extglob@2.1.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/is-extglob@2.1.1", - "name" : "is-extglob", - "version" : "2.1.1", - "purl" : "pkg:npm/is-extglob@2.1.1" + "type": "library", + "bom-ref": "pkg:npm/buffer-equal-constant-time@1.0.1", + "name": "buffer-equal-constant-time", + "version": "1.0.1", + "purl": "pkg:npm/buffer-equal-constant-time@1.0.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/buffer-equal-constant-time@1.0.1", - "name" : "buffer-equal-constant-time", - "version" : "1.0.1", - "purl" : "pkg:npm/buffer-equal-constant-time@1.0.1" + "type": "library", + "bom-ref": "pkg:npm/ecdsa-sig-formatter@1.0.11", + "name": "ecdsa-sig-formatter", + "version": "1.0.11", + "purl": "pkg:npm/ecdsa-sig-formatter@1.0.11" }, { - "type" : "library", - "bom-ref" : "pkg:npm/ecdsa-sig-formatter@1.0.11", - "name" : "ecdsa-sig-formatter", - "version" : "1.0.11", - "purl" : "pkg:npm/ecdsa-sig-formatter@1.0.11" + "type": "library", + "bom-ref": "pkg:npm/mime-db@1.52.0", + "name": "mime-db", + "version": "1.52.0", + "purl": "pkg:npm/mime-db@1.52.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/mime-db@1.52.0", - "name" : "mime-db", - "version" : "1.52.0", - "purl" : "pkg:npm/mime-db@1.52.0" + "type": "library", + "bom-ref": "pkg:npm/sparse-bitfield@3.0.3", + "name": "sparse-bitfield", + "version": "3.0.3", + "purl": "pkg:npm/sparse-bitfield@3.0.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/sparse-bitfield@3.0.3", - "name" : "sparse-bitfield", - "version" : "3.0.3", - "purl" : "pkg:npm/sparse-bitfield@3.0.3" + "type": "library", + "bom-ref": "pkg:npm/es-errors@1.3.0", + "name": "es-errors", + "version": "1.3.0", + "purl": "pkg:npm/es-errors@1.3.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/es-errors@1.3.0", - "name" : "es-errors", - "version" : "1.3.0", - "purl" : "pkg:npm/es-errors@1.3.0" + "type": "library", + "bom-ref": "pkg:npm/object-inspect@1.13.4", + "name": "object-inspect", + "version": "1.13.4", + "purl": "pkg:npm/object-inspect@1.13.4" }, { - "type" : "library", - "bom-ref" : "pkg:npm/object-inspect@1.13.4", - "name" : "object-inspect", - "version" : "1.13.4", - "purl" : "pkg:npm/object-inspect@1.13.4" + "type": "library", + "bom-ref": "pkg:npm/side-channel-list@1.0.0", + "name": "side-channel-list", + "version": "1.0.0", + "purl": "pkg:npm/side-channel-list@1.0.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/side-channel-list@1.0.0", - "name" : "side-channel-list", - "version" : "1.0.0", - "purl" : "pkg:npm/side-channel-list@1.0.0" + "type": "library", + "bom-ref": "pkg:npm/side-channel-map@1.0.1", + "name": "side-channel-map", + "version": "1.0.1", + "purl": "pkg:npm/side-channel-map@1.0.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/side-channel-map@1.0.1", - "name" : "side-channel-map", - "version" : "1.0.1", - "purl" : "pkg:npm/side-channel-map@1.0.1" + "type": "library", + "bom-ref": "pkg:npm/side-channel-weakmap@1.0.2", + "name": "side-channel-weakmap", + "version": "1.0.2", + "purl": "pkg:npm/side-channel-weakmap@1.0.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/side-channel-weakmap@1.0.2", - "name" : "side-channel-weakmap", - "version" : "1.0.2", - "purl" : "pkg:npm/side-channel-weakmap@1.0.2" + "type": "library", + "bom-ref": "pkg:npm/to-regex-range@5.0.1", + "name": "to-regex-range", + "version": "5.0.1", + "purl": "pkg:npm/to-regex-range@5.0.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/to-regex-range@5.0.1", - "name" : "to-regex-range", - "version" : "5.0.1", - "purl" : "pkg:npm/to-regex-range@5.0.1" + "type": "library", + "bom-ref": "pkg:npm/core-util-is@1.0.3", + "name": "core-util-is", + "version": "1.0.3", + "purl": "pkg:npm/core-util-is@1.0.3" }, { - "type" : "library", - "bom-ref" : "pkg:npm/core-util-is@1.0.3", - "name" : "core-util-is", - "version" : "1.0.3", - "purl" : "pkg:npm/core-util-is@1.0.3" + "type": "library", + "bom-ref": "pkg:npm/isarray@1.0.0", + "name": "isarray", + "version": "1.0.0", + "purl": "pkg:npm/isarray@1.0.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/isarray@1.0.0", - "name" : "isarray", - "version" : "1.0.0", - "purl" : "pkg:npm/isarray@1.0.0" + "type": "library", + "bom-ref": "pkg:npm/process-nextick-args@2.0.1", + "name": "process-nextick-args", + "version": "2.0.1", + "purl": "pkg:npm/process-nextick-args@2.0.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/process-nextick-args@2.0.1", - "name" : "process-nextick-args", - "version" : "2.0.1", - "purl" : "pkg:npm/process-nextick-args@2.0.1" + "type": "library", + "bom-ref": "pkg:npm/string_decoder@1.1.1", + "name": "string_decoder", + "version": "1.1.1", + "purl": "pkg:npm/string_decoder@1.1.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/string_decoder@1.1.1", - "name" : "string_decoder", - "version" : "1.1.1", - "purl" : "pkg:npm/string_decoder@1.1.1" + "type": "library", + "bom-ref": "pkg:npm/util-deprecate@1.0.2", + "name": "util-deprecate", + "version": "1.0.2", + "purl": "pkg:npm/util-deprecate@1.0.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/util-deprecate@1.0.2", - "name" : "util-deprecate", - "version" : "1.0.2", - "purl" : "pkg:npm/util-deprecate@1.0.2" + "type": "library", + "bom-ref": "pkg:npm/call-bound@1.0.4", + "name": "call-bound", + "version": "1.0.4", + "purl": "pkg:npm/call-bound@1.0.4" }, { - "type" : "library", - "bom-ref" : "pkg:npm/call-bound@1.0.4", - "name" : "call-bound", - "version" : "1.0.4", - "purl" : "pkg:npm/call-bound@1.0.4" + "type": "library", + "bom-ref": "pkg:npm/get-intrinsic@1.3.0", + "name": "get-intrinsic", + "version": "1.3.0", + "purl": "pkg:npm/get-intrinsic@1.3.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/get-intrinsic@1.3.0", - "name" : "get-intrinsic", - "version" : "1.3.0", - "purl" : "pkg:npm/get-intrinsic@1.3.0" + "type": "library", + "bom-ref": "pkg:npm/memory-pager@1.5.0", + "name": "memory-pager", + "version": "1.5.0", + "purl": "pkg:npm/memory-pager@1.5.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/memory-pager@1.5.0", - "name" : "memory-pager", - "version" : "1.5.0", - "purl" : "pkg:npm/memory-pager@1.5.0" + "type": "library", + "bom-ref": "pkg:npm/call-bind-apply-helpers@1.0.2", + "name": "call-bind-apply-helpers", + "version": "1.0.2", + "purl": "pkg:npm/call-bind-apply-helpers@1.0.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/call-bind-apply-helpers@1.0.2", - "name" : "call-bind-apply-helpers", - "version" : "1.0.2", - "purl" : "pkg:npm/call-bind-apply-helpers@1.0.2" + "type": "library", + "bom-ref": "pkg:npm/es-define-property@1.0.1", + "name": "es-define-property", + "version": "1.0.1", + "purl": "pkg:npm/es-define-property@1.0.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/es-define-property@1.0.1", - "name" : "es-define-property", - "version" : "1.0.1", - "purl" : "pkg:npm/es-define-property@1.0.1" + "type": "library", + "bom-ref": "pkg:npm/es-object-atoms@1.1.1", + "name": "es-object-atoms", + "version": "1.1.1", + "purl": "pkg:npm/es-object-atoms@1.1.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/es-object-atoms@1.1.1", - "name" : "es-object-atoms", - "version" : "1.1.1", - "purl" : "pkg:npm/es-object-atoms@1.1.1" + "type": "library", + "bom-ref": "pkg:npm/function-bind@1.1.2", + "name": "function-bind", + "version": "1.1.2", + "purl": "pkg:npm/function-bind@1.1.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/function-bind@1.1.2", - "name" : "function-bind", - "version" : "1.1.2", - "purl" : "pkg:npm/function-bind@1.1.2" + "type": "library", + "bom-ref": "pkg:npm/get-proto@1.0.1", + "name": "get-proto", + "version": "1.0.1", + "purl": "pkg:npm/get-proto@1.0.1" }, { - "type" : "library", - "bom-ref" : "pkg:npm/get-proto@1.0.1", - "name" : "get-proto", - "version" : "1.0.1", - "purl" : "pkg:npm/get-proto@1.0.1" + "type": "library", + "bom-ref": "pkg:npm/gopd@1.2.0", + "name": "gopd", + "version": "1.2.0", + "purl": "pkg:npm/gopd@1.2.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/gopd@1.2.0", - "name" : "gopd", - "version" : "1.2.0", - "purl" : "pkg:npm/gopd@1.2.0" + "type": "library", + "bom-ref": "pkg:npm/has-symbols@1.1.0", + "name": "has-symbols", + "version": "1.1.0", + "purl": "pkg:npm/has-symbols@1.1.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/has-symbols@1.1.0", - "name" : "has-symbols", - "version" : "1.1.0", - "purl" : "pkg:npm/has-symbols@1.1.0" + "type": "library", + "bom-ref": "pkg:npm/hasown@2.0.2", + "name": "hasown", + "version": "2.0.2", + "purl": "pkg:npm/hasown@2.0.2" }, { - "type" : "library", - "bom-ref" : "pkg:npm/hasown@2.0.2", - "name" : "hasown", - "version" : "2.0.2", - "purl" : "pkg:npm/hasown@2.0.2" + "type": "library", + "bom-ref": "pkg:npm/math-intrinsics@1.1.0", + "name": "math-intrinsics", + "version": "1.1.0", + "purl": "pkg:npm/math-intrinsics@1.1.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/math-intrinsics@1.1.0", - "name" : "math-intrinsics", - "version" : "1.1.0", - "purl" : "pkg:npm/math-intrinsics@1.1.0" + "type": "library", + "bom-ref": "pkg:npm/is-number@7.0.0", + "name": "is-number", + "version": "7.0.0", + "purl": "pkg:npm/is-number@7.0.0" }, { - "type" : "library", - "bom-ref" : "pkg:npm/is-number@7.0.0", - "name" : "is-number", - "version" : "7.0.0", - "purl" : "pkg:npm/is-number@7.0.0" - }, - { - "type" : "library", - "bom-ref" : "pkg:npm/dunder-proto@1.0.1", - "name" : "dunder-proto", - "version" : "1.0.1", - "purl" : "pkg:npm/dunder-proto@1.0.1" + "type": "library", + "bom-ref": "pkg:npm/dunder-proto@1.0.1", + "name": "dunder-proto", + "version": "1.0.1", + "purl": "pkg:npm/dunder-proto@1.0.1" } ], - "dependencies" : [ + "dependencies": [ { - "ref" : "pkg:npm/backend@1.0.0", - "dependsOn" : [ + "ref": "pkg:npm/backend@1.0.0", + "dependsOn": [ "pkg:npm/%40hapi/joi@17.1.1", "pkg:npm/backend@0.0.0", "pkg:npm/bcryptjs@2.4.3", @@ -1139,8 +1132,8 @@ ] }, { - "ref" : "pkg:npm/%40hapi/joi@17.1.1", - "dependsOn" : [ + "ref": "pkg:npm/%40hapi/joi@17.1.1", + "dependsOn": [ "pkg:npm/%40hapi/address@4.1.0", "pkg:npm/%40hapi/formula@2.0.0", "pkg:npm/%40hapi/hoek@9.3.0", @@ -1149,20 +1142,20 @@ ] }, { - "ref" : "pkg:npm/backend@0.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/backend@0.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/bcryptjs@2.4.3", - "dependsOn" : [ ] + "ref": "pkg:npm/bcryptjs@2.4.3", + "dependsOn": [] }, { - "ref" : "pkg:npm/dotenv@8.6.0", - "dependsOn" : [ ] + "ref": "pkg:npm/dotenv@8.6.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/express@4.21.2", - "dependsOn" : [ + "ref": "pkg:npm/express@4.21.2", + "dependsOn": [ "pkg:npm/accepts@1.3.8", "pkg:npm/array-flatten@1.1.1", "pkg:npm/body-parser@1.20.3", @@ -1197,8 +1190,8 @@ ] }, { - "ref" : "pkg:npm/jsonwebtoken@8.5.1", - "dependsOn" : [ + "ref": "pkg:npm/jsonwebtoken@8.5.1", + "dependsOn": [ "pkg:npm/jws@3.2.2", "pkg:npm/lodash.includes@4.3.0", "pkg:npm/lodash.isboolean@3.0.3", @@ -1212,8 +1205,8 @@ ] }, { - "ref" : "pkg:npm/mongoose@5.13.23", - "dependsOn" : [ + "ref": "pkg:npm/mongoose@5.13.23", + "dependsOn": [ "pkg:npm/%40types/bson@4.0.5", "pkg:npm/%40types/mongodb@3.6.20", "pkg:npm/bson@1.1.6", @@ -1232,8 +1225,8 @@ ] }, { - "ref" : "pkg:npm/nodemon@2.0.22", - "dependsOn" : [ + "ref": "pkg:npm/nodemon@2.0.22", + "dependsOn": [ "pkg:npm/chokidar@3.6.0", "pkg:npm/debug@2.6.9", "pkg:npm/ignore-by-default@1.0.1", @@ -1248,64 +1241,64 @@ ] }, { - "ref" : "pkg:npm/axios@0.19.2", - "dependsOn" : [ + "ref": "pkg:npm/axios@0.19.2", + "dependsOn": [ "pkg:npm/follow-redirects@1.5.10" ] }, { - "ref" : "pkg:npm/debug@2.6.9", - "dependsOn" : [ + "ref": "pkg:npm/debug@2.6.9", + "dependsOn": [ "pkg:npm/ms@2.1.3", "pkg:npm/ms@2.0.0" ] }, { - "ref" : "pkg:npm/ms@2.1.3", - "dependsOn" : [ ] + "ref": "pkg:npm/ms@2.1.3", + "dependsOn": [] }, { - "ref" : "pkg:npm/ms@2.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/ms@2.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/%40hapi/address@4.1.0", - "dependsOn" : [ + "ref": "pkg:npm/%40hapi/address@4.1.0", + "dependsOn": [ "pkg:npm/%40hapi/hoek@9.3.0" ] }, { - "ref" : "pkg:npm/%40hapi/formula@2.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/%40hapi/formula@2.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/%40hapi/hoek@9.3.0", - "dependsOn" : [ ] + "ref": "pkg:npm/%40hapi/hoek@9.3.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/%40hapi/pinpoint@2.0.1", - "dependsOn" : [ ] + "ref": "pkg:npm/%40hapi/pinpoint@2.0.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/%40hapi/topo@5.1.0", - "dependsOn" : [ + "ref": "pkg:npm/%40hapi/topo@5.1.0", + "dependsOn": [ "pkg:npm/%40hapi/hoek@9.3.0" ] }, { - "ref" : "pkg:npm/accepts@1.3.8", - "dependsOn" : [ + "ref": "pkg:npm/accepts@1.3.8", + "dependsOn": [ "pkg:npm/mime-types@2.1.35", "pkg:npm/negotiator@0.6.3" ] }, { - "ref" : "pkg:npm/array-flatten@1.1.1", - "dependsOn" : [ ] + "ref": "pkg:npm/array-flatten@1.1.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/body-parser@1.20.3", - "dependsOn" : [ + "ref": "pkg:npm/body-parser@1.20.3", + "dependsOn": [ "pkg:npm/bytes@3.1.2", "pkg:npm/content-type@1.0.5", "pkg:npm/debug@2.6.9", @@ -1321,42 +1314,42 @@ ] }, { - "ref" : "pkg:npm/content-disposition@0.5.4", - "dependsOn" : [ + "ref": "pkg:npm/content-disposition@0.5.4", + "dependsOn": [ "pkg:npm/safe-buffer@5.2.1" ] }, { - "ref" : "pkg:npm/content-type@1.0.5", - "dependsOn" : [ ] + "ref": "pkg:npm/content-type@1.0.5", + "dependsOn": [] }, { - "ref" : "pkg:npm/cookie@0.7.1", - "dependsOn" : [ ] + "ref": "pkg:npm/cookie@0.7.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/cookie-signature@1.0.6", - "dependsOn" : [ ] + "ref": "pkg:npm/cookie-signature@1.0.6", + "dependsOn": [] }, { - "ref" : "pkg:npm/depd@2.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/depd@2.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/encodeurl@2.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/encodeurl@2.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/escape-html@1.0.3", - "dependsOn" : [ ] + "ref": "pkg:npm/escape-html@1.0.3", + "dependsOn": [] }, { - "ref" : "pkg:npm/etag@1.8.1", - "dependsOn" : [ ] + "ref": "pkg:npm/etag@1.8.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/finalhandler@1.3.1", - "dependsOn" : [ + "ref": "pkg:npm/finalhandler@1.3.1", + "dependsOn": [ "pkg:npm/debug@2.6.9", "pkg:npm/encodeurl@2.0.0", "pkg:npm/escape-html@1.0.3", @@ -1367,12 +1360,12 @@ ] }, { - "ref" : "pkg:npm/fresh@0.5.2", - "dependsOn" : [ ] + "ref": "pkg:npm/fresh@0.5.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/http-errors@2.0.0", - "dependsOn" : [ + "ref": "pkg:npm/http-errors@2.0.0", + "dependsOn": [ "pkg:npm/depd@2.0.0", "pkg:npm/inherits@2.0.4", "pkg:npm/setprototypeof@1.2.0", @@ -1381,51 +1374,51 @@ ] }, { - "ref" : "pkg:npm/merge-descriptors@1.0.3", - "dependsOn" : [ ] + "ref": "pkg:npm/merge-descriptors@1.0.3", + "dependsOn": [] }, { - "ref" : "pkg:npm/methods@1.1.2", - "dependsOn" : [ ] + "ref": "pkg:npm/methods@1.1.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/on-finished@2.4.1", - "dependsOn" : [ + "ref": "pkg:npm/on-finished@2.4.1", + "dependsOn": [ "pkg:npm/ee-first@1.1.1" ] }, { - "ref" : "pkg:npm/parseurl@1.3.3", - "dependsOn" : [ ] + "ref": "pkg:npm/parseurl@1.3.3", + "dependsOn": [] }, { - "ref" : "pkg:npm/path-to-regexp@0.1.12", - "dependsOn" : [ ] + "ref": "pkg:npm/path-to-regexp@0.1.12", + "dependsOn": [] }, { - "ref" : "pkg:npm/proxy-addr@2.0.7", - "dependsOn" : [ + "ref": "pkg:npm/proxy-addr@2.0.7", + "dependsOn": [ "pkg:npm/forwarded@0.2.0", "pkg:npm/ipaddr.js@1.9.1" ] }, { - "ref" : "pkg:npm/qs@6.13.0", - "dependsOn" : [ + "ref": "pkg:npm/qs@6.13.0", + "dependsOn": [ "pkg:npm/side-channel@1.1.0" ] }, { - "ref" : "pkg:npm/range-parser@1.2.1", - "dependsOn" : [ ] + "ref": "pkg:npm/range-parser@1.2.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/safe-buffer@5.2.1", - "dependsOn" : [ ] + "ref": "pkg:npm/safe-buffer@5.2.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/send@0.19.0", - "dependsOn" : [ + "ref": "pkg:npm/send@0.19.0", + "dependsOn": [ "pkg:npm/debug@2.6.9", "pkg:npm/depd@2.0.0", "pkg:npm/destroy@1.2.0", @@ -1443,8 +1436,8 @@ ] }, { - "ref" : "pkg:npm/serve-static@1.16.2", - "dependsOn" : [ + "ref": "pkg:npm/serve-static@1.16.2", + "dependsOn": [ "pkg:npm/encodeurl@2.0.0", "pkg:npm/escape-html@1.0.3", "pkg:npm/parseurl@1.3.3", @@ -1452,76 +1445,76 @@ ] }, { - "ref" : "pkg:npm/setprototypeof@1.2.0", - "dependsOn" : [ ] + "ref": "pkg:npm/setprototypeof@1.2.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/statuses@2.0.1", - "dependsOn" : [ ] + "ref": "pkg:npm/statuses@2.0.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/type-is@1.6.18", - "dependsOn" : [ + "ref": "pkg:npm/type-is@1.6.18", + "dependsOn": [ "pkg:npm/media-typer@0.3.0", "pkg:npm/mime-types@2.1.35" ] }, { - "ref" : "pkg:npm/utils-merge@1.0.1", - "dependsOn" : [ ] + "ref": "pkg:npm/utils-merge@1.0.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/vary@1.1.2", - "dependsOn" : [ ] + "ref": "pkg:npm/vary@1.1.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/jws@3.2.2", - "dependsOn" : [ + "ref": "pkg:npm/jws@3.2.2", + "dependsOn": [ "pkg:npm/jwa@1.4.1", "pkg:npm/safe-buffer@5.2.1" ] }, { - "ref" : "pkg:npm/lodash.includes@4.3.0", - "dependsOn" : [ ] + "ref": "pkg:npm/lodash.includes@4.3.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/lodash.isboolean@3.0.3", - "dependsOn" : [ ] + "ref": "pkg:npm/lodash.isboolean@3.0.3", + "dependsOn": [] }, { - "ref" : "pkg:npm/lodash.isinteger@4.0.4", - "dependsOn" : [ ] + "ref": "pkg:npm/lodash.isinteger@4.0.4", + "dependsOn": [] }, { - "ref" : "pkg:npm/lodash.isnumber@3.0.3", - "dependsOn" : [ ] + "ref": "pkg:npm/lodash.isnumber@3.0.3", + "dependsOn": [] }, { - "ref" : "pkg:npm/lodash.isplainobject@4.0.6", - "dependsOn" : [ ] + "ref": "pkg:npm/lodash.isplainobject@4.0.6", + "dependsOn": [] }, { - "ref" : "pkg:npm/lodash.isstring@4.0.1", - "dependsOn" : [ ] + "ref": "pkg:npm/lodash.isstring@4.0.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/lodash.once@4.1.1", - "dependsOn" : [ ] + "ref": "pkg:npm/lodash.once@4.1.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/semver@5.7.2", - "dependsOn" : [ ] + "ref": "pkg:npm/semver@5.7.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/%40types/bson@4.0.5", - "dependsOn" : [ + "ref": "pkg:npm/%40types/bson@4.0.5", + "dependsOn": [ "pkg:npm/%40types/node@22.14.1" ] }, { - "ref" : "pkg:npm/%40types/mongodb@3.6.20", - "dependsOn" : [ + "ref": "pkg:npm/%40types/mongodb@3.6.20", + "dependsOn": [ "pkg:npm/%40types/bson@4.0.5", "pkg:npm/%40types/node@22.14.1", "pkg:npm/%40types/bson@4.2.4", @@ -1529,16 +1522,16 @@ ] }, { - "ref" : "pkg:npm/bson@1.1.6", - "dependsOn" : [ ] + "ref": "pkg:npm/bson@1.1.6", + "dependsOn": [] }, { - "ref" : "pkg:npm/kareem@2.3.2", - "dependsOn" : [ ] + "ref": "pkg:npm/kareem@2.3.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/mongodb@3.7.4", - "dependsOn" : [ + "ref": "pkg:npm/mongodb@3.7.4", + "dependsOn": [ "pkg:npm/bl@2.2.1", "pkg:npm/bson@1.1.6", "pkg:npm/denque@1.5.1", @@ -1549,16 +1542,16 @@ ] }, { - "ref" : "pkg:npm/mongoose-legacy-pluralize@1.0.2", - "dependsOn" : [ ] + "ref": "pkg:npm/mongoose-legacy-pluralize@1.0.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/mpath@0.8.4", - "dependsOn" : [ ] + "ref": "pkg:npm/mpath@0.8.4", + "dependsOn": [] }, { - "ref" : "pkg:npm/mquery@3.2.5", - "dependsOn" : [ + "ref": "pkg:npm/mquery@3.2.5", + "dependsOn": [ "pkg:npm/bluebird@3.5.1", "pkg:npm/debug@2.6.9", "pkg:npm/regexp-clone@1.0.0", @@ -1570,28 +1563,28 @@ ] }, { - "ref" : "pkg:npm/optional-require@1.0.3", - "dependsOn" : [ ] + "ref": "pkg:npm/optional-require@1.0.3", + "dependsOn": [] }, { - "ref" : "pkg:npm/regexp-clone@1.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/regexp-clone@1.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/sift@13.5.2", - "dependsOn" : [ ] + "ref": "pkg:npm/sift@13.5.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/sliced@1.0.1", - "dependsOn" : [ ] + "ref": "pkg:npm/sliced@1.0.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/ms@2.1.2", - "dependsOn" : [ ] + "ref": "pkg:npm/ms@2.1.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/chokidar@3.6.0", - "dependsOn" : [ + "ref": "pkg:npm/chokidar@3.6.0", + "dependsOn": [ "pkg:npm/anymatch@3.1.3", "pkg:npm/braces@3.0.3", "pkg:npm/glob-parent@5.1.2", @@ -1603,97 +1596,97 @@ ] }, { - "ref" : "pkg:npm/ignore-by-default@1.0.1", - "dependsOn" : [ ] + "ref": "pkg:npm/ignore-by-default@1.0.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/minimatch@3.1.2", - "dependsOn" : [ + "ref": "pkg:npm/minimatch@3.1.2", + "dependsOn": [ "pkg:npm/brace-expansion@1.1.11" ] }, { - "ref" : "pkg:npm/pstree.remy@1.1.8", - "dependsOn" : [ ] + "ref": "pkg:npm/pstree.remy@1.1.8", + "dependsOn": [] }, { - "ref" : "pkg:npm/simple-update-notifier@1.1.0", - "dependsOn" : [ + "ref": "pkg:npm/simple-update-notifier@1.1.0", + "dependsOn": [ "pkg:npm/semver@5.7.2", "pkg:npm/semver@7.0.0" ] }, { - "ref" : "pkg:npm/supports-color@5.5.0", - "dependsOn" : [ + "ref": "pkg:npm/supports-color@5.5.0", + "dependsOn": [ "pkg:npm/has-flag@3.0.0" ] }, { - "ref" : "pkg:npm/touch@3.1.1", - "dependsOn" : [ ] + "ref": "pkg:npm/touch@3.1.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/undefsafe@2.0.5", - "dependsOn" : [ ] + "ref": "pkg:npm/undefsafe@2.0.5", + "dependsOn": [] }, { - "ref" : "pkg:npm/debug@3.2.7", - "dependsOn" : [ + "ref": "pkg:npm/debug@3.2.7", + "dependsOn": [ "pkg:npm/ms@2.1.3" ] }, { - "ref" : "pkg:npm/follow-redirects@1.5.10", - "dependsOn" : [ + "ref": "pkg:npm/follow-redirects@1.5.10", + "dependsOn": [ "pkg:npm/debug@2.6.9", "pkg:npm/debug@3.1.0", "pkg:npm/ms@2.0.0" ] }, { - "ref" : "pkg:npm/%40types/node@22.14.1", - "dependsOn" : [ + "ref": "pkg:npm/%40types/node@22.14.1", + "dependsOn": [ "pkg:npm/undici-types@6.21.0" ] }, { - "ref" : "pkg:npm/%40types/bson@4.2.4", - "dependsOn" : [ + "ref": "pkg:npm/%40types/bson@4.2.4", + "dependsOn": [ "pkg:npm/bson@1.1.6" ] }, { - "ref" : "pkg:npm/bson@6.10.3", - "dependsOn" : [ ] + "ref": "pkg:npm/bson@6.10.3", + "dependsOn": [] }, { - "ref" : "pkg:npm/mime-types@2.1.35", - "dependsOn" : [ + "ref": "pkg:npm/mime-types@2.1.35", + "dependsOn": [ "pkg:npm/mime-db@1.52.0" ] }, { - "ref" : "pkg:npm/negotiator@0.6.3", - "dependsOn" : [ ] + "ref": "pkg:npm/negotiator@0.6.3", + "dependsOn": [] }, { - "ref" : "pkg:npm/bytes@3.1.2", - "dependsOn" : [ ] + "ref": "pkg:npm/bytes@3.1.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/destroy@1.2.0", - "dependsOn" : [ ] + "ref": "pkg:npm/destroy@1.2.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/iconv-lite@0.4.24", - "dependsOn" : [ + "ref": "pkg:npm/iconv-lite@0.4.24", + "dependsOn": [ "pkg:npm/safer-buffer@2.1.2" ] }, { - "ref" : "pkg:npm/raw-body@2.5.2", - "dependsOn" : [ + "ref": "pkg:npm/raw-body@2.5.2", + "dependsOn": [ "pkg:npm/bytes@3.1.2", "pkg:npm/http-errors@2.0.0", "pkg:npm/iconv-lite@0.4.24", @@ -1701,133 +1694,133 @@ ] }, { - "ref" : "pkg:npm/unpipe@1.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/unpipe@1.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/anymatch@3.1.3", - "dependsOn" : [ + "ref": "pkg:npm/anymatch@3.1.3", + "dependsOn": [ "pkg:npm/normalize-path@3.0.0", "pkg:npm/picomatch@2.3.1" ] }, { - "ref" : "pkg:npm/braces@3.0.3", - "dependsOn" : [ + "ref": "pkg:npm/braces@3.0.3", + "dependsOn": [ "pkg:npm/fill-range@7.1.1" ] }, { - "ref" : "pkg:npm/glob-parent@5.1.2", - "dependsOn" : [ + "ref": "pkg:npm/glob-parent@5.1.2", + "dependsOn": [ "pkg:npm/is-glob@4.0.3" ] }, { - "ref" : "pkg:npm/is-binary-path@2.1.0", - "dependsOn" : [ + "ref": "pkg:npm/is-binary-path@2.1.0", + "dependsOn": [ "pkg:npm/binary-extensions@2.3.0" ] }, { - "ref" : "pkg:npm/is-glob@4.0.3", - "dependsOn" : [ + "ref": "pkg:npm/is-glob@4.0.3", + "dependsOn": [ "pkg:npm/is-extglob@2.1.1" ] }, { - "ref" : "pkg:npm/normalize-path@3.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/normalize-path@3.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/readdirp@3.6.0", - "dependsOn" : [ + "ref": "pkg:npm/readdirp@3.6.0", + "dependsOn": [ "pkg:npm/picomatch@2.3.1" ] }, { - "ref" : "pkg:npm/fsevents@2.3.3", - "dependsOn" : [ ] + "ref": "pkg:npm/fsevents@2.3.3", + "dependsOn": [] }, { - "ref" : "pkg:npm/debug@3.1.0", - "dependsOn" : [ + "ref": "pkg:npm/debug@3.1.0", + "dependsOn": [ "pkg:npm/ms@2.1.3" ] }, { - "ref" : "pkg:npm/inherits@2.0.4", - "dependsOn" : [ ] + "ref": "pkg:npm/inherits@2.0.4", + "dependsOn": [] }, { - "ref" : "pkg:npm/toidentifier@1.0.1", - "dependsOn" : [ ] + "ref": "pkg:npm/toidentifier@1.0.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/jwa@1.4.1", - "dependsOn" : [ + "ref": "pkg:npm/jwa@1.4.1", + "dependsOn": [ "pkg:npm/buffer-equal-constant-time@1.0.1", "pkg:npm/ecdsa-sig-formatter@1.0.11", "pkg:npm/safe-buffer@5.2.1" ] }, { - "ref" : "pkg:npm/brace-expansion@1.1.11", - "dependsOn" : [ + "ref": "pkg:npm/brace-expansion@1.1.11", + "dependsOn": [ "pkg:npm/balanced-match@1.0.2", "pkg:npm/concat-map@0.0.1" ] }, { - "ref" : "pkg:npm/bl@2.2.1", - "dependsOn" : [ + "ref": "pkg:npm/bl@2.2.1", + "dependsOn": [ "pkg:npm/readable-stream@2.3.8", "pkg:npm/safe-buffer@5.2.1" ] }, { - "ref" : "pkg:npm/denque@1.5.1", - "dependsOn" : [ ] + "ref": "pkg:npm/denque@1.5.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/saslprep@1.0.3", - "dependsOn" : [ + "ref": "pkg:npm/saslprep@1.0.3", + "dependsOn": [ "pkg:npm/sparse-bitfield@3.0.3" ] }, { - "ref" : "pkg:npm/optional-require@1.1.8", - "dependsOn" : [ + "ref": "pkg:npm/optional-require@1.1.8", + "dependsOn": [ "pkg:npm/require-at@1.0.6" ] }, { - "ref" : "pkg:npm/require-at@1.0.6", - "dependsOn" : [ ] + "ref": "pkg:npm/require-at@1.0.6", + "dependsOn": [] }, { - "ref" : "pkg:npm/bluebird@3.5.1", - "dependsOn" : [ ] + "ref": "pkg:npm/bluebird@3.5.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/safe-buffer@5.1.2", - "dependsOn" : [ ] + "ref": "pkg:npm/safe-buffer@5.1.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/ee-first@1.1.1", - "dependsOn" : [ ] + "ref": "pkg:npm/ee-first@1.1.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/forwarded@0.2.0", - "dependsOn" : [ ] + "ref": "pkg:npm/forwarded@0.2.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/ipaddr.js@1.9.1", - "dependsOn" : [ ] + "ref": "pkg:npm/ipaddr.js@1.9.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/side-channel@1.1.0", - "dependsOn" : [ + "ref": "pkg:npm/side-channel@1.1.0", + "dependsOn": [ "pkg:npm/es-errors@1.3.0", "pkg:npm/object-inspect@1.13.4", "pkg:npm/side-channel-list@1.0.0", @@ -1836,36 +1829,36 @@ ] }, { - "ref" : "pkg:npm/mime@1.6.0", - "dependsOn" : [ ] + "ref": "pkg:npm/mime@1.6.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/encodeurl@1.0.2", - "dependsOn" : [ ] + "ref": "pkg:npm/encodeurl@1.0.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/semver@7.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/semver@7.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/has-flag@3.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/has-flag@3.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/media-typer@0.3.0", - "dependsOn" : [ ] + "ref": "pkg:npm/media-typer@0.3.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/undici-types@6.21.0", - "dependsOn" : [ ] + "ref": "pkg:npm/undici-types@6.21.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/picomatch@2.3.1", - "dependsOn" : [ ] + "ref": "pkg:npm/picomatch@2.3.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/readable-stream@2.3.8", - "dependsOn" : [ + "ref": "pkg:npm/readable-stream@2.3.8", + "dependsOn": [ "pkg:npm/core-util-is@1.0.3", "pkg:npm/inherits@2.0.4", "pkg:npm/isarray@1.0.0", @@ -1877,69 +1870,69 @@ ] }, { - "ref" : "pkg:npm/balanced-match@1.0.2", - "dependsOn" : [ ] + "ref": "pkg:npm/balanced-match@1.0.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/concat-map@0.0.1", - "dependsOn" : [ ] + "ref": "pkg:npm/concat-map@0.0.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/fill-range@7.1.1", - "dependsOn" : [ + "ref": "pkg:npm/fill-range@7.1.1", + "dependsOn": [ "pkg:npm/to-regex-range@5.0.1" ] }, { - "ref" : "pkg:npm/safer-buffer@2.1.2", - "dependsOn" : [ ] + "ref": "pkg:npm/safer-buffer@2.1.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/binary-extensions@2.3.0", - "dependsOn" : [ ] + "ref": "pkg:npm/binary-extensions@2.3.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/is-extglob@2.1.1", - "dependsOn" : [ ] + "ref": "pkg:npm/is-extglob@2.1.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/buffer-equal-constant-time@1.0.1", - "dependsOn" : [ ] + "ref": "pkg:npm/buffer-equal-constant-time@1.0.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/ecdsa-sig-formatter@1.0.11", - "dependsOn" : [ + "ref": "pkg:npm/ecdsa-sig-formatter@1.0.11", + "dependsOn": [ "pkg:npm/safe-buffer@5.2.1" ] }, { - "ref" : "pkg:npm/mime-db@1.52.0", - "dependsOn" : [ ] + "ref": "pkg:npm/mime-db@1.52.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/sparse-bitfield@3.0.3", - "dependsOn" : [ + "ref": "pkg:npm/sparse-bitfield@3.0.3", + "dependsOn": [ "pkg:npm/memory-pager@1.5.0" ] }, { - "ref" : "pkg:npm/es-errors@1.3.0", - "dependsOn" : [ ] + "ref": "pkg:npm/es-errors@1.3.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/object-inspect@1.13.4", - "dependsOn" : [ ] + "ref": "pkg:npm/object-inspect@1.13.4", + "dependsOn": [] }, { - "ref" : "pkg:npm/side-channel-list@1.0.0", - "dependsOn" : [ + "ref": "pkg:npm/side-channel-list@1.0.0", + "dependsOn": [ "pkg:npm/es-errors@1.3.0", "pkg:npm/object-inspect@1.13.4" ] }, { - "ref" : "pkg:npm/side-channel-map@1.0.1", - "dependsOn" : [ + "ref": "pkg:npm/side-channel-map@1.0.1", + "dependsOn": [ "pkg:npm/call-bound@1.0.4", "pkg:npm/es-errors@1.3.0", "pkg:npm/get-intrinsic@1.3.0", @@ -1947,8 +1940,8 @@ ] }, { - "ref" : "pkg:npm/side-channel-weakmap@1.0.2", - "dependsOn" : [ + "ref": "pkg:npm/side-channel-weakmap@1.0.2", + "dependsOn": [ "pkg:npm/call-bound@1.0.4", "pkg:npm/es-errors@1.3.0", "pkg:npm/get-intrinsic@1.3.0", @@ -1957,44 +1950,44 @@ ] }, { - "ref" : "pkg:npm/to-regex-range@5.0.1", - "dependsOn" : [ + "ref": "pkg:npm/to-regex-range@5.0.1", + "dependsOn": [ "pkg:npm/is-number@7.0.0" ] }, { - "ref" : "pkg:npm/core-util-is@1.0.3", - "dependsOn" : [ ] + "ref": "pkg:npm/core-util-is@1.0.3", + "dependsOn": [] }, { - "ref" : "pkg:npm/isarray@1.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/isarray@1.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/process-nextick-args@2.0.1", - "dependsOn" : [ ] + "ref": "pkg:npm/process-nextick-args@2.0.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/string_decoder@1.1.1", - "dependsOn" : [ + "ref": "pkg:npm/string_decoder@1.1.1", + "dependsOn": [ "pkg:npm/safe-buffer@5.2.1", "pkg:npm/safe-buffer@5.1.2" ] }, { - "ref" : "pkg:npm/util-deprecate@1.0.2", - "dependsOn" : [ ] + "ref": "pkg:npm/util-deprecate@1.0.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/call-bound@1.0.4", - "dependsOn" : [ + "ref": "pkg:npm/call-bound@1.0.4", + "dependsOn": [ "pkg:npm/call-bind-apply-helpers@1.0.2", "pkg:npm/get-intrinsic@1.3.0" ] }, { - "ref" : "pkg:npm/get-intrinsic@1.3.0", - "dependsOn" : [ + "ref": "pkg:npm/get-intrinsic@1.3.0", + "dependsOn": [ "pkg:npm/call-bind-apply-helpers@1.0.2", "pkg:npm/es-define-property@1.0.1", "pkg:npm/es-errors@1.3.0", @@ -2008,66 +2001,66 @@ ] }, { - "ref" : "pkg:npm/memory-pager@1.5.0", - "dependsOn" : [ ] + "ref": "pkg:npm/memory-pager@1.5.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/call-bind-apply-helpers@1.0.2", - "dependsOn" : [ + "ref": "pkg:npm/call-bind-apply-helpers@1.0.2", + "dependsOn": [ "pkg:npm/es-errors@1.3.0", "pkg:npm/function-bind@1.1.2" ] }, { - "ref" : "pkg:npm/es-define-property@1.0.1", - "dependsOn" : [ ] + "ref": "pkg:npm/es-define-property@1.0.1", + "dependsOn": [] }, { - "ref" : "pkg:npm/es-object-atoms@1.1.1", - "dependsOn" : [ + "ref": "pkg:npm/es-object-atoms@1.1.1", + "dependsOn": [ "pkg:npm/es-errors@1.3.0" ] }, { - "ref" : "pkg:npm/function-bind@1.1.2", - "dependsOn" : [ ] + "ref": "pkg:npm/function-bind@1.1.2", + "dependsOn": [] }, { - "ref" : "pkg:npm/get-proto@1.0.1", - "dependsOn" : [ + "ref": "pkg:npm/get-proto@1.0.1", + "dependsOn": [ "pkg:npm/dunder-proto@1.0.1", "pkg:npm/es-object-atoms@1.1.1" ] }, { - "ref" : "pkg:npm/gopd@1.2.0", - "dependsOn" : [ ] + "ref": "pkg:npm/gopd@1.2.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/has-symbols@1.1.0", - "dependsOn" : [ ] + "ref": "pkg:npm/has-symbols@1.1.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/hasown@2.0.2", - "dependsOn" : [ + "ref": "pkg:npm/hasown@2.0.2", + "dependsOn": [ "pkg:npm/function-bind@1.1.2" ] }, { - "ref" : "pkg:npm/math-intrinsics@1.1.0", - "dependsOn" : [ ] + "ref": "pkg:npm/math-intrinsics@1.1.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/is-number@7.0.0", - "dependsOn" : [ ] + "ref": "pkg:npm/is-number@7.0.0", + "dependsOn": [] }, { - "ref" : "pkg:npm/dunder-proto@1.0.1", - "dependsOn" : [ + "ref": "pkg:npm/dunder-proto@1.0.1", + "dependsOn": [ "pkg:npm/call-bind-apply-helpers@1.0.2", "pkg:npm/es-errors@1.3.0", "pkg:npm/gopd@1.2.0" ] } ] -} \ No newline at end of file +} diff --git a/test/providers/workspace.test.js b/test/providers/workspace.test.js new file mode 100644 index 00000000..5c06b68a --- /dev/null +++ b/test/providers/workspace.test.js @@ -0,0 +1,189 @@ +import fs from 'node:fs' +import path from 'node:path' + +import { expect } from 'chai' +import esmock from 'esmock' + +import { + discoverWorkspaceCrates, + discoverWorkspacePackages, + filterManifestPathsByDiscoveryIgnore, + resolveWorkspaceDiscoveryIgnore, + validatePackageJson, +} from '../../src/workspace.js' + +suite('discoverWorkspacePackages', () => { + test('returns empty when no pnpm-workspace.yaml or package.json workspaces', async () => { + const root = 'test/providers/tst_manifests/npm/package_json_deps_without_exhortignore_object' + const result = await discoverWorkspacePackages(root) + expect(result).to.be.an('array') + expect(result).to.have.lengthOf(0) + }) + + test('excludes paths matching workspaceDiscoveryIgnore', async () => { + const pkgContent = { name: 'root', version: '1.0.0', workspaces: ['packages/*'] } + const memberA = { name: 'a', version: '1.0.0' } + const memberB = { name: 'b', version: '1.0.0' } + const tmpDir = path.join(process.cwd(), 'test/providers/tst_manifests/tmp_workspace_ignore') + fs.mkdirSync(path.join(tmpDir, 'packages/a'), { recursive: true }) + fs.mkdirSync(path.join(tmpDir, 'packages/b'), { recursive: true }) + fs.writeFileSync(path.join(tmpDir, 'package.json'), JSON.stringify(pkgContent)) + fs.writeFileSync(path.join(tmpDir, 'packages/a/package.json'), JSON.stringify(memberA)) + fs.writeFileSync(path.join(tmpDir, 'packages/b/package.json'), JSON.stringify(memberB)) + try { + const result = await discoverWorkspacePackages(tmpDir, { + workspaceDiscoveryIgnore: ['**/packages/b/**'], + }) + expect(result.some(p => p.endsWith('packages/a/package.json'))).to.be.true + expect(result.some(p => p.endsWith('packages/b/package.json'))).to.be.false + } finally { + fs.rmSync(tmpDir, { recursive: true, force: true }) + } + }) + + test('discovers packages from package.json workspaces array', async () => { + const pkgContent = { name: 'root', version: '1.0.0', workspaces: ['packages/*'] } + const memberPkg = { name: 'member', version: '1.0.0' } + const tmpDir = path.join(process.cwd(), 'test/providers/tst_manifests/tmp_workspace_test') + fs.mkdirSync(path.join(tmpDir, 'packages/member'), { recursive: true }) + fs.writeFileSync(path.join(tmpDir, 'package.json'), JSON.stringify(pkgContent)) + fs.writeFileSync(path.join(tmpDir, 'packages/member/package.json'), JSON.stringify(memberPkg)) + try { + const result = await discoverWorkspacePackages(tmpDir) + expect(result).to.be.an('array') + expect(result.length).to.be.at.least(1) + expect(result.some(p => p.endsWith('packages/member/package.json'))).to.be.true + } finally { + fs.rmSync(tmpDir, { recursive: true, force: true }) + } + }) + + test('returns empty when package.json has no workspaces (single package)', async () => { + const root = 'test/providers/provider_manifests/npm/with_lock_file' + const result = await discoverWorkspacePackages(root) + expect(result).to.be.an('array') + expect(result).to.have.lengthOf(0) + }) +}) + +suite('resolveWorkspaceDiscoveryIgnore', () => { + test('merges defaults with opts and dedupes', () => { + const r = resolveWorkspaceDiscoveryIgnore({ + workspaceDiscoveryIgnore: ['**/vendor/**', '**/node_modules/**'], + }) + expect(r).to.include('**/node_modules/**') + expect(r).to.include('**/.git/**') + expect(r).to.include('**/vendor/**') + }) +}) + +suite('filterManifestPathsByDiscoveryIgnore', () => { + test('removes paths matching a pattern', () => { + const root = path.resolve('test/providers/tst_manifests') + const paths = [ + path.join(root, 'a/package.json'), + path.join(root, 'node_modules/x/package.json'), + ] + const filtered = filterManifestPathsByDiscoveryIgnore(paths, root, ['**/node_modules/**']) + expect(filtered).to.have.lengthOf(1) + expect(filtered[0]).to.include('a/package.json') + }) +}) + +suite('validatePackageJson', () => { + test('accepts valid name and version', () => { + const tmpDir = path.join(process.cwd(), 'test/providers/tst_manifests/tmp_validate_pkg') + fs.mkdirSync(tmpDir, { recursive: true }) + const p = path.join(tmpDir, 'package.json') + fs.writeFileSync(p, JSON.stringify({ name: 'foo', version: '1.0.0' })) + try { + const r = validatePackageJson(p) + expect(r.valid).to.be.true + if (r.valid) { + expect(r.name).to.equal('foo') + expect(r.version).to.equal('1.0.0') + } + } finally { + fs.rmSync(tmpDir, { recursive: true, force: true }) + } + }) + + test('rejects missing name', () => { + const tmpDir = path.join(process.cwd(), 'test/providers/tst_manifests/tmp_validate_pkg2') + fs.mkdirSync(tmpDir, { recursive: true }) + const p = path.join(tmpDir, 'package.json') + fs.writeFileSync(p, JSON.stringify({ version: '1.0.0' })) + try { + const r = validatePackageJson(p) + expect(r.valid).to.be.false + if (!r.valid) { + expect(r.error).to.match(/name/i) + } + } finally { + fs.rmSync(tmpDir, { recursive: true, force: true }) + } + }) + + test('rejects missing version', () => { + const tmpDir = path.join(process.cwd(), 'test/providers/tst_manifests/tmp_validate_pkg3') + fs.mkdirSync(tmpDir, { recursive: true }) + const p = path.join(tmpDir, 'package.json') + fs.writeFileSync(p, JSON.stringify({ name: 'foo' })) + try { + const r = validatePackageJson(p) + expect(r.valid).to.be.false + if (!r.valid) { + expect(r.error).to.match(/version/i) + } + } finally { + fs.rmSync(tmpDir, { recursive: true, force: true }) + } + }) + + test('rejects invalid JSON', () => { + const tmpDir = path.join(process.cwd(), 'test/providers/tst_manifests/tmp_validate_pkg4') + fs.mkdirSync(tmpDir, { recursive: true }) + const p = path.join(tmpDir, 'package.json') + fs.writeFileSync(p, '{ not json') + try { + const r = validatePackageJson(p) + expect(r.valid).to.be.false + if (!r.valid) { + expect(r.error).to.match(/Invalid package\.json/i) + } + } finally { + fs.rmSync(tmpDir, { recursive: true, force: true }) + } + }) +}) + +suite('discoverWorkspaceCrates', () => { + test('returns empty when no Cargo.toml or Cargo.lock at root', async () => { + const result = await discoverWorkspaceCrates('test/providers/tst_manifests/npm') + expect(result).to.be.an('array') + expect(result).to.have.lengthOf(0) + }) + + test('discovers workspace members from Cargo workspace', async () => { + const root = path.resolve('test/providers/tst_manifests/cargo/cargo_virtual_workspace') + const metadata = { + packages: [ + { id: `path+file://${root}/crate-a#0.1.0`, manifest_path: path.join(root, 'crate-a/Cargo.toml') }, + { id: `path+file://${root}/crate-b#0.2.0`, manifest_path: path.join(root, 'crate-b/Cargo.toml') } + ], + workspace_members: [`path+file://${root}/crate-a#0.1.0`, `path+file://${root}/crate-b#0.2.0`] + } + const { discoverWorkspaceCrates } = await esmock('../../src/workspace.js', { + '../../src/tools.js': { + getCustomPath: () => 'cargo', + invokeCommand: () => Buffer.from(JSON.stringify(metadata)) + } + }) + const result = await discoverWorkspaceCrates(root) + expect(result).to.be.an('array') + expect(result).to.have.lengthOf(2) + expect(result.every(p => p.endsWith('Cargo.toml'))).to.be.true + expect(result.some(p => p.includes('crate-a'))).to.be.true + expect(result.some(p => p.includes('crate-b'))).to.be.true + }) +}) diff --git a/test/stack_analysis_batch.test.js b/test/stack_analysis_batch.test.js new file mode 100644 index 00000000..8385b43d --- /dev/null +++ b/test/stack_analysis_batch.test.js @@ -0,0 +1,305 @@ +import fs from 'node:fs' +import path from 'node:path' + +import { expect } from 'chai' +import esmock from 'esmock' +import { http, HttpResponse } from 'msw' +import { setupServer } from 'msw/node' + +import { CYCLONEDX_JSON_MEDIA_TYPE } from '../src/analysis.js' + +const BACKEND_URL = 'http://localhost:9999' +const BACKEND_OPTS = { TRUSTIFY_DA_BACKEND_URL: BACKEND_URL } + +/** + * Helper: create a temporary monorepo workspace on disk. + * Returns the root path and a cleanup function. + */ +function createTmpWorkspace(name, { packages = [], pnpmWorkspace = null, rootPkg = null, lockFile = 'package-lock.json' } = {}) { + const tmpDir = path.resolve(`test/tst_manifests_batch_${name}`) + fs.mkdirSync(tmpDir, { recursive: true }) + + if (rootPkg) { + fs.writeFileSync(path.join(tmpDir, 'package.json'), JSON.stringify(rootPkg)) + } + if (pnpmWorkspace) { + fs.writeFileSync(path.join(tmpDir, 'pnpm-workspace.yaml'), pnpmWorkspace) + } + if (lockFile) { + fs.writeFileSync(path.join(tmpDir, lockFile), '{}') + } + + for (const pkg of packages) { + const pkgDir = path.join(tmpDir, pkg.dir) + fs.mkdirSync(pkgDir, { recursive: true }) + fs.writeFileSync(path.join(pkgDir, 'package.json'), JSON.stringify(pkg.content)) + } + + return { root: tmpDir, cleanup: () => fs.rmSync(tmpDir, { recursive: true, force: true }) } +} + +/** + * Build a mock provider module that returns a deterministic SBOM for each manifest. + */ +function buildMockProviders(sbomMap) { + const mockProvider = { + isSupported: () => true, + validateLockFile: () => true, + provideStack: (manifestPath) => { + const sbom = sbomMap[manifestPath] + if (!sbom) { + throw new Error(`No mock SBOM for ${manifestPath}`) + } + return { + ecosystem: 'npm', + content: JSON.stringify(sbom), + contentType: 'application/vnd.cyclonedx+json', + } + }, + } + return { + availableProviders: [mockProvider], + match: () => mockProvider, + } +} + +function makeSbom(name, version) { + return { + metadata: { + component: { + purl: `pkg:npm/${name}@${version}`, + 'bom-ref': `pkg:npm/${name}@${version}`, + }, + }, + components: [], + } +} + +function mediaTypeWithoutParameters(contentType) { + if (!contentType) { + return '' + } + return contentType.split(';')[0].trim() +} + +suite('stackAnalysisBatch', () => { + let server + let capturedBody + let capturedContentType + + suiteSetup(() => { + server = setupServer( + http.post(`${BACKEND_URL}/api/v5/batch-analysis`, async ({ request }) => { + capturedContentType = request.headers.get('content-type') + capturedBody = await request.json() + const report = {} + for (const purl of Object.keys(capturedBody)) { + report[purl] = { providers: {} } + } + return HttpResponse.json(report) + }) + ) + server.listen() + }) + + suiteTeardown(() => { + server.close() + }) + + setup(() => { + capturedBody = null + capturedContentType = null + }) + + test('discovers JS workspace packages, generates SBOMs, and sends batch request', async () => { + const { root, cleanup } = createTmpWorkspace('js_batch', { + rootPkg: { name: 'root', version: '1.0.0', workspaces: ['packages/*'] }, + packages: [ + { dir: 'packages/app-a', content: { name: 'app-a', version: '1.0.0' } }, + { dir: 'packages/app-b', content: { name: 'app-b', version: '2.0.0' } }, + ], + }) + + try { + const appASbom = makeSbom('app-a', '1.0.0') + const appBSbom = makeSbom('app-b', '2.0.0') + const rootSbom = makeSbom('root', '1.0.0') + + const sbomMap = {} + sbomMap[path.join(root, 'package.json')] = rootSbom + sbomMap[path.join(root, 'packages/app-a/package.json')] = appASbom + sbomMap[path.join(root, 'packages/app-b/package.json')] = appBSbom + + const mockProviders = buildMockProviders(sbomMap) + const client = await esmock('../src/index.js', { + '../src/provider.js': mockProviders, + }) + + const result = await client.stackAnalysisBatch(root, false, BACKEND_OPTS) + + expect(result).to.be.an('object') + expect(capturedBody).to.be.an('object') + expect(mediaTypeWithoutParameters(capturedContentType)).to.equal(CYCLONEDX_JSON_MEDIA_TYPE) + const purls = Object.keys(capturedBody) + expect(purls).to.include('pkg:npm/app-a@1.0.0') + expect(purls).to.include('pkg:npm/app-b@2.0.0') + expect(purls).to.include('pkg:npm/root@1.0.0') + } finally { + cleanup() + } + }) + + test('returns metadata when batchMetadata option is set', async () => { + const { root, cleanup } = createTmpWorkspace('js_meta', { + rootPkg: { name: 'meta-root', version: '1.0.0', workspaces: ['packages/*'] }, + packages: [ + { dir: 'packages/pkg-a', content: { name: 'pkg-a', version: '1.0.0' } }, + ], + }) + + try { + const sbomMap = {} + sbomMap[path.join(root, 'package.json')] = makeSbom('meta-root', '1.0.0') + sbomMap[path.join(root, 'packages/pkg-a/package.json')] = makeSbom('pkg-a', '1.0.0') + + const mockProviders = buildMockProviders(sbomMap) + const client = await esmock('../src/index.js', { + '../src/provider.js': mockProviders, + }) + + const result = await client.stackAnalysisBatch(root, false, { + ...BACKEND_OPTS, + batchMetadata: true, + }) + + expect(result).to.have.property('analysis') + expect(result).to.have.property('metadata') + expect(result.metadata.ecosystem).to.equal('javascript') + expect(result.metadata.successful).to.equal(2) + expect(result.metadata.failed).to.equal(0) + expect(mediaTypeWithoutParameters(capturedContentType)).to.equal(CYCLONEDX_JSON_MEDIA_TYPE) + } finally { + cleanup() + } + }) + + test('skips invalid package.json and continues in default mode', async () => { + const { root, cleanup } = createTmpWorkspace('js_invalid', { + rootPkg: { name: 'root-inv', version: '1.0.0', workspaces: ['packages/*'] }, + packages: [ + { dir: 'packages/good', content: { name: 'good', version: '1.0.0' } }, + { dir: 'packages/bad', content: { version: '1.0.0' } }, // missing name + ], + }) + + try { + const sbomMap = {} + sbomMap[path.join(root, 'package.json')] = makeSbom('root-inv', '1.0.0') + sbomMap[path.join(root, 'packages/good/package.json')] = makeSbom('good', '1.0.0') + + const mockProviders = buildMockProviders(sbomMap) + const client = await esmock('../src/index.js', { + '../src/provider.js': mockProviders, + }) + + const result = await client.stackAnalysisBatch(root, false, { + ...BACKEND_OPTS, + batchMetadata: true, + }) + + expect(result.metadata.failed).to.be.at.least(1) + expect(result.metadata.errors.some(e => e.phase === 'validation')).to.be.true + expect(capturedBody).to.be.an('object') + expect(mediaTypeWithoutParameters(capturedContentType)).to.equal(CYCLONEDX_JSON_MEDIA_TYPE) + expect(Object.keys(capturedBody)).to.include('pkg:npm/good@1.0.0') + } finally { + cleanup() + } + }) + + test('throws on first invalid package.json in fail-fast mode', async () => { + const { root, cleanup } = createTmpWorkspace('js_failfast', { + rootPkg: { name: 'root-ff', version: '1.0.0', workspaces: ['packages/*'] }, + packages: [ + { dir: 'packages/bad', content: { version: '1.0.0' } }, // missing name + { dir: 'packages/good', content: { name: 'good', version: '1.0.0' } }, + ], + }) + + try { + const sbomMap = {} + sbomMap[path.join(root, 'package.json')] = makeSbom('root-ff', '1.0.0') + sbomMap[path.join(root, 'packages/good/package.json')] = makeSbom('good', '1.0.0') + + const mockProviders = buildMockProviders(sbomMap) + const client = await esmock('../src/index.js', { + '../src/provider.js': mockProviders, + }) + + try { + await client.stackAnalysisBatch(root, false, { + ...BACKEND_OPTS, + continueOnError: false, + batchMetadata: true, + }) + expect.fail('should have thrown') + } catch (err) { + expect(err.message).to.match(/Invalid package\.json/i) + expect(err.batchMetadata).to.be.an('object') + } + } finally { + cleanup() + } + }) + + test('throws when no workspace manifests found', async () => { + const tmpDir = path.resolve('test/tst_manifests_batch_empty') + fs.mkdirSync(tmpDir, { recursive: true }) + + try { + const client = await esmock('../src/index.js', { + '../src/provider.js': buildMockProviders({}), + }) + + try { + await client.stackAnalysisBatch(tmpDir, false, BACKEND_OPTS) + expect.fail('should have thrown') + } catch (err) { + expect(err.message).to.match(/No workspace manifests found/) + } + } finally { + fs.rmSync(tmpDir, { recursive: true, force: true }) + } + }) + + test('discovers pnpm workspace packages', async () => { + const pnpmYaml = `packages:\n - 'apps/*'\n` + const { root, cleanup } = createTmpWorkspace('pnpm_batch', { + rootPkg: { name: 'pnpm-root', version: '1.0.0' }, + pnpmWorkspace: pnpmYaml, + lockFile: 'pnpm-lock.yaml', + packages: [ + { dir: 'apps/web', content: { name: 'web', version: '1.0.0' } }, + ], + }) + + try { + const sbomMap = {} + sbomMap[path.join(root, 'apps/web/package.json')] = makeSbom('web', '1.0.0') + + const mockProviders = buildMockProviders(sbomMap) + const client = await esmock('../src/index.js', { + '../src/provider.js': mockProviders, + }) + + const result = await client.stackAnalysisBatch(root, false, BACKEND_OPTS) + + expect(result).to.be.an('object') + expect(capturedBody).to.be.an('object') + expect(mediaTypeWithoutParameters(capturedContentType)).to.equal(CYCLONEDX_JSON_MEDIA_TYPE) + expect(Object.keys(capturedBody)).to.include('pkg:npm/web@1.0.0') + } finally { + cleanup() + } + }) +}) diff --git a/test/tools.test.js b/test/tools.test.js index 969fa852..89d2e8fb 100644 --- a/test/tools.test.js +++ b/test/tools.test.js @@ -43,17 +43,17 @@ suite('testing the various tools and utility functions', () => { }) suite('test the getCustomPath utility function', () => { - afterEach(() => delete process.env['EXHORT_DUMMY_PATH']) + afterEach(() => delete process.env['TRUSTIFY_DA_DUMMY_PATH']) test('when exists as environment variable and opts, return environment variables value', () => { - process.env['EXHORT_DUMMY_PATH'] = 'dummy-env-value' - let opts = { 'EXHORT_DUMMY_PATH': 'dummy-opts-value' } + process.env['TRUSTIFY_DA_DUMMY_PATH'] = 'dummy-env-value' + let opts = { 'TRUSTIFY_DA_DUMMY_PATH': 'dummy-opts-value' } let fetchedValue = getCustomPath('dummy', opts) expect(fetchedValue).to.equal('dummy-env-value') }) test('when no environment variable but exists as opts, return opts value', () => { - let opts = { 'EXHORT_DUMMY_PATH': 'dummy-opts-value' } + let opts = { 'TRUSTIFY_DA_DUMMY_PATH': 'dummy-opts-value' } let fetchedValue = getCustomPath('dummy', opts) expect(fetchedValue).to.equal('dummy-opts-value') }) diff --git a/testers/cli/package-lock.json b/testers/cli/package-lock.json new file mode 100644 index 00000000..7e7bf4a9 --- /dev/null +++ b/testers/cli/package-lock.json @@ -0,0 +1,6 @@ +{ + "name": "cli", + "lockfileVersion": 3, + "requires": true, + "packages": {} +} diff --git a/tsconfig.dev.json b/tsconfig.dev.json new file mode 100644 index 00000000..738679d7 --- /dev/null +++ b/tsconfig.dev.json @@ -0,0 +1,6 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "sourceMap": true + } +}