diff --git a/.gitattributes b/.gitattributes index 506a961a..337c2d81 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,34 +1,33 @@ -* text=auto +* text=auto eol=lf -*.txt text eol=lf -*.md text eol=lf diff=markdown -*.php text eol=lf diff=php -*.json text eol=lf diff=json -*.xml text eol=lf diff=xml -*.xml.dist text eol=lf diff=xml -*.xsd text eol=lf diff=xml -*.neon text eol=lf diff=yaml -*.neon.dist text eol=lf diff=yaml -composer.lock text eol=lf diff=json +*.txt text eol=lf +*.md text eol=lf diff=markdown +*.php text eol=lf diff=php +*.json text eol=lf diff=json +*.xml text eol=lf diff=xml +*.xml.dist text eol=lf diff=xml +*.xsd text eol=lf diff=xml +*.neon text eol=lf diff=yaml +*.neon.dist text eol=lf diff=yaml +composer.lock text eol=lf diff=json # files that are not bundled into the "dist" release are marked `export-ignore` -.gitattributes export-ignore -.gitignore export-ignore -.editorconfig export-ignore -/.github export-ignore -/tests export-ignore -/tools export-ignore -/.php-cs-fixer.dist.php export-ignore -/phpunit.xml.dist export-ignore -/psalm.xml.dist export-ignore -/.psalm export-ignore -/HISTORY.md export-ignore -/CODEOWNERS export-ignore -/CONTRIBUTING.md export-ignore -/demo export-ignore -/docs/dev export-ignore +/CODEOWNERS export-ignore +/CONTRIBUTING.md export-ignore +.gitattributes export-ignore +.gitignore export-ignore +.editorconfig export-ignore +/.* export-ignore +/demo export-ignore +/docs/dev export-ignore +/tests export-ignore +/tools export-ignore +/composer-require-checker.json export-ignore +/phpunit.dist.xml export-ignore +/psalm.xml.dist export-ignore -# files that are forced to be exported in "dist" releaes -/NOTICE -export-ignore -/LICENSE -export-ignore -/semver.txt -export-ignore +# files that are forced to be exported in "dist" releases +/README.* -export-ignore +/NOTICE -export-ignore +/LICENSE -export-ignore +/semver.txt -export-ignore diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 00000000..468af848 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,10 @@ +# https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/displaying-a-sponsor-button-in-your-repository + +## copied from https://github.com/CycloneDX/.github/blob/master/FUNDING.yml +custom: + - "https://owasp.org/donate/?reponame=www-project-cyclonedx&title=OWASP+CycloneDX" + +## project extras +github: + - jkowalleck + diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 1a143f31..abdda125 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -73,6 +73,20 @@ updates: prefix: 'tools' include: 'scope' open-pull-requests-limit: 999 + - directory: '/tools/phpunit' + package-ecosystem: 'composer' + schedule: + interval: 'weekly' + day: 'saturday' + allow: + - dependency-type: 'all' + versioning-strategy: 'auto' + labels: [ 'dependencies', 'tools' ] + commit-message: + ## prefix maximum string length of 15 + prefix: 'tools' + include: 'scope' + open-pull-requests-limit: 999 - directory: '/tools/psalm' package-ecosystem: 'composer' schedule: diff --git a/.github/workflows/demo.yml b/.github/workflows/demo.yml index ebe073f7..cc712831 100644 --- a/.github/workflows/demo.yml +++ b/.github/workflows/demo.yml @@ -4,18 +4,21 @@ name: DEMO # @TODO make this an integration test + on: push: - branches: ["master"] - paths-ignore: - - 'docs/**' - - 'tests/**' - - 'tools/**' + branches: ["master", "next"] + paths: + - '.github/workflows/demo.yml' + - 'src/**' + - 'demo/**' + - 'composer.*' pull_request: - paths-ignore: - - 'docs/**' - - 'tests/**' - - 'tools/**' + paths: + - '.github/workflows/demo.yml' + - 'src/**' + - 'demo/**' + - 'composer.*' workflow_dispatch: schedule: # schedule weekly tests, since dependencies are not intended to be pinned @@ -26,71 +29,69 @@ env: PHP_VERSION_LATEST: "8.2" PHP_PROJECT_EXT: dom,filter,json,libxml # via `composer info -pt` and removed dev req REPORTS_DIR: CI_reports + DEMO_TOOL_PATH: demo/.tool + CDX_CP_TOOLS_VERSION_OVERRIDE: in-dev + CDX_CP_TOOLS_EXCLUDE_LIBS: 1 jobs: reproducible: name: > - Reproducible "${{ matrix.subject }}" + R: "${{ matrix.subject }}" (${{ matrix.spec-version }} ${{ matrix.output-format }}, - composer${{ matrix.composer }} - php${{ matrix.php }}, + c${{ matrix.composer }} + p${{ matrix.php }}, + i:${{ matrix.install }} stdout:${{ matrix.stdout }}) runs-on: ubuntu-latest - timeout-minutes: 30 + timeout-minutes: 10 env: REPORTS_ARTIFACT: demo-reproducible strategy: fail-fast: false matrix: subject: # list of reproducible demos + - devReq - laravel-7.12.0 - local php: - - "8.2" # latest - - "7.3" # lowest supported + - "8.2" # latest + - "8.1" # lowest supported composer: - - "2" # latest 2.x - - "2.3" # latest 2.3 - - "2.2" # latest 2.2 - - "2.1" # latest 2.1 - - "2.0" # latest 2.0 = lowest supported + - "v2" # latest 2.x + - "2.3" # latest 2.3 = lowest supported output-format: # lowercase the format, since it is also used as a file extension when searching the original file - xml - json spec-version: - # - "1.4" via a later version of the CDX lib + - "1.4" - "1.3" - "1.2" - "1.1" # - "1.0" # not implemented stdout: [ false ] + install: [ true , false ] exclude: # exclude unsupported combinations: json is defined in spec >= 1.2 - output-format: json spec-version: "1.0" - output-format: json spec-version: "1.1" - # exclude broken combinations due to env issues - - php: "8.2" - composer: "2.0" - - php: "8.1" - composer: "2.0" include: - # test with lowest combination - php: "7.3" # lowest - composer: "2.0.0" # lowest + php: "8.1" # lowest + composer: "2.3.0" # lowest # any other props - spec-version: "1.3" + spec-version: "1.4" subject: laravel-7.12.0 output-format: xml stdout: false - - # test if stdout receives no data except the SBOM - stdout: true # TRUE - php: "8.2" # latest - composer: "2" # latest - spec-version: "1.3" # latest + - # test if STDOUT receives no data except the SBOM + stdout: true # << the subject of this test-case + php: "8.2" # latest + composer: "v2" # latest + spec-version: "1.4" # latest # any other props subject: laravel-7.12.0 output-format: xml @@ -101,59 +102,79 @@ jobs: - name: Setup paths and folders run: | PWD="$(pwd -P)" - OUT_FILE="${{ matrix.subject }}_php${{ matrix.php }}_composer${{ matrix.composer }}_bom.${{ matrix.spec-version }}.${{ matrix.output-format }}" - COMPARE_FILE="bom.${{ matrix.spec-version }}.${{ matrix.output-format }}" - DEMO_RUN_DIR="demo/${{ matrix.subject }}" - echo "DEMO_RUN_DIR=$DEMO_RUN_DIR" >> $GITHUB_ENV + OUT_FILE='${{ matrix.subject }}_php${{ matrix.php }}_composer${{ matrix.composer }}_bom.${{ matrix.spec-version }}.${{ matrix.output-format }}' + COMPARE_FILE='bom.${{ matrix.spec-version }}.${{ matrix.output-format }}' + DEMO_SUBJECT_DIR="$PWD"'/demo/${{ matrix.subject }}' + echo "DEMO_PROJECT_DIR=$DEMO_SUBJECT_DIR/project" >> $GITHUB_ENV REPORTS_DIR_PATH="$PWD/$REPORTS_DIR" - mkdir -p "$REPORTS_DIR_PATH/${{ matrix.subject }}" + mkdir -p "$REPORTS_DIR_PATH"/'${{ matrix.subject }}' echo "REPORTS_DIR_PATH=$REPORTS_DIR_PATH" >> $GITHUB_ENV echo "OUT_FILE_PATH=$REPORTS_DIR_PATH/$OUT_FILE" >> $GITHUB_ENV - echo "COMPARE_FILE_PATH=$PWD/$DEMO_RUN_DIR/results/$COMPARE_FILE" >> $GITHUB_ENV + echo "COMPARE_FILE_PATH=$DEMO_SUBJECT_DIR/results/$COMPARE_FILE" >> $GITHUB_ENV + - name: Setup OMIT "dev" + run: | + OMIT_RULES='' + if [ '${{ matrix.subject}}' != 'devReq' ]; then + OMIT_RULES="$OMIT_RULES --omit=dev" + fi + echo "OMIT_RULES=$OMIT_RULES" >> $GITHUB_ENV - name: Setup PHP # see https://github.com/shivammathur/setup-php uses: shivammathur/setup-php@v2 with: php-version: ${{ matrix.php }} extensions: ${{ env.PHP_PROJECT_EXT }} - tools: composer:v${{ matrix.composer }} + tools: composer:${{ matrix.composer }} coverage: none - name: Get composer cache directory id: composer-cache - working-directory: ${{ env.DEMO_RUN_DIR }}/project - run: echo "::set-output name=dir::$(composer config cache-files-dir)" + working-directory: ${{ env.DEMO_PROJECT_DIR }} + shell: bash + run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT - name: Cache dependencies # see https://github.com/actions/cache uses: actions/cache@v3 with: path: ${{ steps.composer-cache.outputs.dir }} - key: composer-${{ github.job }}-${{ matrix.subject }}-${{ runner.os }}-${{ matrix.php }}-${{ hashFiles('demo/**/composer.lock') }} + key: composer-${{ github.job }}-${{ matrix.subject }}-php${{ matrix.php }}-${{ hashFiles('composer.*', 'demo/*/project/composer.*') }} restore-keys: | - composer-${{ github.job }}-${{ matrix.subject }}-${{ runner.os }}-${{ matrix.php }}- - composer-${{ github.job }}-${{ matrix.subject }}-${{ runner.os }}- - - name: Install dependencies - working-directory: ${{ env.DEMO_RUN_DIR }}/project - run: composer install --prefer-dist --no-interaction --no-progress + composer-${{ github.job }}-${{ matrix.subject }}-php${{ matrix.php }}- + composer-${{ github.job }}-${{ matrix.subject }}- + - name: Install composer plugin + working-directory: ${{ env.DEMO_TOOL_PATH }} + run: composer install + - name: Install project dependencies & kick lockfile + if: ${{ matrix.install }} + working-directory: ${{ env.DEMO_PROJECT_DIR }} + run: | + composer setup + rm composer.lock - name: Make SBOM to file if: ${{ ! matrix.stdout }} - working-directory: ${{ env.DEMO_RUN_DIR }}/project + working-directory: ${{ env.DEMO_TOOL_PATH }} run: > composer CycloneDX:make-sbom -vvv - --exclude-dev + $OMIT_RULES --spec-version=${{ matrix.spec-version }} + --output-reproducible --output-format=${{ matrix.output-format }} --output-file="$OUT_FILE_PATH" + -- + ${{ env.DEMO_PROJECT_DIR }}/composer.json - name: Make SBOM to STDOUT if: ${{ matrix.stdout }} - working-directory: ${{ env.DEMO_RUN_DIR }}/project + working-directory: ${{ env.DEMO_TOOL_PATH }} run: > composer CycloneDX:make-sbom -vvv - --exclude-dev + $OMIT_RULES --spec-version=${{ matrix.spec-version }} + --output-reproducible --output-format=${{ matrix.output-format }} --output-file=- + -- + ${{ env.DEMO_PROJECT_DIR }}/composer.json > "$OUT_FILE_PATH" - name: Compare reproducible SBOM run: > diff --git a/.github/workflows/php-dev.yml b/.github/workflows/php-dev.yml index 26da66b1..9d3742d4 100644 --- a/.github/workflows/php-dev.yml +++ b/.github/workflows/php-dev.yml @@ -4,18 +4,16 @@ name: Assure PHP Dev Setup on: push: - branches: ["master"] + branches: ["master", "next"] paths: - '.github/workflows/php-dev.yml' - 'tools/**' - - 'composer.json' - - 'composer.lock' + - 'composer.*' pull_request: paths: - '.github/workflows/php-dev.yml' - 'tools/**' - - 'composer.json' - - 'composer.lock' + - 'composer.*' workflow_dispatch: schedule: # schedule weekly tests, since dependencies are not intended to be pinned @@ -24,11 +22,11 @@ on: env: PHP_VERSION_LATEST: "8.2" - PHP_PROJECT_EXT: dom,filter,json,libxml,simplexml # via `composer info -pt` + PHP_PROJECT_EXT: dom,json,libxml # via `composer info -pt` jobs: - asure-dev-setup: - name: DevSetup (${{ matrix.os}}, ${{ matrix.php }}, ${{ matrix.dependencies }}) + assure-dev-setup: + name: DevSetup (${{ matrix.os}}, ${{ matrix.php }}) runs-on: ${{ matrix.os }} strategy: fail-fast: false @@ -36,11 +34,7 @@ jobs: os: [ "ubuntu-latest", "macos-latest", "windows-latest" ] php: - "8.2" # highest supported - - "8.1" - - "8.0" - - "7.4" - ## below is a list of versions the project supports on runtime - but not on dev-time - # - "7.3" # lowest supported + - "8.1" # lowest supported timeout-minutes: 30 steps: - name: Checkout @@ -52,19 +46,19 @@ jobs: with: php-version: ${{ matrix.php }} extensions: ${{ env.PHP_PROJECT_EXT }} - tools: composer:v2 + tools: 'composer:v2' - name: Get composer cache directory id: composer-cache - run: echo "::set-output name=dir::$(composer config cache-files-dir)" + run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT + shell: bash - name: Cache dependencies # see https://github.com/actions/cache uses: actions/cache@v3 with: path: ${{ steps.composer-cache.outputs.dir }} - key: composer-${{ github.job }}-${{ runner.os }}-${{ matrix.php }}-${{ matrix.dependencies }}-${{ hashFiles('**/composer.json') }} + key: composer-${{ github.job }}-${{ runner.os }}-php${{ matrix.php }}-${{ hashFiles('composer.*', 'tools/*/composer.*') }} restore-keys: | - composer-${{ github.job }}-${{ runner.os }}-${{ matrix.php }}-${{ matrix.dependencies }}- - composer-${{ github.job }}-${{ runner.os }}-${{ matrix.php }}- + composer-${{ github.job }}-${{ runner.os }}-php${{ matrix.php }}- composer-${{ github.job }}-${{ runner.os }}- - name: Dev-Setup run: > diff --git a/.github/workflows/php.yml b/.github/workflows/php.yml index fd67f8a4..fb65dc97 100644 --- a/.github/workflows/php.yml +++ b/.github/workflows/php.yml @@ -4,7 +4,7 @@ name: PHP CI on: push: - branches: ["master"] + branches: ["master", "next"] pull_request: workflow_dispatch: schedule: @@ -14,12 +14,30 @@ on: env: PHP_VERSION_LATEST: "8.2" - PHP_PROJECT_EXT: dom,filter,json,libxml,simplexml # via `composer info -pt` + PHP_PROJECT_EXT: dom,json,libxml # via `composer info -pt` REPORTS_DIR: CI_reports jobs: - tests: - name: Tests (${{ matrix.os}}, ${{ matrix.php }}, ${{ matrix.dependencies }}) + composer-validate: + name: Composer Validate + runs-on: ubuntu-latest + timeout-minutes: 10 + steps: + - name: Checkout + # see https://github.com/actions/checkout + uses: actions/checkout@v3 + - name: Setup PHP + # see https://github.com/shivammathur/setup-php + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ env.PHP_VERSION_LATEST }} + extensions: ${{ env.PHP_PROJECT_EXT }} + tools: 'composer:v2' + coverage: none + - name: Validate composer.json and composer.lock + run: composer validate --no-interaction + phpunit: + name: PHPUnit (${{ matrix.os}}, ${{ matrix.php }}, ${{ matrix.dependencies }}) runs-on: ${{ matrix.os }} env: REPORTS_ARTIFACT: tests-reports @@ -29,18 +47,8 @@ jobs: os: [ "ubuntu-latest" ] php: - "8.2" # highest supported - - "8.1" - - "8.0" - - "7.4" - - "7.3" # lowest supported + - "8.1" # lowest supported dependencies: [ "lowest", "highest" ] - exclude: - - # unstable combinations: throws PHP Deprecated warnings - php: "8.2" - dependencies: "lowest" - - # unstable combinations: throws PHP Deprecated warnings - php: "8.1" - dependencies: "lowest" include: - # Windows highest os: windows-latest @@ -63,25 +71,25 @@ jobs: with: php-version: ${{ matrix.php }} extensions: ${{ env.PHP_PROJECT_EXT }} - tools: composer:v2 - coverage: pcov,xdebug + tools: 'composer:v2' + coverage: pcov - name: Get composer cache directory id: composer-cache - run: echo "::set-output name=dir::$(composer config cache-files-dir)" + shell: bash + run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT - name: Cache dependencies # see https://github.com/actions/cache uses: actions/cache@v3 with: path: ${{ steps.composer-cache.outputs.dir }} - key: composer-${{ github.job }}-${{ runner.os }}-${{ matrix.php }}-${{ matrix.dependencies }}-${{ hashFiles('**/composer.json') }} + key: composer-${{ github.job }}-${{ runner.os }}-php${{ matrix.php }}-${{ matrix.dependencies }}-${{ hashFiles('composer.*', 'tools/phpunit/composer.*') }} restore-keys: | - composer-${{ github.job }}-${{ runner.os }}-${{ matrix.php }}-${{ matrix.dependencies }}- - composer-${{ github.job }}-${{ runner.os }}-${{ matrix.php }}- + composer-${{ github.job }}-${{ runner.os }}-php${{ matrix.php }}-${{ matrix.dependencies }}- + composer-${{ github.job }}-${{ runner.os }}-php${{ matrix.php }}- composer-${{ github.job }}-${{ runner.os }}- - - name: Validate composer.json and composer.lock - run: > - composer validate - --no-interaction + - name: Install PHPUnit + run: composer install --prefer-dist --no-interaction --no-progress + working-directory: tools/phpunit - name: Install lowest dependencies if: ${{ matrix.dependencies == 'lowest' }} run: | @@ -99,7 +107,8 @@ jobs: -d error_reporting=-1 -d log_errors_max_len=0 -d memory_limit=-1 - vendor/phpunit/phpunit/phpunit + tools/phpunit/vendor/phpunit/phpunit/phpunit + --no-progress --log-junit=${{ env.REPORTS_DIR }}/tests.${{ matrix.os }}_php${{ matrix.php }}_${{ matrix.dependencies }}.junit.xml --coverage-clover=${{ env.REPORTS_DIR }}/coverage.${{ matrix.os}}_php${{ matrix.php }}_${{ matrix.dependencies }}.clover.xml - name: Artifact reports @@ -121,13 +130,11 @@ jobs: matrix: php: - "8.2" # highest supported - - "8.1" - - "8.0" - - "7.4" + - "8.1" # lowest supported dependencies: [ "highest" ] include: - # lowest supported - php: "7.3" + php: "8.1" dependencies: "lowest" steps: - name: Checkout @@ -139,20 +146,20 @@ jobs: with: php-version: ${{ matrix.php }} extensions: ${{ env.PHP_PROJECT_EXT }} - tools: composer:v2 + tools: 'composer:v2' coverage: none - name: Get composer cache directory id: composer-cache - run: echo "::set-output name=dir::$(composer config cache-files-dir)" + run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT - name: Cache dependencies # see https://github.com/actions/cache uses: actions/cache@v3 with: path: ${{ steps.composer-cache.outputs.dir }} - key: composer-${{ github.job }}-${{ runner.os }}-${{ matrix.php }}-${{ matrix.dependencies }}-${{ hashFiles('**/composer.json') }} + key: composer-${{ github.job }}-${{ runner.os }}-php${{ matrix.php }}-${{ matrix.dependencies }}-${{ hashFiles('composer.*', 'tools/psalm/composer.*') }} restore-keys: | - composer-${{ github.job }}-${{ runner.os }}-${{ matrix.php }}-${{ matrix.dependencies }}- - composer-${{ github.job }}-${{ runner.os }}-${{ matrix.php }}- + composer-${{ github.job }}-${{ runner.os }}-php${{ matrix.php }}-${{ matrix.dependencies }}- + composer-${{ github.job }}-${{ runner.os }}-php${{ matrix.php }}- composer-${{ github.job }}-${{ runner.os }}- - name: Install psalm run: composer install --prefer-dist --no-interaction --no-progress @@ -195,17 +202,17 @@ jobs: with: php-version: ${{ env.PHP_VERSION_LATEST }} extensions: ${{ env.PHP_PROJECT_EXT }} - tools: composer:v2 + tools: 'composer:v2' coverage: none - name: Get composer cache directory id: composer-cache - run: echo "::set-output name=dir::$(composer config cache-files-dir)" + run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT - name: Cache dependencies # see https://github.com/actions/cache uses: actions/cache@v3 with: path: ${{ steps.composer-cache.outputs.dir }} - key: composer-${{ github.job }}-${{ runner.os }}-${{ hashFiles('**/composer.json') }} + key: composer-${{ github.job }}-${{ runner.os }}-${{ hashFiles('composer.*', 'tools/composer-unused/composer.*') }} restore-keys: | composer-${{ github.job }}-${{ runner.os }}- - name: Install composer-unused @@ -233,17 +240,17 @@ jobs: with: php-version: ${{ env.PHP_VERSION_LATEST }} extensions: ${{ env.PHP_PROJECT_EXT }} - tools: composer:v2 + tools: 'composer:v2' coverage: none - name: Get composer cache directory id: composer-cache - run: echo "::set-output name=dir::$(composer config cache-files-dir)" + run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT - name: Cache dependencies # see https://github.com/actions/cache uses: actions/cache@v3 with: path: ${{ steps.composer-cache.outputs.dir }} - key: composer-${{ github.job }}-${{ runner.os }}-${{ hashFiles('**/composer.json') }} + key: composer-${{ github.job }}-${{ runner.os }}-${{ hashFiles('composer.*', 'tools/composer-require-checker/composer.*') }} restore-keys: | composer-${{ github.job }}-${{ runner.os }}- - name: Install composer-require-checker @@ -255,7 +262,6 @@ jobs: run: > php tools/composer-require-checker/vendor/maglnet/composer-require-checker/bin/composer-require-checker --no-interaction - || : # this report is optional coding-standards: name: Coding Standards runs-on: ubuntu-latest @@ -268,19 +274,19 @@ jobs: # see https://github.com/shivammathur/setup-php uses: shivammathur/setup-php@v2 with: - php-version: "8.1" ## php82 not supported yet ${{ env.PHP_VERSION_LATEST }} + php-version: "8.1" ## not supporting php82 yet ${{ env.PHP_VERSION_LATEST }} extensions: ${{ env.PHP_PROJECT_EXT }} - tools: composer:v2 + tools: 'composer:v2' coverage: none - name: Get composer cache directory id: composer-cache - run: echo "::set-output name=dir::$(composer config cache-files-dir)" + run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT - name: Cache dependencies # see https://github.com/actions/cache uses: actions/cache@v3 with: path: ${{ steps.composer-cache.outputs.dir }} - key: composer-${{ github.job }}-${{ runner.os }}-${{ hashFiles('**/composer.json') }} + key: composer-${{ github.job }}-${{ runner.os }}-${{ hashFiles('composer.*', 'tools/php-cs-fixer/composer.*') }} restore-keys: | composer-${{ github.job }}-${{ runner.os }}- - name: Install PHP-CS-Fixer @@ -308,17 +314,17 @@ jobs: uses: shivammathur/setup-php@v2 with: php-version: ${{ env.PHP_VERSION_LATEST }} - tools: composer:v2 + tools: 'composer:v2' coverage: none - name: Get composer cache directory id: composer-cache - run: echo "::set-output name=dir::$(composer config cache-files-dir)" + run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT - name: Cache dependencies # see https://github.com/actions/cache uses: actions/cache@v3 with: path: ${{ steps.composer-cache.outputs.dir }} - key: composer-${{ github.job }}-${{ runner.os }}-${{ hashFiles('**/composer.json') }} + key: composer-${{ github.job }}-${{ runner.os }}-${{ hashFiles('composer.*', 'tools/composer-normalize/composer.*') }} restore-keys: | composer-${{ github.job }}-${{ runner.os }}- - name: Install composer-normalize @@ -326,7 +332,7 @@ jobs: working-directory: tools/composer-normalize - name: Run composer-normalize tests run: > - composer -dtools/composer-normalize + composer -d tools/composer-normalize normalize --dry-run --diff diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 159de5b8..7ae4b7a6 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -35,13 +35,11 @@ jobs: - name: Checkout # see https://github.com/actions/checkout uses: actions/checkout@v3 - - name: Set the version id: set_version run: | VERSION=`cat semver.txt` - echo "##[set-output name=version;]$VERSION" - + echo "version=$VERSION" >> $GITHUB_OUTPUT - name: Create github release and git tag for release id: create_release # see https://github.com/actions/create-release diff --git a/.php-cs-fixer.dist.php b/.php-cs-fixer.dist.php index b8753384..5a23ad47 100644 --- a/.php-cs-fixer.dist.php +++ b/.php-cs-fixer.dist.php @@ -28,17 +28,26 @@ return (new PhpCsFixer\Config()) ->setUsingCache(true) ->setRules( - // docs: https://github.com/FriendsOfPHP/PHP-CS-Fixer/blob/3.0/doc/rules/index.rst - // assistance via tool: https://mlocati.github.io/php-cs-fixer-configurator/ + /* docs: https://github.com/FriendsOfPHP/PHP-CS-Fixer/blob/master/doc/rules/index.rst + * docs: https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/master/doc/ruleSets/index.rst + * assistance via tool: https://mlocati.github.io/php-cs-fixer-configurator/ + */ [ - '@PHP71Migration:risky' => true, - '@PHP73Migration' => true, + '@PHP81Migration' => true, + '@PHP80Migration:risky' => true, + '@PHPUnit100Migration:risky' => true, '@Symfony' => true, '@Symfony:risky' => true, 'declare_strict_types' => true, - 'phpdoc_order' => true, 'header_comment' => ['header' => $header], + 'global_namespace_import' => true, 'fopen_flags' => ['b_mode' => true], + 'phpdoc_order' => true, + 'phpdoc_to_comment' => [ + 'ignored_tags' => [ + 'psalm-suppress', // needed when PSALM introduced some issues that only manual hints can solve + ], + ], ] ) ->setRiskyAllowed(true) diff --git a/HISTORY.md b/HISTORY.md index 23d4909b..d01f4d90 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -2,8 +2,66 @@ All notable changes to this project will be documented in this file. -## unreleased +## 4.0.0 - unreleased +* BREAKING changes + * Removed support for PHP `<8.0` ([#91] via [#250]) + * Removed support for PHP `<8.1` (via [#250]) + * Removed support for Composer `<2.3` ([#153] via [#250]) + * CLI + * Removed deprecated composer command `make-bom`, call `composer CycloneDX:make-sbom` instead ([#293] via [#309]) + * Changed option `output-file` to default to `-` now, which causes to print to STDOUT (via [#250]) + * Removed option `exclude-dev` in favour of new option `omit` (via [#250]) + * Removed option `exclude-plugins` in favour of new option `omit` (via [#250]) + * Removed option `no-version-normalization` ([#102] via [#250]) + * SBOM results + * Components' version is no longer artificially normalized ([#102] via [#250]) + * Dependencies + * Requires `cyclonedx/cyclonedx-library:^2.0`, was `:^1.4.2` ([#128] via [#250]) +* Changed + * Evidence analysis prefers actually installed packages over lock file ([#122] via [#250]) + * Root component's versions is unset, if version detection fails ([#154] via [#250]) + * Composer packages of type "composer-installer" are treated as composer plugins (via [#250]) +* Added + * Evidence collection knows actually installed packages ([#122] via [#250]) + * SBOM results + * Support for CycloneDX Spec v1.4 (via [#250]) + * might have `serialnumber` populated ([#279] via [#250]) + * might have `metadata.timestamp` populated ([#112] via [#250]) + * might have `metadata.tools[].tool.externalReferences` populated ([#171] via [#250]) + * might have `components[].component.author` populated ([#261] via [#250]) + * might have `components[].component.properties` populated according to [`cdx:composer` Namespace Taxonomy](https://github.com/CycloneDX/cyclonedx-property-taxonomy/blob/main/cdx/composer.md) (via [#250]) + * CLI + * New option `omit` (via [#250]) + * New switch `validate` to override `no-validate` (via [#250]) + * New switches `output-reproducible` and `no-output-reproducible` (via [#250]) +* Misc + * Added demo and reproducible continuous integration test "devReq" that is dedicated to composer's `require-dev` feature (via [#250]) + * Reworked demo setups to be more global-install like (via [#250]) + +[#91]: https://github.com/CycloneDX/cyclonedx-php-composer/issues/91 +[#102]: https://github.com/CycloneDX/cyclonedx-php-composer/issues/102 +[#112]: https://github.com/CycloneDX/cyclonedx-php-composer/issues/112 +[#122]: https://github.com/CycloneDX/cyclonedx-php-composer/issues/122 +[#128]: https://github.com/CycloneDX/cyclonedx-php-composer/issues/128 +[#153]: https://github.com/CycloneDX/cyclonedx-php-composer/issues/153 +[#154]: https://github.com/CycloneDX/cyclonedx-php-composer/issues/154 +[#171]: https://github.com/CycloneDX/cyclonedx-php-composer/issues/171 +[#250]: https://github.com/CycloneDX/cyclonedx-php-composer/pull/250 +[#261]: https://github.com/CycloneDX/cyclonedx-php-composer/issues/261 +[#279]: https://github.com/CycloneDX/cyclonedx-php-composer/issues/279 +[#293]: https://github.com/CycloneDX/cyclonedx-php-composer/issues/293 +[#309]: https://github.com/CycloneDX/cyclonedx-php-composer/pull/309 +[#313]: https://github.com/CycloneDX/cyclonedx-php-composer/issues/313 + +## 3.11.0 - 2023-02-11 + +* Changed + * CLI via `composer make-bom` became deprecated, use `composer CycloneDX:make-sbom` instead. ([#293] via [#308]) + The composer command `make-bom` will be removed in the next major version. + +[#293]: https://github.com/CycloneDX/cyclonedx-php-composer/issues/293 +[#308]: https://github.com/CycloneDX/cyclonedx-php-composer/pull/308 ## 3.11.0 - 2023-02-11 diff --git a/README.md b/README.md index 5fb81d37..7e2379c9 100644 --- a/README.md +++ b/README.md @@ -10,24 +10,33 @@ # CycloneDX PHP Composer Plugin -A plugin for PHP's [Composer](https://getcomposer.org/) -that generates Software Bill of Materials (SBoM) in [CycloneDX](https://cyclonedx.org/) format. +A plugin for PHP's _[Composer](https://getcomposer.org/)_ +that generates Software Bill of Materials (SBOM) in _[CycloneDX](https://cyclonedx.org/)_ format. + +The resulting SBOM documents follow [official specifications and standards](https://github.com/CycloneDX/specification), +and might have properties following [`cdx:composer` Namespace Taxonomy](https://github.com/CycloneDX/cyclonedx-property-taxonomy/blob/main/cdx/composer.md) +. + +## !! ATTENTION - v4-dev state + +The branch "master" is currently in the transition to next major version: v4. +See the progress in the [milestone "v4"](https://github.com/CycloneDX/cyclonedx-php-composer/milestone/5) + +Code of v3 is in branch "[3.x](https://github.com/CycloneDX/cyclonedx-php-composer/tree/3.x)" ## Requirements -The latest version of this plugin -supports PHP `^7.3||^8.0` -with Composer `^2.0` -. +* PHP `^8.1` +* Composer `^2.3` -There are older versions of this plugin available, which +However, there are older versions of this plugin available, which support PHP `^5.5||^7.0||^8.0` with Composer `^1.0||^2.0` . ## Installation -As a global composer plugin: +As a global _Composer_ plugin: ```shell composer global require cyclonedx/cyclonedx-php-composer @@ -41,58 +50,57 @@ composer require --dev cyclonedx/cyclonedx-php-composer ## Usage -After successful installation, the composer command `CycloneDX:make-sbom` is available. +After successful installation, the _Composer_ command `CycloneDX:make-sbom` is available. + +```ShellSession +$ composer CycloneDX:make-sbom --help + +Description: + Generate a CycloneDX Bill of Materials from a PHP Composer project. -```text -$ composer CycloneDX:make-sbom -h Usage: CycloneDX:make-sbom [options] [--] [] Arguments: - composer-file Path to composer config file. - Defaults to "composer.json" file in working directory. + composer-file Path to Composer config file. + [default: "composer.json" file in current working directory] Options: - --output-format=OUTPUT-FORMAT Which output format to use. - Values: "XML", "JSON" [default: "XML"] - --output-file=OUTPUT-FILE Path to the output file. - Set to "-" to write to STDOUT. - Depending on the output-format, default is one of: "bom.xml", "bom.json" - --exclude-dev Exclude dev dependencies - --exclude-plugins Exclude composer plugins - --spec-version=SPEC-VERSION Which version of CycloneDX spec to use. - Values: "1.1", "1.2", "1.3" [default: "1.3"] - --no-validate Don't validate the resulting output - --mc-version=MC-VERSION Version of the main component. - This will override auto-detection. - --no-version-normalization Don't normalize component version strings. - Per default this plugin will normalize version strings by stripping leading "v". - This is a compatibility-switch. The next major-version of this plugin will not modify component versions. - -h, --help Display this help message - -q, --quiet Do not output any message - -V, --version Display this application version - --ansi Force ANSI output - --no-ansi Disable ANSI output - -n, --no-interaction Do not ask any interactive question - --profile Display timing and memory usage information - --no-plugins Whether to disable plugins. - -d, --working-dir=WORKING-DIR If specified, use the given directory as working directory. - --no-cache Prevent use of the cache - -v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug - -Help: - Generate a CycloneDX Bill of Materials + --output-format=OUTPUT-FORMAT Which output format to use. + {choices: "XML", "JSON"} [default: "XML"] + --output-file=OUTPUT-FILE Path to the output file. + Set to "-" to write to STDOUT [default: "-"] + --omit=OMIT Omit dependency types. + {choices: "dev", "plugin"} (multiple values allowed) + --spec-version=SPEC-VERSION Which version of CycloneDX spec to use. + {choices: "1.4", "1.3", "1.2", "1.1"} [default: "1.4"] + --output-reproducible|--no-output-reproducible Whether to go the extra mile and make the output reproducible. + This might result in loss of time- and random-based-values. + --validate|--no-validate Validate the resulting output. + --mc-version=MC-VERSION Version of the main component. + This will override auto-detection. + -h, --help Display help for the given command. ``` ## Demo -For a demo of _cyclonedx-php-composer_ see the [demo project][demo_readme]. +For a demo of _cyclonedx-php-composer_ see the [demo projects][demo_readme]. + +## How it works + +This composer plugin actually utilizes composer itself, to collect evidence for installed composer packages. +In terms of evidence collection, actually installed setups are preferred over pure lock file analysis. +Required evidence: +- composer config/manifest file (e.g. `composer.json` file) +- any of: + - an actual composer setup (e.g. `vendor` directory, after running `composer install` on your project) + - a working composer lock file (e.g. `composer.lock` file) ## Internals -This Composer-Plugin utilizes the [CycloneDX library][cyclonedx-library] to generate the actual data structures. +This _Composer_ plugin utilizes the [CycloneDX library][cyclonedx-library] to generate the actual data structures. -This Composer-Plugin does **not** expose any additional _public_ api or classes - all code is marked as `@internal` and might change without any notice during version upgrades. +This _Composer_ plugin does **not** expose any additional _public_ API or classes - all code is marked as `@internal` and might change without any notice during version upgrades. ## Contributing diff --git a/composer-require-checker.json b/composer-require-checker.json new file mode 100644 index 00000000..3793fa88 --- /dev/null +++ b/composer-require-checker.json @@ -0,0 +1,27 @@ +{ + "symbol-whitelist": [ + "// the following are definitely shipped with composer", + "Composer\\Command\\BaseCommand", + "Composer\\Composer", + "Composer\\Factory", + "Composer\\IO\\IOInterface", + "Composer\\Package\\CompletePackageInterface", + "Composer\\Package\\PackageInterface", + "Composer\\Package\\RootPackage", + "Composer\\Package\\RootPackageInterface", + "Composer\\PartialComposer", + "Composer\\Plugin\\Capability\\CommandProvider", + "Composer\\Plugin\\Capable", + "Composer\\Plugin\\PluginInterface", + "Composer\\Repository\\InstalledRepositoryInterface", + "Composer\\Repository\\LockArrayRepository", + "Composer\\Semver\\Constraint\\MatchAllConstraint", + "Symfony\\Component\\Console\\Command\\Command", + "Symfony\\Component\\Console\\Formatter\\OutputFormatter", + "Symfony\\Component\\Console\\Input\\InputArgument", + "Symfony\\Component\\Console\\Input\\InputDefinition", + "Symfony\\Component\\Console\\Input\\InputInterface", + "Symfony\\Component\\Console\\Input\\InputOption", + "Symfony\\Component\\Console\\Output\\OutputInterface" + ] +} diff --git a/composer.json b/composer.json index 2718e92d..970ac1d2 100644 --- a/composer.json +++ b/composer.json @@ -13,15 +13,10 @@ "PURL" ], "authors": [ - { - "name": "nscuro", - "email": "nscuro@protonmail.com", - "role": "Developer" - }, { "name": "Jan Kowalleck", "email": "jan.kowalleck@gmail.com", - "role": "Developer" + "homepage": "https://github.com/jkowalleck" } ], "homepage": "https://github.com/CycloneDX/cyclonedx-php-composer/#readme", @@ -29,15 +24,24 @@ "issues": "https://github.com/CycloneDX/cyclonedx-php-composer/issues", "source": "https://github.com/CycloneDX/cyclonedx-php-composer/" }, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jkowalleck" + }, + { + "type": "other", + "url": "https://owasp.org/donate/?reponame=www-project-cyclonedx&title=OWASP+CycloneDX" + } + ], "require": { - "php": "^7.3 || ^8.0", - "composer-plugin-api": "^2.0", - "cyclonedx/cyclonedx-library": "^1.4.2", + "php": "^8.1", + "composer-plugin-api": "^2.3", + "cyclonedx/cyclonedx-library": "^2.0.0-RC1", "package-url/packageurl-php": "^1.0" }, "require-dev": { - "composer/composer": "^2.0.0", - "phpunit/phpunit": "9.5.28", + "composer/composer": "^2.3.0", "roave/security-advisories": "dev-latest" }, "prefer-stable": true, @@ -61,7 +65,7 @@ }, "extra": { "branch-alias": { - "dev-master": "3.x-dev" + "dev-master": "4.x-dev" }, "class": "CycloneDX\\Composer\\Plugin", "composer-normalize": { @@ -72,11 +76,12 @@ "scripts": { "cs-fix": "@php tools/php-cs-fixer/vendor/friendsofphp/php-cs-fixer/php-cs-fixer fix --diff", "dev-setup": [ - "@composer -dtools/composer-normalize update", - "@composer -dtools/composer-require-checker update", - "@composer -dtools/composer-unused update", - "@composer -dtools/php-cs-fixer update", - "@composer -dtools/psalm update", + "@composer -d tools/composer-normalize update", + "@composer -d tools/composer-require-checker update", + "@composer -d tools/composer-unused update", + "@composer -d tools/php-cs-fixer update", + "@composer -d tools/psalm update", + "@composer -d tools/phpunit update", "@composer update" ], "normalize": "@composer -dtools/composer-normalize normalize --diff $PWD/composer.json", @@ -90,10 +95,13 @@ "@test:composer-normalize" ], "test:composer-normalize": "@composer -dtools/composer-normalize normalize --dry-run --diff $PWD/composer.json", - "test:composer-require-checker": "@php tools/composer-require-checker/vendor/maglnet/composer-require-checker/bin/composer-require-checker || :", + "test:composer-require-checker": [ + "@putenv XDEBUG_MODE=off", + "@php tools/composer-require-checker/vendor/maglnet/composer-require-checker/bin/composer-require-checker check" + ], "test:composer-unused": "@php tools/composer-unused/vendor/icanhazstring/composer-unused/bin/composer-unused --excludeDir=tools", "test:cs-fixer": "@php tools/php-cs-fixer/vendor/friendsofphp/php-cs-fixer/php-cs-fixer fix --dry-run --diff", - "test:phpunit": "@php -d zend.assertions=1 -d assert.exception=1 -d display_errors=On -d error_reporting=-1 -d log_errors_max_len=0 -d memory_limit=-1 vendor/phpunit/phpunit/phpunit", + "test:phpunit": "@php -d zend.assertions=1 -d assert.exception=1 -d display_errors=On -d error_reporting=-1 -d log_errors_max_len=0 -d memory_limit=-1 tools/phpunit/vendor/phpunit/phpunit/phpunit", "test:psalm": "@php tools/psalm/vendor/vimeo/psalm/psalm" }, "scripts-descriptions": { diff --git a/demo/.tool/.gitignore b/demo/.tool/.gitignore new file mode 100644 index 00000000..331e7858 --- /dev/null +++ b/demo/.tool/.gitignore @@ -0,0 +1,5 @@ +/* +!/.gitignore +!/.gitattributes + +!/composer.json diff --git a/demo/.tool/composer.json b/demo/.tool/composer.json new file mode 100644 index 00000000..25b8677f --- /dev/null +++ b/demo/.tool/composer.json @@ -0,0 +1,31 @@ +{ + "name": "cyclonedx/cyclonedx-php-composer-tool4demo", + "description": "global-like cyclonedx/cyclonedx-php-composer for usage in demos", + "type": "metapackage", + "authors": [ + { + "name": "Jan Kowalleck" + } + ], + "require": {}, + "require-dev": { + "cyclonedx/cyclonedx-php-composer": "@dev" + }, + "repositories": [ + { + "type": "path", + "url": "../../", + "symlink": true + } + ], + "minimum-stability": "dev", + "prefer-stable": true, + "config": { + "allow-plugins": { + "cyclonedx/cyclonedx-php-composer": true, + "ergebnis/composer-normalize": true + }, + "preferred-install": "dist", + "sort-packages": true + } +} diff --git a/demo/README.md b/demo/README.md index 7ca260c1..86d54e1d 100644 --- a/demo/README.md +++ b/demo/README.md @@ -2,8 +2,8 @@ There are multiple demo projects: -* [`symfony`](symfony/README.md) - which composer-requires `symfony/symfony:@stable` in a fluid unlocked version. +* [`devReq`](devReq/README.md) + which composer-dev-requires a testing framework/package `phpunit` and others. The demo is intended to run on every environment. This also means, the output might not be reproducible on independent systems, due to the fact that version-locks are fluid, and the composer-lock file is not shipped as code. @@ -14,6 +14,11 @@ There are multiple demo projects: * [`local`](local/README.md) which composer-requires a private/local package `cyclonedx/cyclonedx-php-composer-local-demo-dependency` and other locals. The output is _reproducible_, due to the shipped composer-locked versions. +* [`symfony`](symfony/README.md) + which composer-requires `symfony/symfony:@stable` in a fluid unlocked version. + The demo is intended to run on every environment. + This also means, the output might not be reproducible on independent systems, + due to the fact that version-locks are fluid, and the composer-lock file is not shipped as code. Purpose is to demonstrate how _cyclonedx-php-composer_ integrates, can be used, diff --git a/demo/create-sbom-results.sh b/demo/create-sbom-results.sh new file mode 100755 index 00000000..981b8448 --- /dev/null +++ b/demo/create-sbom-results.sh @@ -0,0 +1,11 @@ +#!/bin/sh +set -ex + +THIS_DIR="$(dirname "$0")" + +COMPOSER_BIN="${COMPOSER_BIN:-$(which composer)}" + +find "$THIS_DIR" -mindepth 2 -maxdepth 2 -type d -name 'project' \ +-print \ +-exec "$COMPOSER_BIN" -d '{}' setup \; \ +-exec "$COMPOSER_BIN" -d '{}' create-sbom-results -vv \; diff --git a/demo/devReq/README.md b/demo/devReq/README.md new file mode 100644 index 00000000..f03380a7 --- /dev/null +++ b/demo/devReq/README.md @@ -0,0 +1,51 @@ +# Demo: symfony + +*ATTENTION*: this demo might use known vulnerable dependencies for showcasing purposes. + +The output is *reproducible*, due to the [shipped composer-locked](project/composer.lock) versions. +Therefore, the demo requires a special php environment, which is caused by the composer-requirements: + +## Example results + +The following are examples generated by _cyclonedx-php-composer_: + +* [`results/bom.1.1.xml`](results/bom.1.1.xml) +* [`results/bom.1.2.xml`](results/bom.1.2.xml) +* [`results/bom.1.3.xml`](results/bom.1.3.xml) +* [`results/bom.1.4.xml`](results/bom.1.4.xml) +* [`results/bom.1.2.json`](results/bom.1.2.json) +* [`results/bom.1.3.json`](results/bom.1.3.json) +* [`results/bom.1.4.json`](results/bom.1.4.json) + +## Setup + +For the sake of a demo, a relative path to the _cyclonedx-php-composer_ project is used, +so the current code is symlinked and taken into action. + +To get the setup up and running, run from this demo directory: + +```shell +composer -d project setup +``` + +## Usage examples + +Run one of these from the demo directory: + +* See _cyclonedx-php-composer_ help page: + + ```shell + composer -d project CycloneDX:make-sbom --help + ``` + +* Make XML sbom via composer script: + + ```shell + composer -d project create-sbom-results:XML" + ``` + +* Make JSON sbom via composer script: + + ```shell + composer -d project create-sbom-results:JSON + ``` diff --git a/demo/devReq/project/.gitignore b/demo/devReq/project/.gitignore new file mode 100644 index 00000000..8a64394d --- /dev/null +++ b/demo/devReq/project/.gitignore @@ -0,0 +1,7 @@ +/* +!/.gitignore +!/.gitattributes + +!/composer.json +!/composer.lock + diff --git a/demo/devReq/project/composer.json b/demo/devReq/project/composer.json new file mode 100644 index 00000000..6e9f93a2 --- /dev/null +++ b/demo/devReq/project/composer.json @@ -0,0 +1,58 @@ +{ + "name": "cyclonedx-demo/cyclonedx-php-composer-devreq", + "description": "demo of cyclonedx/cyclonedx-php-composer with a dev dependency", + "type": "project", + "version": "dev-master", + "authors": [ + { + "name": "Jan Kowalleck" + } + ], + "homepage": "https://cyclonedx.org/", + "support": { + "email": "support@cyclonedx.org", + "issues": "https://github.com/CycloneDX/cyclonedx-php-composer/issues", + "forum": "https://groups.io/g/CycloneDX", + "chat": "https://cyclonedx.org/slack/invite", + "docs": "https://github.com/CycloneDX/cyclonedx-php-composer/blob/master/demo/devReq/README.md" + }, + "require": {}, + "require-dev": { + "phpunit/phpunit": "9.5.26" + }, + "minimum-stability": "dev", + "prefer-stable": true, + "config": { + "allow-plugins": { + "cyclonedx/cyclonedx-php-composer": true, + "ergebnis/composer-normalize": true + }, + "preferred-install": "dist", + "sort-packages": true + }, + "scripts": { + "create-sbom-results": [ + "@create-sbom-results:JSON", + "@create-sbom-results:XML" + ], + "create-sbom-results:JSON": [ + "@putenv CDX_CP_TOOLS_VERSION_OVERRIDE=in-dev", + "@putenv CDX_CP_TOOLS_EXCLUDE_LIBS=1", + "@composer -d ../../.tool CycloneDX:make-sbom --spec-version=1.2 --output-reproducible --output-format=JSON --output-file=$PWD/../results/bom.1.2.json $PWD/composer.json", + "@composer -d ../../.tool CycloneDX:make-sbom --spec-version=1.3 --output-reproducible --output-format=JSON --output-file=$PWD/../results/bom.1.3.json $PWD/composer.json", + "@composer -d ../../.tool CycloneDX:make-sbom --spec-version=1.4 --output-reproducible --output-format=JSON --output-file=$PWD/../results/bom.1.4.json $PWD/composer.json" + ], + "create-sbom-results:XML": [ + "@putenv CDX_CP_TOOLS_VERSION_OVERRIDE=in-dev", + "@putenv CDX_CP_TOOLS_EXCLUDE_LIBS=1", + "@composer -d ../../.tool CycloneDX:make-sbom --spec-version=1.1 --output-reproducible --output-format=XML --output-file=$PWD/../results/bom.1.1.xml $PWD/composer.json", + "@composer -d ../../.tool CycloneDX:make-sbom --spec-version=1.2 --output-reproducible --output-format=XML --output-file=$PWD/../results/bom.1.2.xml $PWD/composer.json", + "@composer -d ../../.tool CycloneDX:make-sbom --spec-version=1.3 --output-reproducible --output-format=XML --output-file=$PWD/../results/bom.1.3.xml $PWD/composer.json", + "@composer -d ../../.tool CycloneDX:make-sbom --spec-version=1.4 --output-reproducible --output-format=XML --output-file=$PWD/../results/bom.1.4.xml $PWD/composer.json" + ], + "setup": [ + "@composer -d ../../.tool update", + "@composer install" + ] + } +} diff --git a/demo/devReq/project/composer.lock b/demo/devReq/project/composer.lock new file mode 100644 index 00000000..0281b41a --- /dev/null +++ b/demo/devReq/project/composer.lock @@ -0,0 +1,1749 @@ +{ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", + "This file is @generated automatically" + ], + "content-hash": "93a109d9b6390fceec10b18eb7bfb9d8", + "packages": [], + "packages-dev": [ + { + "name": "doctrine/instantiator", + "version": "1.5.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/instantiator.git", + "reference": "0a0fa9780f5d4e507415a065172d26a98d02047b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/0a0fa9780f5d4e507415a065172d26a98d02047b", + "reference": "0a0fa9780f5d4e507415a065172d26a98d02047b", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^9 || ^11", + "ext-pdo": "*", + "ext-phar": "*", + "phpbench/phpbench": "^0.16 || ^1", + "phpstan/phpstan": "^1.4", + "phpstan/phpstan-phpunit": "^1", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "vimeo/psalm": "^4.30 || ^5.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com", + "homepage": "https://ocramius.github.io/" + } + ], + "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", + "homepage": "https://www.doctrine-project.org/projects/instantiator.html", + "keywords": [ + "constructor", + "instantiate" + ], + "support": { + "issues": "https://github.com/doctrine/instantiator/issues", + "source": "https://github.com/doctrine/instantiator/tree/1.5.0" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator", + "type": "tidelift" + } + ], + "time": "2022-12-30T00:15:36+00:00" + }, + { + "name": "myclabs/deep-copy", + "version": "1.11.0", + "source": { + "type": "git", + "url": "https://github.com/myclabs/DeepCopy.git", + "reference": "14daed4296fae74d9e3201d2c4925d1acb7aa614" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/14daed4296fae74d9e3201d2c4925d1acb7aa614", + "reference": "14daed4296fae74d9e3201d2c4925d1acb7aa614", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "conflict": { + "doctrine/collections": "<1.6.8", + "doctrine/common": "<2.13.3 || >=3,<3.2.2" + }, + "require-dev": { + "doctrine/collections": "^1.6.8", + "doctrine/common": "^2.13.3 || ^3.2.2", + "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13" + }, + "type": "library", + "autoload": { + "files": [ + "src/DeepCopy/deep_copy.php" + ], + "psr-4": { + "DeepCopy\\": "src/DeepCopy/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Create deep copies (clones) of your objects", + "keywords": [ + "clone", + "copy", + "duplicate", + "object", + "object graph" + ], + "support": { + "issues": "https://github.com/myclabs/DeepCopy/issues", + "source": "https://github.com/myclabs/DeepCopy/tree/1.11.0" + }, + "funding": [ + { + "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", + "type": "tidelift" + } + ], + "time": "2022-03-03T13:19:32+00:00" + }, + { + "name": "nikic/php-parser", + "version": "v4.15.4", + "source": { + "type": "git", + "url": "https://github.com/nikic/PHP-Parser.git", + "reference": "6bb5176bc4af8bcb7d926f88718db9b96a2d4290" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/6bb5176bc4af8bcb7d926f88718db9b96a2d4290", + "reference": "6bb5176bc4af8bcb7d926f88718db9b96a2d4290", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "php": ">=7.0" + }, + "require-dev": { + "ircmaxell/php-yacc": "^0.0.7", + "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0" + }, + "bin": [ + "bin/php-parse" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.9-dev" + } + }, + "autoload": { + "psr-4": { + "PhpParser\\": "lib/PhpParser" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Nikita Popov" + } + ], + "description": "A PHP parser written in PHP", + "keywords": [ + "parser", + "php" + ], + "support": { + "issues": "https://github.com/nikic/PHP-Parser/issues", + "source": "https://github.com/nikic/PHP-Parser/tree/v4.15.4" + }, + "time": "2023-03-05T19:49:14+00:00" + }, + { + "name": "phar-io/manifest", + "version": "2.0.3", + "source": { + "type": "git", + "url": "https://github.com/phar-io/manifest.git", + "reference": "97803eca37d319dfa7826cc2437fc020857acb53" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53", + "reference": "97803eca37d319dfa7826cc2437fc020857acb53", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-phar": "*", + "ext-xmlwriter": "*", + "phar-io/version": "^3.0.1", + "php": "^7.2 || ^8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + }, + { + "name": "Sebastian Heuer", + "email": "sebastian@phpeople.de", + "role": "Developer" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "Developer" + } + ], + "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", + "support": { + "issues": "https://github.com/phar-io/manifest/issues", + "source": "https://github.com/phar-io/manifest/tree/2.0.3" + }, + "time": "2021-07-20T11:28:43+00:00" + }, + { + "name": "phar-io/version", + "version": "3.2.1", + "source": { + "type": "git", + "url": "https://github.com/phar-io/version.git", + "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74", + "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + }, + { + "name": "Sebastian Heuer", + "email": "sebastian@phpeople.de", + "role": "Developer" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "Developer" + } + ], + "description": "Library for handling version information and constraints", + "support": { + "issues": "https://github.com/phar-io/version/issues", + "source": "https://github.com/phar-io/version/tree/3.2.1" + }, + "time": "2022-02-21T01:04:05+00:00" + }, + { + "name": "phpunit/php-code-coverage", + "version": "9.2.26", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-code-coverage.git", + "reference": "443bc6912c9bd5b409254a40f4b0f4ced7c80ea1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/443bc6912c9bd5b409254a40f4b0f4ced7c80ea1", + "reference": "443bc6912c9bd5b409254a40f4b0f4ced7c80ea1", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-libxml": "*", + "ext-xmlwriter": "*", + "nikic/php-parser": "^4.15", + "php": ">=7.3", + "phpunit/php-file-iterator": "^3.0.3", + "phpunit/php-text-template": "^2.0.2", + "sebastian/code-unit-reverse-lookup": "^2.0.2", + "sebastian/complexity": "^2.0", + "sebastian/environment": "^5.1.2", + "sebastian/lines-of-code": "^1.0.3", + "sebastian/version": "^3.0.1", + "theseer/tokenizer": "^1.2.0" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "suggest": { + "ext-pcov": "PHP extension that provides line coverage", + "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "9.2-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", + "homepage": "https://github.com/sebastianbergmann/php-code-coverage", + "keywords": [ + "coverage", + "testing", + "xunit" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.26" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-03-06T12:58:08+00:00" + }, + { + "name": "phpunit/php-file-iterator", + "version": "3.0.6", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-file-iterator.git", + "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", + "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "FilterIterator implementation that filters files based on a list of suffixes.", + "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", + "keywords": [ + "filesystem", + "iterator" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", + "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.6" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2021-12-02T12:48:52+00:00" + }, + { + "name": "phpunit/php-invoker", + "version": "3.1.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-invoker.git", + "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67", + "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "ext-pcntl": "*", + "phpunit/phpunit": "^9.3" + }, + "suggest": { + "ext-pcntl": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Invoke callables with a timeout", + "homepage": "https://github.com/sebastianbergmann/php-invoker/", + "keywords": [ + "process" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-invoker/issues", + "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:58:55+00:00" + }, + { + "name": "phpunit/php-text-template", + "version": "2.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-text-template.git", + "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", + "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Simple template engine.", + "homepage": "https://github.com/sebastianbergmann/php-text-template/", + "keywords": [ + "template" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-text-template/issues", + "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T05:33:50+00:00" + }, + { + "name": "phpunit/php-timer", + "version": "5.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-timer.git", + "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", + "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Utility class for timing", + "homepage": "https://github.com/sebastianbergmann/php-timer/", + "keywords": [ + "timer" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-timer/issues", + "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:16:10+00:00" + }, + { + "name": "phpunit/phpunit", + "version": "9.5.26", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/phpunit.git", + "reference": "851867efcbb6a1b992ec515c71cdcf20d895e9d2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/851867efcbb6a1b992ec515c71cdcf20d895e9d2", + "reference": "851867efcbb6a1b992ec515c71cdcf20d895e9d2", + "shasum": "" + }, + "require": { + "doctrine/instantiator": "^1.3.1", + "ext-dom": "*", + "ext-json": "*", + "ext-libxml": "*", + "ext-mbstring": "*", + "ext-xml": "*", + "ext-xmlwriter": "*", + "myclabs/deep-copy": "^1.10.1", + "phar-io/manifest": "^2.0.3", + "phar-io/version": "^3.0.2", + "php": ">=7.3", + "phpunit/php-code-coverage": "^9.2.13", + "phpunit/php-file-iterator": "^3.0.5", + "phpunit/php-invoker": "^3.1.1", + "phpunit/php-text-template": "^2.0.3", + "phpunit/php-timer": "^5.0.2", + "sebastian/cli-parser": "^1.0.1", + "sebastian/code-unit": "^1.0.6", + "sebastian/comparator": "^4.0.8", + "sebastian/diff": "^4.0.3", + "sebastian/environment": "^5.1.3", + "sebastian/exporter": "^4.0.5", + "sebastian/global-state": "^5.0.1", + "sebastian/object-enumerator": "^4.0.3", + "sebastian/resource-operations": "^3.0.3", + "sebastian/type": "^3.2", + "sebastian/version": "^3.0.2" + }, + "suggest": { + "ext-soap": "*", + "ext-xdebug": "*" + }, + "bin": [ + "phpunit" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "9.5-dev" + } + }, + "autoload": { + "files": [ + "src/Framework/Assert/Functions.php" + ], + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "The PHP Unit Testing framework.", + "homepage": "https://phpunit.de/", + "keywords": [ + "phpunit", + "testing", + "xunit" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/phpunit/issues", + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.26" + }, + "funding": [ + { + "url": "https://phpunit.de/sponsors.html", + "type": "custom" + }, + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit", + "type": "tidelift" + } + ], + "time": "2022-10-28T06:00:21+00:00" + }, + { + "name": "sebastian/cli-parser", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/cli-parser.git", + "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2", + "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for parsing CLI options", + "homepage": "https://github.com/sebastianbergmann/cli-parser", + "support": { + "issues": "https://github.com/sebastianbergmann/cli-parser/issues", + "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T06:08:49+00:00" + }, + { + "name": "sebastian/code-unit", + "version": "1.0.8", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit.git", + "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120", + "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Collection of value objects that represent the PHP code units", + "homepage": "https://github.com/sebastianbergmann/code-unit", + "support": { + "issues": "https://github.com/sebastianbergmann/code-unit/issues", + "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:08:54+00:00" + }, + { + "name": "sebastian/code-unit-reverse-lookup", + "version": "2.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", + "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", + "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Looks up which function or method a line of code belongs to", + "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", + "support": { + "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", + "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:30:19+00:00" + }, + { + "name": "sebastian/comparator", + "version": "4.0.8", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/comparator.git", + "reference": "fa0f136dd2334583309d32b62544682ee972b51a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/fa0f136dd2334583309d32b62544682ee972b51a", + "reference": "fa0f136dd2334583309d32b62544682ee972b51a", + "shasum": "" + }, + "require": { + "php": ">=7.3", + "sebastian/diff": "^4.0", + "sebastian/exporter": "^4.0" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@2bepublished.at" + } + ], + "description": "Provides the functionality to compare PHP values for equality", + "homepage": "https://github.com/sebastianbergmann/comparator", + "keywords": [ + "comparator", + "compare", + "equality" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/comparator/issues", + "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.8" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2022-09-14T12:41:17+00:00" + }, + { + "name": "sebastian/complexity", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/complexity.git", + "reference": "739b35e53379900cc9ac327b2147867b8b6efd88" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88", + "reference": "739b35e53379900cc9ac327b2147867b8b6efd88", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^4.7", + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for calculating the complexity of PHP code units", + "homepage": "https://github.com/sebastianbergmann/complexity", + "support": { + "issues": "https://github.com/sebastianbergmann/complexity/issues", + "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T15:52:27+00:00" + }, + { + "name": "sebastian/diff", + "version": "4.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3461e3fccc7cfdfc2720be910d3bd73c69be590d", + "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3", + "symfony/process": "^4.2 || ^5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" + } + ], + "description": "Diff implementation", + "homepage": "https://github.com/sebastianbergmann/diff", + "keywords": [ + "diff", + "udiff", + "unidiff", + "unified diff" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/diff/issues", + "source": "https://github.com/sebastianbergmann/diff/tree/4.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:10:38+00:00" + }, + { + "name": "sebastian/environment", + "version": "5.1.5", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/environment.git", + "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/830c43a844f1f8d5b7a1f6d6076b784454d8b7ed", + "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "suggest": { + "ext-posix": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides functionality to handle HHVM/PHP environments", + "homepage": "http://www.github.com/sebastianbergmann/environment", + "keywords": [ + "Xdebug", + "environment", + "hhvm" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/environment/issues", + "source": "https://github.com/sebastianbergmann/environment/tree/5.1.5" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T06:03:51+00:00" + }, + { + "name": "sebastian/exporter", + "version": "4.0.5", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/exporter.git", + "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d", + "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d", + "shasum": "" + }, + "require": { + "php": ">=7.3", + "sebastian/recursion-context": "^4.0" + }, + "require-dev": { + "ext-mbstring": "*", + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Provides the functionality to export PHP variables for visualization", + "homepage": "https://www.github.com/sebastianbergmann/exporter", + "keywords": [ + "export", + "exporter" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/exporter/issues", + "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.5" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2022-09-14T06:03:37+00:00" + }, + { + "name": "sebastian/global-state", + "version": "5.0.5", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/global-state.git", + "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/0ca8db5a5fc9c8646244e629625ac486fa286bf2", + "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2", + "shasum": "" + }, + "require": { + "php": ">=7.3", + "sebastian/object-reflector": "^2.0", + "sebastian/recursion-context": "^4.0" + }, + "require-dev": { + "ext-dom": "*", + "phpunit/phpunit": "^9.3" + }, + "suggest": { + "ext-uopz": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Snapshotting of global state", + "homepage": "http://www.github.com/sebastianbergmann/global-state", + "keywords": [ + "global state" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/global-state/issues", + "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.5" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2022-02-14T08:28:10+00:00" + }, + { + "name": "sebastian/lines-of-code", + "version": "1.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/lines-of-code.git", + "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/c1c2e997aa3146983ed888ad08b15470a2e22ecc", + "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^4.6", + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for counting the lines of code in PHP source code", + "homepage": "https://github.com/sebastianbergmann/lines-of-code", + "support": { + "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", + "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-11-28T06:42:11+00:00" + }, + { + "name": "sebastian/object-enumerator", + "version": "4.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-enumerator.git", + "reference": "5c9eeac41b290a3712d88851518825ad78f45c71" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71", + "reference": "5c9eeac41b290a3712d88851518825ad78f45c71", + "shasum": "" + }, + "require": { + "php": ">=7.3", + "sebastian/object-reflector": "^2.0", + "sebastian/recursion-context": "^4.0" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Traverses array structures and object graphs to enumerate all referenced objects", + "homepage": "https://github.com/sebastianbergmann/object-enumerator/", + "support": { + "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", + "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:12:34+00:00" + }, + { + "name": "sebastian/object-reflector", + "version": "2.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-reflector.git", + "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", + "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Allows reflection of object attributes, including inherited and non-public ones", + "homepage": "https://github.com/sebastianbergmann/object-reflector/", + "support": { + "issues": "https://github.com/sebastianbergmann/object-reflector/issues", + "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:14:26+00:00" + }, + { + "name": "sebastian/recursion-context", + "version": "4.0.5", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/recursion-context.git", + "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1", + "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + } + ], + "description": "Provides functionality to recursively process PHP variables", + "homepage": "https://github.com/sebastianbergmann/recursion-context", + "support": { + "issues": "https://github.com/sebastianbergmann/recursion-context/issues", + "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.5" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T06:07:39+00:00" + }, + { + "name": "sebastian/resource-operations", + "version": "3.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/resource-operations.git", + "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", + "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides a list of PHP built-in functions that operate on resources", + "homepage": "https://www.github.com/sebastianbergmann/resource-operations", + "support": { + "issues": "https://github.com/sebastianbergmann/resource-operations/issues", + "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T06:45:17+00:00" + }, + { + "name": "sebastian/type", + "version": "3.2.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/type.git", + "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7", + "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.2-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Collection of value objects that represent the types of the PHP type system", + "homepage": "https://github.com/sebastianbergmann/type", + "support": { + "issues": "https://github.com/sebastianbergmann/type/issues", + "source": "https://github.com/sebastianbergmann/type/tree/3.2.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T06:13:03+00:00" + }, + { + "name": "sebastian/version", + "version": "3.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/version.git", + "reference": "c6c1022351a901512170118436c764e473f6de8c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c", + "reference": "c6c1022351a901512170118436c764e473f6de8c", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library that helps with managing the version number of Git-hosted PHP projects", + "homepage": "https://github.com/sebastianbergmann/version", + "support": { + "issues": "https://github.com/sebastianbergmann/version/issues", + "source": "https://github.com/sebastianbergmann/version/tree/3.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T06:39:44+00:00" + }, + { + "name": "theseer/tokenizer", + "version": "1.2.1", + "source": { + "type": "git", + "url": "https://github.com/theseer/tokenizer.git", + "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e", + "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-tokenizer": "*", + "ext-xmlwriter": "*", + "php": "^7.2 || ^8.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + } + ], + "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", + "support": { + "issues": "https://github.com/theseer/tokenizer/issues", + "source": "https://github.com/theseer/tokenizer/tree/1.2.1" + }, + "funding": [ + { + "url": "https://github.com/theseer", + "type": "github" + } + ], + "time": "2021-07-28T10:34:58+00:00" + } + ], + "aliases": [], + "minimum-stability": "dev", + "stability-flags": [], + "prefer-stable": true, + "prefer-lowest": false, + "platform": [], + "platform-dev": [], + "plugin-api-version": "2.3.0" +} diff --git a/demo/devReq/results/bom.1.1.xml b/demo/devReq/results/bom.1.1.xml new file mode 100644 index 00000000..21742c84 --- /dev/null +++ b/demo/devReq/results/bom.1.1.xml @@ -0,0 +1,879 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/demo/devReq/results/bom.1.2.json b/demo/devReq/results/bom.1.2.json new file mode 100644 index 00000000..bd47e05b --- /dev/null +++ b/demo/devReq/results/bom.1.2.json @@ -0,0 +1,1330 @@ +{ + "$schema": "http://cyclonedx.org/schema/bom-1.2b.schema.json", + "bomFormat": "CycloneDX", + "specVersion": "1.2", + "version": 1, + "metadata": { + "tools": [ + { + "vendor": "cyclonedx", + "name": "cyclonedx-php-composer", + "version": "in-dev" + } + ], + "component": { + "bom-ref": "cyclonedx-demo/cyclonedx-php-composer-devreq-dev-master", + "type": "application", + "name": "cyclonedx-php-composer-devreq", + "version": "dev-master", + "group": "cyclonedx-demo", + "description": "demo of cyclonedx/cyclonedx-php-composer with a dev dependency", + "author": "Jan Kowalleck", + "purl": "pkg:composer/cyclonedx-demo/cyclonedx-php-composer-devreq@dev-master", + "externalReferences": [ + { + "type": "website", + "url": "https://cyclonedx.org/", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "other", + "url": "support@cyclonedx.org", + "comment": "as detected from Composer manifest 'support.email'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/CycloneDX/cyclonedx-php-composer/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "other", + "url": "https://groups.io/g/CycloneDX", + "comment": "as detected from Composer manifest 'support.forum'" + }, + { + "type": "chat", + "url": "https://cyclonedx.org/slack/invite", + "comment": "as detected from Composer manifest 'support.chat'" + }, + { + "type": "documentation", + "url": "https://github.com/CycloneDX/cyclonedx-php-composer/blob/master/demo/devReq/README.md", + "comment": "as detected from Composer manifest 'support.docs'" + } + ] + } + }, + "components": [ + { + "bom-ref": "doctrine/instantiator-1.5.0.0", + "type": "library", + "name": "instantiator", + "version": "1.5.0", + "group": "doctrine", + "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", + "author": "Marco Pivetta", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/0a0fa9780f5d4e507415a065172d26a98d02047b" + }, + { + "type": "vcs", + "url": "https://github.com/doctrine/instantiator.git" + }, + { + "type": "website", + "url": "https://www.doctrine-project.org/projects/instantiator.html", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/doctrine/instantiator/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/doctrine/instantiator/tree/1.5.0", + "comment": "as detected from Composer manifest 'support.source'" + } + ] + }, + { + "bom-ref": "myclabs/deep-copy-1.11.0.0", + "type": "library", + "name": "deep-copy", + "version": "1.11.0", + "group": "myclabs", + "description": "Create deep copies (clones) of your objects", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/14daed4296fae74d9e3201d2c4925d1acb7aa614" + }, + { + "type": "vcs", + "url": "https://github.com/myclabs/DeepCopy.git" + }, + { + "type": "issue-tracker", + "url": "https://github.com/myclabs/DeepCopy/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/myclabs/DeepCopy/tree/1.11.0", + "comment": "as detected from Composer manifest 'support.source'" + } + ] + }, + { + "bom-ref": "nikic/php-parser-4.15.4.0", + "type": "library", + "name": "php-parser", + "version": "v4.15.4", + "group": "nikic", + "description": "A PHP parser written in PHP", + "author": "Nikita Popov", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/6bb5176bc4af8bcb7d926f88718db9b96a2d4290" + }, + { + "type": "vcs", + "url": "https://github.com/nikic/PHP-Parser.git" + }, + { + "type": "issue-tracker", + "url": "https://github.com/nikic/PHP-Parser/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/nikic/PHP-Parser/tree/v4.15.4", + "comment": "as detected from Composer manifest 'support.source'" + } + ] + }, + { + "bom-ref": "phar-io/manifest-2.0.3.0", + "type": "library", + "name": "manifest", + "version": "2.0.3", + "group": "phar-io", + "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", + "author": "Arne Blankerts, Sebastian Heuer, Sebastian Bergmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53" + }, + { + "type": "vcs", + "url": "https://github.com/phar-io/manifest.git" + }, + { + "type": "issue-tracker", + "url": "https://github.com/phar-io/manifest/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/phar-io/manifest/tree/2.0.3", + "comment": "as detected from Composer manifest 'support.source'" + } + ] + }, + { + "bom-ref": "phar-io/version-3.2.1.0", + "type": "library", + "name": "version", + "version": "3.2.1", + "group": "phar-io", + "description": "Library for handling version information and constraints", + "author": "Arne Blankerts, Sebastian Heuer, Sebastian Bergmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74" + }, + { + "type": "vcs", + "url": "https://github.com/phar-io/version.git" + }, + { + "type": "issue-tracker", + "url": "https://github.com/phar-io/version/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/phar-io/version/tree/3.2.1", + "comment": "as detected from Composer manifest 'support.source'" + } + ] + }, + { + "bom-ref": "phpunit/php-code-coverage-9.2.26.0", + "type": "library", + "name": "php-code-coverage", + "version": "9.2.26", + "group": "phpunit", + "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", + "author": "Sebastian Bergmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/443bc6912c9bd5b409254a40f4b0f4ced7c80ea1" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/php-code-coverage.git" + }, + { + "type": "website", + "url": "https://github.com/sebastianbergmann/php-code-coverage", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/php-code-coverage/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.26", + "comment": "as detected from Composer manifest 'support.source'" + } + ] + }, + { + "bom-ref": "phpunit/php-file-iterator-3.0.6.0", + "type": "library", + "name": "php-file-iterator", + "version": "3.0.6", + "group": "phpunit", + "description": "FilterIterator implementation that filters files based on a list of suffixes.", + "author": "Sebastian Bergmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/php-file-iterator.git" + }, + { + "type": "website", + "url": "https://github.com/sebastianbergmann/php-file-iterator/", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/php-file-iterator/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.6", + "comment": "as detected from Composer manifest 'support.source'" + } + ] + }, + { + "bom-ref": "phpunit/php-invoker-3.1.1.0", + "type": "library", + "name": "php-invoker", + "version": "3.1.1", + "group": "phpunit", + "description": "Invoke callables with a timeout", + "author": "Sebastian Bergmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/php-invoker.git" + }, + { + "type": "website", + "url": "https://github.com/sebastianbergmann/php-invoker/", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/php-invoker/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1", + "comment": "as detected from Composer manifest 'support.source'" + } + ] + }, + { + "bom-ref": "phpunit/php-text-template-2.0.4.0", + "type": "library", + "name": "php-text-template", + "version": "2.0.4", + "group": "phpunit", + "description": "Simple template engine.", + "author": "Sebastian Bergmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/php-text-template.git" + }, + { + "type": "website", + "url": "https://github.com/sebastianbergmann/php-text-template/", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/php-text-template/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4", + "comment": "as detected from Composer manifest 'support.source'" + } + ] + }, + { + "bom-ref": "phpunit/php-timer-5.0.3.0", + "type": "library", + "name": "php-timer", + "version": "5.0.3", + "group": "phpunit", + "description": "Utility class for timing", + "author": "Sebastian Bergmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/php-timer.git" + }, + { + "type": "website", + "url": "https://github.com/sebastianbergmann/php-timer/", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/php-timer/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3", + "comment": "as detected from Composer manifest 'support.source'" + } + ] + }, + { + "bom-ref": "phpunit/phpunit-9.5.26.0", + "type": "library", + "name": "phpunit", + "version": "9.5.26", + "group": "phpunit", + "description": "The PHP Unit Testing framework.", + "author": "Sebastian Bergmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/851867efcbb6a1b992ec515c71cdcf20d895e9d2" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/phpunit.git" + }, + { + "type": "website", + "url": "https://phpunit.de/", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/phpunit/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/phpunit/tree/9.5.26", + "comment": "as detected from Composer manifest 'support.source'" + } + ] + }, + { + "bom-ref": "sebastian/cli-parser-1.0.1.0", + "type": "library", + "name": "cli-parser", + "version": "1.0.1", + "group": "sebastian", + "description": "Library for parsing CLI options", + "author": "Sebastian Bergmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/cli-parser.git" + }, + { + "type": "website", + "url": "https://github.com/sebastianbergmann/cli-parser", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/cli-parser/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.1", + "comment": "as detected from Composer manifest 'support.source'" + } + ] + }, + { + "bom-ref": "sebastian/code-unit-1.0.8.0", + "type": "library", + "name": "code-unit", + "version": "1.0.8", + "group": "sebastian", + "description": "Collection of value objects that represent the PHP code units", + "author": "Sebastian Bergmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/code-unit.git" + }, + { + "type": "website", + "url": "https://github.com/sebastianbergmann/code-unit", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/code-unit/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8", + "comment": "as detected from Composer manifest 'support.source'" + } + ] + }, + { + "bom-ref": "sebastian/code-unit-reverse-lookup-2.0.3.0", + "type": "library", + "name": "code-unit-reverse-lookup", + "version": "2.0.3", + "group": "sebastian", + "description": "Looks up which function or method a line of code belongs to", + "author": "Sebastian Bergmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git" + }, + { + "type": "website", + "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3", + "comment": "as detected from Composer manifest 'support.source'" + } + ] + }, + { + "bom-ref": "sebastian/comparator-4.0.8.0", + "type": "library", + "name": "comparator", + "version": "4.0.8", + "group": "sebastian", + "description": "Provides the functionality to compare PHP values for equality", + "author": "Sebastian Bergmann, Jeff Welch, Volker Dusch, Bernhard Schussek", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/fa0f136dd2334583309d32b62544682ee972b51a" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/comparator.git" + }, + { + "type": "website", + "url": "https://github.com/sebastianbergmann/comparator", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/comparator/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/comparator/tree/4.0.8", + "comment": "as detected from Composer manifest 'support.source'" + } + ] + }, + { + "bom-ref": "sebastian/complexity-2.0.2.0", + "type": "library", + "name": "complexity", + "version": "2.0.2", + "group": "sebastian", + "description": "Library for calculating the complexity of PHP code units", + "author": "Sebastian Bergmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/complexity.git" + }, + { + "type": "website", + "url": "https://github.com/sebastianbergmann/complexity", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/complexity/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/complexity/tree/2.0.2", + "comment": "as detected from Composer manifest 'support.source'" + } + ] + }, + { + "bom-ref": "sebastian/diff-4.0.4.0", + "type": "library", + "name": "diff", + "version": "4.0.4", + "group": "sebastian", + "description": "Diff implementation", + "author": "Sebastian Bergmann, Kore Nordmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3461e3fccc7cfdfc2720be910d3bd73c69be590d" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/diff.git" + }, + { + "type": "website", + "url": "https://github.com/sebastianbergmann/diff", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/diff/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/diff/tree/4.0.4", + "comment": "as detected from Composer manifest 'support.source'" + } + ] + }, + { + "bom-ref": "sebastian/environment-5.1.5.0", + "type": "library", + "name": "environment", + "version": "5.1.5", + "group": "sebastian", + "description": "Provides functionality to handle HHVM/PHP environments", + "author": "Sebastian Bergmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/830c43a844f1f8d5b7a1f6d6076b784454d8b7ed" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/environment.git" + }, + { + "type": "website", + "url": "http://www.github.com/sebastianbergmann/environment", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/environment/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/environment/tree/5.1.5", + "comment": "as detected from Composer manifest 'support.source'" + } + ] + }, + { + "bom-ref": "sebastian/exporter-4.0.5.0", + "type": "library", + "name": "exporter", + "version": "4.0.5", + "group": "sebastian", + "description": "Provides the functionality to export PHP variables for visualization", + "author": "Sebastian Bergmann, Jeff Welch, Volker Dusch, Adam Harvey, Bernhard Schussek", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/exporter.git" + }, + { + "type": "website", + "url": "https://www.github.com/sebastianbergmann/exporter", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/exporter/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/exporter/tree/4.0.5", + "comment": "as detected from Composer manifest 'support.source'" + } + ] + }, + { + "bom-ref": "sebastian/global-state-5.0.5.0", + "type": "library", + "name": "global-state", + "version": "5.0.5", + "group": "sebastian", + "description": "Snapshotting of global state", + "author": "Sebastian Bergmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/0ca8db5a5fc9c8646244e629625ac486fa286bf2" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/global-state.git" + }, + { + "type": "website", + "url": "http://www.github.com/sebastianbergmann/global-state", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/global-state/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/global-state/tree/5.0.5", + "comment": "as detected from Composer manifest 'support.source'" + } + ] + }, + { + "bom-ref": "sebastian/lines-of-code-1.0.3.0", + "type": "library", + "name": "lines-of-code", + "version": "1.0.3", + "group": "sebastian", + "description": "Library for counting the lines of code in PHP source code", + "author": "Sebastian Bergmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/c1c2e997aa3146983ed888ad08b15470a2e22ecc" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/lines-of-code.git" + }, + { + "type": "website", + "url": "https://github.com/sebastianbergmann/lines-of-code", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/lines-of-code/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.3", + "comment": "as detected from Composer manifest 'support.source'" + } + ] + }, + { + "bom-ref": "sebastian/object-enumerator-4.0.4.0", + "type": "library", + "name": "object-enumerator", + "version": "4.0.4", + "group": "sebastian", + "description": "Traverses array structures and object graphs to enumerate all referenced objects", + "author": "Sebastian Bergmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/object-enumerator.git" + }, + { + "type": "website", + "url": "https://github.com/sebastianbergmann/object-enumerator/", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/object-enumerator/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4", + "comment": "as detected from Composer manifest 'support.source'" + } + ] + }, + { + "bom-ref": "sebastian/object-reflector-2.0.4.0", + "type": "library", + "name": "object-reflector", + "version": "2.0.4", + "group": "sebastian", + "description": "Allows reflection of object attributes, including inherited and non-public ones", + "author": "Sebastian Bergmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/object-reflector.git" + }, + { + "type": "website", + "url": "https://github.com/sebastianbergmann/object-reflector/", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/object-reflector/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4", + "comment": "as detected from Composer manifest 'support.source'" + } + ] + }, + { + "bom-ref": "sebastian/recursion-context-4.0.5.0", + "type": "library", + "name": "recursion-context", + "version": "4.0.5", + "group": "sebastian", + "description": "Provides functionality to recursively process PHP variables", + "author": "Sebastian Bergmann, Jeff Welch, Adam Harvey", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/recursion-context.git" + }, + { + "type": "website", + "url": "https://github.com/sebastianbergmann/recursion-context", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/recursion-context/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.5", + "comment": "as detected from Composer manifest 'support.source'" + } + ] + }, + { + "bom-ref": "sebastian/resource-operations-3.0.3.0", + "type": "library", + "name": "resource-operations", + "version": "3.0.3", + "group": "sebastian", + "description": "Provides a list of PHP built-in functions that operate on resources", + "author": "Sebastian Bergmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/resource-operations.git" + }, + { + "type": "website", + "url": "https://www.github.com/sebastianbergmann/resource-operations", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/resource-operations/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.3", + "comment": "as detected from Composer manifest 'support.source'" + } + ] + }, + { + "bom-ref": "sebastian/type-3.2.1.0", + "type": "library", + "name": "type", + "version": "3.2.1", + "group": "sebastian", + "description": "Collection of value objects that represent the types of the PHP type system", + "author": "Sebastian Bergmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/type.git" + }, + { + "type": "website", + "url": "https://github.com/sebastianbergmann/type", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/type/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/type/tree/3.2.1", + "comment": "as detected from Composer manifest 'support.source'" + } + ] + }, + { + "bom-ref": "sebastian/version-3.0.2.0", + "type": "library", + "name": "version", + "version": "3.0.2", + "group": "sebastian", + "description": "Library that helps with managing the version number of Git-hosted PHP projects", + "author": "Sebastian Bergmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/version.git" + }, + { + "type": "website", + "url": "https://github.com/sebastianbergmann/version", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/version/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/version/tree/3.0.2", + "comment": "as detected from Composer manifest 'support.source'" + } + ] + }, + { + "bom-ref": "theseer/tokenizer-1.2.1.0", + "type": "library", + "name": "tokenizer", + "version": "1.2.1", + "group": "theseer", + "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", + "author": "Arne Blankerts", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e" + }, + { + "type": "vcs", + "url": "https://github.com/theseer/tokenizer.git" + }, + { + "type": "issue-tracker", + "url": "https://github.com/theseer/tokenizer/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/theseer/tokenizer/tree/1.2.1", + "comment": "as detected from Composer manifest 'support.source'" + } + ] + } + ], + "dependencies": [ + { + "ref": "doctrine/instantiator-1.5.0.0" + }, + { + "ref": "myclabs/deep-copy-1.11.0.0" + }, + { + "ref": "nikic/php-parser-4.15.4.0" + }, + { + "ref": "phar-io/manifest-2.0.3.0", + "dependsOn": [ + "phar-io/version-3.2.1.0" + ] + }, + { + "ref": "phar-io/version-3.2.1.0" + }, + { + "ref": "phpunit/php-code-coverage-9.2.26.0", + "dependsOn": [ + "nikic/php-parser-4.15.4.0", + "phpunit/php-file-iterator-3.0.6.0", + "phpunit/php-text-template-2.0.4.0", + "sebastian/code-unit-reverse-lookup-2.0.3.0", + "sebastian/complexity-2.0.2.0", + "sebastian/environment-5.1.5.0", + "sebastian/lines-of-code-1.0.3.0", + "sebastian/version-3.0.2.0", + "theseer/tokenizer-1.2.1.0" + ] + }, + { + "ref": "phpunit/php-file-iterator-3.0.6.0" + }, + { + "ref": "phpunit/php-invoker-3.1.1.0" + }, + { + "ref": "phpunit/php-text-template-2.0.4.0" + }, + { + "ref": "phpunit/php-timer-5.0.3.0" + }, + { + "ref": "phpunit/phpunit-9.5.26.0", + "dependsOn": [ + "doctrine/instantiator-1.5.0.0", + "myclabs/deep-copy-1.11.0.0", + "phar-io/manifest-2.0.3.0", + "phar-io/version-3.2.1.0", + "phpunit/php-code-coverage-9.2.26.0", + "phpunit/php-file-iterator-3.0.6.0", + "phpunit/php-invoker-3.1.1.0", + "phpunit/php-text-template-2.0.4.0", + "phpunit/php-timer-5.0.3.0", + "sebastian/cli-parser-1.0.1.0", + "sebastian/code-unit-1.0.8.0", + "sebastian/comparator-4.0.8.0", + "sebastian/diff-4.0.4.0", + "sebastian/environment-5.1.5.0", + "sebastian/exporter-4.0.5.0", + "sebastian/global-state-5.0.5.0", + "sebastian/object-enumerator-4.0.4.0", + "sebastian/resource-operations-3.0.3.0", + "sebastian/type-3.2.1.0", + "sebastian/version-3.0.2.0" + ] + }, + { + "ref": "sebastian/cli-parser-1.0.1.0" + }, + { + "ref": "sebastian/code-unit-1.0.8.0" + }, + { + "ref": "sebastian/code-unit-reverse-lookup-2.0.3.0" + }, + { + "ref": "sebastian/comparator-4.0.8.0", + "dependsOn": [ + "sebastian/diff-4.0.4.0", + "sebastian/exporter-4.0.5.0" + ] + }, + { + "ref": "sebastian/complexity-2.0.2.0", + "dependsOn": [ + "nikic/php-parser-4.15.4.0" + ] + }, + { + "ref": "sebastian/diff-4.0.4.0" + }, + { + "ref": "sebastian/environment-5.1.5.0" + }, + { + "ref": "sebastian/exporter-4.0.5.0", + "dependsOn": [ + "sebastian/recursion-context-4.0.5.0" + ] + }, + { + "ref": "sebastian/global-state-5.0.5.0", + "dependsOn": [ + "sebastian/object-reflector-2.0.4.0", + "sebastian/recursion-context-4.0.5.0" + ] + }, + { + "ref": "sebastian/lines-of-code-1.0.3.0", + "dependsOn": [ + "nikic/php-parser-4.15.4.0" + ] + }, + { + "ref": "sebastian/object-enumerator-4.0.4.0", + "dependsOn": [ + "sebastian/object-reflector-2.0.4.0", + "sebastian/recursion-context-4.0.5.0" + ] + }, + { + "ref": "sebastian/object-reflector-2.0.4.0" + }, + { + "ref": "sebastian/recursion-context-4.0.5.0" + }, + { + "ref": "sebastian/resource-operations-3.0.3.0" + }, + { + "ref": "sebastian/type-3.2.1.0" + }, + { + "ref": "sebastian/version-3.0.2.0" + }, + { + "ref": "theseer/tokenizer-1.2.1.0" + }, + { + "ref": "cyclonedx-demo/cyclonedx-php-composer-devreq-dev-master", + "dependsOn": [ + "phpunit/phpunit-9.5.26.0" + ] + } + ] +} \ No newline at end of file diff --git a/demo/devReq/results/bom.1.2.xml b/demo/devReq/results/bom.1.2.xml new file mode 100644 index 00000000..30cb69f2 --- /dev/null +++ b/demo/devReq/results/bom.1.2.xml @@ -0,0 +1,1004 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/demo/devReq/results/bom.1.3.json b/demo/devReq/results/bom.1.3.json new file mode 100644 index 00000000..53d6956b --- /dev/null +++ b/demo/devReq/results/bom.1.3.json @@ -0,0 +1,1840 @@ +{ + "$schema": "http://cyclonedx.org/schema/bom-1.3a.schema.json", + "bomFormat": "CycloneDX", + "specVersion": "1.3", + "version": 1, + "metadata": { + "tools": [ + { + "vendor": "cyclonedx", + "name": "cyclonedx-php-composer", + "version": "in-dev" + } + ], + "component": { + "bom-ref": "cyclonedx-demo/cyclonedx-php-composer-devreq-dev-master", + "type": "application", + "name": "cyclonedx-php-composer-devreq", + "version": "dev-master", + "group": "cyclonedx-demo", + "description": "demo of cyclonedx/cyclonedx-php-composer with a dev dependency", + "author": "Jan Kowalleck", + "purl": "pkg:composer/cyclonedx-demo/cyclonedx-php-composer-devreq@dev-master", + "externalReferences": [ + { + "type": "website", + "url": "https://cyclonedx.org/", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "other", + "url": "support@cyclonedx.org", + "comment": "as detected from Composer manifest 'support.email'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/CycloneDX/cyclonedx-php-composer/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "other", + "url": "https://groups.io/g/CycloneDX", + "comment": "as detected from Composer manifest 'support.forum'" + }, + { + "type": "chat", + "url": "https://cyclonedx.org/slack/invite", + "comment": "as detected from Composer manifest 'support.chat'" + }, + { + "type": "documentation", + "url": "https://github.com/CycloneDX/cyclonedx-php-composer/blob/master/demo/devReq/README.md", + "comment": "as detected from Composer manifest 'support.docs'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:type", + "value": "project" + } + ] + } + }, + "components": [ + { + "bom-ref": "doctrine/instantiator-1.5.0.0", + "type": "library", + "name": "instantiator", + "version": "1.5.0", + "group": "doctrine", + "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", + "author": "Marco Pivetta", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/0a0fa9780f5d4e507415a065172d26a98d02047b" + }, + { + "type": "vcs", + "url": "https://github.com/doctrine/instantiator.git" + }, + { + "type": "website", + "url": "https://www.doctrine-project.org/projects/instantiator.html", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/doctrine/instantiator/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/doctrine/instantiator/tree/1.5.0", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "0a0fa9780f5d4e507415a065172d26a98d02047b" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "0a0fa9780f5d4e507415a065172d26a98d02047b" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + }, + { + "name": "cdx:composer:package:isDevRequirement", + "value": "true" + } + ] + }, + { + "bom-ref": "myclabs/deep-copy-1.11.0.0", + "type": "library", + "name": "deep-copy", + "version": "1.11.0", + "group": "myclabs", + "description": "Create deep copies (clones) of your objects", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/14daed4296fae74d9e3201d2c4925d1acb7aa614" + }, + { + "type": "vcs", + "url": "https://github.com/myclabs/DeepCopy.git" + }, + { + "type": "issue-tracker", + "url": "https://github.com/myclabs/DeepCopy/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/myclabs/DeepCopy/tree/1.11.0", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "14daed4296fae74d9e3201d2c4925d1acb7aa614" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "14daed4296fae74d9e3201d2c4925d1acb7aa614" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + }, + { + "name": "cdx:composer:package:isDevRequirement", + "value": "true" + } + ] + }, + { + "bom-ref": "nikic/php-parser-4.15.4.0", + "type": "library", + "name": "php-parser", + "version": "v4.15.4", + "group": "nikic", + "description": "A PHP parser written in PHP", + "author": "Nikita Popov", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/6bb5176bc4af8bcb7d926f88718db9b96a2d4290" + }, + { + "type": "vcs", + "url": "https://github.com/nikic/PHP-Parser.git" + }, + { + "type": "issue-tracker", + "url": "https://github.com/nikic/PHP-Parser/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/nikic/PHP-Parser/tree/v4.15.4", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "6bb5176bc4af8bcb7d926f88718db9b96a2d4290" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "6bb5176bc4af8bcb7d926f88718db9b96a2d4290" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + }, + { + "name": "cdx:composer:package:isDevRequirement", + "value": "true" + } + ] + }, + { + "bom-ref": "phar-io/manifest-2.0.3.0", + "type": "library", + "name": "manifest", + "version": "2.0.3", + "group": "phar-io", + "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", + "author": "Arne Blankerts, Sebastian Heuer, Sebastian Bergmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53" + }, + { + "type": "vcs", + "url": "https://github.com/phar-io/manifest.git" + }, + { + "type": "issue-tracker", + "url": "https://github.com/phar-io/manifest/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/phar-io/manifest/tree/2.0.3", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "97803eca37d319dfa7826cc2437fc020857acb53" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "97803eca37d319dfa7826cc2437fc020857acb53" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + }, + { + "name": "cdx:composer:package:isDevRequirement", + "value": "true" + } + ] + }, + { + "bom-ref": "phar-io/version-3.2.1.0", + "type": "library", + "name": "version", + "version": "3.2.1", + "group": "phar-io", + "description": "Library for handling version information and constraints", + "author": "Arne Blankerts, Sebastian Heuer, Sebastian Bergmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74" + }, + { + "type": "vcs", + "url": "https://github.com/phar-io/version.git" + }, + { + "type": "issue-tracker", + "url": "https://github.com/phar-io/version/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/phar-io/version/tree/3.2.1", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + }, + { + "name": "cdx:composer:package:isDevRequirement", + "value": "true" + } + ] + }, + { + "bom-ref": "phpunit/php-code-coverage-9.2.26.0", + "type": "library", + "name": "php-code-coverage", + "version": "9.2.26", + "group": "phpunit", + "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", + "author": "Sebastian Bergmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/443bc6912c9bd5b409254a40f4b0f4ced7c80ea1" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/php-code-coverage.git" + }, + { + "type": "website", + "url": "https://github.com/sebastianbergmann/php-code-coverage", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/php-code-coverage/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.26", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "443bc6912c9bd5b409254a40f4b0f4ced7c80ea1" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "443bc6912c9bd5b409254a40f4b0f4ced7c80ea1" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + }, + { + "name": "cdx:composer:package:isDevRequirement", + "value": "true" + } + ] + }, + { + "bom-ref": "phpunit/php-file-iterator-3.0.6.0", + "type": "library", + "name": "php-file-iterator", + "version": "3.0.6", + "group": "phpunit", + "description": "FilterIterator implementation that filters files based on a list of suffixes.", + "author": "Sebastian Bergmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/php-file-iterator.git" + }, + { + "type": "website", + "url": "https://github.com/sebastianbergmann/php-file-iterator/", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/php-file-iterator/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.6", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + }, + { + "name": "cdx:composer:package:isDevRequirement", + "value": "true" + } + ] + }, + { + "bom-ref": "phpunit/php-invoker-3.1.1.0", + "type": "library", + "name": "php-invoker", + "version": "3.1.1", + "group": "phpunit", + "description": "Invoke callables with a timeout", + "author": "Sebastian Bergmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/php-invoker.git" + }, + { + "type": "website", + "url": "https://github.com/sebastianbergmann/php-invoker/", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/php-invoker/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + }, + { + "name": "cdx:composer:package:isDevRequirement", + "value": "true" + } + ] + }, + { + "bom-ref": "phpunit/php-text-template-2.0.4.0", + "type": "library", + "name": "php-text-template", + "version": "2.0.4", + "group": "phpunit", + "description": "Simple template engine.", + "author": "Sebastian Bergmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/php-text-template.git" + }, + { + "type": "website", + "url": "https://github.com/sebastianbergmann/php-text-template/", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/php-text-template/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + }, + { + "name": "cdx:composer:package:isDevRequirement", + "value": "true" + } + ] + }, + { + "bom-ref": "phpunit/php-timer-5.0.3.0", + "type": "library", + "name": "php-timer", + "version": "5.0.3", + "group": "phpunit", + "description": "Utility class for timing", + "author": "Sebastian Bergmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/php-timer.git" + }, + { + "type": "website", + "url": "https://github.com/sebastianbergmann/php-timer/", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/php-timer/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + }, + { + "name": "cdx:composer:package:isDevRequirement", + "value": "true" + } + ] + }, + { + "bom-ref": "phpunit/phpunit-9.5.26.0", + "type": "library", + "name": "phpunit", + "version": "9.5.26", + "group": "phpunit", + "description": "The PHP Unit Testing framework.", + "author": "Sebastian Bergmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/851867efcbb6a1b992ec515c71cdcf20d895e9d2" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/phpunit.git" + }, + { + "type": "website", + "url": "https://phpunit.de/", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/phpunit/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/phpunit/tree/9.5.26", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "851867efcbb6a1b992ec515c71cdcf20d895e9d2" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "851867efcbb6a1b992ec515c71cdcf20d895e9d2" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + }, + { + "name": "cdx:composer:package:isDevRequirement", + "value": "true" + } + ] + }, + { + "bom-ref": "sebastian/cli-parser-1.0.1.0", + "type": "library", + "name": "cli-parser", + "version": "1.0.1", + "group": "sebastian", + "description": "Library for parsing CLI options", + "author": "Sebastian Bergmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/cli-parser.git" + }, + { + "type": "website", + "url": "https://github.com/sebastianbergmann/cli-parser", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/cli-parser/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.1", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "442e7c7e687e42adc03470c7b668bc4b2402c0b2" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "442e7c7e687e42adc03470c7b668bc4b2402c0b2" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + }, + { + "name": "cdx:composer:package:isDevRequirement", + "value": "true" + } + ] + }, + { + "bom-ref": "sebastian/code-unit-1.0.8.0", + "type": "library", + "name": "code-unit", + "version": "1.0.8", + "group": "sebastian", + "description": "Collection of value objects that represent the PHP code units", + "author": "Sebastian Bergmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/code-unit.git" + }, + { + "type": "website", + "url": "https://github.com/sebastianbergmann/code-unit", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/code-unit/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "1fc9f64c0927627ef78ba436c9b17d967e68e120" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "1fc9f64c0927627ef78ba436c9b17d967e68e120" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + }, + { + "name": "cdx:composer:package:isDevRequirement", + "value": "true" + } + ] + }, + { + "bom-ref": "sebastian/code-unit-reverse-lookup-2.0.3.0", + "type": "library", + "name": "code-unit-reverse-lookup", + "version": "2.0.3", + "group": "sebastian", + "description": "Looks up which function or method a line of code belongs to", + "author": "Sebastian Bergmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git" + }, + { + "type": "website", + "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + }, + { + "name": "cdx:composer:package:isDevRequirement", + "value": "true" + } + ] + }, + { + "bom-ref": "sebastian/comparator-4.0.8.0", + "type": "library", + "name": "comparator", + "version": "4.0.8", + "group": "sebastian", + "description": "Provides the functionality to compare PHP values for equality", + "author": "Sebastian Bergmann, Jeff Welch, Volker Dusch, Bernhard Schussek", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/fa0f136dd2334583309d32b62544682ee972b51a" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/comparator.git" + }, + { + "type": "website", + "url": "https://github.com/sebastianbergmann/comparator", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/comparator/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/comparator/tree/4.0.8", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "fa0f136dd2334583309d32b62544682ee972b51a" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "fa0f136dd2334583309d32b62544682ee972b51a" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + }, + { + "name": "cdx:composer:package:isDevRequirement", + "value": "true" + } + ] + }, + { + "bom-ref": "sebastian/complexity-2.0.2.0", + "type": "library", + "name": "complexity", + "version": "2.0.2", + "group": "sebastian", + "description": "Library for calculating the complexity of PHP code units", + "author": "Sebastian Bergmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/complexity.git" + }, + { + "type": "website", + "url": "https://github.com/sebastianbergmann/complexity", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/complexity/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/complexity/tree/2.0.2", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "739b35e53379900cc9ac327b2147867b8b6efd88" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "739b35e53379900cc9ac327b2147867b8b6efd88" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + }, + { + "name": "cdx:composer:package:isDevRequirement", + "value": "true" + } + ] + }, + { + "bom-ref": "sebastian/diff-4.0.4.0", + "type": "library", + "name": "diff", + "version": "4.0.4", + "group": "sebastian", + "description": "Diff implementation", + "author": "Sebastian Bergmann, Kore Nordmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3461e3fccc7cfdfc2720be910d3bd73c69be590d" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/diff.git" + }, + { + "type": "website", + "url": "https://github.com/sebastianbergmann/diff", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/diff/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/diff/tree/4.0.4", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "3461e3fccc7cfdfc2720be910d3bd73c69be590d" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "3461e3fccc7cfdfc2720be910d3bd73c69be590d" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + }, + { + "name": "cdx:composer:package:isDevRequirement", + "value": "true" + } + ] + }, + { + "bom-ref": "sebastian/environment-5.1.5.0", + "type": "library", + "name": "environment", + "version": "5.1.5", + "group": "sebastian", + "description": "Provides functionality to handle HHVM/PHP environments", + "author": "Sebastian Bergmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/830c43a844f1f8d5b7a1f6d6076b784454d8b7ed" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/environment.git" + }, + { + "type": "website", + "url": "http://www.github.com/sebastianbergmann/environment", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/environment/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/environment/tree/5.1.5", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + }, + { + "name": "cdx:composer:package:isDevRequirement", + "value": "true" + } + ] + }, + { + "bom-ref": "sebastian/exporter-4.0.5.0", + "type": "library", + "name": "exporter", + "version": "4.0.5", + "group": "sebastian", + "description": "Provides the functionality to export PHP variables for visualization", + "author": "Sebastian Bergmann, Jeff Welch, Volker Dusch, Adam Harvey, Bernhard Schussek", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/exporter.git" + }, + { + "type": "website", + "url": "https://www.github.com/sebastianbergmann/exporter", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/exporter/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/exporter/tree/4.0.5", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + }, + { + "name": "cdx:composer:package:isDevRequirement", + "value": "true" + } + ] + }, + { + "bom-ref": "sebastian/global-state-5.0.5.0", + "type": "library", + "name": "global-state", + "version": "5.0.5", + "group": "sebastian", + "description": "Snapshotting of global state", + "author": "Sebastian Bergmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/0ca8db5a5fc9c8646244e629625ac486fa286bf2" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/global-state.git" + }, + { + "type": "website", + "url": "http://www.github.com/sebastianbergmann/global-state", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/global-state/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/global-state/tree/5.0.5", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "0ca8db5a5fc9c8646244e629625ac486fa286bf2" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "0ca8db5a5fc9c8646244e629625ac486fa286bf2" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + }, + { + "name": "cdx:composer:package:isDevRequirement", + "value": "true" + } + ] + }, + { + "bom-ref": "sebastian/lines-of-code-1.0.3.0", + "type": "library", + "name": "lines-of-code", + "version": "1.0.3", + "group": "sebastian", + "description": "Library for counting the lines of code in PHP source code", + "author": "Sebastian Bergmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/c1c2e997aa3146983ed888ad08b15470a2e22ecc" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/lines-of-code.git" + }, + { + "type": "website", + "url": "https://github.com/sebastianbergmann/lines-of-code", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/lines-of-code/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.3", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "c1c2e997aa3146983ed888ad08b15470a2e22ecc" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "c1c2e997aa3146983ed888ad08b15470a2e22ecc" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + }, + { + "name": "cdx:composer:package:isDevRequirement", + "value": "true" + } + ] + }, + { + "bom-ref": "sebastian/object-enumerator-4.0.4.0", + "type": "library", + "name": "object-enumerator", + "version": "4.0.4", + "group": "sebastian", + "description": "Traverses array structures and object graphs to enumerate all referenced objects", + "author": "Sebastian Bergmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/object-enumerator.git" + }, + { + "type": "website", + "url": "https://github.com/sebastianbergmann/object-enumerator/", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/object-enumerator/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "5c9eeac41b290a3712d88851518825ad78f45c71" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "5c9eeac41b290a3712d88851518825ad78f45c71" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + }, + { + "name": "cdx:composer:package:isDevRequirement", + "value": "true" + } + ] + }, + { + "bom-ref": "sebastian/object-reflector-2.0.4.0", + "type": "library", + "name": "object-reflector", + "version": "2.0.4", + "group": "sebastian", + "description": "Allows reflection of object attributes, including inherited and non-public ones", + "author": "Sebastian Bergmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/object-reflector.git" + }, + { + "type": "website", + "url": "https://github.com/sebastianbergmann/object-reflector/", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/object-reflector/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + }, + { + "name": "cdx:composer:package:isDevRequirement", + "value": "true" + } + ] + }, + { + "bom-ref": "sebastian/recursion-context-4.0.5.0", + "type": "library", + "name": "recursion-context", + "version": "4.0.5", + "group": "sebastian", + "description": "Provides functionality to recursively process PHP variables", + "author": "Sebastian Bergmann, Jeff Welch, Adam Harvey", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/recursion-context.git" + }, + { + "type": "website", + "url": "https://github.com/sebastianbergmann/recursion-context", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/recursion-context/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.5", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + }, + { + "name": "cdx:composer:package:isDevRequirement", + "value": "true" + } + ] + }, + { + "bom-ref": "sebastian/resource-operations-3.0.3.0", + "type": "library", + "name": "resource-operations", + "version": "3.0.3", + "group": "sebastian", + "description": "Provides a list of PHP built-in functions that operate on resources", + "author": "Sebastian Bergmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/resource-operations.git" + }, + { + "type": "website", + "url": "https://www.github.com/sebastianbergmann/resource-operations", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/resource-operations/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.3", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + }, + { + "name": "cdx:composer:package:isDevRequirement", + "value": "true" + } + ] + }, + { + "bom-ref": "sebastian/type-3.2.1.0", + "type": "library", + "name": "type", + "version": "3.2.1", + "group": "sebastian", + "description": "Collection of value objects that represent the types of the PHP type system", + "author": "Sebastian Bergmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/type.git" + }, + { + "type": "website", + "url": "https://github.com/sebastianbergmann/type", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/type/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/type/tree/3.2.1", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + }, + { + "name": "cdx:composer:package:isDevRequirement", + "value": "true" + } + ] + }, + { + "bom-ref": "sebastian/version-3.0.2.0", + "type": "library", + "name": "version", + "version": "3.0.2", + "group": "sebastian", + "description": "Library that helps with managing the version number of Git-hosted PHP projects", + "author": "Sebastian Bergmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/version.git" + }, + { + "type": "website", + "url": "https://github.com/sebastianbergmann/version", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/version/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/version/tree/3.0.2", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "c6c1022351a901512170118436c764e473f6de8c" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "c6c1022351a901512170118436c764e473f6de8c" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + }, + { + "name": "cdx:composer:package:isDevRequirement", + "value": "true" + } + ] + }, + { + "bom-ref": "theseer/tokenizer-1.2.1.0", + "type": "library", + "name": "tokenizer", + "version": "1.2.1", + "group": "theseer", + "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", + "author": "Arne Blankerts", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e" + }, + { + "type": "vcs", + "url": "https://github.com/theseer/tokenizer.git" + }, + { + "type": "issue-tracker", + "url": "https://github.com/theseer/tokenizer/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/theseer/tokenizer/tree/1.2.1", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "34a41e998c2183e22995f158c581e7b5e755ab9e" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "34a41e998c2183e22995f158c581e7b5e755ab9e" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + }, + { + "name": "cdx:composer:package:isDevRequirement", + "value": "true" + } + ] + } + ], + "dependencies": [ + { + "ref": "doctrine/instantiator-1.5.0.0" + }, + { + "ref": "myclabs/deep-copy-1.11.0.0" + }, + { + "ref": "nikic/php-parser-4.15.4.0" + }, + { + "ref": "phar-io/manifest-2.0.3.0", + "dependsOn": [ + "phar-io/version-3.2.1.0" + ] + }, + { + "ref": "phar-io/version-3.2.1.0" + }, + { + "ref": "phpunit/php-code-coverage-9.2.26.0", + "dependsOn": [ + "nikic/php-parser-4.15.4.0", + "phpunit/php-file-iterator-3.0.6.0", + "phpunit/php-text-template-2.0.4.0", + "sebastian/code-unit-reverse-lookup-2.0.3.0", + "sebastian/complexity-2.0.2.0", + "sebastian/environment-5.1.5.0", + "sebastian/lines-of-code-1.0.3.0", + "sebastian/version-3.0.2.0", + "theseer/tokenizer-1.2.1.0" + ] + }, + { + "ref": "phpunit/php-file-iterator-3.0.6.0" + }, + { + "ref": "phpunit/php-invoker-3.1.1.0" + }, + { + "ref": "phpunit/php-text-template-2.0.4.0" + }, + { + "ref": "phpunit/php-timer-5.0.3.0" + }, + { + "ref": "phpunit/phpunit-9.5.26.0", + "dependsOn": [ + "doctrine/instantiator-1.5.0.0", + "myclabs/deep-copy-1.11.0.0", + "phar-io/manifest-2.0.3.0", + "phar-io/version-3.2.1.0", + "phpunit/php-code-coverage-9.2.26.0", + "phpunit/php-file-iterator-3.0.6.0", + "phpunit/php-invoker-3.1.1.0", + "phpunit/php-text-template-2.0.4.0", + "phpunit/php-timer-5.0.3.0", + "sebastian/cli-parser-1.0.1.0", + "sebastian/code-unit-1.0.8.0", + "sebastian/comparator-4.0.8.0", + "sebastian/diff-4.0.4.0", + "sebastian/environment-5.1.5.0", + "sebastian/exporter-4.0.5.0", + "sebastian/global-state-5.0.5.0", + "sebastian/object-enumerator-4.0.4.0", + "sebastian/resource-operations-3.0.3.0", + "sebastian/type-3.2.1.0", + "sebastian/version-3.0.2.0" + ] + }, + { + "ref": "sebastian/cli-parser-1.0.1.0" + }, + { + "ref": "sebastian/code-unit-1.0.8.0" + }, + { + "ref": "sebastian/code-unit-reverse-lookup-2.0.3.0" + }, + { + "ref": "sebastian/comparator-4.0.8.0", + "dependsOn": [ + "sebastian/diff-4.0.4.0", + "sebastian/exporter-4.0.5.0" + ] + }, + { + "ref": "sebastian/complexity-2.0.2.0", + "dependsOn": [ + "nikic/php-parser-4.15.4.0" + ] + }, + { + "ref": "sebastian/diff-4.0.4.0" + }, + { + "ref": "sebastian/environment-5.1.5.0" + }, + { + "ref": "sebastian/exporter-4.0.5.0", + "dependsOn": [ + "sebastian/recursion-context-4.0.5.0" + ] + }, + { + "ref": "sebastian/global-state-5.0.5.0", + "dependsOn": [ + "sebastian/object-reflector-2.0.4.0", + "sebastian/recursion-context-4.0.5.0" + ] + }, + { + "ref": "sebastian/lines-of-code-1.0.3.0", + "dependsOn": [ + "nikic/php-parser-4.15.4.0" + ] + }, + { + "ref": "sebastian/object-enumerator-4.0.4.0", + "dependsOn": [ + "sebastian/object-reflector-2.0.4.0", + "sebastian/recursion-context-4.0.5.0" + ] + }, + { + "ref": "sebastian/object-reflector-2.0.4.0" + }, + { + "ref": "sebastian/recursion-context-4.0.5.0" + }, + { + "ref": "sebastian/resource-operations-3.0.3.0" + }, + { + "ref": "sebastian/type-3.2.1.0" + }, + { + "ref": "sebastian/version-3.0.2.0" + }, + { + "ref": "theseer/tokenizer-1.2.1.0" + }, + { + "ref": "cyclonedx-demo/cyclonedx-php-composer-devreq-dev-master", + "dependsOn": [ + "phpunit/phpunit-9.5.26.0" + ] + } + ] +} \ No newline at end of file diff --git a/demo/devReq/results/bom.1.3.xml b/demo/devReq/results/bom.1.3.xml new file mode 100644 index 00000000..a8bcbe9f --- /dev/null +++ b/demo/devReq/results/bom.1.3.xml @@ -0,0 +1,1175 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/demo/devReq/results/bom.1.4.json b/demo/devReq/results/bom.1.4.json new file mode 100644 index 00000000..e2c8b3a6 --- /dev/null +++ b/demo/devReq/results/bom.1.4.json @@ -0,0 +1,1861 @@ +{ + "$schema": "http://cyclonedx.org/schema/bom-1.4.schema.json", + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "tools": [ + { + "vendor": "cyclonedx", + "name": "cyclonedx-php-composer", + "version": "in-dev", + "externalReferences": [ + { + "type": "distribution", + "url": "../.." + }, + { + "type": "website", + "url": "https://github.com/CycloneDX/cyclonedx-php-composer/#readme", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/CycloneDX/cyclonedx-php-composer/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/CycloneDX/cyclonedx-php-composer/", + "comment": "as detected from Composer manifest 'support.source'" + } + ] + } + ], + "component": { + "bom-ref": "cyclonedx-demo/cyclonedx-php-composer-devreq-dev-master", + "type": "application", + "name": "cyclonedx-php-composer-devreq", + "version": "dev-master", + "group": "cyclonedx-demo", + "description": "demo of cyclonedx/cyclonedx-php-composer with a dev dependency", + "author": "Jan Kowalleck", + "purl": "pkg:composer/cyclonedx-demo/cyclonedx-php-composer-devreq@dev-master", + "externalReferences": [ + { + "type": "website", + "url": "https://cyclonedx.org/", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "other", + "url": "support@cyclonedx.org", + "comment": "as detected from Composer manifest 'support.email'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/CycloneDX/cyclonedx-php-composer/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "other", + "url": "https://groups.io/g/CycloneDX", + "comment": "as detected from Composer manifest 'support.forum'" + }, + { + "type": "chat", + "url": "https://cyclonedx.org/slack/invite", + "comment": "as detected from Composer manifest 'support.chat'" + }, + { + "type": "documentation", + "url": "https://github.com/CycloneDX/cyclonedx-php-composer/blob/master/demo/devReq/README.md", + "comment": "as detected from Composer manifest 'support.docs'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:type", + "value": "project" + } + ] + } + }, + "components": [ + { + "bom-ref": "doctrine/instantiator-1.5.0.0", + "type": "library", + "name": "instantiator", + "version": "1.5.0", + "group": "doctrine", + "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", + "author": "Marco Pivetta", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/0a0fa9780f5d4e507415a065172d26a98d02047b" + }, + { + "type": "vcs", + "url": "https://github.com/doctrine/instantiator.git" + }, + { + "type": "website", + "url": "https://www.doctrine-project.org/projects/instantiator.html", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/doctrine/instantiator/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/doctrine/instantiator/tree/1.5.0", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "0a0fa9780f5d4e507415a065172d26a98d02047b" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "0a0fa9780f5d4e507415a065172d26a98d02047b" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + }, + { + "name": "cdx:composer:package:isDevRequirement", + "value": "true" + } + ] + }, + { + "bom-ref": "myclabs/deep-copy-1.11.0.0", + "type": "library", + "name": "deep-copy", + "version": "1.11.0", + "group": "myclabs", + "description": "Create deep copies (clones) of your objects", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/14daed4296fae74d9e3201d2c4925d1acb7aa614" + }, + { + "type": "vcs", + "url": "https://github.com/myclabs/DeepCopy.git" + }, + { + "type": "issue-tracker", + "url": "https://github.com/myclabs/DeepCopy/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/myclabs/DeepCopy/tree/1.11.0", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "14daed4296fae74d9e3201d2c4925d1acb7aa614" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "14daed4296fae74d9e3201d2c4925d1acb7aa614" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + }, + { + "name": "cdx:composer:package:isDevRequirement", + "value": "true" + } + ] + }, + { + "bom-ref": "nikic/php-parser-4.15.4.0", + "type": "library", + "name": "php-parser", + "version": "v4.15.4", + "group": "nikic", + "description": "A PHP parser written in PHP", + "author": "Nikita Popov", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/6bb5176bc4af8bcb7d926f88718db9b96a2d4290" + }, + { + "type": "vcs", + "url": "https://github.com/nikic/PHP-Parser.git" + }, + { + "type": "issue-tracker", + "url": "https://github.com/nikic/PHP-Parser/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/nikic/PHP-Parser/tree/v4.15.4", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "6bb5176bc4af8bcb7d926f88718db9b96a2d4290" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "6bb5176bc4af8bcb7d926f88718db9b96a2d4290" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + }, + { + "name": "cdx:composer:package:isDevRequirement", + "value": "true" + } + ] + }, + { + "bom-ref": "phar-io/manifest-2.0.3.0", + "type": "library", + "name": "manifest", + "version": "2.0.3", + "group": "phar-io", + "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", + "author": "Arne Blankerts, Sebastian Heuer, Sebastian Bergmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53" + }, + { + "type": "vcs", + "url": "https://github.com/phar-io/manifest.git" + }, + { + "type": "issue-tracker", + "url": "https://github.com/phar-io/manifest/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/phar-io/manifest/tree/2.0.3", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "97803eca37d319dfa7826cc2437fc020857acb53" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "97803eca37d319dfa7826cc2437fc020857acb53" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + }, + { + "name": "cdx:composer:package:isDevRequirement", + "value": "true" + } + ] + }, + { + "bom-ref": "phar-io/version-3.2.1.0", + "type": "library", + "name": "version", + "version": "3.2.1", + "group": "phar-io", + "description": "Library for handling version information and constraints", + "author": "Arne Blankerts, Sebastian Heuer, Sebastian Bergmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74" + }, + { + "type": "vcs", + "url": "https://github.com/phar-io/version.git" + }, + { + "type": "issue-tracker", + "url": "https://github.com/phar-io/version/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/phar-io/version/tree/3.2.1", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + }, + { + "name": "cdx:composer:package:isDevRequirement", + "value": "true" + } + ] + }, + { + "bom-ref": "phpunit/php-code-coverage-9.2.26.0", + "type": "library", + "name": "php-code-coverage", + "version": "9.2.26", + "group": "phpunit", + "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", + "author": "Sebastian Bergmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/443bc6912c9bd5b409254a40f4b0f4ced7c80ea1" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/php-code-coverage.git" + }, + { + "type": "website", + "url": "https://github.com/sebastianbergmann/php-code-coverage", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/php-code-coverage/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.26", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "443bc6912c9bd5b409254a40f4b0f4ced7c80ea1" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "443bc6912c9bd5b409254a40f4b0f4ced7c80ea1" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + }, + { + "name": "cdx:composer:package:isDevRequirement", + "value": "true" + } + ] + }, + { + "bom-ref": "phpunit/php-file-iterator-3.0.6.0", + "type": "library", + "name": "php-file-iterator", + "version": "3.0.6", + "group": "phpunit", + "description": "FilterIterator implementation that filters files based on a list of suffixes.", + "author": "Sebastian Bergmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/php-file-iterator.git" + }, + { + "type": "website", + "url": "https://github.com/sebastianbergmann/php-file-iterator/", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/php-file-iterator/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.6", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + }, + { + "name": "cdx:composer:package:isDevRequirement", + "value": "true" + } + ] + }, + { + "bom-ref": "phpunit/php-invoker-3.1.1.0", + "type": "library", + "name": "php-invoker", + "version": "3.1.1", + "group": "phpunit", + "description": "Invoke callables with a timeout", + "author": "Sebastian Bergmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/php-invoker.git" + }, + { + "type": "website", + "url": "https://github.com/sebastianbergmann/php-invoker/", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/php-invoker/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + }, + { + "name": "cdx:composer:package:isDevRequirement", + "value": "true" + } + ] + }, + { + "bom-ref": "phpunit/php-text-template-2.0.4.0", + "type": "library", + "name": "php-text-template", + "version": "2.0.4", + "group": "phpunit", + "description": "Simple template engine.", + "author": "Sebastian Bergmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/php-text-template.git" + }, + { + "type": "website", + "url": "https://github.com/sebastianbergmann/php-text-template/", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/php-text-template/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + }, + { + "name": "cdx:composer:package:isDevRequirement", + "value": "true" + } + ] + }, + { + "bom-ref": "phpunit/php-timer-5.0.3.0", + "type": "library", + "name": "php-timer", + "version": "5.0.3", + "group": "phpunit", + "description": "Utility class for timing", + "author": "Sebastian Bergmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/php-timer.git" + }, + { + "type": "website", + "url": "https://github.com/sebastianbergmann/php-timer/", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/php-timer/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + }, + { + "name": "cdx:composer:package:isDevRequirement", + "value": "true" + } + ] + }, + { + "bom-ref": "phpunit/phpunit-9.5.26.0", + "type": "library", + "name": "phpunit", + "version": "9.5.26", + "group": "phpunit", + "description": "The PHP Unit Testing framework.", + "author": "Sebastian Bergmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/851867efcbb6a1b992ec515c71cdcf20d895e9d2" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/phpunit.git" + }, + { + "type": "website", + "url": "https://phpunit.de/", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/phpunit/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/phpunit/tree/9.5.26", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "851867efcbb6a1b992ec515c71cdcf20d895e9d2" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "851867efcbb6a1b992ec515c71cdcf20d895e9d2" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + }, + { + "name": "cdx:composer:package:isDevRequirement", + "value": "true" + } + ] + }, + { + "bom-ref": "sebastian/cli-parser-1.0.1.0", + "type": "library", + "name": "cli-parser", + "version": "1.0.1", + "group": "sebastian", + "description": "Library for parsing CLI options", + "author": "Sebastian Bergmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/cli-parser.git" + }, + { + "type": "website", + "url": "https://github.com/sebastianbergmann/cli-parser", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/cli-parser/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.1", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "442e7c7e687e42adc03470c7b668bc4b2402c0b2" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "442e7c7e687e42adc03470c7b668bc4b2402c0b2" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + }, + { + "name": "cdx:composer:package:isDevRequirement", + "value": "true" + } + ] + }, + { + "bom-ref": "sebastian/code-unit-1.0.8.0", + "type": "library", + "name": "code-unit", + "version": "1.0.8", + "group": "sebastian", + "description": "Collection of value objects that represent the PHP code units", + "author": "Sebastian Bergmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/code-unit.git" + }, + { + "type": "website", + "url": "https://github.com/sebastianbergmann/code-unit", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/code-unit/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "1fc9f64c0927627ef78ba436c9b17d967e68e120" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "1fc9f64c0927627ef78ba436c9b17d967e68e120" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + }, + { + "name": "cdx:composer:package:isDevRequirement", + "value": "true" + } + ] + }, + { + "bom-ref": "sebastian/code-unit-reverse-lookup-2.0.3.0", + "type": "library", + "name": "code-unit-reverse-lookup", + "version": "2.0.3", + "group": "sebastian", + "description": "Looks up which function or method a line of code belongs to", + "author": "Sebastian Bergmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git" + }, + { + "type": "website", + "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + }, + { + "name": "cdx:composer:package:isDevRequirement", + "value": "true" + } + ] + }, + { + "bom-ref": "sebastian/comparator-4.0.8.0", + "type": "library", + "name": "comparator", + "version": "4.0.8", + "group": "sebastian", + "description": "Provides the functionality to compare PHP values for equality", + "author": "Sebastian Bergmann, Jeff Welch, Volker Dusch, Bernhard Schussek", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/fa0f136dd2334583309d32b62544682ee972b51a" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/comparator.git" + }, + { + "type": "website", + "url": "https://github.com/sebastianbergmann/comparator", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/comparator/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/comparator/tree/4.0.8", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "fa0f136dd2334583309d32b62544682ee972b51a" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "fa0f136dd2334583309d32b62544682ee972b51a" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + }, + { + "name": "cdx:composer:package:isDevRequirement", + "value": "true" + } + ] + }, + { + "bom-ref": "sebastian/complexity-2.0.2.0", + "type": "library", + "name": "complexity", + "version": "2.0.2", + "group": "sebastian", + "description": "Library for calculating the complexity of PHP code units", + "author": "Sebastian Bergmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/complexity.git" + }, + { + "type": "website", + "url": "https://github.com/sebastianbergmann/complexity", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/complexity/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/complexity/tree/2.0.2", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "739b35e53379900cc9ac327b2147867b8b6efd88" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "739b35e53379900cc9ac327b2147867b8b6efd88" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + }, + { + "name": "cdx:composer:package:isDevRequirement", + "value": "true" + } + ] + }, + { + "bom-ref": "sebastian/diff-4.0.4.0", + "type": "library", + "name": "diff", + "version": "4.0.4", + "group": "sebastian", + "description": "Diff implementation", + "author": "Sebastian Bergmann, Kore Nordmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3461e3fccc7cfdfc2720be910d3bd73c69be590d" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/diff.git" + }, + { + "type": "website", + "url": "https://github.com/sebastianbergmann/diff", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/diff/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/diff/tree/4.0.4", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "3461e3fccc7cfdfc2720be910d3bd73c69be590d" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "3461e3fccc7cfdfc2720be910d3bd73c69be590d" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + }, + { + "name": "cdx:composer:package:isDevRequirement", + "value": "true" + } + ] + }, + { + "bom-ref": "sebastian/environment-5.1.5.0", + "type": "library", + "name": "environment", + "version": "5.1.5", + "group": "sebastian", + "description": "Provides functionality to handle HHVM/PHP environments", + "author": "Sebastian Bergmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/830c43a844f1f8d5b7a1f6d6076b784454d8b7ed" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/environment.git" + }, + { + "type": "website", + "url": "http://www.github.com/sebastianbergmann/environment", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/environment/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/environment/tree/5.1.5", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + }, + { + "name": "cdx:composer:package:isDevRequirement", + "value": "true" + } + ] + }, + { + "bom-ref": "sebastian/exporter-4.0.5.0", + "type": "library", + "name": "exporter", + "version": "4.0.5", + "group": "sebastian", + "description": "Provides the functionality to export PHP variables for visualization", + "author": "Sebastian Bergmann, Jeff Welch, Volker Dusch, Adam Harvey, Bernhard Schussek", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/exporter.git" + }, + { + "type": "website", + "url": "https://www.github.com/sebastianbergmann/exporter", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/exporter/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/exporter/tree/4.0.5", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + }, + { + "name": "cdx:composer:package:isDevRequirement", + "value": "true" + } + ] + }, + { + "bom-ref": "sebastian/global-state-5.0.5.0", + "type": "library", + "name": "global-state", + "version": "5.0.5", + "group": "sebastian", + "description": "Snapshotting of global state", + "author": "Sebastian Bergmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/0ca8db5a5fc9c8646244e629625ac486fa286bf2" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/global-state.git" + }, + { + "type": "website", + "url": "http://www.github.com/sebastianbergmann/global-state", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/global-state/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/global-state/tree/5.0.5", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "0ca8db5a5fc9c8646244e629625ac486fa286bf2" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "0ca8db5a5fc9c8646244e629625ac486fa286bf2" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + }, + { + "name": "cdx:composer:package:isDevRequirement", + "value": "true" + } + ] + }, + { + "bom-ref": "sebastian/lines-of-code-1.0.3.0", + "type": "library", + "name": "lines-of-code", + "version": "1.0.3", + "group": "sebastian", + "description": "Library for counting the lines of code in PHP source code", + "author": "Sebastian Bergmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/c1c2e997aa3146983ed888ad08b15470a2e22ecc" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/lines-of-code.git" + }, + { + "type": "website", + "url": "https://github.com/sebastianbergmann/lines-of-code", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/lines-of-code/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.3", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "c1c2e997aa3146983ed888ad08b15470a2e22ecc" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "c1c2e997aa3146983ed888ad08b15470a2e22ecc" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + }, + { + "name": "cdx:composer:package:isDevRequirement", + "value": "true" + } + ] + }, + { + "bom-ref": "sebastian/object-enumerator-4.0.4.0", + "type": "library", + "name": "object-enumerator", + "version": "4.0.4", + "group": "sebastian", + "description": "Traverses array structures and object graphs to enumerate all referenced objects", + "author": "Sebastian Bergmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/object-enumerator.git" + }, + { + "type": "website", + "url": "https://github.com/sebastianbergmann/object-enumerator/", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/object-enumerator/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "5c9eeac41b290a3712d88851518825ad78f45c71" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "5c9eeac41b290a3712d88851518825ad78f45c71" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + }, + { + "name": "cdx:composer:package:isDevRequirement", + "value": "true" + } + ] + }, + { + "bom-ref": "sebastian/object-reflector-2.0.4.0", + "type": "library", + "name": "object-reflector", + "version": "2.0.4", + "group": "sebastian", + "description": "Allows reflection of object attributes, including inherited and non-public ones", + "author": "Sebastian Bergmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/object-reflector.git" + }, + { + "type": "website", + "url": "https://github.com/sebastianbergmann/object-reflector/", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/object-reflector/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + }, + { + "name": "cdx:composer:package:isDevRequirement", + "value": "true" + } + ] + }, + { + "bom-ref": "sebastian/recursion-context-4.0.5.0", + "type": "library", + "name": "recursion-context", + "version": "4.0.5", + "group": "sebastian", + "description": "Provides functionality to recursively process PHP variables", + "author": "Sebastian Bergmann, Jeff Welch, Adam Harvey", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/recursion-context.git" + }, + { + "type": "website", + "url": "https://github.com/sebastianbergmann/recursion-context", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/recursion-context/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.5", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + }, + { + "name": "cdx:composer:package:isDevRequirement", + "value": "true" + } + ] + }, + { + "bom-ref": "sebastian/resource-operations-3.0.3.0", + "type": "library", + "name": "resource-operations", + "version": "3.0.3", + "group": "sebastian", + "description": "Provides a list of PHP built-in functions that operate on resources", + "author": "Sebastian Bergmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/resource-operations.git" + }, + { + "type": "website", + "url": "https://www.github.com/sebastianbergmann/resource-operations", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/resource-operations/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.3", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + }, + { + "name": "cdx:composer:package:isDevRequirement", + "value": "true" + } + ] + }, + { + "bom-ref": "sebastian/type-3.2.1.0", + "type": "library", + "name": "type", + "version": "3.2.1", + "group": "sebastian", + "description": "Collection of value objects that represent the types of the PHP type system", + "author": "Sebastian Bergmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/type.git" + }, + { + "type": "website", + "url": "https://github.com/sebastianbergmann/type", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/type/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/type/tree/3.2.1", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + }, + { + "name": "cdx:composer:package:isDevRequirement", + "value": "true" + } + ] + }, + { + "bom-ref": "sebastian/version-3.0.2.0", + "type": "library", + "name": "version", + "version": "3.0.2", + "group": "sebastian", + "description": "Library that helps with managing the version number of Git-hosted PHP projects", + "author": "Sebastian Bergmann", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/version.git" + }, + { + "type": "website", + "url": "https://github.com/sebastianbergmann/version", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/sebastianbergmann/version/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/sebastianbergmann/version/tree/3.0.2", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "c6c1022351a901512170118436c764e473f6de8c" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "c6c1022351a901512170118436c764e473f6de8c" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + }, + { + "name": "cdx:composer:package:isDevRequirement", + "value": "true" + } + ] + }, + { + "bom-ref": "theseer/tokenizer-1.2.1.0", + "type": "library", + "name": "tokenizer", + "version": "1.2.1", + "group": "theseer", + "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", + "author": "Arne Blankerts", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e" + }, + { + "type": "vcs", + "url": "https://github.com/theseer/tokenizer.git" + }, + { + "type": "issue-tracker", + "url": "https://github.com/theseer/tokenizer/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/theseer/tokenizer/tree/1.2.1", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "34a41e998c2183e22995f158c581e7b5e755ab9e" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "34a41e998c2183e22995f158c581e7b5e755ab9e" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + }, + { + "name": "cdx:composer:package:isDevRequirement", + "value": "true" + } + ] + } + ], + "dependencies": [ + { + "ref": "doctrine/instantiator-1.5.0.0" + }, + { + "ref": "myclabs/deep-copy-1.11.0.0" + }, + { + "ref": "nikic/php-parser-4.15.4.0" + }, + { + "ref": "phar-io/manifest-2.0.3.0", + "dependsOn": [ + "phar-io/version-3.2.1.0" + ] + }, + { + "ref": "phar-io/version-3.2.1.0" + }, + { + "ref": "phpunit/php-code-coverage-9.2.26.0", + "dependsOn": [ + "nikic/php-parser-4.15.4.0", + "phpunit/php-file-iterator-3.0.6.0", + "phpunit/php-text-template-2.0.4.0", + "sebastian/code-unit-reverse-lookup-2.0.3.0", + "sebastian/complexity-2.0.2.0", + "sebastian/environment-5.1.5.0", + "sebastian/lines-of-code-1.0.3.0", + "sebastian/version-3.0.2.0", + "theseer/tokenizer-1.2.1.0" + ] + }, + { + "ref": "phpunit/php-file-iterator-3.0.6.0" + }, + { + "ref": "phpunit/php-invoker-3.1.1.0" + }, + { + "ref": "phpunit/php-text-template-2.0.4.0" + }, + { + "ref": "phpunit/php-timer-5.0.3.0" + }, + { + "ref": "phpunit/phpunit-9.5.26.0", + "dependsOn": [ + "doctrine/instantiator-1.5.0.0", + "myclabs/deep-copy-1.11.0.0", + "phar-io/manifest-2.0.3.0", + "phar-io/version-3.2.1.0", + "phpunit/php-code-coverage-9.2.26.0", + "phpunit/php-file-iterator-3.0.6.0", + "phpunit/php-invoker-3.1.1.0", + "phpunit/php-text-template-2.0.4.0", + "phpunit/php-timer-5.0.3.0", + "sebastian/cli-parser-1.0.1.0", + "sebastian/code-unit-1.0.8.0", + "sebastian/comparator-4.0.8.0", + "sebastian/diff-4.0.4.0", + "sebastian/environment-5.1.5.0", + "sebastian/exporter-4.0.5.0", + "sebastian/global-state-5.0.5.0", + "sebastian/object-enumerator-4.0.4.0", + "sebastian/resource-operations-3.0.3.0", + "sebastian/type-3.2.1.0", + "sebastian/version-3.0.2.0" + ] + }, + { + "ref": "sebastian/cli-parser-1.0.1.0" + }, + { + "ref": "sebastian/code-unit-1.0.8.0" + }, + { + "ref": "sebastian/code-unit-reverse-lookup-2.0.3.0" + }, + { + "ref": "sebastian/comparator-4.0.8.0", + "dependsOn": [ + "sebastian/diff-4.0.4.0", + "sebastian/exporter-4.0.5.0" + ] + }, + { + "ref": "sebastian/complexity-2.0.2.0", + "dependsOn": [ + "nikic/php-parser-4.15.4.0" + ] + }, + { + "ref": "sebastian/diff-4.0.4.0" + }, + { + "ref": "sebastian/environment-5.1.5.0" + }, + { + "ref": "sebastian/exporter-4.0.5.0", + "dependsOn": [ + "sebastian/recursion-context-4.0.5.0" + ] + }, + { + "ref": "sebastian/global-state-5.0.5.0", + "dependsOn": [ + "sebastian/object-reflector-2.0.4.0", + "sebastian/recursion-context-4.0.5.0" + ] + }, + { + "ref": "sebastian/lines-of-code-1.0.3.0", + "dependsOn": [ + "nikic/php-parser-4.15.4.0" + ] + }, + { + "ref": "sebastian/object-enumerator-4.0.4.0", + "dependsOn": [ + "sebastian/object-reflector-2.0.4.0", + "sebastian/recursion-context-4.0.5.0" + ] + }, + { + "ref": "sebastian/object-reflector-2.0.4.0" + }, + { + "ref": "sebastian/recursion-context-4.0.5.0" + }, + { + "ref": "sebastian/resource-operations-3.0.3.0" + }, + { + "ref": "sebastian/type-3.2.1.0" + }, + { + "ref": "sebastian/version-3.0.2.0" + }, + { + "ref": "theseer/tokenizer-1.2.1.0" + }, + { + "ref": "cyclonedx-demo/cyclonedx-php-composer-devreq-dev-master", + "dependsOn": [ + "phpunit/phpunit-9.5.26.0" + ] + } + ] +} \ No newline at end of file diff --git a/demo/devReq/results/bom.1.4.xml b/demo/devReq/results/bom.1.4.xml new file mode 100644 index 00000000..d47892e8 --- /dev/null +++ b/demo/devReq/results/bom.1.4.xml @@ -0,0 +1,1192 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/demo/laravel-7.12.0/README.md b/demo/laravel-7.12.0/README.md index 6c9c61d6..3e4b95c4 100644 --- a/demo/laravel-7.12.0/README.md +++ b/demo/laravel-7.12.0/README.md @@ -5,7 +5,7 @@ The output is *reproducible*, due to the [shipped composer-locked](project/composer.lock) versions. Therefore, the demo requires a special php environment, which is caused by the composer-requirements: -* php>=7.3, <8 +Targets `php>=7.3` -- but this is enforced by composer's platform-override anyway. ## Reproducible results @@ -16,18 +16,20 @@ as "laravel-7.12.0". * [`results/bom.1.1.xml`](results/bom.1.1.xml) * [`results/bom.1.2.xml`](results/bom.1.2.xml) * [`results/bom.1.3.xml`](results/bom.1.3.xml) +* [`results/bom.1.4.xml`](results/bom.1.4.xml) * [`results/bom.1.2.json`](results/bom.1.2.json) * [`results/bom.1.3.json`](results/bom.1.3.json) +* [`results/bom.1.4.json`](results/bom.1.4.json) ## Setup For the sake of a demo, a relative path to the *cyclonedx-php-composer* project is used, so the current code is symlinked and taken into action. -To get the setup up and running, run from the demo directory: +To get the setup up and running, run from this demo directory: ```shell -composer -dproject install +composer -d project setup ``` ## Usage examples @@ -37,31 +39,17 @@ Run one of these from the demo directory: * See *cyclonedx-php-composer* help page: ```shell - composer -dproject make-bom --help + composer -d project CycloneDX:make-sbom--help ``` -* Make XML sbom: +* Make XML sbom via composer script: ```shell - composer -dproject make-bom --exclude-dev --spec-version=1.1 --output-format=XML --output-file="$PWD/results/bom.1.1.xml" - composer -dproject make-bom --exclude-dev --spec-version=1.2 --output-format=XML --output-file="$PWD/results/bom.1.2.xml" - composer -dproject make-bom --exclude-dev --spec-version=1.3 --output-format=XML --output-file="$PWD/results/bom.1.3.xml" + composer -d project create-sbom-results:XML ``` -* Make JSON sbom: +* Make JSON sbom via composer script: ```shell - composer -dproject make-bom --exclude-dev --spec-version=1.2 --output-format=JSON --output-file="$PWD/results/bom.1.2.json" - composer -dproject make-bom --exclude-dev --spec-version=1.3 --output-format=JSON --output-file="$PWD/results/bom.1.3.json" + composer -d project create-sbom-results:JSON ``` - -## dev-maintenance - -Lock-file should stay in a certain state, after updating dependencies. - -Upgrade the `composer.lock` tile to the latest changes to the plugin via: - -1. downgrade composer to v2: `composer self-update -- 2.0.0` -1. run `composer -dproject update 'cyclonedx/cyclonedx-php-composer'` - -Then re-generate all results as shown in section above. diff --git a/demo/laravel-7.12.0/project/.gitignore b/demo/laravel-7.12.0/project/.gitignore index ee0f9f5c..0d502001 100644 --- a/demo/laravel-7.12.0/project/.gitignore +++ b/demo/laravel-7.12.0/project/.gitignore @@ -4,7 +4,3 @@ !/composer.json !/composer.lock - -!/composer.template.json -!/composer.template.lock -!/temp_setup-helper.sh diff --git a/demo/laravel-7.12.0/project/composer.json b/demo/laravel-7.12.0/project/composer.json index 7ca60ab0..c1714879 100644 --- a/demo/laravel-7.12.0/project/composer.json +++ b/demo/laravel-7.12.0/project/composer.json @@ -3,19 +3,14 @@ "description": "demo of cyclonedx/cyclonedx-php-composer with a pinned version of laravel/framework", "type": "project", "version": "dev-master", - "require": { - "laravel/laravel": "7.12.0" - }, - "require-dev": { - "cyclonedx/cyclonedx-php-composer": "@dev" - }, - "repositories": [ + "authors": [ { - "type": "path", - "url": "../../..", - "symlink": true + "name": "Jan Kowalleck" } ], + "require": { + "laravel/laravel": "7.12.0" + }, "minimum-stability": "stable", "prefer-stable": true, "config": { @@ -28,5 +23,30 @@ }, "preferred-install": "dist", "sort-packages": true + }, + "scripts": { + "create-sbom-results": [ + "@create-sbom-results:JSON", + "@create-sbom-results:XML" + ], + "create-sbom-results:JSON": [ + "@putenv CDX_CP_TOOLS_VERSION_OVERRIDE=in-dev", + "@putenv CDX_CP_TOOLS_EXCLUDE_LIBS=1", + "@composer -d ../../.tool CycloneDX:make-sbom --omit=dev --spec-version=1.2 --output-reproducible --output-format=JSON --output-file=$PWD/../results/bom.1.2.json $PWD/composer.json", + "@composer -d ../../.tool CycloneDX:make-sbom --omit=dev --spec-version=1.3 --output-reproducible --output-format=JSON --output-file=$PWD/../results/bom.1.3.json $PWD/composer.json", + "@composer -d ../../.tool CycloneDX:make-sbom --omit=dev --spec-version=1.4 --output-reproducible --output-format=JSON --output-file=$PWD/../results/bom.1.4.json $PWD/composer.json" + ], + "create-sbom-results:XML": [ + "@putenv CDX_CP_TOOLS_VERSION_OVERRIDE=in-dev", + "@putenv CDX_CP_TOOLS_EXCLUDE_LIBS=1", + "@composer -d ../../.tool CycloneDX:make-sbom --omit=dev --spec-version=1.1 --output-reproducible --output-format=XML --output-file=$PWD/../results/bom.1.1.xml $PWD/composer.json", + "@composer -d ../../.tool CycloneDX:make-sbom --omit=dev --spec-version=1.2 --output-reproducible --output-format=XML --output-file=$PWD/../results/bom.1.2.xml $PWD/composer.json", + "@composer -d ../../.tool CycloneDX:make-sbom --omit=dev --spec-version=1.3 --output-reproducible --output-format=XML --output-file=$PWD/../results/bom.1.3.xml $PWD/composer.json", + "@composer -d ../../.tool CycloneDX:make-sbom --omit=dev --spec-version=1.4 --output-reproducible --output-format=XML --output-file=$PWD/../results/bom.1.4.xml $PWD/composer.json" + ], + "setup": [ + "@composer -d ../../.tool update", + "@composer install" + ] } } diff --git a/demo/laravel-7.12.0/project/composer.lock b/demo/laravel-7.12.0/project/composer.lock index 3250ae27..6cd10d42 100644 --- a/demo/laravel-7.12.0/project/composer.lock +++ b/demo/laravel-7.12.0/project/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "86b7d5a89aa0649f53ff01e733715352", + "content-hash": "8daa174875c79fc311581d28753f6983", "packages": [ { "name": "asm89/stack-cors", @@ -124,28 +124,28 @@ }, { "name": "doctrine/inflector", - "version": "2.0.4", + "version": "2.0.6", "source": { "type": "git", "url": "https://github.com/doctrine/inflector.git", - "reference": "8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89" + "reference": "d9d313a36c872fd6ee06d9a6cbcf713eaa40f024" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/inflector/zipball/8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89", - "reference": "8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/d9d313a36c872fd6ee06d9a6cbcf713eaa40f024", + "reference": "d9d313a36c872fd6ee06d9a6cbcf713eaa40f024", "shasum": "" }, "require": { "php": "^7.2 || ^8.0" }, "require-dev": { - "doctrine/coding-standard": "^8.2", - "phpstan/phpstan": "^0.12", - "phpstan/phpstan-phpunit": "^0.12", - "phpstan/phpstan-strict-rules": "^0.12", - "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0", - "vimeo/psalm": "^4.10" + "doctrine/coding-standard": "^10", + "phpstan/phpstan": "^1.8", + "phpstan/phpstan-phpunit": "^1.1", + "phpstan/phpstan-strict-rules": "^1.3", + "phpunit/phpunit": "^8.5 || ^9.5", + "vimeo/psalm": "^4.25" }, "type": "library", "autoload": { @@ -195,7 +195,7 @@ ], "support": { "issues": "https://github.com/doctrine/inflector/issues", - "source": "https://github.com/doctrine/inflector/tree/2.0.4" + "source": "https://github.com/doctrine/inflector/tree/2.0.6" }, "funding": [ { @@ -211,36 +211,32 @@ "type": "tidelift" } ], - "time": "2021-10-22T20:16:43+00:00" + "time": "2022-10-20T09:10:12+00:00" }, { "name": "doctrine/lexer", - "version": "1.2.1", + "version": "1.2.3", "source": { "type": "git", "url": "https://github.com/doctrine/lexer.git", - "reference": "e864bbf5904cb8f5bb334f99209b48018522f042" + "reference": "c268e882d4dbdd85e36e4ad69e02dc284f89d229" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/lexer/zipball/e864bbf5904cb8f5bb334f99209b48018522f042", - "reference": "e864bbf5904cb8f5bb334f99209b48018522f042", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/c268e882d4dbdd85e36e4ad69e02dc284f89d229", + "reference": "c268e882d4dbdd85e36e4ad69e02dc284f89d229", "shasum": "" }, "require": { - "php": "^7.2 || ^8.0" + "php": "^7.1 || ^8.0" }, "require-dev": { - "doctrine/coding-standard": "^6.0", - "phpstan/phpstan": "^0.11.8", - "phpunit/phpunit": "^8.2" + "doctrine/coding-standard": "^9.0", + "phpstan/phpstan": "^1.3", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "vimeo/psalm": "^4.11" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, "autoload": { "psr-4": { "Doctrine\\Common\\Lexer\\": "lib/Doctrine/Common/Lexer" @@ -275,7 +271,7 @@ ], "support": { "issues": "https://github.com/doctrine/lexer/issues", - "source": "https://github.com/doctrine/lexer/tree/1.2.1" + "source": "https://github.com/doctrine/lexer/tree/1.2.3" }, "funding": [ { @@ -291,7 +287,7 @@ "type": "tidelift" } ], - "time": "2020-05-25T17:44:05+00:00" + "time": "2022-02-28T11:07:21+00:00" }, { "name": "dragonmantank/cron-expression", @@ -427,16 +423,16 @@ }, { "name": "fideloper/proxy", - "version": "4.4.1", + "version": "4.4.2", "source": { "type": "git", "url": "https://github.com/fideloper/TrustedProxy.git", - "reference": "c073b2bd04d1c90e04dc1b787662b558dd65ade0" + "reference": "a751f2bc86dd8e6cfef12dc0cbdada82f5a18750" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/fideloper/TrustedProxy/zipball/c073b2bd04d1c90e04dc1b787662b558dd65ade0", - "reference": "c073b2bd04d1c90e04dc1b787662b558dd65ade0", + "url": "https://api.github.com/repos/fideloper/TrustedProxy/zipball/a751f2bc86dd8e6cfef12dc0cbdada82f5a18750", + "reference": "a751f2bc86dd8e6cfef12dc0cbdada82f5a18750", "shasum": "" }, "require": { @@ -446,7 +442,7 @@ "require-dev": { "illuminate/http": "^5.0|^6.0|^7.0|^8.0|^9.0", "mockery/mockery": "^1.0", - "phpunit/phpunit": "^6.0" + "phpunit/phpunit": "^8.5.8|^9.3.3" }, "type": "library", "extra": { @@ -479,9 +475,9 @@ ], "support": { "issues": "https://github.com/fideloper/TrustedProxy/issues", - "source": "https://github.com/fideloper/TrustedProxy/tree/4.4.1" + "source": "https://github.com/fideloper/TrustedProxy/tree/4.4.2" }, - "time": "2020-10-22T13:48:01+00:00" + "time": "2022-02-09T13:33:34+00:00" }, { "name": "fruitcake/laravel-cors", @@ -563,24 +559,24 @@ }, { "name": "guzzlehttp/guzzle", - "version": "6.5.5", + "version": "6.5.8", "source": { "type": "git", "url": "https://github.com/guzzle/guzzle.git", - "reference": "9d4290de1cfd701f38099ef7e183b64b4b7b0c5e" + "reference": "a52f0440530b54fa079ce76e8c5d196a42cad981" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/9d4290de1cfd701f38099ef7e183b64b4b7b0c5e", - "reference": "9d4290de1cfd701f38099ef7e183b64b4b7b0c5e", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/a52f0440530b54fa079ce76e8c5d196a42cad981", + "reference": "a52f0440530b54fa079ce76e8c5d196a42cad981", "shasum": "" }, "require": { "ext-json": "*", "guzzlehttp/promises": "^1.0", - "guzzlehttp/psr7": "^1.6.1", + "guzzlehttp/psr7": "^1.9", "php": ">=5.5", - "symfony/polyfill-intl-idn": "^1.17.0" + "symfony/polyfill-intl-idn": "^1.17" }, "require-dev": { "ext-curl": "*", @@ -597,22 +593,52 @@ } }, "autoload": { - "psr-4": { - "GuzzleHttp\\": "src/" - }, "files": [ "src/functions_include.php" - ] + ], + "psr-4": { + "GuzzleHttp\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, { "name": "Michael Dowling", "email": "mtdowling@gmail.com", "homepage": "https://github.com/mtdowling" + }, + { + "name": "Jeremy Lindblom", + "email": "jeremeamia@gmail.com", + "homepage": "https://github.com/jeremeamia" + }, + { + "name": "George Mponos", + "email": "gmponos@gmail.com", + "homepage": "https://github.com/gmponos" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://github.com/sagikazarmark" + }, + { + "name": "Tobias Schultze", + "email": "webmaster@tubo-world.de", + "homepage": "https://github.com/Tobion" } ], "description": "Guzzle is a PHP HTTP client library", @@ -628,22 +654,36 @@ ], "support": { "issues": "https://github.com/guzzle/guzzle/issues", - "source": "https://github.com/guzzle/guzzle/tree/6.5" + "source": "https://github.com/guzzle/guzzle/tree/6.5.8" }, - "time": "2020-06-16T21:01:06+00:00" + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/guzzle", + "type": "tidelift" + } + ], + "time": "2022-06-20T22:16:07+00:00" }, { "name": "guzzlehttp/promises", - "version": "1.5.1", + "version": "1.5.2", "source": { "type": "git", "url": "https://github.com/guzzle/promises.git", - "reference": "fe752aedc9fd8fcca3fe7ad05d419d32998a06da" + "reference": "b94b2807d85443f9719887892882d0329d1e2598" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/fe752aedc9fd8fcca3fe7ad05d419d32998a06da", - "reference": "fe752aedc9fd8fcca3fe7ad05d419d32998a06da", + "url": "https://api.github.com/repos/guzzle/promises/zipball/b94b2807d85443f9719887892882d0329d1e2598", + "reference": "b94b2807d85443f9719887892882d0329d1e2598", "shasum": "" }, "require": { @@ -659,12 +699,12 @@ } }, "autoload": { - "psr-4": { - "GuzzleHttp\\Promise\\": "src/" - }, "files": [ "src/functions_include.php" - ] + ], + "psr-4": { + "GuzzleHttp\\Promise\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -698,7 +738,7 @@ ], "support": { "issues": "https://github.com/guzzle/promises/issues", - "source": "https://github.com/guzzle/promises/tree/1.5.1" + "source": "https://github.com/guzzle/promises/tree/1.5.2" }, "funding": [ { @@ -714,20 +754,20 @@ "type": "tidelift" } ], - "time": "2021-10-22T20:56:57+00:00" + "time": "2022-08-28T14:55:35+00:00" }, { "name": "guzzlehttp/psr7", - "version": "1.8.3", + "version": "1.9.0", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "1afdd860a2566ed3c2b0b4a3de6e23434a79ec85" + "reference": "e98e3e6d4f86621a9b75f623996e6bbdeb4b9318" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/1afdd860a2566ed3c2b0b4a3de6e23434a79ec85", - "reference": "1afdd860a2566ed3c2b0b4a3de6e23434a79ec85", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/e98e3e6d4f86621a9b75f623996e6bbdeb4b9318", + "reference": "e98e3e6d4f86621a9b75f623996e6bbdeb4b9318", "shasum": "" }, "require": { @@ -748,16 +788,16 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.7-dev" + "dev-master": "1.9-dev" } }, "autoload": { - "psr-4": { - "GuzzleHttp\\Psr7\\": "src/" - }, "files": [ "src/functions_include.php" - ] + ], + "psr-4": { + "GuzzleHttp\\Psr7\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -808,7 +848,7 @@ ], "support": { "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/1.8.3" + "source": "https://github.com/guzzle/psr7/tree/1.9.0" }, "funding": [ { @@ -824,20 +864,20 @@ "type": "tidelift" } ], - "time": "2021-10-05T13:56:00+00:00" + "time": "2022-06-20T21:43:03+00:00" }, { "name": "laravel/framework", - "version": "v7.30.5", + "version": "v7.30.6", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "afb0c034072a03a5ab1872fbdea54f8befd873c3" + "reference": "ecdafad1dda3c790af186a6d18479ea4757ef9ee" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/afb0c034072a03a5ab1872fbdea54f8befd873c3", - "reference": "afb0c034072a03a5ab1872fbdea54f8befd873c3", + "url": "https://api.github.com/repos/laravel/framework/zipball/ecdafad1dda3c790af186a6d18479ea4757ef9ee", + "reference": "ecdafad1dda3c790af186a6d18479ea4757ef9ee", "shasum": "" }, "require": { @@ -986,7 +1026,7 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2021-11-17T15:00:14+00:00" + "time": "2021-12-07T14:56:47+00:00" }, { "name": "laravel/laravel", @@ -1048,32 +1088,32 @@ }, { "name": "laravel/tinker", - "version": "v2.6.2", + "version": "v2.7.3", "source": { "type": "git", "url": "https://github.com/laravel/tinker.git", - "reference": "c808a7227f97ecfd9219fbf913bad842ea854ddc" + "reference": "5062061b4924af3392225dd482ca7b4d85d8b8ef" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/tinker/zipball/c808a7227f97ecfd9219fbf913bad842ea854ddc", - "reference": "c808a7227f97ecfd9219fbf913bad842ea854ddc", + "url": "https://api.github.com/repos/laravel/tinker/zipball/5062061b4924af3392225dd482ca7b4d85d8b8ef", + "reference": "5062061b4924af3392225dd482ca7b4d85d8b8ef", "shasum": "" }, "require": { - "illuminate/console": "^6.0|^7.0|^8.0", - "illuminate/contracts": "^6.0|^7.0|^8.0", - "illuminate/support": "^6.0|^7.0|^8.0", + "illuminate/console": "^6.0|^7.0|^8.0|^9.0", + "illuminate/contracts": "^6.0|^7.0|^8.0|^9.0", + "illuminate/support": "^6.0|^7.0|^8.0|^9.0", "php": "^7.2.5|^8.0", - "psy/psysh": "^0.10.4", - "symfony/var-dumper": "^4.3.4|^5.0" + "psy/psysh": "^0.10.4|^0.11.1", + "symfony/var-dumper": "^4.3.4|^5.0|^6.0" }, "require-dev": { "mockery/mockery": "~1.3.3|^1.4.2", "phpunit/phpunit": "^8.5.8|^9.3.3" }, "suggest": { - "illuminate/database": "The Illuminate Database package (^6.0|^7.0|^8.0)." + "illuminate/database": "The Illuminate Database package (^6.0|^7.0|^8.0|^9.0)." }, "type": "library", "extra": { @@ -1110,22 +1150,22 @@ ], "support": { "issues": "https://github.com/laravel/tinker/issues", - "source": "https://github.com/laravel/tinker/tree/v2.6.2" + "source": "https://github.com/laravel/tinker/tree/v2.7.3" }, - "time": "2021-09-28T15:47:34+00:00" + "time": "2022-11-09T15:11:38+00:00" }, { "name": "league/commonmark", - "version": "1.6.6", + "version": "1.6.7", "source": { "type": "git", "url": "https://github.com/thephpleague/commonmark.git", - "reference": "c4228d11e30d7493c6836d20872f9582d8ba6dcf" + "reference": "2b8185c13bc9578367a5bf901881d1c1b5bbd09b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/c4228d11e30d7493c6836d20872f9582d8ba6dcf", - "reference": "c4228d11e30d7493c6836d20872f9582d8ba6dcf", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/2b8185c13bc9578367a5bf901881d1c1b5bbd09b", + "reference": "2b8185c13bc9578367a5bf901881d1c1b5bbd09b", "shasum": "" }, "require": { @@ -1188,10 +1228,6 @@ "source": "https://github.com/thephpleague/commonmark" }, "funding": [ - { - "url": "https://enjoy.gitstore.app/repositories/thephpleague/commonmark", - "type": "custom" - }, { "url": "https://www.colinodell.com/sponsor", "type": "custom" @@ -1204,29 +1240,25 @@ "url": "https://github.com/colinodell", "type": "github" }, - { - "url": "https://www.patreon.com/colinodell", - "type": "patreon" - }, { "url": "https://tidelift.com/funding/github/packagist/league/commonmark", "type": "tidelift" } ], - "time": "2021-07-17T17:13:23+00:00" + "time": "2022-01-13T17:18:13+00:00" }, { "name": "league/flysystem", - "version": "1.1.8", + "version": "1.1.10", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem.git", - "reference": "c995bb0c23c58c9813d081f9523c9b7bb496698e" + "reference": "3239285c825c152bcc315fe0e87d6b55f5972ed1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/c995bb0c23c58c9813d081f9523c9b7bb496698e", - "reference": "c995bb0c23c58c9813d081f9523c9b7bb496698e", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/3239285c825c152bcc315fe0e87d6b55f5972ed1", + "reference": "3239285c825c152bcc315fe0e87d6b55f5972ed1", "shasum": "" }, "require": { @@ -1299,7 +1331,7 @@ ], "support": { "issues": "https://github.com/thephpleague/flysystem/issues", - "source": "https://github.com/thephpleague/flysystem/tree/1.1.8" + "source": "https://github.com/thephpleague/flysystem/tree/1.1.10" }, "funding": [ { @@ -1307,20 +1339,20 @@ "type": "other" } ], - "time": "2021-11-28T21:50:23+00:00" + "time": "2022-10-04T09:16:37+00:00" }, { "name": "league/mime-type-detection", - "version": "1.9.0", + "version": "1.11.0", "source": { "type": "git", "url": "https://github.com/thephpleague/mime-type-detection.git", - "reference": "aa70e813a6ad3d1558fc927863d47309b4c23e69" + "reference": "ff6248ea87a9f116e78edd6002e39e5128a0d4dd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/aa70e813a6ad3d1558fc927863d47309b4c23e69", - "reference": "aa70e813a6ad3d1558fc927863d47309b4c23e69", + "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/ff6248ea87a9f116e78edd6002e39e5128a0d4dd", + "reference": "ff6248ea87a9f116e78edd6002e39e5128a0d4dd", "shasum": "" }, "require": { @@ -1351,7 +1383,7 @@ "description": "Mime-type detection for Flysystem", "support": { "issues": "https://github.com/thephpleague/mime-type-detection/issues", - "source": "https://github.com/thephpleague/mime-type-detection/tree/1.9.0" + "source": "https://github.com/thephpleague/mime-type-detection/tree/1.11.0" }, "funding": [ { @@ -1363,20 +1395,20 @@ "type": "tidelift" } ], - "time": "2021-11-21T11:48:40+00:00" + "time": "2022-04-17T13:12:02+00:00" }, { "name": "monolog/monolog", - "version": "2.3.5", + "version": "2.8.0", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "fd4380d6fc37626e2f799f29d91195040137eba9" + "reference": "720488632c590286b88b80e62aa3d3d551ad4a50" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/fd4380d6fc37626e2f799f29d91195040137eba9", - "reference": "fd4380d6fc37626e2f799f29d91195040137eba9", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/720488632c590286b88b80e62aa3d3d551ad4a50", + "reference": "720488632c590286b88b80e62aa3d3d551ad4a50", "shasum": "" }, "require": { @@ -1389,18 +1421,22 @@ "require-dev": { "aws/aws-sdk-php": "^2.4.9 || ^3.0", "doctrine/couchdb": "~1.0@dev", - "elasticsearch/elasticsearch": "^7", + "elasticsearch/elasticsearch": "^7 || ^8", + "ext-json": "*", "graylog2/gelf-php": "^1.4.2", + "guzzlehttp/guzzle": "^7.4", + "guzzlehttp/psr7": "^2.2", "mongodb/mongodb": "^1.8", "php-amqplib/php-amqplib": "~2.4 || ^3", - "php-console/php-console": "^3.1.3", - "phpspec/prophecy": "^1.6.1", + "phpspec/prophecy": "^1.15", "phpstan/phpstan": "^0.12.91", - "phpunit/phpunit": "^8.5", - "predis/predis": "^1.1", - "rollbar/rollbar": "^1.3", - "ruflin/elastica": ">=0.90@dev", - "swiftmailer/swiftmailer": "^5.3|^6.0" + "phpunit/phpunit": "^8.5.14", + "predis/predis": "^1.1 || ^2.0", + "rollbar/rollbar": "^1.3 || ^2 || ^3", + "ruflin/elastica": "^7", + "swiftmailer/swiftmailer": "^5.3|^6.0", + "symfony/mailer": "^5.4 || ^6", + "symfony/mime": "^5.4 || ^6" }, "suggest": { "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", @@ -1415,7 +1451,6 @@ "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", "mongodb/mongodb": "Allow sending log messages to a MongoDB server (via library)", "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", - "php-console/php-console": "Allow sending log messages to Google Chrome", "rollbar/rollbar": "Allow sending log messages to Rollbar", "ruflin/elastica": "Allow sending log messages to an Elastic Search server" }, @@ -1450,7 +1485,7 @@ ], "support": { "issues": "https://github.com/Seldaek/monolog/issues", - "source": "https://github.com/Seldaek/monolog/tree/2.3.5" + "source": "https://github.com/Seldaek/monolog/tree/2.8.0" }, "funding": [ { @@ -1462,20 +1497,20 @@ "type": "tidelift" } ], - "time": "2021-10-01T21:08:31+00:00" + "time": "2022-07-24T11:55:47+00:00" }, { "name": "nesbot/carbon", - "version": "2.55.2", + "version": "2.63.0", "source": { "type": "git", "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "8c2a18ce3e67c34efc1b29f64fe61304368259a2" + "reference": "ad35dd71a6a212b98e4b87e97389b6fa85f0e347" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/8c2a18ce3e67c34efc1b29f64fe61304368259a2", - "reference": "8c2a18ce3e67c34efc1b29f64fe61304368259a2", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/ad35dd71a6a212b98e4b87e97389b6fa85f0e347", + "reference": "ad35dd71a6a212b98e4b87e97389b6fa85f0e347", "shasum": "" }, "require": { @@ -1490,10 +1525,12 @@ "doctrine/orm": "^2.7", "friendsofphp/php-cs-fixer": "^3.0", "kylekatarnls/multi-tester": "^2.0", + "ondrejmirtes/better-reflection": "*", "phpmd/phpmd": "^2.9", "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^0.12.54", - "phpunit/phpunit": "^7.5.20 || ^8.5.14", + "phpstan/phpstan": "^0.12.99 || ^1.7.14", + "phpunit/php-file-iterator": "^2.0.5 || ^3.0.6", + "phpunit/phpunit": "^7.5.20 || ^8.5.26 || ^9.5.20", "squizlabs/php_codesniffer": "^3.4" }, "bin": [ @@ -1550,28 +1587,32 @@ }, "funding": [ { - "url": "https://opencollective.com/Carbon", - "type": "open_collective" + "url": "https://github.com/sponsors/kylekatarnls", + "type": "github" }, { - "url": "https://tidelift.com/funding/github/packagist/nesbot/carbon", + "url": "https://opencollective.com/Carbon#sponsor", + "type": "opencollective" + }, + { + "url": "https://tidelift.com/subscription/pkg/packagist-nesbot-carbon?utm_source=packagist-nesbot-carbon&utm_medium=referral&utm_campaign=readme", "type": "tidelift" } ], - "time": "2021-12-03T14:59:52+00:00" + "time": "2022-10-30T18:34:28+00:00" }, { "name": "nikic/php-parser", - "version": "v4.13.2", + "version": "v4.15.2", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "210577fe3cf7badcc5814d99455df46564f3c077" + "reference": "f59bbe44bf7d96f24f3e2b4ddc21cd52c1d2adbc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/210577fe3cf7badcc5814d99455df46564f3c077", - "reference": "210577fe3cf7badcc5814d99455df46564f3c077", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/f59bbe44bf7d96f24f3e2b4ddc21cd52c1d2adbc", + "reference": "f59bbe44bf7d96f24f3e2b4ddc21cd52c1d2adbc", "shasum": "" }, "require": { @@ -1612,22 +1653,22 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v4.13.2" + "source": "https://github.com/nikic/PHP-Parser/tree/v4.15.2" }, - "time": "2021-11-30T19:35:32+00:00" + "time": "2022-11-12T15:38:23+00:00" }, { "name": "opis/closure", - "version": "3.6.2", + "version": "3.6.3", "source": { "type": "git", "url": "https://github.com/opis/closure.git", - "reference": "06e2ebd25f2869e54a306dda991f7db58066f7f6" + "reference": "3d81e4309d2a927abbe66df935f4bb60082805ad" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/opis/closure/zipball/06e2ebd25f2869e54a306dda991f7db58066f7f6", - "reference": "06e2ebd25f2869e54a306dda991f7db58066f7f6", + "url": "https://api.github.com/repos/opis/closure/zipball/3d81e4309d2a927abbe66df935f4bb60082805ad", + "reference": "3d81e4309d2a927abbe66df935f4bb60082805ad", "shasum": "" }, "require": { @@ -1644,12 +1685,12 @@ } }, "autoload": { - "psr-4": { - "Opis\\Closure\\": "src/" - }, "files": [ "functions.php" - ] + ], + "psr-4": { + "Opis\\Closure\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -1677,35 +1718,39 @@ ], "support": { "issues": "https://github.com/opis/closure/issues", - "source": "https://github.com/opis/closure/tree/3.6.2" + "source": "https://github.com/opis/closure/tree/3.6.3" }, - "time": "2021-04-09T13:42:10+00:00" + "time": "2022-01-27T09:35:39+00:00" }, { "name": "phpoption/phpoption", - "version": "1.8.0", + "version": "1.9.0", "source": { "type": "git", "url": "https://github.com/schmittjoh/php-option.git", - "reference": "5455cb38aed4523f99977c4a12ef19da4bfe2a28" + "reference": "dc5ff11e274a90cc1c743f66c9ad700ce50db9ab" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/5455cb38aed4523f99977c4a12ef19da4bfe2a28", - "reference": "5455cb38aed4523f99977c4a12ef19da4bfe2a28", + "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/dc5ff11e274a90cc1c743f66c9ad700ce50db9ab", + "reference": "dc5ff11e274a90cc1c743f66c9ad700ce50db9ab", "shasum": "" }, "require": { - "php": "^7.0 || ^8.0" + "php": "^7.2.5 || ^8.0" }, "require-dev": { - "bamarni/composer-bin-plugin": "^1.4.1", - "phpunit/phpunit": "^6.5.14 || ^7.0.20 || ^8.5.19 || ^9.5.8" + "bamarni/composer-bin-plugin": "^1.8", + "phpunit/phpunit": "^8.5.28 || ^9.5.21" }, "type": "library", "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": true + }, "branch-alias": { - "dev-master": "1.8-dev" + "dev-master": "1.9-dev" } }, "autoload": { @@ -1720,11 +1765,13 @@ "authors": [ { "name": "Johannes M. Schmitt", - "email": "schmittjoh@gmail.com" + "email": "schmittjoh@gmail.com", + "homepage": "https://github.com/schmittjoh" }, { "name": "Graham Campbell", - "email": "hello@gjcampbell.co.uk" + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" } ], "description": "Option Type for PHP", @@ -1736,7 +1783,7 @@ ], "support": { "issues": "https://github.com/schmittjoh/php-option/issues", - "source": "https://github.com/schmittjoh/php-option/tree/1.8.0" + "source": "https://github.com/schmittjoh/php-option/tree/1.9.0" }, "funding": [ { @@ -1748,7 +1795,7 @@ "type": "tidelift" } ], - "time": "2021-08-28T21:27:29+00:00" + "time": "2022-07-30T15:51:26+00:00" }, { "name": "psr/container", @@ -2004,36 +2051,37 @@ }, { "name": "psy/psysh", - "version": "v0.10.12", + "version": "v0.11.9", "source": { "type": "git", "url": "https://github.com/bobthecow/psysh.git", - "reference": "a0d9981aa07ecfcbea28e4bfa868031cca121e7d" + "reference": "1acec99d6684a54ff92f8b548a4e41b566963778" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/bobthecow/psysh/zipball/a0d9981aa07ecfcbea28e4bfa868031cca121e7d", - "reference": "a0d9981aa07ecfcbea28e4bfa868031cca121e7d", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/1acec99d6684a54ff92f8b548a4e41b566963778", + "reference": "1acec99d6684a54ff92f8b548a4e41b566963778", "shasum": "" }, "require": { "ext-json": "*", "ext-tokenizer": "*", - "nikic/php-parser": "~4.0|~3.0|~2.0|~1.3", - "php": "^8.0 || ^7.0 || ^5.5.9", - "symfony/console": "~5.0|~4.0|~3.0|^2.4.2|~2.3.10", - "symfony/var-dumper": "~5.0|~4.0|~3.0|~2.7" + "nikic/php-parser": "^4.0 || ^3.1", + "php": "^8.0 || ^7.0.8", + "symfony/console": "^6.0 || ^5.0 || ^4.0 || ^3.4", + "symfony/var-dumper": "^6.0 || ^5.0 || ^4.0 || ^3.4" + }, + "conflict": { + "symfony/console": "4.4.37 || 5.3.14 || 5.3.15 || 5.4.3 || 5.4.4 || 6.0.3 || 6.0.4" }, "require-dev": { - "bamarni/composer-bin-plugin": "^1.2", - "hoa/console": "3.17.*" + "bamarni/composer-bin-plugin": "^1.2" }, "suggest": { "ext-pcntl": "Enabling the PCNTL extension makes PsySH a lot happier :)", "ext-pdo-sqlite": "The doc command requires SQLite to work.", "ext-posix": "If you have PCNTL, you'll want the POSIX extension as well.", - "ext-readline": "Enables support for arrow-key history navigation, and showing and manipulating command history.", - "hoa/console": "A pure PHP readline implementation. You'll want this if your PHP install doesn't already support readline or libedit." + "ext-readline": "Enables support for arrow-key history navigation, and showing and manipulating command history." }, "bin": [ "bin/psysh" @@ -2041,7 +2089,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "0.10.x-dev" + "dev-main": "0.11.x-dev" } }, "autoload": { @@ -2073,9 +2121,9 @@ ], "support": { "issues": "https://github.com/bobthecow/psysh/issues", - "source": "https://github.com/bobthecow/psysh/tree/v0.10.12" + "source": "https://github.com/bobthecow/psysh/tree/v0.11.9" }, - "time": "2021-11-30T14:05:36+00:00" + "time": "2022-11-06T15:29:46+00:00" }, { "name": "ralouphie/getallheaders", @@ -2265,12 +2313,12 @@ } }, "autoload": { - "psr-4": { - "Ramsey\\Uuid\\": "src/" - }, "files": [ "src/functions.php" - ] + ], + "psr-4": { + "Ramsey\\Uuid\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -2376,23 +2424,23 @@ }, { "name": "symfony/console", - "version": "v5.4.0", + "version": "v5.4.16", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "ec3661faca1d110d6c307e124b44f99ac54179e3" + "reference": "8e9b9c8dfb33af6057c94e1b44846bee700dc5ef" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/ec3661faca1d110d6c307e124b44f99ac54179e3", - "reference": "ec3661faca1d110d6c307e124b44f99ac54179e3", + "url": "https://api.github.com/repos/symfony/console/zipball/8e9b9c8dfb33af6057c94e1b44846bee700dc5ef", + "reference": "8e9b9c8dfb33af6057c94e1b44846bee700dc5ef", "shasum": "" }, "require": { "php": ">=7.2.5", "symfony/deprecation-contracts": "^2.1|^3", "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php73": "^1.8", + "symfony/polyfill-php73": "^1.9", "symfony/polyfill-php80": "^1.16", "symfony/service-contracts": "^1.1|^2|^3", "symfony/string": "^5.1|^6.0" @@ -2455,7 +2503,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v5.4.0" + "source": "https://github.com/symfony/console/tree/v5.4.16" }, "funding": [ { @@ -2471,20 +2519,20 @@ "type": "tidelift" } ], - "time": "2021-11-29T15:30:56+00:00" + "time": "2022-11-25T14:09:27+00:00" }, { "name": "symfony/css-selector", - "version": "v5.4.0", + "version": "v5.4.11", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "44b933f98bb4b5220d10bed9ce5662f8c2d13dcc" + "reference": "c1681789f059ab756001052164726ae88512ae3d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/44b933f98bb4b5220d10bed9ce5662f8c2d13dcc", - "reference": "44b933f98bb4b5220d10bed9ce5662f8c2d13dcc", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/c1681789f059ab756001052164726ae88512ae3d", + "reference": "c1681789f059ab756001052164726ae88512ae3d", "shasum": "" }, "require": { @@ -2521,7 +2569,7 @@ "description": "Converts CSS selectors to XPath expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/css-selector/tree/v5.4.0" + "source": "https://github.com/symfony/css-selector/tree/v5.4.11" }, "funding": [ { @@ -2537,20 +2585,20 @@ "type": "tidelift" } ], - "time": "2021-09-09T08:06:01+00:00" + "time": "2022-06-27T16:58:25+00:00" }, { "name": "symfony/deprecation-contracts", - "version": "v2.5.0", + "version": "v2.5.2", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "6f981ee24cf69ee7ce9736146d1c57c2780598a8" + "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/6f981ee24cf69ee7ce9736146d1c57c2780598a8", - "reference": "6f981ee24cf69ee7ce9736146d1c57c2780598a8", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/e8b495ea28c1d97b5e0c121748d6f9b53d075c66", + "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66", "shasum": "" }, "require": { @@ -2588,7 +2636,7 @@ "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v2.5.0" + "source": "https://github.com/symfony/deprecation-contracts/tree/v2.5.2" }, "funding": [ { @@ -2604,20 +2652,20 @@ "type": "tidelift" } ], - "time": "2021-07-12T14:48:14+00:00" + "time": "2022-01-02T09:53:40+00:00" }, { "name": "symfony/error-handler", - "version": "v5.4.0", + "version": "v5.4.15", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "8433fa3145ac78df88b87a4a539118e950828126" + "reference": "539cf1428b8442303c6e876ad7bf5a7babd91091" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/8433fa3145ac78df88b87a4a539118e950828126", - "reference": "8433fa3145ac78df88b87a4a539118e950828126", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/539cf1428b8442303c6e876ad7bf5a7babd91091", + "reference": "539cf1428b8442303c6e876ad7bf5a7babd91091", "shasum": "" }, "require": { @@ -2659,7 +2707,7 @@ "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/error-handler/tree/v5.4.0" + "source": "https://github.com/symfony/error-handler/tree/v5.4.15" }, "funding": [ { @@ -2675,20 +2723,20 @@ "type": "tidelift" } ], - "time": "2021-11-29T15:30:56+00:00" + "time": "2022-10-27T06:32:25+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v5.4.0", + "version": "v5.4.9", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "27d39ae126352b9fa3be5e196ccf4617897be3eb" + "reference": "8e6ce1cc0279e3ff3c8ff0f43813bc88d21ca1bc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/27d39ae126352b9fa3be5e196ccf4617897be3eb", - "reference": "27d39ae126352b9fa3be5e196ccf4617897be3eb", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/8e6ce1cc0279e3ff3c8ff0f43813bc88d21ca1bc", + "reference": "8e6ce1cc0279e3ff3c8ff0f43813bc88d21ca1bc", "shasum": "" }, "require": { @@ -2744,7 +2792,7 @@ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v5.4.0" + "source": "https://github.com/symfony/event-dispatcher/tree/v5.4.9" }, "funding": [ { @@ -2760,20 +2808,20 @@ "type": "tidelift" } ], - "time": "2021-11-23T10:19:22+00:00" + "time": "2022-05-05T16:45:39+00:00" }, { "name": "symfony/event-dispatcher-contracts", - "version": "v2.5.0", + "version": "v2.5.2", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "66bea3b09be61613cd3b4043a65a8ec48cfa6d2a" + "reference": "f98b54df6ad059855739db6fcbc2d36995283fe1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/66bea3b09be61613cd3b4043a65a8ec48cfa6d2a", - "reference": "66bea3b09be61613cd3b4043a65a8ec48cfa6d2a", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/f98b54df6ad059855739db6fcbc2d36995283fe1", + "reference": "f98b54df6ad059855739db6fcbc2d36995283fe1", "shasum": "" }, "require": { @@ -2823,7 +2871,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v2.5.0" + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v2.5.2" }, "funding": [ { @@ -2839,20 +2887,20 @@ "type": "tidelift" } ], - "time": "2021-07-12T14:48:14+00:00" + "time": "2022-01-02T09:53:40+00:00" }, { "name": "symfony/finder", - "version": "v5.4.0", + "version": "v5.4.11", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "d2f29dac98e96a98be467627bd49c2efb1bc2590" + "reference": "7872a66f57caffa2916a584db1aa7f12adc76f8c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/d2f29dac98e96a98be467627bd49c2efb1bc2590", - "reference": "d2f29dac98e96a98be467627bd49c2efb1bc2590", + "url": "https://api.github.com/repos/symfony/finder/zipball/7872a66f57caffa2916a584db1aa7f12adc76f8c", + "reference": "7872a66f57caffa2916a584db1aa7f12adc76f8c", "shasum": "" }, "require": { @@ -2886,7 +2934,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v5.4.0" + "source": "https://github.com/symfony/finder/tree/v5.4.11" }, "funding": [ { @@ -2902,20 +2950,20 @@ "type": "tidelift" } ], - "time": "2021-11-28T15:25:38+00:00" + "time": "2022-07-29T07:37:50+00:00" }, { "name": "symfony/http-foundation", - "version": "v5.4.0", + "version": "v5.4.16", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "5ef86ac7927d2de08dc1e26eb91325f9ccbe6309" + "reference": "5032c5849aef24741e1970cb03511b0dd131d838" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/5ef86ac7927d2de08dc1e26eb91325f9ccbe6309", - "reference": "5ef86ac7927d2de08dc1e26eb91325f9ccbe6309", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/5032c5849aef24741e1970cb03511b0dd131d838", + "reference": "5032c5849aef24741e1970cb03511b0dd131d838", "shasum": "" }, "require": { @@ -2927,8 +2975,11 @@ "require-dev": { "predis/predis": "~1.0", "symfony/cache": "^4.4|^5.0|^6.0", + "symfony/dependency-injection": "^5.4|^6.0", "symfony/expression-language": "^4.4|^5.0|^6.0", - "symfony/mime": "^4.4|^5.0|^6.0" + "symfony/http-kernel": "^5.4.12|^6.0.12|^6.1.4", + "symfony/mime": "^4.4|^5.0|^6.0", + "symfony/rate-limiter": "^5.2|^6.0" }, "suggest": { "symfony/mime": "To use the file extension guesser" @@ -2959,7 +3010,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v5.4.0" + "source": "https://github.com/symfony/http-foundation/tree/v5.4.16" }, "funding": [ { @@ -2975,20 +3026,20 @@ "type": "tidelift" } ], - "time": "2021-11-28T15:25:38+00:00" + "time": "2022-11-07T08:06:40+00:00" }, { "name": "symfony/http-kernel", - "version": "v5.4.0", + "version": "v5.4.16", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "e012f16688bcb151e965473a70d8ebaa8b1d15ea" + "reference": "b432c57c5de73634b1859093c1f58e3cd84455a1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/e012f16688bcb151e965473a70d8ebaa8b1d15ea", - "reference": "e012f16688bcb151e965473a70d8ebaa8b1d15ea", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/b432c57c5de73634b1859093c1f58e3cd84455a1", + "reference": "b432c57c5de73634b1859093c1f58e3cd84455a1", "shasum": "" }, "require": { @@ -3071,7 +3122,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v5.4.0" + "source": "https://github.com/symfony/http-kernel/tree/v5.4.16" }, "funding": [ { @@ -3087,20 +3138,20 @@ "type": "tidelift" } ], - "time": "2021-11-29T16:56:53+00:00" + "time": "2022-11-28T18:08:58+00:00" }, { "name": "symfony/mime", - "version": "v5.4.0", + "version": "v5.4.16", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "d4365000217b67c01acff407573906ff91bcfb34" + "reference": "46eeedb08f0832b1b61a84c612d945fc85ee4734" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/d4365000217b67c01acff407573906ff91bcfb34", - "reference": "d4365000217b67c01acff407573906ff91bcfb34", + "url": "https://api.github.com/repos/symfony/mime/zipball/46eeedb08f0832b1b61a84c612d945fc85ee4734", + "reference": "46eeedb08f0832b1b61a84c612d945fc85ee4734", "shasum": "" }, "require": { @@ -3114,7 +3165,8 @@ "egulias/email-validator": "~3.0.0", "phpdocumentor/reflection-docblock": "<3.2.2", "phpdocumentor/type-resolver": "<1.4.0", - "symfony/mailer": "<4.4" + "symfony/mailer": "<4.4", + "symfony/serializer": "<5.4.14|>=6.0,<6.0.14|>=6.1,<6.1.6" }, "require-dev": { "egulias/email-validator": "^2.1.10|^3.1", @@ -3122,7 +3174,7 @@ "symfony/dependency-injection": "^4.4|^5.0|^6.0", "symfony/property-access": "^4.4|^5.1|^6.0", "symfony/property-info": "^4.4|^5.1|^6.0", - "symfony/serializer": "^5.2|^6.0" + "symfony/serializer": "^5.4.14|~6.0.14|^6.1.6" }, "type": "library", "autoload": { @@ -3154,7 +3206,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v5.4.0" + "source": "https://github.com/symfony/mime/tree/v5.4.16" }, "funding": [ { @@ -3170,32 +3222,35 @@ "type": "tidelift" } ], - "time": "2021-11-23T10:19:22+00:00" + "time": "2022-11-26T16:45:22+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.23.0", + "version": "v1.27.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "46cd95797e9df938fdd2b03693b5fca5e64b01ce" + "reference": "5bbc823adecdae860bb64756d639ecfec17b050a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/46cd95797e9df938fdd2b03693b5fca5e64b01ce", - "reference": "46cd95797e9df938fdd2b03693b5fca5e64b01ce", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/5bbc823adecdae860bb64756d639ecfec17b050a", + "reference": "5bbc823adecdae860bb64756d639ecfec17b050a", "shasum": "" }, "require": { "php": ">=7.1" }, + "provide": { + "ext-ctype": "*" + }, "suggest": { "ext-ctype": "For best performance" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "1.23-dev" + "dev-main": "1.27-dev" }, "thanks": { "name": "symfony/polyfill", @@ -3203,12 +3258,12 @@ } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Ctype\\": "" - }, "files": [ "bootstrap.php" - ] + ], + "psr-4": { + "Symfony\\Polyfill\\Ctype\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -3233,7 +3288,7 @@ "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.23.0" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.27.0" }, "funding": [ { @@ -3249,32 +3304,35 @@ "type": "tidelift" } ], - "time": "2021-02-19T12:13:01+00:00" + "time": "2022-11-03T14:55:06+00:00" }, { "name": "symfony/polyfill-iconv", - "version": "v1.23.0", + "version": "v1.27.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-iconv.git", - "reference": "63b5bb7db83e5673936d6e3b8b3e022ff6474933" + "reference": "927013f3aac555983a5059aada98e1907d842695" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/63b5bb7db83e5673936d6e3b8b3e022ff6474933", - "reference": "63b5bb7db83e5673936d6e3b8b3e022ff6474933", + "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/927013f3aac555983a5059aada98e1907d842695", + "reference": "927013f3aac555983a5059aada98e1907d842695", "shasum": "" }, "require": { "php": ">=7.1" }, + "provide": { + "ext-iconv": "*" + }, "suggest": { "ext-iconv": "For best performance" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "1.23-dev" + "dev-main": "1.27-dev" }, "thanks": { "name": "symfony/polyfill", @@ -3282,12 +3340,12 @@ } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Iconv\\": "" - }, "files": [ "bootstrap.php" - ] + ], + "psr-4": { + "Symfony\\Polyfill\\Iconv\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -3313,7 +3371,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-iconv/tree/v1.23.0" + "source": "https://github.com/symfony/polyfill-iconv/tree/v1.27.0" }, "funding": [ { @@ -3329,20 +3387,20 @@ "type": "tidelift" } ], - "time": "2021-05-27T09:27:20+00:00" + "time": "2022-11-03T14:55:06+00:00" }, { "name": "symfony/polyfill-intl-grapheme", - "version": "v1.23.1", + "version": "v1.27.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "16880ba9c5ebe3642d1995ab866db29270b36535" + "reference": "511a08c03c1960e08a883f4cffcacd219b758354" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/16880ba9c5ebe3642d1995ab866db29270b36535", - "reference": "16880ba9c5ebe3642d1995ab866db29270b36535", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/511a08c03c1960e08a883f4cffcacd219b758354", + "reference": "511a08c03c1960e08a883f4cffcacd219b758354", "shasum": "" }, "require": { @@ -3354,7 +3412,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.23-dev" + "dev-main": "1.27-dev" }, "thanks": { "name": "symfony/polyfill", @@ -3362,12 +3420,12 @@ } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Intl\\Grapheme\\": "" - }, "files": [ "bootstrap.php" - ] + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Grapheme\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -3394,7 +3452,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.23.1" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.27.0" }, "funding": [ { @@ -3410,20 +3468,20 @@ "type": "tidelift" } ], - "time": "2021-05-27T12:26:48+00:00" + "time": "2022-11-03T14:55:06+00:00" }, { "name": "symfony/polyfill-intl-idn", - "version": "v1.23.0", + "version": "v1.27.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "65bd267525e82759e7d8c4e8ceea44f398838e65" + "reference": "639084e360537a19f9ee352433b84ce831f3d2da" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/65bd267525e82759e7d8c4e8ceea44f398838e65", - "reference": "65bd267525e82759e7d8c4e8ceea44f398838e65", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/639084e360537a19f9ee352433b84ce831f3d2da", + "reference": "639084e360537a19f9ee352433b84ce831f3d2da", "shasum": "" }, "require": { @@ -3437,7 +3495,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.23-dev" + "dev-main": "1.27-dev" }, "thanks": { "name": "symfony/polyfill", @@ -3445,12 +3503,12 @@ } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Intl\\Idn\\": "" - }, "files": [ "bootstrap.php" - ] + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Idn\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -3481,7 +3539,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.23.0" + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.27.0" }, "funding": [ { @@ -3497,20 +3555,20 @@ "type": "tidelift" } ], - "time": "2021-05-27T09:27:20+00:00" + "time": "2022-11-03T14:55:06+00:00" }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.23.0", + "version": "v1.27.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8" + "reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8590a5f561694770bdcd3f9b5c69dde6945028e8", - "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/19bd1e4fcd5b91116f14d8533c57831ed00571b6", + "reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6", "shasum": "" }, "require": { @@ -3522,7 +3580,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.23-dev" + "dev-main": "1.27-dev" }, "thanks": { "name": "symfony/polyfill", @@ -3530,12 +3588,12 @@ } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Intl\\Normalizer\\": "" - }, "files": [ "bootstrap.php" ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Normalizer\\": "" + }, "classmap": [ "Resources/stubs" ] @@ -3565,7 +3623,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.23.0" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.27.0" }, "funding": [ { @@ -3581,32 +3639,35 @@ "type": "tidelift" } ], - "time": "2021-02-19T12:13:01+00:00" + "time": "2022-11-03T14:55:06+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.23.1", + "version": "v1.27.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6" + "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9174a3d80210dca8daa7f31fec659150bbeabfc6", - "reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/8ad114f6b39e2c98a8b0e3bd907732c207c2b534", + "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534", "shasum": "" }, "require": { "php": ">=7.1" }, + "provide": { + "ext-mbstring": "*" + }, "suggest": { "ext-mbstring": "For best performance" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "1.23-dev" + "dev-main": "1.27-dev" }, "thanks": { "name": "symfony/polyfill", @@ -3614,12 +3675,12 @@ } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" - }, "files": [ "bootstrap.php" - ] + ], + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -3645,7 +3706,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.23.1" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.27.0" }, "funding": [ { @@ -3661,20 +3722,20 @@ "type": "tidelift" } ], - "time": "2021-05-27T12:26:48+00:00" + "time": "2022-11-03T14:55:06+00:00" }, { "name": "symfony/polyfill-php72", - "version": "v1.23.0", + "version": "v1.27.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "9a142215a36a3888e30d0a9eeea9766764e96976" + "reference": "869329b1e9894268a8a61dabb69153029b7a8c97" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/9a142215a36a3888e30d0a9eeea9766764e96976", - "reference": "9a142215a36a3888e30d0a9eeea9766764e96976", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/869329b1e9894268a8a61dabb69153029b7a8c97", + "reference": "869329b1e9894268a8a61dabb69153029b7a8c97", "shasum": "" }, "require": { @@ -3683,7 +3744,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.23-dev" + "dev-main": "1.27-dev" }, "thanks": { "name": "symfony/polyfill", @@ -3691,12 +3752,12 @@ } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php72\\": "" - }, "files": [ "bootstrap.php" - ] + ], + "psr-4": { + "Symfony\\Polyfill\\Php72\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -3721,7 +3782,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php72/tree/v1.23.0" + "source": "https://github.com/symfony/polyfill-php72/tree/v1.27.0" }, "funding": [ { @@ -3737,20 +3798,20 @@ "type": "tidelift" } ], - "time": "2021-05-27T09:17:38+00:00" + "time": "2022-11-03T14:55:06+00:00" }, { "name": "symfony/polyfill-php73", - "version": "v1.23.0", + "version": "v1.27.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php73.git", - "reference": "fba8933c384d6476ab14fb7b8526e5287ca7e010" + "reference": "9e8ecb5f92152187c4799efd3c96b78ccab18ff9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/fba8933c384d6476ab14fb7b8526e5287ca7e010", - "reference": "fba8933c384d6476ab14fb7b8526e5287ca7e010", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/9e8ecb5f92152187c4799efd3c96b78ccab18ff9", + "reference": "9e8ecb5f92152187c4799efd3c96b78ccab18ff9", "shasum": "" }, "require": { @@ -3759,7 +3820,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.23-dev" + "dev-main": "1.27-dev" }, "thanks": { "name": "symfony/polyfill", @@ -3767,12 +3828,12 @@ } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php73\\": "" - }, "files": [ "bootstrap.php" ], + "psr-4": { + "Symfony\\Polyfill\\Php73\\": "" + }, "classmap": [ "Resources/stubs" ] @@ -3800,7 +3861,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php73/tree/v1.23.0" + "source": "https://github.com/symfony/polyfill-php73/tree/v1.27.0" }, "funding": [ { @@ -3816,20 +3877,20 @@ "type": "tidelift" } ], - "time": "2021-02-19T12:13:01+00:00" + "time": "2022-11-03T14:55:06+00:00" }, { "name": "symfony/polyfill-php80", - "version": "v1.23.1", + "version": "v1.27.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "1100343ed1a92e3a38f9ae122fc0eb21602547be" + "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/1100343ed1a92e3a38f9ae122fc0eb21602547be", - "reference": "1100343ed1a92e3a38f9ae122fc0eb21602547be", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936", + "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936", "shasum": "" }, "require": { @@ -3838,7 +3899,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.23-dev" + "dev-main": "1.27-dev" }, "thanks": { "name": "symfony/polyfill", @@ -3846,12 +3907,12 @@ } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php80\\": "" - }, "files": [ "bootstrap.php" ], + "psr-4": { + "Symfony\\Polyfill\\Php80\\": "" + }, "classmap": [ "Resources/stubs" ] @@ -3883,7 +3944,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.23.1" + "source": "https://github.com/symfony/polyfill-php80/tree/v1.27.0" }, "funding": [ { @@ -3899,20 +3960,20 @@ "type": "tidelift" } ], - "time": "2021-07-28T13:41:28+00:00" + "time": "2022-11-03T14:55:06+00:00" }, { "name": "symfony/polyfill-php81", - "version": "v1.23.0", + "version": "v1.27.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php81.git", - "reference": "e66119f3de95efc359483f810c4c3e6436279436" + "reference": "707403074c8ea6e2edaf8794b0157a0bfa52157a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/e66119f3de95efc359483f810c4c3e6436279436", - "reference": "e66119f3de95efc359483f810c4c3e6436279436", + "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/707403074c8ea6e2edaf8794b0157a0bfa52157a", + "reference": "707403074c8ea6e2edaf8794b0157a0bfa52157a", "shasum": "" }, "require": { @@ -3921,7 +3982,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.23-dev" + "dev-main": "1.27-dev" }, "thanks": { "name": "symfony/polyfill", @@ -3929,12 +3990,12 @@ } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php81\\": "" - }, "files": [ "bootstrap.php" ], + "psr-4": { + "Symfony\\Polyfill\\Php81\\": "" + }, "classmap": [ "Resources/stubs" ] @@ -3962,7 +4023,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php81/tree/v1.23.0" + "source": "https://github.com/symfony/polyfill-php81/tree/v1.27.0" }, "funding": [ { @@ -3978,20 +4039,20 @@ "type": "tidelift" } ], - "time": "2021-05-21T13:25:03+00:00" + "time": "2022-11-03T14:55:06+00:00" }, { "name": "symfony/process", - "version": "v5.4.0", + "version": "v5.4.11", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "5be20b3830f726e019162b26223110c8f47cf274" + "reference": "6e75fe6874cbc7e4773d049616ab450eff537bf1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/5be20b3830f726e019162b26223110c8f47cf274", - "reference": "5be20b3830f726e019162b26223110c8f47cf274", + "url": "https://api.github.com/repos/symfony/process/zipball/6e75fe6874cbc7e4773d049616ab450eff537bf1", + "reference": "6e75fe6874cbc7e4773d049616ab450eff537bf1", "shasum": "" }, "require": { @@ -4024,7 +4085,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v5.4.0" + "source": "https://github.com/symfony/process/tree/v5.4.11" }, "funding": [ { @@ -4040,20 +4101,20 @@ "type": "tidelift" } ], - "time": "2021-11-28T15:25:38+00:00" + "time": "2022-06-27T16:58:25+00:00" }, { "name": "symfony/routing", - "version": "v5.4.0", + "version": "v5.4.15", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "9eeae93c32ca86746e5d38f3679e9569981038b1" + "reference": "5c9b129efe9abce9470e384bf65d8a7e262eee69" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/9eeae93c32ca86746e5d38f3679e9569981038b1", - "reference": "9eeae93c32ca86746e5d38f3679e9569981038b1", + "url": "https://api.github.com/repos/symfony/routing/zipball/5c9b129efe9abce9470e384bf65d8a7e262eee69", + "reference": "5c9b129efe9abce9470e384bf65d8a7e262eee69", "shasum": "" }, "require": { @@ -4114,7 +4175,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v5.4.0" + "source": "https://github.com/symfony/routing/tree/v5.4.15" }, "funding": [ { @@ -4130,26 +4191,26 @@ "type": "tidelift" } ], - "time": "2021-11-23T10:19:22+00:00" + "time": "2022-10-13T14:10:41+00:00" }, { "name": "symfony/service-contracts", - "version": "v2.5.0", + "version": "v2.5.2", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "1ab11b933cd6bc5464b08e81e2c5b07dec58b0fc" + "reference": "4b426aac47d6427cc1a1d0f7e2ac724627f5966c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/1ab11b933cd6bc5464b08e81e2c5b07dec58b0fc", - "reference": "1ab11b933cd6bc5464b08e81e2c5b07dec58b0fc", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/4b426aac47d6427cc1a1d0f7e2ac724627f5966c", + "reference": "4b426aac47d6427cc1a1d0f7e2ac724627f5966c", "shasum": "" }, "require": { "php": ">=7.2.5", "psr/container": "^1.1", - "symfony/deprecation-contracts": "^2.1" + "symfony/deprecation-contracts": "^2.1|^3" }, "conflict": { "ext-psr": "<1.1|>=2" @@ -4197,7 +4258,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/v2.5.0" + "source": "https://github.com/symfony/service-contracts/tree/v2.5.2" }, "funding": [ { @@ -4213,20 +4274,20 @@ "type": "tidelift" } ], - "time": "2021-11-04T16:48:04+00:00" + "time": "2022-05-30T19:17:29+00:00" }, { "name": "symfony/string", - "version": "v5.4.0", + "version": "v5.4.15", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "9ffaaba53c61ba75a3c7a3a779051d1e9ec4fd2d" + "reference": "571334ce9f687e3e6af72db4d3b2a9431e4fd9ed" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/9ffaaba53c61ba75a3c7a3a779051d1e9ec4fd2d", - "reference": "9ffaaba53c61ba75a3c7a3a779051d1e9ec4fd2d", + "url": "https://api.github.com/repos/symfony/string/zipball/571334ce9f687e3e6af72db4d3b2a9431e4fd9ed", + "reference": "571334ce9f687e3e6af72db4d3b2a9431e4fd9ed", "shasum": "" }, "require": { @@ -4248,12 +4309,12 @@ }, "type": "library", "autoload": { - "psr-4": { - "Symfony\\Component\\String\\": "" - }, "files": [ "Resources/functions.php" ], + "psr-4": { + "Symfony\\Component\\String\\": "" + }, "exclude-from-classmap": [ "/Tests/" ] @@ -4283,7 +4344,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v5.4.0" + "source": "https://github.com/symfony/string/tree/v5.4.15" }, "funding": [ { @@ -4299,20 +4360,20 @@ "type": "tidelift" } ], - "time": "2021-11-24T10:02:00+00:00" + "time": "2022-10-05T15:16:54+00:00" }, { "name": "symfony/translation", - "version": "v5.4.0", + "version": "v5.4.14", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "6fe32b10e912a518805bc9eafc2a87145773cf13" + "reference": "f0ed07675863aa6e3939df8b1bc879450b585cab" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/6fe32b10e912a518805bc9eafc2a87145773cf13", - "reference": "6fe32b10e912a518805bc9eafc2a87145773cf13", + "url": "https://api.github.com/repos/symfony/translation/zipball/f0ed07675863aa6e3939df8b1bc879450b585cab", + "reference": "f0ed07675863aa6e3939df8b1bc879450b585cab", "shasum": "" }, "require": { @@ -4380,7 +4441,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v5.4.0" + "source": "https://github.com/symfony/translation/tree/v5.4.14" }, "funding": [ { @@ -4396,20 +4457,20 @@ "type": "tidelift" } ], - "time": "2021-11-29T15:30:56+00:00" + "time": "2022-10-07T08:01:20+00:00" }, { "name": "symfony/translation-contracts", - "version": "v2.5.0", + "version": "v2.5.2", "source": { "type": "git", "url": "https://github.com/symfony/translation-contracts.git", - "reference": "d28150f0f44ce854e942b671fc2620a98aae1b1e" + "reference": "136b19dd05cdf0709db6537d058bcab6dd6e2dbe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/d28150f0f44ce854e942b671fc2620a98aae1b1e", - "reference": "d28150f0f44ce854e942b671fc2620a98aae1b1e", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/136b19dd05cdf0709db6537d058bcab6dd6e2dbe", + "reference": "136b19dd05cdf0709db6537d058bcab6dd6e2dbe", "shasum": "" }, "require": { @@ -4458,7 +4519,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/translation-contracts/tree/v2.5.0" + "source": "https://github.com/symfony/translation-contracts/tree/v2.5.2" }, "funding": [ { @@ -4474,20 +4535,20 @@ "type": "tidelift" } ], - "time": "2021-08-17T14:20:01+00:00" + "time": "2022-06-27T16:58:25+00:00" }, { "name": "symfony/var-dumper", - "version": "v5.4.0", + "version": "v5.4.14", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "89ab66eaef230c9cd1992de2e9a1b26652b127b9" + "reference": "6894d06145fefebd9a4c7272baa026a1c394a430" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/89ab66eaef230c9cd1992de2e9a1b26652b127b9", - "reference": "89ab66eaef230c9cd1992de2e9a1b26652b127b9", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/6894d06145fefebd9a4c7272baa026a1c394a430", + "reference": "6894d06145fefebd9a4c7272baa026a1c394a430", "shasum": "" }, "require": { @@ -4547,7 +4608,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v5.4.0" + "source": "https://github.com/symfony/var-dumper/tree/v5.4.14" }, "funding": [ { @@ -4563,30 +4624,30 @@ "type": "tidelift" } ], - "time": "2021-11-29T15:30:56+00:00" + "time": "2022-10-07T08:01:20+00:00" }, { "name": "tijsverkoyen/css-to-inline-styles", - "version": "2.2.3", + "version": "2.2.5", "source": { "type": "git", "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git", - "reference": "b43b05cf43c1b6d849478965062b6ef73e223bb5" + "reference": "4348a3a06651827a27d989ad1d13efec6bb49b19" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/b43b05cf43c1b6d849478965062b6ef73e223bb5", - "reference": "b43b05cf43c1b6d849478965062b6ef73e223bb5", + "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/4348a3a06651827a27d989ad1d13efec6bb49b19", + "reference": "4348a3a06651827a27d989ad1d13efec6bb49b19", "shasum": "" }, "require": { "ext-dom": "*", "ext-libxml": "*", "php": "^5.5 || ^7.0 || ^8.0", - "symfony/css-selector": "^2.7 || ^3.0 || ^4.0 || ^5.0" + "symfony/css-selector": "^2.7 || ^3.0 || ^4.0 || ^5.0 || ^6.0" }, "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^7.5" + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^7.5 || ^8.5.21 || ^9.5.10" }, "type": "library", "extra": { @@ -4614,22 +4675,22 @@ "homepage": "https://github.com/tijsverkoyen/CssToInlineStyles", "support": { "issues": "https://github.com/tijsverkoyen/CssToInlineStyles/issues", - "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/2.2.3" + "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/2.2.5" }, - "time": "2020-07-13T06:12:54+00:00" + "time": "2022-09-12T13:28:28+00:00" }, { "name": "vlucas/phpdotenv", - "version": "v4.2.1", + "version": "v4.3.0", "source": { "type": "git", "url": "https://github.com/vlucas/phpdotenv.git", - "reference": "d38f4d1edcbe32515a0ad593cbd4c858e337263c" + "reference": "67a491df68208bef8c37092db11fa3885008efcf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/d38f4d1edcbe32515a0ad593cbd4c858e337263c", - "reference": "d38f4d1edcbe32515a0ad593cbd4c858e337263c", + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/67a491df68208bef8c37092db11fa3885008efcf", + "reference": "67a491df68208bef8c37092db11fa3885008efcf", "shasum": "" }, "require": { @@ -4641,7 +4702,7 @@ "bamarni/composer-bin-plugin": "^1.4.1", "ext-filter": "*", "ext-pcre": "*", - "phpunit/phpunit": "^4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.21" + "phpunit/phpunit": "^4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.30" }, "suggest": { "ext-filter": "Required to use the boolean validator.", @@ -4649,8 +4710,12 @@ }, "type": "library", "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": true + }, "branch-alias": { - "dev-master": "4.2-dev" + "dev-master": "4.3-dev" } }, "autoload": { @@ -4665,11 +4730,13 @@ "authors": [ { "name": "Graham Campbell", - "email": "hello@gjcampbell.co.uk" + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" }, { "name": "Vance Lucas", - "email": "vance@vancelucas.com" + "email": "vance@vancelucas.com", + "homepage": "https://github.com/vlucas" } ], "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.", @@ -4680,7 +4747,7 @@ ], "support": { "issues": "https://github.com/vlucas/phpdotenv/issues", - "source": "https://github.com/vlucas/phpdotenv/tree/v4.2.1" + "source": "https://github.com/vlucas/phpdotenv/tree/v4.3.0" }, "funding": [ { @@ -4692,20 +4759,20 @@ "type": "tidelift" } ], - "time": "2021-10-02T19:17:08+00:00" + "time": "2022-10-16T00:51:09+00:00" }, { "name": "voku/portable-ascii", - "version": "1.5.6", + "version": "1.6.1", "source": { "type": "git", "url": "https://github.com/voku/portable-ascii.git", - "reference": "80953678b19901e5165c56752d087fc11526017c" + "reference": "87337c91b9dfacee02452244ee14ab3c43bc485a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/voku/portable-ascii/zipball/80953678b19901e5165c56752d087fc11526017c", - "reference": "80953678b19901e5165c56752d087fc11526017c", + "url": "https://api.github.com/repos/voku/portable-ascii/zipball/87337c91b9dfacee02452244ee14ab3c43bc485a", + "reference": "87337c91b9dfacee02452244ee14ab3c43bc485a", "shasum": "" }, "require": { @@ -4742,7 +4809,7 @@ ], "support": { "issues": "https://github.com/voku/portable-ascii/issues", - "source": "https://github.com/voku/portable-ascii/tree/1.5.6" + "source": "https://github.com/voku/portable-ascii/tree/1.6.1" }, "funding": [ { @@ -4766,405 +4833,13 @@ "type": "tidelift" } ], - "time": "2020-11-12T00:07:28+00:00" - } - ], - "packages-dev": [ - { - "name": "cyclonedx/cyclonedx-library", - "version": "v1.4.2", - "source": { - "type": "git", - "url": "https://github.com/CycloneDX/cyclonedx-php-library.git", - "reference": "8a3f94cb976bf439763d162c1640b53bcb83bb38" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/CycloneDX/cyclonedx-php-library/zipball/8a3f94cb976bf439763d162c1640b53bcb83bb38", - "reference": "8a3f94cb976bf439763d162c1640b53bcb83bb38", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-json": "*", - "ext-libxml": "*", - "package-url/packageurl-php": "^1.0", - "php": "^7.3 || ^8.0", - "swaggest/json-schema": "^0.12.35" - }, - "require-dev": { - "ext-simplexml": "*", - "phpunit/phpunit": "9.5.13", - "roave/security-advisories": "dev-latest" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.x-dev" - }, - "composer-normalize": { - "indent-size": 4, - "indent-style": "space" - } - }, - "autoload": { - "psr-4": { - "CycloneDX\\Core\\": "src/Core/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "nscuro", - "email": "nscuro@protonmail.com", - "role": "Developer" - }, - { - "name": "Jan Kowalleck", - "email": "jan.kowalleck@gmail.com", - "role": "Developer" - } - ], - "description": "Work with CycloneDX Software Bill-of-Materials (SBOM)", - "homepage": "https://github.com/CycloneDX/cyclonedx-php-library/", - "keywords": [ - "CycloneDX", - "SBOM", - "bill-of-materials", - "bom", - "package-url", - "purl", - "software-bill-of-materials" - ], - "support": { - "issues": "https://github.com/CycloneDX/cyclonedx-php-library/issues", - "source": "https://github.com/CycloneDX/cyclonedx-php-library/tree/v1.4.2" - }, - "time": "2022-02-05T10:00:03+00:00" - }, - { - "name": "cyclonedx/cyclonedx-php-composer", - "version": "dev-master", - "dist": { - "type": "path", - "url": "../../..", - "reference": "6700af9e93981efdc132cebac1f919b43b6421f8" - }, - "require": { - "composer-plugin-api": "^2.0", - "cyclonedx/cyclonedx-library": "^1.4.2", - "package-url/packageurl-php": "^1.0", - "php": "^7.3 || ^8.0" - }, - "require-dev": { - "composer/composer": "^2.0.0", - "phpunit/phpunit": "9.5.13", - "roave/security-advisories": "dev-latest" - }, - "type": "composer-plugin", - "extra": { - "branch-alias": { - "dev-master": "3.x-dev" - }, - "class": "CycloneDX\\Composer\\Plugin", - "composer-normalize": { - "indent-size": 4, - "indent-style": "space" - }, - "unused": [ - "composer-plugin-api" - ] - }, - "autoload": { - "psr-4": { - "CycloneDX\\Composer\\": "src/" - } - }, - "autoload-dev": { - "psr-4": { - "CycloneDX\\Tests\\": "tests/" - } - }, - "scripts": { - "cs-fix": [ - "@php tools/php-cs-fixer/vendor/friendsofphp/php-cs-fixer/php-cs-fixer fix --diff" - ], - "dev-setup": [ - "@composer -dtools/composer-normalize update", - "@composer -dtools/composer-require-checker update", - "@composer -dtools/composer-unused update", - "@composer -dtools/php-cs-fixer update", - "@composer -dtools/psalm update", - "@composer update" - ], - "normalize": [ - "@composer -dtools/composer-normalize normalize --diff $PWD/composer.json" - ], - "test": [ - "@composer validate", - "@test:psalm", - "@test:phpunit", - "@test:cs-fixer", - "@test:composer-unused", - "@test:composer-require-checker", - "@test:composer-normalize" - ], - "test:composer-normalize": [ - "@composer -dtools/composer-normalize normalize --dry-run --diff $PWD/composer.json" - ], - "test:composer-require-checker": [ - "@php tools/composer-require-checker/vendor/maglnet/composer-require-checker/bin/composer-require-checker || :" - ], - "test:composer-unused": [ - "@php tools/composer-unused/vendor/icanhazstring/composer-unused/bin/composer-unused --excludeDir=tools" - ], - "test:cs-fixer": [ - "@php tools/php-cs-fixer/vendor/friendsofphp/php-cs-fixer/php-cs-fixer fix --dry-run --diff" - ], - "test:phpunit": [ - "@php -d zend.assertions=1 -d assert.exception=1 -d display_errors=On -d error_reporting=-1 -d log_errors_max_len=0 -d memory_limit=-1 vendor/phpunit/phpunit/phpunit" - ], - "test:psalm": [ - "@php tools/psalm/vendor/vimeo/psalm/psalm" - ] - }, - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "nscuro", - "email": "nscuro@protonmail.com", - "role": "Developer" - }, - { - "name": "Jan Kowalleck", - "email": "jan.kowalleck@gmail.com", - "role": "Developer" - } - ], - "description": "Creates CycloneDX Software Bill-of-Materials (SBOM) from PHP Composer projects", - "homepage": "https://github.com/CycloneDX/cyclonedx-php-composer/", - "keywords": [ - "BOM", - "CycloneDX", - "PURL", - "SBOM", - "bill-of-materials", - "package-url", - "software-bill-of-materials" - ], - "support": { - "issues": "https://github.com/CycloneDX/cyclonedx-php-composer/issues" - }, - "transport-options": { - "relative": true - } - }, - { - "name": "package-url/packageurl-php", - "version": "1.0.3", - "source": { - "type": "git", - "url": "https://github.com/package-url/packageurl-php.git", - "reference": "3d593b87966d3dff60d6cc02fd0a83fccb0a01f4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/package-url/packageurl-php/zipball/3d593b87966d3dff60d6cc02fd0a83fccb0a01f4", - "reference": "3d593b87966d3dff60d6cc02fd0a83fccb0a01f4", - "shasum": "" - }, - "require": { - "php": "^7.3 || ^8.0" - }, - "require-dev": { - "ext-json": "*", - "phpunit/phpunit": "9.5.4", - "roave/security-advisories": "dev-latest" - }, - "type": "library", - "autoload": { - "psr-4": { - "PackageUrl\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jan Kowalleck", - "role": "Developer" - } - ], - "description": "A parser and builder based on the package url spec.", - "homepage": "https://github.com/package-url/packageurl-php", - "keywords": [ - "package", - "package-url", - "packageurl", - "purl", - "url" - ], - "support": { - "issues": "https://github.com/package-url/packageurl-php/issues", - "source": "https://github.com/package-url/packageurl-php/tree/1.0.3" - }, - "time": "2021-05-13T17:29:18+00:00" - }, - { - "name": "phplang/scope-exit", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/phplang/scope-exit.git", - "reference": "239b73abe89f9414aa85a7ca075ec9445629192b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phplang/scope-exit/zipball/239b73abe89f9414aa85a7ca075ec9445629192b", - "reference": "239b73abe89f9414aa85a7ca075ec9445629192b", - "shasum": "" - }, - "require-dev": { - "phpunit/phpunit": "*" - }, - "type": "library", - "autoload": { - "psr-4": { - "PhpLang\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD" - ], - "authors": [ - { - "name": "Sara Golemon", - "email": "pollita@php.net", - "homepage": "https://twitter.com/SaraMG", - "role": "Developer" - } - ], - "description": "Emulation of SCOPE_EXIT construct from C++", - "homepage": "https://github.com/phplang/scope-exit", - "keywords": [ - "cleanup", - "exit", - "scope" - ], - "support": { - "issues": "https://github.com/phplang/scope-exit/issues", - "source": "https://github.com/phplang/scope-exit/tree/master" - }, - "time": "2016-09-17T00:15:18+00:00" - }, - { - "name": "swaggest/json-diff", - "version": "v3.8.3", - "source": { - "type": "git", - "url": "https://github.com/swaggest/json-diff.git", - "reference": "bb3e3b4e9d842bb2e48f31ea568d0459968d1d42" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/swaggest/json-diff/zipball/bb3e3b4e9d842bb2e48f31ea568d0459968d1d42", - "reference": "bb3e3b4e9d842bb2e48f31ea568d0459968d1d42", - "shasum": "" - }, - "require": { - "ext-json": "*" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.23" - }, - "type": "library", - "autoload": { - "psr-4": { - "Swaggest\\JsonDiff\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Viacheslav Poturaev", - "email": "vearutop@gmail.com" - } - ], - "description": "JSON diff/rearrange/patch/pointer library for PHP", - "support": { - "issues": "https://github.com/swaggest/json-diff/issues", - "source": "https://github.com/swaggest/json-diff/tree/v3.8.3" - }, - "time": "2021-09-25T22:09:03+00:00" - }, - { - "name": "swaggest/json-schema", - "version": "v0.12.39", - "source": { - "type": "git", - "url": "https://github.com/swaggest/php-json-schema.git", - "reference": "193ba39cce1ffa2d55ddd5445315e945a63298a2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/swaggest/php-json-schema/zipball/193ba39cce1ffa2d55ddd5445315e945a63298a2", - "reference": "193ba39cce1ffa2d55ddd5445315e945a63298a2", - "shasum": "" - }, - "require": { - "ext-json": "*", - "php": ">=5.4", - "phplang/scope-exit": "^1.0", - "swaggest/json-diff": "^3.8.2", - "symfony/polyfill-mbstring": "^1.19" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.23" - }, - "suggest": { - "ext-mbstring": "For better performance" - }, - "type": "library", - "autoload": { - "psr-4": { - "Swaggest\\JsonSchema\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Viacheslav Poturaev", - "email": "vearutop@gmail.com" - } - ], - "description": "High definition PHP structures with JSON-schema based validation", - "support": { - "email": "vearutop@gmail.com", - "issues": "https://github.com/swaggest/php-json-schema/issues", - "source": "https://github.com/swaggest/php-json-schema/tree/v0.12.39" - }, - "time": "2021-10-15T18:12:27+00:00" + "time": "2022-01-24T18:55:24+00:00" } ], + "packages-dev": [], "aliases": [], "minimum-stability": "stable", - "stability-flags": { - "cyclonedx/cyclonedx-php-composer": 20 - }, + "stability-flags": [], "prefer-stable": true, "prefer-lowest": false, "platform": [], @@ -5172,5 +4847,5 @@ "platform-overrides": { "php": "7.3" }, - "plugin-api-version": "2.2.0" + "plugin-api-version": "2.3.0" } diff --git a/demo/laravel-7.12.0/results/bom.1.1.xml b/demo/laravel-7.12.0/results/bom.1.1.xml index 69d3eef7..2b89453d 100644 --- a/demo/laravel-7.12.0/results/bom.1.1.xml +++ b/demo/laravel-7.12.0/results/bom.1.1.xml @@ -11,27 +11,24 @@ - - - - - - + + + - + - + - + - + @@ -45,157 +42,109 @@ - - - - - - + + + - + - + - - - - - - - - - + - + - - - + - - - + + - + - - - - - - - - - - - - - + - - - + + + - + - - - + - - - + + - + - - - - - - - - - - - - - + - - - + + + - + - - - - - - + + + - + - + - - - - - + @@ -209,631 +158,488 @@ - - - - - - + + + - + - + - + - - - - - + - + - - - + - - - + + - + - - - + + + - + - - - - - - + + + - + - + - - - - - + - + - - - + - - - + + - + - + - - - + + + - + - - - + - - - + + - - - - - - - - - - - - - + - - - + + + - + - - - + - - - + + - - - - - - - - - - - - - + - - - + + + - + - - - + - - - + + - + - + - + - + - + - + - - - - - - - + + + + - + - + - - - + - - - + + - + - - - + + + - + - - - + - - - + + - + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - + - + - - - + - - - + + - + - - - - - - - + + + - + - - - + - - - + + - - - - - - - - - + - - - + + + - + - - - + - - - + + - + - - - - - - - - - + - - - + + + - + - - - + - - - + + - + - + - + - + - - - - - - - - - + - + - - - + - - - + + - + - - - + + + - + - - - + - - - + + - + - + - - - + + + - + - - - + - - - + + - - - - - - - - - + - - - + + + @@ -847,27 +653,24 @@ - - - - - - + + + - + - + - + - + @@ -881,23 +684,20 @@ - - - - - - + + + - + - + - + @@ -911,23 +711,20 @@ - - - - - - + + + - + - + - + @@ -941,23 +738,20 @@ - - - - - - + + + - + - + - + @@ -971,53 +765,47 @@ - - - - - - - + + + + - + - + - - - + - - - + + - + - + - - - + + + @@ -1031,23 +819,20 @@ - - - - - - + + + - + - + - + @@ -1061,31 +846,20 @@ - - - - - - + + + - + - + - - - - - - - - - + @@ -1099,1333 +873,869 @@ - - - - - - + + + - + - + - - - - - - - - - + - + - - - - - - + + + - + - + - + - - - - - - - - - + - + - - - + - - - + + - - - - - - - - - - - - - + - - - + + + - + - - - + - - - + + - + - - - - - - - - - - - - - - - + + + - + - - - + - - - + + - - - - - - - - - + - - - - - - - + + + - + - - - + - - - + + - + - - - - - - - - - - - - - - - + + + - + - - - + - - - + + - + - - - - - - - - - - - - - - - + + + - + - - - + - - - + + - + - - - - - - - - - - - - - - - + + + - + - - - + - - - + + - + - - - - - - - - - - - - - - - + + + - + - - - + - - - + + - + - - - - - - - - - - - - - - - + + + - + - - - + - - - + + - - - - - - - - - + - - - - - - - + + + - + - - - + - - - + + - - - - - - - - - + - - - - - - - + + + - + - - - + - - - + + - + - - - - - - - - - - - - - - - + + + - + - - - + - - - + + - + - - - - - - - - - - - - - - - + + + - + - - - + - - - + + - + - - - - - - - - - - - - - - - + + + - + - - - + - - - + + - + - - - - - - - - - - - - - - - + + + - + - - - + - - - + + - + - - - - - - - - - - - - - - - + + + - + - - - + - - - + + - + - - - - - - - - - - - - - - - + + + - + - - - + - - - + + - - - - - - - - - + - - - - - - - + + + - + - - - + - - - + + - + - - - - - - - - - - - - - - - + + + - + - - - + - - - + + - + - - - - - - - - - - - - - - - + + + - + - - - + - - - + + - + - - - - - - - - - - - - - - - + + + - + - - - + - - - + + - + - - - - - - - - - - - - - - - + + + - + - - - + - - - + + - + - - - - - - - - - - - - - - - + + + - + - - - + - - - + + - + - - - - - - - - - - - - - - - + + + - + - - - + - - - + + - - - - - - - - - + - - - - - - - + + + - + - - - + - - - + + - + - - - - - - - - - - - - - - - + + + - + - - - + - - - + + - + - - - - - - - - - - - - - - - + + + - + - - - + - - - + + - + - - - - - - - - - - - - - - - + + + - + - - - + - - - + + - + - + - - - + + + - + - - - + - - - + + - - - - - + - - - - - - - + + + - + - - - + - - - + + - + - - - - - + - - - - - - - - - - - - - - - - - - - + + + diff --git a/demo/laravel-7.12.0/results/bom.1.2.json b/demo/laravel-7.12.0/results/bom.1.2.json index 94161796..34457d8b 100644 --- a/demo/laravel-7.12.0/results/bom.1.2.json +++ b/demo/laravel-7.12.0/results/bom.1.2.json @@ -1,5 +1,5 @@ { - "$schema": "http://cyclonedx.org/schema/bom-1.2a.schema.json", + "$schema": "http://cyclonedx.org/schema/bom-1.2b.schema.json", "bomFormat": "CycloneDX", "specVersion": "1.2", "version": 1, @@ -8,27 +8,29 @@ { "vendor": "cyclonedx", "name": "cyclonedx-php-composer", - "version": "dev-master" + "version": "in-dev" } ], "component": { - "bom-ref": "pkg:composer/cyclonedx/cyclonedx-php-composer-demo@dev-master", + "bom-ref": "cyclonedx/cyclonedx-php-composer-demo-dev-master", "type": "application", "name": "cyclonedx-php-composer-demo", "version": "dev-master", "group": "cyclonedx", "description": "demo of cyclonedx/cyclonedx-php-composer with a pinned version of laravel/framework", + "author": "Jan Kowalleck", "purl": "pkg:composer/cyclonedx/cyclonedx-php-composer-demo@dev-master" } }, "components": [ { - "bom-ref": "pkg:composer/asm89/stack-cors@1.3.0", + "bom-ref": "asm89/stack-cors-1.3.0.0", "type": "library", "name": "stack-cors", "version": "1.3.0", "group": "asm89", "description": "Cross-origin resource sharing library and stack middleware", + "author": "Alexander", "licenses": [ { "license": { @@ -36,37 +38,34 @@ } } ], - "purl": "pkg:composer/asm89/stack-cors@1.3.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/asm89/stack-cors.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=b9c31def6a83f84b4d4a40d35996d375755f0e08)" + "url": "https://api.github.com/repos/asm89/stack-cors/zipball/b9c31def6a83f84b4d4a40d35996d375755f0e08" }, { - "type": "distribution", - "url": "https://api.github.com/repos/asm89/stack-cors/zipball/b9c31def6a83f84b4d4a40d35996d375755f0e08", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=b9c31def6a83f84b4d4a40d35996d375755f0e08 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/asm89/stack-cors.git" }, { "type": "website", "url": "https://github.com/asm89/stack-cors", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { "type": "issue-tracker", "url": "https://github.com/asm89/stack-cors/issues", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "distribution", + "type": "vcs", "url": "https://github.com/asm89/stack-cors/tree/1.3.0", - "comment": "As set via `support.source` in composer package definition." + "comment": "as detected from Composer manifest 'support.source'" } ] }, { - "bom-ref": "pkg:composer/brick/math@0.9.3", + "bom-ref": "brick/math-0.9.3.0", "type": "library", "name": "math", "version": "0.9.3", @@ -79,47 +78,35 @@ } } ], - "purl": "pkg:composer/brick/math@0.9.3", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/brick/math.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=ca57d18f028f84f777b2168cd1911b0dee2343ae)" + "url": "https://api.github.com/repos/brick/math/zipball/ca57d18f028f84f777b2168cd1911b0dee2343ae" }, { - "type": "distribution", - "url": "https://api.github.com/repos/brick/math/zipball/ca57d18f028f84f777b2168cd1911b0dee2343ae", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=ca57d18f028f84f777b2168cd1911b0dee2343ae & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/brick/math.git" }, { "type": "issue-tracker", "url": "https://github.com/brick/math/issues", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "distribution", + "type": "vcs", "url": "https://github.com/brick/math/tree/0.9.3", - "comment": "As set via `support.source` in composer package definition." - }, - { - "type": "other", - "url": "https://github.com/BenMorel", - "comment": "As set via `funding` in composer package definition. (type=github)" - }, - { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/brick/math", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "comment": "as detected from Composer manifest 'support.source'" } ] }, { - "bom-ref": "pkg:composer/doctrine/inflector@2.0.4", + "bom-ref": "doctrine/inflector-2.0.6.0", "type": "library", "name": "inflector", - "version": "2.0.4", + "version": "2.0.6", "group": "doctrine", "description": "PHP Doctrine Inflector is a small library that can perform string manipulations with regard to upper/lowercase and singular/plural forms of words.", + "author": "Guilherme Blanco, Roman Borschel, Benjamin Eberlei, Jonathan Wage, Johannes Schmitt", "licenses": [ { "license": { @@ -127,57 +114,40 @@ } } ], - "purl": "pkg:composer/doctrine/inflector@2.0.4", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/doctrine/inflector.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89)" + "url": "https://api.github.com/repos/doctrine/inflector/zipball/d9d313a36c872fd6ee06d9a6cbcf713eaa40f024" }, { - "type": "distribution", - "url": "https://api.github.com/repos/doctrine/inflector/zipball/8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/doctrine/inflector.git" }, { "type": "website", "url": "https://www.doctrine-project.org/projects/inflector.html", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { "type": "issue-tracker", "url": "https://github.com/doctrine/inflector/issues", - "comment": "As set via `support.issues` in composer package definition." - }, - { - "type": "distribution", - "url": "https://github.com/doctrine/inflector/tree/2.0.4", - "comment": "As set via `support.source` in composer package definition." - }, - { - "type": "other", - "url": "https://www.doctrine-project.org/sponsorship.html", - "comment": "As set via `funding` in composer package definition. (type=custom)" - }, - { - "type": "other", - "url": "https://www.patreon.com/phpdoctrine", - "comment": "As set via `funding` in composer package definition. (type=patreon)" + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finflector", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "type": "vcs", + "url": "https://github.com/doctrine/inflector/tree/2.0.6", + "comment": "as detected from Composer manifest 'support.source'" } ] }, { - "bom-ref": "pkg:composer/doctrine/lexer@1.2.1", + "bom-ref": "doctrine/lexer-1.2.3.0", "type": "library", "name": "lexer", - "version": "1.2.1", + "version": "1.2.3", "group": "doctrine", "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.", + "author": "Guilherme Blanco, Roman Borschel, Johannes Schmitt", "licenses": [ { "license": { @@ -185,57 +155,40 @@ } } ], - "purl": "pkg:composer/doctrine/lexer@1.2.1", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/doctrine/lexer.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=e864bbf5904cb8f5bb334f99209b48018522f042)" + "url": "https://api.github.com/repos/doctrine/lexer/zipball/c268e882d4dbdd85e36e4ad69e02dc284f89d229" }, { - "type": "distribution", - "url": "https://api.github.com/repos/doctrine/lexer/zipball/e864bbf5904cb8f5bb334f99209b48018522f042", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=e864bbf5904cb8f5bb334f99209b48018522f042 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/doctrine/lexer.git" }, { "type": "website", "url": "https://www.doctrine-project.org/projects/lexer.html", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { "type": "issue-tracker", "url": "https://github.com/doctrine/lexer/issues", - "comment": "As set via `support.issues` in composer package definition." - }, - { - "type": "distribution", - "url": "https://github.com/doctrine/lexer/tree/1.2.1", - "comment": "As set via `support.source` in composer package definition." - }, - { - "type": "other", - "url": "https://www.doctrine-project.org/sponsorship.html", - "comment": "As set via `funding` in composer package definition. (type=custom)" + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "other", - "url": "https://www.patreon.com/phpdoctrine", - "comment": "As set via `funding` in composer package definition. (type=patreon)" - }, - { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Flexer", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "type": "vcs", + "url": "https://github.com/doctrine/lexer/tree/1.2.3", + "comment": "as detected from Composer manifest 'support.source'" } ] }, { - "bom-ref": "pkg:composer/dragonmantank/cron-expression@2.3.1", + "bom-ref": "dragonmantank/cron-expression-2.3.1.0", "type": "library", "name": "cron-expression", - "version": "2.3.1", + "version": "v2.3.1", "group": "dragonmantank", "description": "CRON for PHP: Calculate the next or previous run date and determine if a CRON expression is due", + "author": "Michael Dowling, Chris Tankersley", "licenses": [ { "license": { @@ -243,42 +196,35 @@ } } ], - "purl": "pkg:composer/dragonmantank/cron-expression@2.3.1", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/dragonmantank/cron-expression.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=65b2d8ee1f10915efb3b55597da3404f096acba2)" + "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/65b2d8ee1f10915efb3b55597da3404f096acba2" }, { - "type": "distribution", - "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/65b2d8ee1f10915efb3b55597da3404f096acba2", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=65b2d8ee1f10915efb3b55597da3404f096acba2 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/dragonmantank/cron-expression.git" }, { "type": "issue-tracker", "url": "https://github.com/dragonmantank/cron-expression/issues", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "distribution", + "type": "vcs", "url": "https://github.com/dragonmantank/cron-expression/tree/v2.3.1", - "comment": "As set via `support.source` in composer package definition." - }, - { - "type": "other", - "url": "https://github.com/dragonmantank", - "comment": "As set via `funding` in composer package definition. (type=github)" + "comment": "as detected from Composer manifest 'support.source'" } ] }, { - "bom-ref": "pkg:composer/egulias/email-validator@2.1.25", + "bom-ref": "egulias/email-validator-2.1.25.0", "type": "library", "name": "email-validator", "version": "2.1.25", "group": "egulias", "description": "A library for validating emails against several RFCs", + "author": "Eduardo Gulias Davis", "licenses": [ { "license": { @@ -286,47 +232,40 @@ } } ], - "purl": "pkg:composer/egulias/email-validator@2.1.25", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/egulias/EmailValidator.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=0dbf5d78455d4d6a41d186da50adc1122ec066f4)" + "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/0dbf5d78455d4d6a41d186da50adc1122ec066f4" }, { - "type": "distribution", - "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/0dbf5d78455d4d6a41d186da50adc1122ec066f4", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=0dbf5d78455d4d6a41d186da50adc1122ec066f4 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/egulias/EmailValidator.git" }, { "type": "website", "url": "https://github.com/egulias/EmailValidator", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { "type": "issue-tracker", "url": "https://github.com/egulias/EmailValidator/issues", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "distribution", + "type": "vcs", "url": "https://github.com/egulias/EmailValidator/tree/2.1.25", - "comment": "As set via `support.source` in composer package definition." - }, - { - "type": "other", - "url": "https://github.com/egulias", - "comment": "As set via `funding` in composer package definition. (type=github)" + "comment": "as detected from Composer manifest 'support.source'" } ] }, { - "bom-ref": "pkg:composer/fideloper/proxy@4.4.1", + "bom-ref": "fideloper/proxy-4.4.2.0", "type": "library", "name": "proxy", - "version": "4.4.1", + "version": "4.4.2", "group": "fideloper", "description": "Set trusted proxies for Laravel", + "author": "Chris Fidao", "licenses": [ { "license": { @@ -334,37 +273,35 @@ } } ], - "purl": "pkg:composer/fideloper/proxy@4.4.1", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/fideloper/TrustedProxy.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=c073b2bd04d1c90e04dc1b787662b558dd65ade0)" + "url": "https://api.github.com/repos/fideloper/TrustedProxy/zipball/a751f2bc86dd8e6cfef12dc0cbdada82f5a18750" }, { - "type": "distribution", - "url": "https://api.github.com/repos/fideloper/TrustedProxy/zipball/c073b2bd04d1c90e04dc1b787662b558dd65ade0", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=c073b2bd04d1c90e04dc1b787662b558dd65ade0 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/fideloper/TrustedProxy.git" }, { "type": "issue-tracker", "url": "https://github.com/fideloper/TrustedProxy/issues", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "distribution", - "url": "https://github.com/fideloper/TrustedProxy/tree/4.4.1", - "comment": "As set via `support.source` in composer package definition." + "type": "vcs", + "url": "https://github.com/fideloper/TrustedProxy/tree/4.4.2", + "comment": "as detected from Composer manifest 'support.source'" } ] }, { - "bom-ref": "pkg:composer/fruitcake/laravel-cors@1.0.6", + "bom-ref": "fruitcake/laravel-cors-1.0.6.0", "type": "library", "name": "laravel-cors", - "version": "1.0.6", + "version": "v1.0.6", "group": "fruitcake", "description": "Adds CORS (Cross-Origin Resource Sharing) headers support in your Laravel application", + "author": "Fruitcake, Barry vd. Heuvel", "licenses": [ { "license": { @@ -372,42 +309,35 @@ } } ], - "purl": "pkg:composer/fruitcake/laravel-cors@1.0.6", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/fruitcake/laravel-cors.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=1d127dbec313e2e227d65e0c483765d8d7559bf6)" + "url": "https://api.github.com/repos/fruitcake/laravel-cors/zipball/1d127dbec313e2e227d65e0c483765d8d7559bf6" }, { - "type": "distribution", - "url": "https://api.github.com/repos/fruitcake/laravel-cors/zipball/1d127dbec313e2e227d65e0c483765d8d7559bf6", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=1d127dbec313e2e227d65e0c483765d8d7559bf6 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/fruitcake/laravel-cors.git" }, { "type": "issue-tracker", "url": "https://github.com/fruitcake/laravel-cors/issues", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "distribution", + "type": "vcs", "url": "https://github.com/fruitcake/laravel-cors/tree/1.0", - "comment": "As set via `support.source` in composer package definition." - }, - { - "type": "other", - "url": "https://github.com/barryvdh", - "comment": "As set via `funding` in composer package definition. (type=github)" + "comment": "as detected from Composer manifest 'support.source'" } ] }, { - "bom-ref": "pkg:composer/guzzlehttp/guzzle@6.5.5", + "bom-ref": "guzzlehttp/guzzle-6.5.8.0", "type": "library", "name": "guzzle", - "version": "6.5.5", + "version": "6.5.8", "group": "guzzlehttp", "description": "Guzzle is a PHP HTTP client library", + "author": "Graham Campbell, Michael Dowling, Jeremy Lindblom, George Mponos, Tobias Nyholm, M\u00e1rk S\u00e1gi-Kaz\u00e1r, Tobias Schultze", "licenses": [ { "license": { @@ -415,42 +345,40 @@ } } ], - "purl": "pkg:composer/guzzlehttp/guzzle@6.5.5", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/guzzle/guzzle.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=9d4290de1cfd701f38099ef7e183b64b4b7b0c5e)" + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/a52f0440530b54fa079ce76e8c5d196a42cad981" }, { - "type": "distribution", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/9d4290de1cfd701f38099ef7e183b64b4b7b0c5e", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=9d4290de1cfd701f38099ef7e183b64b4b7b0c5e & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/guzzle/guzzle.git" }, { "type": "website", "url": "http://guzzlephp.org/", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { "type": "issue-tracker", "url": "https://github.com/guzzle/guzzle/issues", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "distribution", - "url": "https://github.com/guzzle/guzzle/tree/6.5", - "comment": "As set via `support.source` in composer package definition." + "type": "vcs", + "url": "https://github.com/guzzle/guzzle/tree/6.5.8", + "comment": "as detected from Composer manifest 'support.source'" } ] }, { - "bom-ref": "pkg:composer/guzzlehttp/promises@1.5.1", + "bom-ref": "guzzlehttp/promises-1.5.2.0", "type": "library", "name": "promises", - "version": "1.5.1", + "version": "1.5.2", "group": "guzzlehttp", "description": "Guzzle promises library", + "author": "Graham Campbell, Michael Dowling, Tobias Nyholm, Tobias Schultze", "licenses": [ { "license": { @@ -458,52 +386,35 @@ } } ], - "purl": "pkg:composer/guzzlehttp/promises@1.5.1", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/guzzle/promises.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=fe752aedc9fd8fcca3fe7ad05d419d32998a06da)" + "url": "https://api.github.com/repos/guzzle/promises/zipball/b94b2807d85443f9719887892882d0329d1e2598" }, { - "type": "distribution", - "url": "https://api.github.com/repos/guzzle/promises/zipball/fe752aedc9fd8fcca3fe7ad05d419d32998a06da", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=fe752aedc9fd8fcca3fe7ad05d419d32998a06da & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/guzzle/promises.git" }, { "type": "issue-tracker", "url": "https://github.com/guzzle/promises/issues", - "comment": "As set via `support.issues` in composer package definition." - }, - { - "type": "distribution", - "url": "https://github.com/guzzle/promises/tree/1.5.1", - "comment": "As set via `support.source` in composer package definition." - }, - { - "type": "other", - "url": "https://github.com/GrahamCampbell", - "comment": "As set via `funding` in composer package definition. (type=github)" - }, - { - "type": "other", - "url": "https://github.com/Nyholm", - "comment": "As set via `funding` in composer package definition. (type=github)" + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/promises", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "type": "vcs", + "url": "https://github.com/guzzle/promises/tree/1.5.2", + "comment": "as detected from Composer manifest 'support.source'" } ] }, { - "bom-ref": "pkg:composer/guzzlehttp/psr7@1.8.3", + "bom-ref": "guzzlehttp/psr7-1.9.0.0", "type": "library", "name": "psr7", - "version": "1.8.3", + "version": "1.9.0", "group": "guzzlehttp", "description": "PSR-7 message implementation that also provides common utility methods", + "author": "Graham Campbell, Michael Dowling, George Mponos, Tobias Nyholm, M\u00e1rk S\u00e1gi-Kaz\u00e1r, Tobias Schultze", "licenses": [ { "license": { @@ -511,52 +422,35 @@ } } ], - "purl": "pkg:composer/guzzlehttp/psr7@1.8.3", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/guzzle/psr7.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=1afdd860a2566ed3c2b0b4a3de6e23434a79ec85)" + "url": "https://api.github.com/repos/guzzle/psr7/zipball/e98e3e6d4f86621a9b75f623996e6bbdeb4b9318" }, { - "type": "distribution", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/1afdd860a2566ed3c2b0b4a3de6e23434a79ec85", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=1afdd860a2566ed3c2b0b4a3de6e23434a79ec85 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/guzzle/psr7.git" }, { "type": "issue-tracker", "url": "https://github.com/guzzle/psr7/issues", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "distribution", - "url": "https://github.com/guzzle/psr7/tree/1.8.3", - "comment": "As set via `support.source` in composer package definition." - }, - { - "type": "other", - "url": "https://github.com/GrahamCampbell", - "comment": "As set via `funding` in composer package definition. (type=github)" - }, - { - "type": "other", - "url": "https://github.com/Nyholm", - "comment": "As set via `funding` in composer package definition. (type=github)" - }, - { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/psr7", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "type": "vcs", + "url": "https://github.com/guzzle/psr7/tree/1.9.0", + "comment": "as detected from Composer manifest 'support.source'" } ] }, { - "bom-ref": "pkg:composer/laravel/framework@7.30.5", + "bom-ref": "laravel/framework-7.30.6.0", "type": "library", "name": "framework", - "version": "7.30.5", + "version": "v7.30.6", "group": "laravel", "description": "The Laravel Framework.", + "author": "Taylor Otwell", "licenses": [ { "license": { @@ -564,40 +458,37 @@ } } ], - "purl": "pkg:composer/laravel/framework@7.30.5", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/laravel/framework.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=afb0c034072a03a5ab1872fbdea54f8befd873c3)" + "url": "https://api.github.com/repos/laravel/framework/zipball/ecdafad1dda3c790af186a6d18479ea4757ef9ee" }, { - "type": "distribution", - "url": "https://api.github.com/repos/laravel/framework/zipball/afb0c034072a03a5ab1872fbdea54f8befd873c3", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=afb0c034072a03a5ab1872fbdea54f8befd873c3 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/laravel/framework.git" }, { "type": "website", "url": "https://laravel.com", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { "type": "issue-tracker", "url": "https://github.com/laravel/framework/issues", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "distribution", + "type": "vcs", "url": "https://github.com/laravel/framework", - "comment": "As set via `support.source` in composer package definition." + "comment": "as detected from Composer manifest 'support.source'" } ] }, { - "bom-ref": "pkg:composer/laravel/laravel@7.12.0", - "type": "application", + "bom-ref": "laravel/laravel-7.12.0.0", + "type": "library", "name": "laravel", - "version": "7.12.0", + "version": "v7.12.0", "group": "laravel", "description": "The Laravel Framework.", "licenses": [ @@ -607,32 +498,30 @@ } } ], - "purl": "pkg:composer/laravel/laravel@7.12.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/laravel/laravel.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=5639581ea56ecd556cdf6e6edc37ce5795740fd7)" + "url": "https://api.github.com/repos/laravel/laravel/zipball/5639581ea56ecd556cdf6e6edc37ce5795740fd7" }, { - "type": "distribution", - "url": "https://api.github.com/repos/laravel/laravel/zipball/5639581ea56ecd556cdf6e6edc37ce5795740fd7", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=5639581ea56ecd556cdf6e6edc37ce5795740fd7 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/laravel/laravel.git" }, { - "type": "distribution", + "type": "vcs", "url": "https://github.com/laravel/laravel/tree/master", - "comment": "As set via `support.source` in composer package definition." + "comment": "as detected from Composer manifest 'support.source'" } ] }, { - "bom-ref": "pkg:composer/laravel/tinker@2.6.2", + "bom-ref": "laravel/tinker-2.7.3.0", "type": "library", "name": "tinker", - "version": "2.6.2", + "version": "v2.7.3", "group": "laravel", "description": "Powerful REPL for the Laravel framework.", + "author": "Taylor Otwell", "licenses": [ { "license": { @@ -640,37 +529,35 @@ } } ], - "purl": "pkg:composer/laravel/tinker@2.6.2", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/laravel/tinker.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=c808a7227f97ecfd9219fbf913bad842ea854ddc)" + "url": "https://api.github.com/repos/laravel/tinker/zipball/5062061b4924af3392225dd482ca7b4d85d8b8ef" }, { - "type": "distribution", - "url": "https://api.github.com/repos/laravel/tinker/zipball/c808a7227f97ecfd9219fbf913bad842ea854ddc", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=c808a7227f97ecfd9219fbf913bad842ea854ddc & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/laravel/tinker.git" }, { "type": "issue-tracker", "url": "https://github.com/laravel/tinker/issues", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "distribution", - "url": "https://github.com/laravel/tinker/tree/v2.6.2", - "comment": "As set via `support.source` in composer package definition." + "type": "vcs", + "url": "https://github.com/laravel/tinker/tree/v2.7.3", + "comment": "as detected from Composer manifest 'support.source'" } ] }, { - "bom-ref": "pkg:composer/league/commonmark@1.6.6", + "bom-ref": "league/commonmark-1.6.7.0", "type": "library", "name": "commonmark", - "version": "1.6.6", + "version": "1.6.7", "group": "league", "description": "Highly-extensible PHP Markdown parser which fully supports the CommonMark spec and Github-Flavored Markdown (GFM)", + "author": "Colin O'Dell", "licenses": [ { "license": { @@ -678,82 +565,50 @@ } } ], - "purl": "pkg:composer/league/commonmark@1.6.6", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/thephpleague/commonmark.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=c4228d11e30d7493c6836d20872f9582d8ba6dcf)" + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/2b8185c13bc9578367a5bf901881d1c1b5bbd09b" }, { - "type": "distribution", - "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/c4228d11e30d7493c6836d20872f9582d8ba6dcf", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=c4228d11e30d7493c6836d20872f9582d8ba6dcf & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/thephpleague/commonmark.git" }, { "type": "website", "url": "https://commonmark.thephpleague.com", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { "type": "documentation", "url": "https://commonmark.thephpleague.com/", - "comment": "As set via `support.docs` in composer package definition." + "comment": "as detected from Composer manifest 'support.docs'" }, { "type": "issue-tracker", "url": "https://github.com/thephpleague/commonmark/issues", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "support", + "type": "other", "url": "https://github.com/thephpleague/commonmark/releases.atom", - "comment": "As set via `support.rss` in composer package definition." + "comment": "as detected from Composer manifest 'support.rss'" }, { - "type": "distribution", + "type": "vcs", "url": "https://github.com/thephpleague/commonmark", - "comment": "As set via `support.source` in composer package definition." - }, - { - "type": "other", - "url": "https://enjoy.gitstore.app/repositories/thephpleague/commonmark", - "comment": "As set via `funding` in composer package definition. (type=custom)" - }, - { - "type": "other", - "url": "https://www.colinodell.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" - }, - { - "type": "other", - "url": "https://www.paypal.me/colinpodell/10.00", - "comment": "As set via `funding` in composer package definition. (type=custom)" - }, - { - "type": "other", - "url": "https://github.com/colinodell", - "comment": "As set via `funding` in composer package definition. (type=github)" - }, - { - "type": "other", - "url": "https://www.patreon.com/colinodell", - "comment": "As set via `funding` in composer package definition. (type=patreon)" - }, - { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/league/commonmark", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "comment": "as detected from Composer manifest 'support.source'" } ] }, { - "bom-ref": "pkg:composer/league/flysystem@1.1.8", + "bom-ref": "league/flysystem-1.1.10.0", "type": "library", "name": "flysystem", - "version": "1.1.8", + "version": "1.1.10", "group": "league", "description": "Filesystem abstraction: Many filesystems, one API.", + "author": "Frank de Jonge", "licenses": [ { "license": { @@ -761,42 +616,35 @@ } } ], - "purl": "pkg:composer/league/flysystem@1.1.8", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/thephpleague/flysystem.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=c995bb0c23c58c9813d081f9523c9b7bb496698e)" + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/3239285c825c152bcc315fe0e87d6b55f5972ed1" }, { - "type": "distribution", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/c995bb0c23c58c9813d081f9523c9b7bb496698e", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=c995bb0c23c58c9813d081f9523c9b7bb496698e & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/thephpleague/flysystem.git" }, { "type": "issue-tracker", "url": "https://github.com/thephpleague/flysystem/issues", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "distribution", - "url": "https://github.com/thephpleague/flysystem/tree/1.1.8", - "comment": "As set via `support.source` in composer package definition." - }, - { - "type": "other", - "url": "https://offset.earth/frankdejonge", - "comment": "As set via `funding` in composer package definition. (type=other)" + "type": "vcs", + "url": "https://github.com/thephpleague/flysystem/tree/1.1.10", + "comment": "as detected from Composer manifest 'support.source'" } ] }, { - "bom-ref": "pkg:composer/league/mime-type-detection@1.9.0", + "bom-ref": "league/mime-type-detection-1.11.0.0", "type": "library", "name": "mime-type-detection", - "version": "1.9.0", + "version": "1.11.0", "group": "league", "description": "Mime-type detection for Flysystem", + "author": "Frank de Jonge", "licenses": [ { "license": { @@ -804,47 +652,35 @@ } } ], - "purl": "pkg:composer/league/mime-type-detection@1.9.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/thephpleague/mime-type-detection.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=aa70e813a6ad3d1558fc927863d47309b4c23e69)" + "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/ff6248ea87a9f116e78edd6002e39e5128a0d4dd" }, { - "type": "distribution", - "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/aa70e813a6ad3d1558fc927863d47309b4c23e69", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=aa70e813a6ad3d1558fc927863d47309b4c23e69 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/thephpleague/mime-type-detection.git" }, { "type": "issue-tracker", "url": "https://github.com/thephpleague/mime-type-detection/issues", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "distribution", - "url": "https://github.com/thephpleague/mime-type-detection/tree/1.9.0", - "comment": "As set via `support.source` in composer package definition." - }, - { - "type": "other", - "url": "https://github.com/frankdejonge", - "comment": "As set via `funding` in composer package definition. (type=github)" - }, - { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/league/flysystem", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "type": "vcs", + "url": "https://github.com/thephpleague/mime-type-detection/tree/1.11.0", + "comment": "as detected from Composer manifest 'support.source'" } ] }, { - "bom-ref": "pkg:composer/monolog/monolog@2.3.5", + "bom-ref": "monolog/monolog-2.8.0.0", "type": "library", "name": "monolog", - "version": "2.3.5", + "version": "2.8.0", "group": "monolog", "description": "Sends your logs to files, sockets, inboxes, databases and various web services", + "author": "Jordi Boggiano", "licenses": [ { "license": { @@ -852,52 +688,40 @@ } } ], - "purl": "pkg:composer/monolog/monolog@2.3.5", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/Seldaek/monolog.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=fd4380d6fc37626e2f799f29d91195040137eba9)" + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/720488632c590286b88b80e62aa3d3d551ad4a50" }, { - "type": "distribution", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/fd4380d6fc37626e2f799f29d91195040137eba9", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=fd4380d6fc37626e2f799f29d91195040137eba9 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/Seldaek/monolog.git" }, { "type": "website", "url": "https://github.com/Seldaek/monolog", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { "type": "issue-tracker", "url": "https://github.com/Seldaek/monolog/issues", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "distribution", - "url": "https://github.com/Seldaek/monolog/tree/2.3.5", - "comment": "As set via `support.source` in composer package definition." - }, - { - "type": "other", - "url": "https://github.com/Seldaek", - "comment": "As set via `funding` in composer package definition. (type=github)" - }, - { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/monolog/monolog", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "type": "vcs", + "url": "https://github.com/Seldaek/monolog/tree/2.8.0", + "comment": "as detected from Composer manifest 'support.source'" } ] }, { - "bom-ref": "pkg:composer/nesbot/carbon@2.55.2", + "bom-ref": "nesbot/carbon-2.63.0.0", "type": "library", "name": "carbon", - "version": "2.55.2", + "version": "2.63.0", "group": "nesbot", "description": "An API extension for DateTime that supports 281 different languages.", + "author": "Brian Nesbitt, kylekatarnls", "licenses": [ { "license": { @@ -905,57 +729,45 @@ } } ], - "purl": "pkg:composer/nesbot/carbon@2.55.2", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/briannesbitt/Carbon.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=8c2a18ce3e67c34efc1b29f64fe61304368259a2)" + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/ad35dd71a6a212b98e4b87e97389b6fa85f0e347" }, { - "type": "distribution", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/8c2a18ce3e67c34efc1b29f64fe61304368259a2", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=8c2a18ce3e67c34efc1b29f64fe61304368259a2 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/briannesbitt/Carbon.git" }, { "type": "website", "url": "https://carbon.nesbot.com", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { "type": "documentation", "url": "https://carbon.nesbot.com/docs", - "comment": "As set via `support.docs` in composer package definition." + "comment": "as detected from Composer manifest 'support.docs'" }, { "type": "issue-tracker", "url": "https://github.com/briannesbitt/Carbon/issues", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "distribution", + "type": "vcs", "url": "https://github.com/briannesbitt/Carbon", - "comment": "As set via `support.source` in composer package definition." - }, - { - "type": "other", - "url": "https://opencollective.com/Carbon", - "comment": "As set via `funding` in composer package definition. (type=open_collective)" - }, - { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/nesbot/carbon", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "comment": "as detected from Composer manifest 'support.source'" } ] }, { - "bom-ref": "pkg:composer/nikic/php-parser@4.13.2", + "bom-ref": "nikic/php-parser-4.15.2.0", "type": "library", "name": "php-parser", - "version": "4.13.2", + "version": "v4.15.2", "group": "nikic", "description": "A PHP parser written in PHP", + "author": "Nikita Popov", "licenses": [ { "license": { @@ -963,37 +775,35 @@ } } ], - "purl": "pkg:composer/nikic/php-parser@4.13.2", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/nikic/PHP-Parser.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=210577fe3cf7badcc5814d99455df46564f3c077)" + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/f59bbe44bf7d96f24f3e2b4ddc21cd52c1d2adbc" }, { - "type": "distribution", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/210577fe3cf7badcc5814d99455df46564f3c077", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=210577fe3cf7badcc5814d99455df46564f3c077 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/nikic/PHP-Parser.git" }, { "type": "issue-tracker", "url": "https://github.com/nikic/PHP-Parser/issues", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "distribution", - "url": "https://github.com/nikic/PHP-Parser/tree/v4.13.2", - "comment": "As set via `support.source` in composer package definition." + "type": "vcs", + "url": "https://github.com/nikic/PHP-Parser/tree/v4.15.2", + "comment": "as detected from Composer manifest 'support.source'" } ] }, { - "bom-ref": "pkg:composer/opis/closure@3.6.2", + "bom-ref": "opis/closure-3.6.3.0", "type": "library", "name": "closure", - "version": "3.6.2", + "version": "3.6.3", "group": "opis", "description": "A library that can be used to serialize closures (anonymous functions) and arbitrary objects.", + "author": "Marius Sarca, Sorin Sarca", "licenses": [ { "license": { @@ -1001,42 +811,40 @@ } } ], - "purl": "pkg:composer/opis/closure@3.6.2", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/opis/closure.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=06e2ebd25f2869e54a306dda991f7db58066f7f6)" + "url": "https://api.github.com/repos/opis/closure/zipball/3d81e4309d2a927abbe66df935f4bb60082805ad" }, { - "type": "distribution", - "url": "https://api.github.com/repos/opis/closure/zipball/06e2ebd25f2869e54a306dda991f7db58066f7f6", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=06e2ebd25f2869e54a306dda991f7db58066f7f6 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/opis/closure.git" }, { "type": "website", "url": "https://opis.io/closure", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { "type": "issue-tracker", "url": "https://github.com/opis/closure/issues", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "distribution", - "url": "https://github.com/opis/closure/tree/3.6.2", - "comment": "As set via `support.source` in composer package definition." + "type": "vcs", + "url": "https://github.com/opis/closure/tree/3.6.3", + "comment": "as detected from Composer manifest 'support.source'" } ] }, { - "bom-ref": "pkg:composer/phpoption/phpoption@1.8.0", + "bom-ref": "phpoption/phpoption-1.9.0.0", "type": "library", "name": "phpoption", - "version": "1.8.0", + "version": "1.9.0", "group": "phpoption", "description": "Option Type for PHP", + "author": "Johannes M. Schmitt, Graham Campbell", "licenses": [ { "license": { @@ -1044,47 +852,35 @@ } } ], - "purl": "pkg:composer/phpoption/phpoption@1.8.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/schmittjoh/php-option.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=5455cb38aed4523f99977c4a12ef19da4bfe2a28)" + "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/dc5ff11e274a90cc1c743f66c9ad700ce50db9ab" }, { - "type": "distribution", - "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/5455cb38aed4523f99977c4a12ef19da4bfe2a28", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=5455cb38aed4523f99977c4a12ef19da4bfe2a28 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/schmittjoh/php-option.git" }, { "type": "issue-tracker", "url": "https://github.com/schmittjoh/php-option/issues", - "comment": "As set via `support.issues` in composer package definition." - }, - { - "type": "distribution", - "url": "https://github.com/schmittjoh/php-option/tree/1.8.0", - "comment": "As set via `support.source` in composer package definition." - }, - { - "type": "other", - "url": "https://github.com/GrahamCampbell", - "comment": "As set via `funding` in composer package definition. (type=github)" + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/phpoption/phpoption", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "type": "vcs", + "url": "https://github.com/schmittjoh/php-option/tree/1.9.0", + "comment": "as detected from Composer manifest 'support.source'" } ] }, { - "bom-ref": "pkg:composer/psr/container@1.1.1", + "bom-ref": "psr/container-1.1.1.0", "type": "library", "name": "container", "version": "1.1.1", "group": "psr", "description": "Common Container Interface (PHP FIG PSR-11)", + "author": "PHP-FIG", "licenses": [ { "license": { @@ -1092,42 +888,40 @@ } } ], - "purl": "pkg:composer/psr/container@1.1.1", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/php-fig/container.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=8622567409010282b7aeebe4bb841fe98b58dcaf)" + "url": "https://api.github.com/repos/php-fig/container/zipball/8622567409010282b7aeebe4bb841fe98b58dcaf" }, { - "type": "distribution", - "url": "https://api.github.com/repos/php-fig/container/zipball/8622567409010282b7aeebe4bb841fe98b58dcaf", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=8622567409010282b7aeebe4bb841fe98b58dcaf & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/php-fig/container.git" }, { "type": "website", "url": "https://github.com/php-fig/container", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { "type": "issue-tracker", "url": "https://github.com/php-fig/container/issues", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "distribution", + "type": "vcs", "url": "https://github.com/php-fig/container/tree/1.1.1", - "comment": "As set via `support.source` in composer package definition." + "comment": "as detected from Composer manifest 'support.source'" } ] }, { - "bom-ref": "pkg:composer/psr/event-dispatcher@1.0.0", + "bom-ref": "psr/event-dispatcher-1.0.0.0", "type": "library", "name": "event-dispatcher", "version": "1.0.0", "group": "psr", "description": "Standard interfaces for event handling.", + "author": "PHP-FIG", "licenses": [ { "license": { @@ -1135,37 +929,35 @@ } } ], - "purl": "pkg:composer/psr/event-dispatcher@1.0.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/php-fig/event-dispatcher.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=dbefd12671e8a14ec7f180cab83036ed26714bb0)" + "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0" }, { - "type": "distribution", - "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=dbefd12671e8a14ec7f180cab83036ed26714bb0 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/php-fig/event-dispatcher.git" }, { "type": "issue-tracker", "url": "https://github.com/php-fig/event-dispatcher/issues", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "distribution", + "type": "vcs", "url": "https://github.com/php-fig/event-dispatcher/tree/1.0.0", - "comment": "As set via `support.source` in composer package definition." + "comment": "as detected from Composer manifest 'support.source'" } ] }, { - "bom-ref": "pkg:composer/psr/http-message@1.0.1", + "bom-ref": "psr/http-message-1.0.1.0", "type": "library", "name": "http-message", "version": "1.0.1", "group": "psr", "description": "Common interface for HTTP messages", + "author": "PHP-FIG", "licenses": [ { "license": { @@ -1173,37 +965,35 @@ } } ], - "purl": "pkg:composer/psr/http-message@1.0.1", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/php-fig/http-message.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=f6561bf28d520154e4b0ec72be95418abe6d9363)" + "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363" }, { - "type": "distribution", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=f6561bf28d520154e4b0ec72be95418abe6d9363 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/php-fig/http-message.git" }, { "type": "website", "url": "https://github.com/php-fig/http-message", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "distribution", + "type": "vcs", "url": "https://github.com/php-fig/http-message/tree/master", - "comment": "As set via `support.source` in composer package definition." + "comment": "as detected from Composer manifest 'support.source'" } ] }, { - "bom-ref": "pkg:composer/psr/log@1.1.4", + "bom-ref": "psr/log-1.1.4.0", "type": "library", "name": "log", "version": "1.1.4", "group": "psr", "description": "Common interface for logging libraries", + "author": "PHP-FIG", "licenses": [ { "license": { @@ -1211,37 +1001,35 @@ } } ], - "purl": "pkg:composer/psr/log@1.1.4", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/php-fig/log.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=d49695b909c3b7628b6289db5479a1c204601f11)" + "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11" }, { - "type": "distribution", - "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=d49695b909c3b7628b6289db5479a1c204601f11 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/php-fig/log.git" }, { "type": "website", "url": "https://github.com/php-fig/log", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "distribution", + "type": "vcs", "url": "https://github.com/php-fig/log/tree/1.1.4", - "comment": "As set via `support.source` in composer package definition." + "comment": "as detected from Composer manifest 'support.source'" } ] }, { - "bom-ref": "pkg:composer/psr/simple-cache@1.0.1", + "bom-ref": "psr/simple-cache-1.0.1.0", "type": "library", "name": "simple-cache", "version": "1.0.1", "group": "psr", "description": "Common interfaces for simple caching", + "author": "PHP-FIG", "licenses": [ { "license": { @@ -1249,32 +1037,30 @@ } } ], - "purl": "pkg:composer/psr/simple-cache@1.0.1", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/php-fig/simple-cache.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=408d5eafb83c57f6365a3ca330ff23aa4a5fa39b)" + "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b" }, { - "type": "distribution", - "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=408d5eafb83c57f6365a3ca330ff23aa4a5fa39b & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/php-fig/simple-cache.git" }, { - "type": "distribution", + "type": "vcs", "url": "https://github.com/php-fig/simple-cache/tree/master", - "comment": "As set via `support.source` in composer package definition." + "comment": "as detected from Composer manifest 'support.source'" } ] }, { - "bom-ref": "pkg:composer/psy/psysh@0.10.12", + "bom-ref": "psy/psysh-0.11.9.0", "type": "library", "name": "psysh", - "version": "0.10.12", + "version": "v0.11.9", "group": "psy", "description": "An interactive shell for modern PHP.", + "author": "Justin Hileman", "licenses": [ { "license": { @@ -1282,42 +1068,40 @@ } } ], - "purl": "pkg:composer/psy/psysh@0.10.12", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/bobthecow/psysh.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=a0d9981aa07ecfcbea28e4bfa868031cca121e7d)" + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/1acec99d6684a54ff92f8b548a4e41b566963778" }, { - "type": "distribution", - "url": "https://api.github.com/repos/bobthecow/psysh/zipball/a0d9981aa07ecfcbea28e4bfa868031cca121e7d", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=a0d9981aa07ecfcbea28e4bfa868031cca121e7d & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/bobthecow/psysh.git" }, { "type": "website", "url": "http://psysh.org", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { "type": "issue-tracker", "url": "https://github.com/bobthecow/psysh/issues", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "distribution", - "url": "https://github.com/bobthecow/psysh/tree/v0.10.12", - "comment": "As set via `support.source` in composer package definition." + "type": "vcs", + "url": "https://github.com/bobthecow/psysh/tree/v0.11.9", + "comment": "as detected from Composer manifest 'support.source'" } ] }, { - "bom-ref": "pkg:composer/ralouphie/getallheaders@3.0.3", + "bom-ref": "ralouphie/getallheaders-3.0.3.0", "type": "library", "name": "getallheaders", "version": "3.0.3", "group": "ralouphie", "description": "A polyfill for getallheaders.", + "author": "Ralph Khattar", "licenses": [ { "license": { @@ -1325,37 +1109,35 @@ } } ], - "purl": "pkg:composer/ralouphie/getallheaders@3.0.3", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/ralouphie/getallheaders.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=120b605dfeb996808c31b6477290a714d356e822)" + "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822" }, { - "type": "distribution", - "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=120b605dfeb996808c31b6477290a714d356e822 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/ralouphie/getallheaders.git" }, { "type": "issue-tracker", "url": "https://github.com/ralouphie/getallheaders/issues", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "distribution", + "type": "vcs", "url": "https://github.com/ralouphie/getallheaders/tree/develop", - "comment": "As set via `support.source` in composer package definition." + "comment": "as detected from Composer manifest 'support.source'" } ] }, { - "bom-ref": "pkg:composer/ramsey/collection@1.2.2", + "bom-ref": "ramsey/collection-1.2.2.0", "type": "library", "name": "collection", "version": "1.2.2", "group": "ramsey", "description": "A PHP library for representing and manipulating collections.", + "author": "Ben Ramsey", "licenses": [ { "license": { @@ -1363,42 +1145,29 @@ } } ], - "purl": "pkg:composer/ramsey/collection@1.2.2", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/ramsey/collection.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=cccc74ee5e328031b15640b51056ee8d3bb66c0a)" + "url": "https://api.github.com/repos/ramsey/collection/zipball/cccc74ee5e328031b15640b51056ee8d3bb66c0a" }, { - "type": "distribution", - "url": "https://api.github.com/repos/ramsey/collection/zipball/cccc74ee5e328031b15640b51056ee8d3bb66c0a", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=cccc74ee5e328031b15640b51056ee8d3bb66c0a & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/ramsey/collection.git" }, { "type": "issue-tracker", "url": "https://github.com/ramsey/collection/issues", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "distribution", + "type": "vcs", "url": "https://github.com/ramsey/collection/tree/1.2.2", - "comment": "As set via `support.source` in composer package definition." - }, - { - "type": "other", - "url": "https://github.com/ramsey", - "comment": "As set via `funding` in composer package definition. (type=github)" - }, - { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/ramsey/collection", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "comment": "as detected from Composer manifest 'support.source'" } ] }, { - "bom-ref": "pkg:composer/ramsey/uuid@4.2.3", + "bom-ref": "ramsey/uuid-4.2.3.0", "type": "library", "name": "uuid", "version": "4.2.3", @@ -1411,47 +1180,35 @@ } } ], - "purl": "pkg:composer/ramsey/uuid@4.2.3", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/ramsey/uuid.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=fc9bb7fb5388691fd7373cd44dcb4d63bbcf24df)" + "url": "https://api.github.com/repos/ramsey/uuid/zipball/fc9bb7fb5388691fd7373cd44dcb4d63bbcf24df" }, { - "type": "distribution", - "url": "https://api.github.com/repos/ramsey/uuid/zipball/fc9bb7fb5388691fd7373cd44dcb4d63bbcf24df", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=fc9bb7fb5388691fd7373cd44dcb4d63bbcf24df & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/ramsey/uuid.git" }, { "type": "issue-tracker", "url": "https://github.com/ramsey/uuid/issues", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "distribution", + "type": "vcs", "url": "https://github.com/ramsey/uuid/tree/4.2.3", - "comment": "As set via `support.source` in composer package definition." - }, - { - "type": "other", - "url": "https://github.com/ramsey", - "comment": "As set via `funding` in composer package definition. (type=github)" - }, - { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/ramsey/uuid", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "comment": "as detected from Composer manifest 'support.source'" } ] }, { - "bom-ref": "pkg:composer/swiftmailer/swiftmailer@6.3.0", + "bom-ref": "swiftmailer/swiftmailer-6.3.0.0", "type": "library", "name": "swiftmailer", - "version": "6.3.0", + "version": "v6.3.0", "group": "swiftmailer", "description": "Swiftmailer, free feature-rich PHP mailer", + "author": "Chris Corbyn, Fabien Potencier", "licenses": [ { "license": { @@ -1459,52 +1216,40 @@ } } ], - "purl": "pkg:composer/swiftmailer/swiftmailer@6.3.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/swiftmailer/swiftmailer.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=8a5d5072dca8f48460fce2f4131fcc495eec654c)" + "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/8a5d5072dca8f48460fce2f4131fcc495eec654c" }, { - "type": "distribution", - "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/8a5d5072dca8f48460fce2f4131fcc495eec654c", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=8a5d5072dca8f48460fce2f4131fcc495eec654c & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/swiftmailer/swiftmailer.git" }, { "type": "website", "url": "https://swiftmailer.symfony.com", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { "type": "issue-tracker", "url": "https://github.com/swiftmailer/swiftmailer/issues", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "distribution", + "type": "vcs", "url": "https://github.com/swiftmailer/swiftmailer/tree/v6.3.0", - "comment": "As set via `support.source` in composer package definition." - }, - { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" - }, - { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/swiftmailer/swiftmailer", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "comment": "as detected from Composer manifest 'support.source'" } ] }, { - "bom-ref": "pkg:composer/symfony/console@5.4.0", + "bom-ref": "symfony/console-5.4.16.0", "type": "library", "name": "console", - "version": "5.4.0", + "version": "v5.4.16", "group": "symfony", "description": "Eases the creation of beautiful and testable command line interfaces", + "author": "Fabien Potencier, Symfony Community", "licenses": [ { "license": { @@ -1512,52 +1257,35 @@ } } ], - "purl": "pkg:composer/symfony/console@5.4.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/console.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=ec3661faca1d110d6c307e124b44f99ac54179e3)" + "url": "https://api.github.com/repos/symfony/console/zipball/8e9b9c8dfb33af6057c94e1b44846bee700dc5ef" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/console/zipball/ec3661faca1d110d6c307e124b44f99ac54179e3", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=ec3661faca1d110d6c307e124b44f99ac54179e3 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/console.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." - }, - { - "type": "distribution", - "url": "https://github.com/symfony/console/tree/v5.4.0", - "comment": "As set via `support.source` in composer package definition." - }, - { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" - }, - { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "type": "vcs", + "url": "https://github.com/symfony/console/tree/v5.4.16", + "comment": "as detected from Composer manifest 'support.source'" } ] }, { - "bom-ref": "pkg:composer/symfony/css-selector@5.4.0", + "bom-ref": "symfony/css-selector-5.4.11.0", "type": "library", "name": "css-selector", - "version": "5.4.0", + "version": "v5.4.11", "group": "symfony", "description": "Converts CSS selectors to XPath expressions", + "author": "Fabien Potencier, Jean-Fran\u00e7ois Simon, Symfony Community", "licenses": [ { "license": { @@ -1565,52 +1293,35 @@ } } ], - "purl": "pkg:composer/symfony/css-selector@5.4.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/css-selector.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=44b933f98bb4b5220d10bed9ce5662f8c2d13dcc)" + "url": "https://api.github.com/repos/symfony/css-selector/zipball/c1681789f059ab756001052164726ae88512ae3d" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/44b933f98bb4b5220d10bed9ce5662f8c2d13dcc", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=44b933f98bb4b5220d10bed9ce5662f8c2d13dcc & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/css-selector.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." - }, - { - "type": "distribution", - "url": "https://github.com/symfony/css-selector/tree/v5.4.0", - "comment": "As set via `support.source` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" - }, - { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" - }, - { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "type": "vcs", + "url": "https://github.com/symfony/css-selector/tree/v5.4.11", + "comment": "as detected from Composer manifest 'support.source'" } ] }, { - "bom-ref": "pkg:composer/symfony/deprecation-contracts@2.5.0", + "bom-ref": "symfony/deprecation-contracts-2.5.2.0", "type": "library", "name": "deprecation-contracts", - "version": "2.5.0", + "version": "v2.5.2", "group": "symfony", "description": "A generic function and convention to trigger deprecation notices", + "author": "Nicolas Grekas, Symfony Community", "licenses": [ { "license": { @@ -1618,52 +1329,35 @@ } } ], - "purl": "pkg:composer/symfony/deprecation-contracts@2.5.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/deprecation-contracts.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=6f981ee24cf69ee7ce9736146d1c57c2780598a8)" + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/e8b495ea28c1d97b5e0c121748d6f9b53d075c66" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/6f981ee24cf69ee7ce9736146d1c57c2780598a8", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=6f981ee24cf69ee7ce9736146d1c57c2780598a8 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/deprecation-contracts.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "distribution", - "url": "https://github.com/symfony/deprecation-contracts/tree/v2.5.0", - "comment": "As set via `support.source` in composer package definition." - }, - { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" - }, - { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" - }, - { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "type": "vcs", + "url": "https://github.com/symfony/deprecation-contracts/tree/v2.5.2", + "comment": "as detected from Composer manifest 'support.source'" } ] }, { - "bom-ref": "pkg:composer/symfony/error-handler@5.4.0", + "bom-ref": "symfony/error-handler-5.4.15.0", "type": "library", "name": "error-handler", - "version": "5.4.0", + "version": "v5.4.15", "group": "symfony", "description": "Provides tools to manage errors and ease debugging PHP code", + "author": "Fabien Potencier, Symfony Community", "licenses": [ { "license": { @@ -1671,52 +1365,35 @@ } } ], - "purl": "pkg:composer/symfony/error-handler@5.4.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/error-handler.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=8433fa3145ac78df88b87a4a539118e950828126)" + "url": "https://api.github.com/repos/symfony/error-handler/zipball/539cf1428b8442303c6e876ad7bf5a7babd91091" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/8433fa3145ac78df88b87a4a539118e950828126", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=8433fa3145ac78df88b87a4a539118e950828126 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/error-handler.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." - }, - { - "type": "distribution", - "url": "https://github.com/symfony/error-handler/tree/v5.4.0", - "comment": "As set via `support.source` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" - }, - { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" - }, - { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "type": "vcs", + "url": "https://github.com/symfony/error-handler/tree/v5.4.15", + "comment": "as detected from Composer manifest 'support.source'" } ] }, { - "bom-ref": "pkg:composer/symfony/event-dispatcher@5.4.0", + "bom-ref": "symfony/event-dispatcher-5.4.9.0", "type": "library", "name": "event-dispatcher", - "version": "5.4.0", + "version": "v5.4.9", "group": "symfony", "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", + "author": "Fabien Potencier, Symfony Community", "licenses": [ { "license": { @@ -1724,52 +1401,35 @@ } } ], - "purl": "pkg:composer/symfony/event-dispatcher@5.4.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/event-dispatcher.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=27d39ae126352b9fa3be5e196ccf4617897be3eb)" + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/8e6ce1cc0279e3ff3c8ff0f43813bc88d21ca1bc" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/27d39ae126352b9fa3be5e196ccf4617897be3eb", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=27d39ae126352b9fa3be5e196ccf4617897be3eb & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/event-dispatcher.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." - }, - { - "type": "distribution", - "url": "https://github.com/symfony/event-dispatcher/tree/v5.4.0", - "comment": "As set via `support.source` in composer package definition." - }, - { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" - }, - { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "type": "vcs", + "url": "https://github.com/symfony/event-dispatcher/tree/v5.4.9", + "comment": "as detected from Composer manifest 'support.source'" } ] }, { - "bom-ref": "pkg:composer/symfony/event-dispatcher-contracts@2.5.0", + "bom-ref": "symfony/event-dispatcher-contracts-2.5.2.0", "type": "library", "name": "event-dispatcher-contracts", - "version": "2.5.0", + "version": "v2.5.2", "group": "symfony", "description": "Generic abstractions related to dispatching event", + "author": "Nicolas Grekas, Symfony Community", "licenses": [ { "license": { @@ -1777,52 +1437,35 @@ } } ], - "purl": "pkg:composer/symfony/event-dispatcher-contracts@2.5.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=66bea3b09be61613cd3b4043a65a8ec48cfa6d2a)" + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/f98b54df6ad059855739db6fcbc2d36995283fe1" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/66bea3b09be61613cd3b4043a65a8ec48cfa6d2a", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=66bea3b09be61613cd3b4043a65a8ec48cfa6d2a & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/event-dispatcher-contracts.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." - }, - { - "type": "distribution", - "url": "https://github.com/symfony/event-dispatcher-contracts/tree/v2.5.0", - "comment": "As set via `support.source` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" - }, - { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" - }, - { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "type": "vcs", + "url": "https://github.com/symfony/event-dispatcher-contracts/tree/v2.5.2", + "comment": "as detected from Composer manifest 'support.source'" } ] }, { - "bom-ref": "pkg:composer/symfony/finder@5.4.0", + "bom-ref": "symfony/finder-5.4.11.0", "type": "library", "name": "finder", - "version": "5.4.0", + "version": "v5.4.11", "group": "symfony", "description": "Finds files and directories via an intuitive fluent interface", + "author": "Fabien Potencier, Symfony Community", "licenses": [ { "license": { @@ -1830,52 +1473,35 @@ } } ], - "purl": "pkg:composer/symfony/finder@5.4.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/finder.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=d2f29dac98e96a98be467627bd49c2efb1bc2590)" + "url": "https://api.github.com/repos/symfony/finder/zipball/7872a66f57caffa2916a584db1aa7f12adc76f8c" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/finder/zipball/d2f29dac98e96a98be467627bd49c2efb1bc2590", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=d2f29dac98e96a98be467627bd49c2efb1bc2590 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/finder.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." - }, - { - "type": "distribution", - "url": "https://github.com/symfony/finder/tree/v5.4.0", - "comment": "As set via `support.source` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" - }, - { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" - }, - { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "type": "vcs", + "url": "https://github.com/symfony/finder/tree/v5.4.11", + "comment": "as detected from Composer manifest 'support.source'" } ] }, { - "bom-ref": "pkg:composer/symfony/http-foundation@5.4.0", + "bom-ref": "symfony/http-foundation-5.4.16.0", "type": "library", "name": "http-foundation", - "version": "5.4.0", + "version": "v5.4.16", "group": "symfony", "description": "Defines an object-oriented layer for the HTTP specification", + "author": "Fabien Potencier, Symfony Community", "licenses": [ { "license": { @@ -1883,52 +1509,35 @@ } } ], - "purl": "pkg:composer/symfony/http-foundation@5.4.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/http-foundation.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=5ef86ac7927d2de08dc1e26eb91325f9ccbe6309)" + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/5032c5849aef24741e1970cb03511b0dd131d838" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/5ef86ac7927d2de08dc1e26eb91325f9ccbe6309", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=5ef86ac7927d2de08dc1e26eb91325f9ccbe6309 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/http-foundation.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." - }, - { - "type": "distribution", - "url": "https://github.com/symfony/http-foundation/tree/v5.4.0", - "comment": "As set via `support.source` in composer package definition." - }, - { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" - }, - { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "type": "vcs", + "url": "https://github.com/symfony/http-foundation/tree/v5.4.16", + "comment": "as detected from Composer manifest 'support.source'" } ] }, { - "bom-ref": "pkg:composer/symfony/http-kernel@5.4.0", + "bom-ref": "symfony/http-kernel-5.4.16.0", "type": "library", "name": "http-kernel", - "version": "5.4.0", + "version": "v5.4.16", "group": "symfony", "description": "Provides a structured process for converting a Request into a Response", + "author": "Fabien Potencier, Symfony Community", "licenses": [ { "license": { @@ -1936,52 +1545,35 @@ } } ], - "purl": "pkg:composer/symfony/http-kernel@5.4.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/http-kernel.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=e012f16688bcb151e965473a70d8ebaa8b1d15ea)" + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/b432c57c5de73634b1859093c1f58e3cd84455a1" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/e012f16688bcb151e965473a70d8ebaa8b1d15ea", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=e012f16688bcb151e965473a70d8ebaa8b1d15ea & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/http-kernel.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." - }, - { - "type": "distribution", - "url": "https://github.com/symfony/http-kernel/tree/v5.4.0", - "comment": "As set via `support.source` in composer package definition." - }, - { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" - }, - { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "type": "vcs", + "url": "https://github.com/symfony/http-kernel/tree/v5.4.16", + "comment": "as detected from Composer manifest 'support.source'" } ] }, { - "bom-ref": "pkg:composer/symfony/mime@5.4.0", + "bom-ref": "symfony/mime-5.4.16.0", "type": "library", "name": "mime", - "version": "5.4.0", + "version": "v5.4.16", "group": "symfony", "description": "Allows manipulating MIME messages", + "author": "Fabien Potencier, Symfony Community", "licenses": [ { "license": { @@ -1989,52 +1581,35 @@ } } ], - "purl": "pkg:composer/symfony/mime@5.4.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/mime.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=d4365000217b67c01acff407573906ff91bcfb34)" + "url": "https://api.github.com/repos/symfony/mime/zipball/46eeedb08f0832b1b61a84c612d945fc85ee4734" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/mime/zipball/d4365000217b67c01acff407573906ff91bcfb34", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=d4365000217b67c01acff407573906ff91bcfb34 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/mime.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." - }, - { - "type": "distribution", - "url": "https://github.com/symfony/mime/tree/v5.4.0", - "comment": "As set via `support.source` in composer package definition." - }, - { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" - }, - { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "type": "vcs", + "url": "https://github.com/symfony/mime/tree/v5.4.16", + "comment": "as detected from Composer manifest 'support.source'" } ] }, { - "bom-ref": "pkg:composer/symfony/polyfill-ctype@1.23.0", + "bom-ref": "symfony/polyfill-ctype-1.27.0.0", "type": "library", "name": "polyfill-ctype", - "version": "1.23.0", + "version": "v1.27.0", "group": "symfony", "description": "Symfony polyfill for ctype functions", + "author": "Gert de Pagter, Symfony Community", "licenses": [ { "license": { @@ -2042,52 +1617,35 @@ } } ], - "purl": "pkg:composer/symfony/polyfill-ctype@1.23.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/polyfill-ctype.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=46cd95797e9df938fdd2b03693b5fca5e64b01ce)" + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/5bbc823adecdae860bb64756d639ecfec17b050a" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/46cd95797e9df938fdd2b03693b5fca5e64b01ce", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=46cd95797e9df938fdd2b03693b5fca5e64b01ce & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/polyfill-ctype.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." - }, - { - "type": "distribution", - "url": "https://github.com/symfony/polyfill-ctype/tree/v1.23.0", - "comment": "As set via `support.source` in composer package definition." - }, - { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" - }, - { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "type": "vcs", + "url": "https://github.com/symfony/polyfill-ctype/tree/v1.27.0", + "comment": "as detected from Composer manifest 'support.source'" } ] }, { - "bom-ref": "pkg:composer/symfony/polyfill-iconv@1.23.0", + "bom-ref": "symfony/polyfill-iconv-1.27.0.0", "type": "library", "name": "polyfill-iconv", - "version": "1.23.0", + "version": "v1.27.0", "group": "symfony", "description": "Symfony polyfill for the Iconv extension", + "author": "Nicolas Grekas, Symfony Community", "licenses": [ { "license": { @@ -2095,52 +1653,35 @@ } } ], - "purl": "pkg:composer/symfony/polyfill-iconv@1.23.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/polyfill-iconv.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=63b5bb7db83e5673936d6e3b8b3e022ff6474933)" + "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/927013f3aac555983a5059aada98e1907d842695" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/63b5bb7db83e5673936d6e3b8b3e022ff6474933", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=63b5bb7db83e5673936d6e3b8b3e022ff6474933 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/polyfill-iconv.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." - }, - { - "type": "distribution", - "url": "https://github.com/symfony/polyfill-iconv/tree/v1.23.0", - "comment": "As set via `support.source` in composer package definition." - }, - { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" - }, - { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "type": "vcs", + "url": "https://github.com/symfony/polyfill-iconv/tree/v1.27.0", + "comment": "as detected from Composer manifest 'support.source'" } ] }, { - "bom-ref": "pkg:composer/symfony/polyfill-intl-grapheme@1.23.1", + "bom-ref": "symfony/polyfill-intl-grapheme-1.27.0.0", "type": "library", "name": "polyfill-intl-grapheme", - "version": "1.23.1", + "version": "v1.27.0", "group": "symfony", "description": "Symfony polyfill for intl's grapheme_* functions", + "author": "Nicolas Grekas, Symfony Community", "licenses": [ { "license": { @@ -2148,52 +1689,35 @@ } } ], - "purl": "pkg:composer/symfony/polyfill-intl-grapheme@1.23.1", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=16880ba9c5ebe3642d1995ab866db29270b36535)" + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/511a08c03c1960e08a883f4cffcacd219b758354" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/16880ba9c5ebe3642d1995ab866db29270b36535", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=16880ba9c5ebe3642d1995ab866db29270b36535 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/polyfill-intl-grapheme.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "distribution", - "url": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.23.1", - "comment": "As set via `support.source` in composer package definition." - }, - { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" - }, - { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" - }, - { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "type": "vcs", + "url": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.27.0", + "comment": "as detected from Composer manifest 'support.source'" } ] }, { - "bom-ref": "pkg:composer/symfony/polyfill-intl-idn@1.23.0", + "bom-ref": "symfony/polyfill-intl-idn-1.27.0.0", "type": "library", "name": "polyfill-intl-idn", - "version": "1.23.0", + "version": "v1.27.0", "group": "symfony", "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions", + "author": "Laurent Bassin, Trevor Rowbotham, Symfony Community", "licenses": [ { "license": { @@ -2201,52 +1725,35 @@ } } ], - "purl": "pkg:composer/symfony/polyfill-intl-idn@1.23.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/polyfill-intl-idn.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=65bd267525e82759e7d8c4e8ceea44f398838e65)" + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/639084e360537a19f9ee352433b84ce831f3d2da" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/65bd267525e82759e7d8c4e8ceea44f398838e65", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=65bd267525e82759e7d8c4e8ceea44f398838e65 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/polyfill-intl-idn.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." - }, - { - "type": "distribution", - "url": "https://github.com/symfony/polyfill-intl-idn/tree/v1.23.0", - "comment": "As set via `support.source` in composer package definition." - }, - { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" - }, - { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "type": "vcs", + "url": "https://github.com/symfony/polyfill-intl-idn/tree/v1.27.0", + "comment": "as detected from Composer manifest 'support.source'" } ] }, { - "bom-ref": "pkg:composer/symfony/polyfill-intl-normalizer@1.23.0", + "bom-ref": "symfony/polyfill-intl-normalizer-1.27.0.0", "type": "library", "name": "polyfill-intl-normalizer", - "version": "1.23.0", + "version": "v1.27.0", "group": "symfony", "description": "Symfony polyfill for intl's Normalizer class and related functions", + "author": "Nicolas Grekas, Symfony Community", "licenses": [ { "license": { @@ -2254,52 +1761,35 @@ } } ], - "purl": "pkg:composer/symfony/polyfill-intl-normalizer@1.23.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=8590a5f561694770bdcd3f9b5c69dde6945028e8)" + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/19bd1e4fcd5b91116f14d8533c57831ed00571b6" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8590a5f561694770bdcd3f9b5c69dde6945028e8", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=8590a5f561694770bdcd3f9b5c69dde6945028e8 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/polyfill-intl-normalizer.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." - }, - { - "type": "distribution", - "url": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.23.0", - "comment": "As set via `support.source` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" - }, - { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" - }, - { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "type": "vcs", + "url": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.27.0", + "comment": "as detected from Composer manifest 'support.source'" } ] }, { - "bom-ref": "pkg:composer/symfony/polyfill-mbstring@1.23.1", + "bom-ref": "symfony/polyfill-mbstring-1.27.0.0", "type": "library", "name": "polyfill-mbstring", - "version": "1.23.1", + "version": "v1.27.0", "group": "symfony", "description": "Symfony polyfill for the Mbstring extension", + "author": "Nicolas Grekas, Symfony Community", "licenses": [ { "license": { @@ -2307,52 +1797,35 @@ } } ], - "purl": "pkg:composer/symfony/polyfill-mbstring@1.23.1", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=9174a3d80210dca8daa7f31fec659150bbeabfc6)" + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/8ad114f6b39e2c98a8b0e3bd907732c207c2b534" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9174a3d80210dca8daa7f31fec659150bbeabfc6", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=9174a3d80210dca8daa7f31fec659150bbeabfc6 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/polyfill-mbstring.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "distribution", - "url": "https://github.com/symfony/polyfill-mbstring/tree/v1.23.1", - "comment": "As set via `support.source` in composer package definition." - }, - { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" - }, - { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" - }, - { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "type": "vcs", + "url": "https://github.com/symfony/polyfill-mbstring/tree/v1.27.0", + "comment": "as detected from Composer manifest 'support.source'" } ] }, { - "bom-ref": "pkg:composer/symfony/polyfill-php72@1.23.0", + "bom-ref": "symfony/polyfill-php72-1.27.0.0", "type": "library", "name": "polyfill-php72", - "version": "1.23.0", + "version": "v1.27.0", "group": "symfony", "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", + "author": "Nicolas Grekas, Symfony Community", "licenses": [ { "license": { @@ -2360,52 +1833,35 @@ } } ], - "purl": "pkg:composer/symfony/polyfill-php72@1.23.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/polyfill-php72.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=9a142215a36a3888e30d0a9eeea9766764e96976)" + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/869329b1e9894268a8a61dabb69153029b7a8c97" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/9a142215a36a3888e30d0a9eeea9766764e96976", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=9a142215a36a3888e30d0a9eeea9766764e96976 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/polyfill-php72.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." - }, - { - "type": "distribution", - "url": "https://github.com/symfony/polyfill-php72/tree/v1.23.0", - "comment": "As set via `support.source` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" - }, - { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" - }, - { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "type": "vcs", + "url": "https://github.com/symfony/polyfill-php72/tree/v1.27.0", + "comment": "as detected from Composer manifest 'support.source'" } ] }, { - "bom-ref": "pkg:composer/symfony/polyfill-php73@1.23.0", + "bom-ref": "symfony/polyfill-php73-1.27.0.0", "type": "library", "name": "polyfill-php73", - "version": "1.23.0", + "version": "v1.27.0", "group": "symfony", "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions", + "author": "Nicolas Grekas, Symfony Community", "licenses": [ { "license": { @@ -2413,52 +1869,35 @@ } } ], - "purl": "pkg:composer/symfony/polyfill-php73@1.23.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/polyfill-php73.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=fba8933c384d6476ab14fb7b8526e5287ca7e010)" + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/9e8ecb5f92152187c4799efd3c96b78ccab18ff9" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/fba8933c384d6476ab14fb7b8526e5287ca7e010", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=fba8933c384d6476ab14fb7b8526e5287ca7e010 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/polyfill-php73.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." - }, - { - "type": "distribution", - "url": "https://github.com/symfony/polyfill-php73/tree/v1.23.0", - "comment": "As set via `support.source` in composer package definition." - }, - { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" - }, - { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "type": "vcs", + "url": "https://github.com/symfony/polyfill-php73/tree/v1.27.0", + "comment": "as detected from Composer manifest 'support.source'" } ] }, { - "bom-ref": "pkg:composer/symfony/polyfill-php80@1.23.1", + "bom-ref": "symfony/polyfill-php80-1.27.0.0", "type": "library", "name": "polyfill-php80", - "version": "1.23.1", + "version": "v1.27.0", "group": "symfony", "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", + "author": "Ion Bazan, Nicolas Grekas, Symfony Community", "licenses": [ { "license": { @@ -2466,52 +1905,35 @@ } } ], - "purl": "pkg:composer/symfony/polyfill-php80@1.23.1", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/polyfill-php80.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=1100343ed1a92e3a38f9ae122fc0eb21602547be)" + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/1100343ed1a92e3a38f9ae122fc0eb21602547be", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=1100343ed1a92e3a38f9ae122fc0eb21602547be & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/polyfill-php80.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." - }, - { - "type": "distribution", - "url": "https://github.com/symfony/polyfill-php80/tree/v1.23.1", - "comment": "As set via `support.source` in composer package definition." - }, - { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" - }, - { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "type": "vcs", + "url": "https://github.com/symfony/polyfill-php80/tree/v1.27.0", + "comment": "as detected from Composer manifest 'support.source'" } ] }, { - "bom-ref": "pkg:composer/symfony/polyfill-php81@1.23.0", + "bom-ref": "symfony/polyfill-php81-1.27.0.0", "type": "library", "name": "polyfill-php81", - "version": "1.23.0", + "version": "v1.27.0", "group": "symfony", "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions", + "author": "Nicolas Grekas, Symfony Community", "licenses": [ { "license": { @@ -2519,52 +1941,35 @@ } } ], - "purl": "pkg:composer/symfony/polyfill-php81@1.23.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/polyfill-php81.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=e66119f3de95efc359483f810c4c3e6436279436)" + "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/707403074c8ea6e2edaf8794b0157a0bfa52157a" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/e66119f3de95efc359483f810c4c3e6436279436", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=e66119f3de95efc359483f810c4c3e6436279436 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/polyfill-php81.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." - }, - { - "type": "distribution", - "url": "https://github.com/symfony/polyfill-php81/tree/v1.23.0", - "comment": "As set via `support.source` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" - }, - { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" - }, - { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "type": "vcs", + "url": "https://github.com/symfony/polyfill-php81/tree/v1.27.0", + "comment": "as detected from Composer manifest 'support.source'" } ] }, { - "bom-ref": "pkg:composer/symfony/process@5.4.0", + "bom-ref": "symfony/process-5.4.11.0", "type": "library", "name": "process", - "version": "5.4.0", + "version": "v5.4.11", "group": "symfony", "description": "Executes commands in sub-processes", + "author": "Fabien Potencier, Symfony Community", "licenses": [ { "license": { @@ -2572,52 +1977,35 @@ } } ], - "purl": "pkg:composer/symfony/process@5.4.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/process.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=5be20b3830f726e019162b26223110c8f47cf274)" + "url": "https://api.github.com/repos/symfony/process/zipball/6e75fe6874cbc7e4773d049616ab450eff537bf1" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/process/zipball/5be20b3830f726e019162b26223110c8f47cf274", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=5be20b3830f726e019162b26223110c8f47cf274 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/process.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." - }, - { - "type": "distribution", - "url": "https://github.com/symfony/process/tree/v5.4.0", - "comment": "As set via `support.source` in composer package definition." - }, - { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" - }, - { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "type": "vcs", + "url": "https://github.com/symfony/process/tree/v5.4.11", + "comment": "as detected from Composer manifest 'support.source'" } ] }, { - "bom-ref": "pkg:composer/symfony/routing@5.4.0", + "bom-ref": "symfony/routing-5.4.15.0", "type": "library", "name": "routing", - "version": "5.4.0", + "version": "v5.4.15", "group": "symfony", "description": "Maps an HTTP request to a set of configuration variables", + "author": "Fabien Potencier, Symfony Community", "licenses": [ { "license": { @@ -2625,52 +2013,35 @@ } } ], - "purl": "pkg:composer/symfony/routing@5.4.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/routing.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=9eeae93c32ca86746e5d38f3679e9569981038b1)" + "url": "https://api.github.com/repos/symfony/routing/zipball/5c9b129efe9abce9470e384bf65d8a7e262eee69" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/routing/zipball/9eeae93c32ca86746e5d38f3679e9569981038b1", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=9eeae93c32ca86746e5d38f3679e9569981038b1 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/routing.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." - }, - { - "type": "distribution", - "url": "https://github.com/symfony/routing/tree/v5.4.0", - "comment": "As set via `support.source` in composer package definition." - }, - { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" - }, - { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "type": "vcs", + "url": "https://github.com/symfony/routing/tree/v5.4.15", + "comment": "as detected from Composer manifest 'support.source'" } ] }, { - "bom-ref": "pkg:composer/symfony/service-contracts@2.5.0", + "bom-ref": "symfony/service-contracts-2.5.2.0", "type": "library", "name": "service-contracts", - "version": "2.5.0", + "version": "v2.5.2", "group": "symfony", "description": "Generic abstractions related to writing services", + "author": "Nicolas Grekas, Symfony Community", "licenses": [ { "license": { @@ -2678,52 +2049,35 @@ } } ], - "purl": "pkg:composer/symfony/service-contracts@2.5.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/service-contracts.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=1ab11b933cd6bc5464b08e81e2c5b07dec58b0fc)" + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/4b426aac47d6427cc1a1d0f7e2ac724627f5966c" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/1ab11b933cd6bc5464b08e81e2c5b07dec58b0fc", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=1ab11b933cd6bc5464b08e81e2c5b07dec58b0fc & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/service-contracts.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." - }, - { - "type": "distribution", - "url": "https://github.com/symfony/service-contracts/tree/v2.5.0", - "comment": "As set via `support.source` in composer package definition." - }, - { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" - }, - { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "type": "vcs", + "url": "https://github.com/symfony/service-contracts/tree/v2.5.2", + "comment": "as detected from Composer manifest 'support.source'" } ] }, { - "bom-ref": "pkg:composer/symfony/string@5.4.0", + "bom-ref": "symfony/string-5.4.15.0", "type": "library", "name": "string", - "version": "5.4.0", + "version": "v5.4.15", "group": "symfony", "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", + "author": "Nicolas Grekas, Symfony Community", "licenses": [ { "license": { @@ -2731,52 +2085,35 @@ } } ], - "purl": "pkg:composer/symfony/string@5.4.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/string.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=9ffaaba53c61ba75a3c7a3a779051d1e9ec4fd2d)" + "url": "https://api.github.com/repos/symfony/string/zipball/571334ce9f687e3e6af72db4d3b2a9431e4fd9ed" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/string/zipball/9ffaaba53c61ba75a3c7a3a779051d1e9ec4fd2d", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=9ffaaba53c61ba75a3c7a3a779051d1e9ec4fd2d & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/string.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." - }, - { - "type": "distribution", - "url": "https://github.com/symfony/string/tree/v5.4.0", - "comment": "As set via `support.source` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" - }, - { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" - }, - { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "type": "vcs", + "url": "https://github.com/symfony/string/tree/v5.4.15", + "comment": "as detected from Composer manifest 'support.source'" } ] }, { - "bom-ref": "pkg:composer/symfony/translation@5.4.0", + "bom-ref": "symfony/translation-5.4.14.0", "type": "library", "name": "translation", - "version": "5.4.0", + "version": "v5.4.14", "group": "symfony", "description": "Provides tools to internationalize your application", + "author": "Fabien Potencier, Symfony Community", "licenses": [ { "license": { @@ -2784,52 +2121,35 @@ } } ], - "purl": "pkg:composer/symfony/translation@5.4.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/translation.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=6fe32b10e912a518805bc9eafc2a87145773cf13)" + "url": "https://api.github.com/repos/symfony/translation/zipball/f0ed07675863aa6e3939df8b1bc879450b585cab" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/translation/zipball/6fe32b10e912a518805bc9eafc2a87145773cf13", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=6fe32b10e912a518805bc9eafc2a87145773cf13 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/translation.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." - }, - { - "type": "distribution", - "url": "https://github.com/symfony/translation/tree/v5.4.0", - "comment": "As set via `support.source` in composer package definition." - }, - { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" - }, - { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "type": "vcs", + "url": "https://github.com/symfony/translation/tree/v5.4.14", + "comment": "as detected from Composer manifest 'support.source'" } ] }, { - "bom-ref": "pkg:composer/symfony/translation-contracts@2.5.0", + "bom-ref": "symfony/translation-contracts-2.5.2.0", "type": "library", "name": "translation-contracts", - "version": "2.5.0", + "version": "v2.5.2", "group": "symfony", "description": "Generic abstractions related to translation", + "author": "Nicolas Grekas, Symfony Community", "licenses": [ { "license": { @@ -2837,52 +2157,35 @@ } } ], - "purl": "pkg:composer/symfony/translation-contracts@2.5.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/translation-contracts.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=d28150f0f44ce854e942b671fc2620a98aae1b1e)" + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/136b19dd05cdf0709db6537d058bcab6dd6e2dbe" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/d28150f0f44ce854e942b671fc2620a98aae1b1e", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=d28150f0f44ce854e942b671fc2620a98aae1b1e & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/translation-contracts.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." - }, - { - "type": "distribution", - "url": "https://github.com/symfony/translation-contracts/tree/v2.5.0", - "comment": "As set via `support.source` in composer package definition." - }, - { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" - }, - { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "type": "vcs", + "url": "https://github.com/symfony/translation-contracts/tree/v2.5.2", + "comment": "as detected from Composer manifest 'support.source'" } ] }, { - "bom-ref": "pkg:composer/symfony/var-dumper@5.4.0", + "bom-ref": "symfony/var-dumper-5.4.14.0", "type": "library", "name": "var-dumper", - "version": "5.4.0", + "version": "v5.4.14", "group": "symfony", "description": "Provides mechanisms for walking through any arbitrary PHP variable", + "author": "Nicolas Grekas, Symfony Community", "licenses": [ { "license": { @@ -2890,52 +2193,35 @@ } } ], - "purl": "pkg:composer/symfony/var-dumper@5.4.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/var-dumper.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=89ab66eaef230c9cd1992de2e9a1b26652b127b9)" + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/6894d06145fefebd9a4c7272baa026a1c394a430" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/89ab66eaef230c9cd1992de2e9a1b26652b127b9", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=89ab66eaef230c9cd1992de2e9a1b26652b127b9 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/var-dumper.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." - }, - { - "type": "distribution", - "url": "https://github.com/symfony/var-dumper/tree/v5.4.0", - "comment": "As set via `support.source` in composer package definition." - }, - { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" - }, - { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "type": "vcs", + "url": "https://github.com/symfony/var-dumper/tree/v5.4.14", + "comment": "as detected from Composer manifest 'support.source'" } ] }, { - "bom-ref": "pkg:composer/tijsverkoyen/css-to-inline-styles@2.2.3", + "bom-ref": "tijsverkoyen/css-to-inline-styles-2.2.5.0", "type": "library", "name": "css-to-inline-styles", - "version": "2.2.3", + "version": "2.2.5", "group": "tijsverkoyen", "description": "CssToInlineStyles is a class that enables you to convert HTML-pages/files into HTML-pages/files with inline styles. This is very useful when you're sending emails.", + "author": "Tijs Verkoyen", "licenses": [ { "license": { @@ -2943,42 +2229,40 @@ } } ], - "purl": "pkg:composer/tijsverkoyen/css-to-inline-styles@2.2.3", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=b43b05cf43c1b6d849478965062b6ef73e223bb5)" + "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/4348a3a06651827a27d989ad1d13efec6bb49b19" }, { - "type": "distribution", - "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/b43b05cf43c1b6d849478965062b6ef73e223bb5", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=b43b05cf43c1b6d849478965062b6ef73e223bb5 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git" }, { "type": "website", "url": "https://github.com/tijsverkoyen/CssToInlineStyles", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { "type": "issue-tracker", "url": "https://github.com/tijsverkoyen/CssToInlineStyles/issues", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "distribution", - "url": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/2.2.3", - "comment": "As set via `support.source` in composer package definition." + "type": "vcs", + "url": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/2.2.5", + "comment": "as detected from Composer manifest 'support.source'" } ] }, { - "bom-ref": "pkg:composer/vlucas/phpdotenv@4.2.1", + "bom-ref": "vlucas/phpdotenv-4.3.0.0", "type": "library", "name": "phpdotenv", - "version": "4.2.1", + "version": "v4.3.0", "group": "vlucas", "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.", + "author": "Graham Campbell, Vance Lucas", "licenses": [ { "license": { @@ -2986,47 +2270,35 @@ } } ], - "purl": "pkg:composer/vlucas/phpdotenv@4.2.1", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/vlucas/phpdotenv.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=d38f4d1edcbe32515a0ad593cbd4c858e337263c)" + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/67a491df68208bef8c37092db11fa3885008efcf" }, { - "type": "distribution", - "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/d38f4d1edcbe32515a0ad593cbd4c858e337263c", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=d38f4d1edcbe32515a0ad593cbd4c858e337263c & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/vlucas/phpdotenv.git" }, { "type": "issue-tracker", "url": "https://github.com/vlucas/phpdotenv/issues", - "comment": "As set via `support.issues` in composer package definition." - }, - { - "type": "distribution", - "url": "https://github.com/vlucas/phpdotenv/tree/v4.2.1", - "comment": "As set via `support.source` in composer package definition." - }, - { - "type": "other", - "url": "https://github.com/GrahamCampbell", - "comment": "As set via `funding` in composer package definition. (type=github)" + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/vlucas/phpdotenv", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "type": "vcs", + "url": "https://github.com/vlucas/phpdotenv/tree/v4.3.0", + "comment": "as detected from Composer manifest 'support.source'" } ] }, { - "bom-ref": "pkg:composer/voku/portable-ascii@1.5.6", + "bom-ref": "voku/portable-ascii-1.6.1.0", "type": "library", "name": "portable-ascii", - "version": "1.5.6", + "version": "1.6.1", "group": "voku", "description": "Portable ASCII library - performance optimized (ascii) string functions for php.", + "author": "Lars Moelleken", "licenses": [ { "license": { @@ -3034,430 +2306,402 @@ } } ], - "purl": "pkg:composer/voku/portable-ascii@1.5.6", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/voku/portable-ascii.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=80953678b19901e5165c56752d087fc11526017c)" + "url": "https://api.github.com/repos/voku/portable-ascii/zipball/87337c91b9dfacee02452244ee14ab3c43bc485a" }, { - "type": "distribution", - "url": "https://api.github.com/repos/voku/portable-ascii/zipball/80953678b19901e5165c56752d087fc11526017c", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=80953678b19901e5165c56752d087fc11526017c & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/voku/portable-ascii.git" }, { "type": "website", "url": "https://github.com/voku/portable-ascii", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { "type": "issue-tracker", "url": "https://github.com/voku/portable-ascii/issues", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "distribution", - "url": "https://github.com/voku/portable-ascii/tree/1.5.6", - "comment": "As set via `support.source` in composer package definition." - }, - { - "type": "other", - "url": "https://www.paypal.me/moelleken", - "comment": "As set via `funding` in composer package definition. (type=custom)" - }, - { - "type": "other", - "url": "https://github.com/voku", - "comment": "As set via `funding` in composer package definition. (type=github)" - }, - { - "type": "other", - "url": "https://opencollective.com/portable-ascii", - "comment": "As set via `funding` in composer package definition. (type=open_collective)" - }, - { - "type": "other", - "url": "https://www.patreon.com/voku", - "comment": "As set via `funding` in composer package definition. (type=patreon)" - }, - { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/voku/portable-ascii", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "type": "vcs", + "url": "https://github.com/voku/portable-ascii/tree/1.6.1", + "comment": "as detected from Composer manifest 'support.source'" } ] } ], "dependencies": [ { - "ref": "pkg:composer/asm89/stack-cors@1.3.0", + "ref": "asm89/stack-cors-1.3.0.0", "dependsOn": [ - "pkg:composer/symfony/http-foundation@5.4.0", - "pkg:composer/symfony/http-kernel@5.4.0" + "symfony/http-foundation-5.4.16.0", + "symfony/http-kernel-5.4.16.0" ] }, { - "ref": "pkg:composer/brick/math@0.9.3" + "ref": "brick/math-0.9.3.0" }, { - "ref": "pkg:composer/doctrine/inflector@2.0.4" + "ref": "doctrine/inflector-2.0.6.0" }, { - "ref": "pkg:composer/doctrine/lexer@1.2.1" + "ref": "doctrine/lexer-1.2.3.0" }, { - "ref": "pkg:composer/dragonmantank/cron-expression@2.3.1" + "ref": "dragonmantank/cron-expression-2.3.1.0" }, { - "ref": "pkg:composer/egulias/email-validator@2.1.25", + "ref": "egulias/email-validator-2.1.25.0", "dependsOn": [ - "pkg:composer/doctrine/lexer@1.2.1", - "pkg:composer/symfony/polyfill-intl-idn@1.23.0" + "doctrine/lexer-1.2.3.0", + "symfony/polyfill-intl-idn-1.27.0.0" ] }, { - "ref": "pkg:composer/fideloper/proxy@4.4.1" + "ref": "fideloper/proxy-4.4.2.0" }, { - "ref": "pkg:composer/fruitcake/laravel-cors@1.0.6", + "ref": "fruitcake/laravel-cors-1.0.6.0", "dependsOn": [ - "pkg:composer/asm89/stack-cors@1.3.0", - "pkg:composer/symfony/http-foundation@5.4.0", - "pkg:composer/symfony/http-kernel@5.4.0" + "asm89/stack-cors-1.3.0.0", + "symfony/http-foundation-5.4.16.0", + "symfony/http-kernel-5.4.16.0" ] }, { - "ref": "pkg:composer/guzzlehttp/guzzle@6.5.5", + "ref": "guzzlehttp/guzzle-6.5.8.0", "dependsOn": [ - "pkg:composer/guzzlehttp/promises@1.5.1", - "pkg:composer/guzzlehttp/psr7@1.8.3", - "pkg:composer/symfony/polyfill-intl-idn@1.23.0" + "guzzlehttp/promises-1.5.2.0", + "guzzlehttp/psr7-1.9.0.0", + "symfony/polyfill-intl-idn-1.27.0.0" ] }, { - "ref": "pkg:composer/guzzlehttp/promises@1.5.1" + "ref": "guzzlehttp/promises-1.5.2.0" }, { - "ref": "pkg:composer/guzzlehttp/psr7@1.8.3", + "ref": "guzzlehttp/psr7-1.9.0.0", "dependsOn": [ - "pkg:composer/psr/http-message@1.0.1", - "pkg:composer/ralouphie/getallheaders@3.0.3" + "psr/http-message-1.0.1.0", + "ralouphie/getallheaders-3.0.3.0" ] }, { - "ref": "pkg:composer/laravel/framework@7.30.5", + "ref": "laravel/framework-7.30.6.0", "dependsOn": [ - "pkg:composer/doctrine/inflector@2.0.4", - "pkg:composer/dragonmantank/cron-expression@2.3.1", - "pkg:composer/egulias/email-validator@2.1.25", - "pkg:composer/league/commonmark@1.6.6", - "pkg:composer/league/flysystem@1.1.8", - "pkg:composer/monolog/monolog@2.3.5", - "pkg:composer/nesbot/carbon@2.55.2", - "pkg:composer/opis/closure@3.6.2", - "pkg:composer/psr/container@1.1.1", - "pkg:composer/psr/simple-cache@1.0.1", - "pkg:composer/ramsey/uuid@4.2.3", - "pkg:composer/swiftmailer/swiftmailer@6.3.0", - "pkg:composer/symfony/console@5.4.0", - "pkg:composer/symfony/error-handler@5.4.0", - "pkg:composer/symfony/finder@5.4.0", - "pkg:composer/symfony/http-foundation@5.4.0", - "pkg:composer/symfony/http-kernel@5.4.0", - "pkg:composer/symfony/mime@5.4.0", - "pkg:composer/symfony/polyfill-php73@1.23.0", - "pkg:composer/symfony/process@5.4.0", - "pkg:composer/symfony/routing@5.4.0", - "pkg:composer/symfony/var-dumper@5.4.0", - "pkg:composer/tijsverkoyen/css-to-inline-styles@2.2.3", - "pkg:composer/vlucas/phpdotenv@4.2.1", - "pkg:composer/voku/portable-ascii@1.5.6" - ] - }, - { - "ref": "pkg:composer/laravel/laravel@7.12.0", + "doctrine/inflector-2.0.6.0", + "dragonmantank/cron-expression-2.3.1.0", + "egulias/email-validator-2.1.25.0", + "league/commonmark-1.6.7.0", + "league/flysystem-1.1.10.0", + "monolog/monolog-2.8.0.0", + "nesbot/carbon-2.63.0.0", + "opis/closure-3.6.3.0", + "psr/container-1.1.1.0", + "psr/simple-cache-1.0.1.0", + "ramsey/uuid-4.2.3.0", + "swiftmailer/swiftmailer-6.3.0.0", + "symfony/console-5.4.16.0", + "symfony/error-handler-5.4.15.0", + "symfony/finder-5.4.11.0", + "symfony/http-foundation-5.4.16.0", + "symfony/http-kernel-5.4.16.0", + "symfony/mime-5.4.16.0", + "symfony/polyfill-php73-1.27.0.0", + "symfony/process-5.4.11.0", + "symfony/routing-5.4.15.0", + "symfony/var-dumper-5.4.14.0", + "tijsverkoyen/css-to-inline-styles-2.2.5.0", + "vlucas/phpdotenv-4.3.0.0", + "voku/portable-ascii-1.6.1.0" + ] + }, + { + "ref": "laravel/laravel-7.12.0.0", "dependsOn": [ - "pkg:composer/fideloper/proxy@4.4.1", - "pkg:composer/fruitcake/laravel-cors@1.0.6", - "pkg:composer/guzzlehttp/guzzle@6.5.5", - "pkg:composer/laravel/framework@7.30.5", - "pkg:composer/laravel/tinker@2.6.2" + "fideloper/proxy-4.4.2.0", + "fruitcake/laravel-cors-1.0.6.0", + "guzzlehttp/guzzle-6.5.8.0", + "laravel/framework-7.30.6.0", + "laravel/tinker-2.7.3.0" ] }, { - "ref": "pkg:composer/laravel/tinker@2.6.2", + "ref": "laravel/tinker-2.7.3.0", "dependsOn": [ - "pkg:composer/psy/psysh@0.10.12", - "pkg:composer/symfony/var-dumper@5.4.0" + "psy/psysh-0.11.9.0", + "symfony/var-dumper-5.4.14.0" ] }, { - "ref": "pkg:composer/league/commonmark@1.6.6" + "ref": "league/commonmark-1.6.7.0" }, { - "ref": "pkg:composer/league/flysystem@1.1.8", + "ref": "league/flysystem-1.1.10.0", "dependsOn": [ - "pkg:composer/league/mime-type-detection@1.9.0" + "league/mime-type-detection-1.11.0.0" ] }, { - "ref": "pkg:composer/league/mime-type-detection@1.9.0" + "ref": "league/mime-type-detection-1.11.0.0" }, { - "ref": "pkg:composer/monolog/monolog@2.3.5", + "ref": "monolog/monolog-2.8.0.0", "dependsOn": [ - "pkg:composer/psr/log@1.1.4" + "psr/log-1.1.4.0" ] }, { - "ref": "pkg:composer/nesbot/carbon@2.55.2", + "ref": "nesbot/carbon-2.63.0.0", "dependsOn": [ - "pkg:composer/symfony/polyfill-mbstring@1.23.1", - "pkg:composer/symfony/polyfill-php80@1.23.1", - "pkg:composer/symfony/translation@5.4.0" + "symfony/polyfill-mbstring-1.27.0.0", + "symfony/polyfill-php80-1.27.0.0", + "symfony/translation-5.4.14.0" ] }, { - "ref": "pkg:composer/nikic/php-parser@4.13.2" + "ref": "nikic/php-parser-4.15.2.0" }, { - "ref": "pkg:composer/opis/closure@3.6.2" + "ref": "opis/closure-3.6.3.0" }, { - "ref": "pkg:composer/phpoption/phpoption@1.8.0" + "ref": "phpoption/phpoption-1.9.0.0" }, { - "ref": "pkg:composer/psr/container@1.1.1" + "ref": "psr/container-1.1.1.0" }, { - "ref": "pkg:composer/psr/event-dispatcher@1.0.0" + "ref": "psr/event-dispatcher-1.0.0.0" }, { - "ref": "pkg:composer/psr/http-message@1.0.1" + "ref": "psr/http-message-1.0.1.0" }, { - "ref": "pkg:composer/psr/log@1.1.4" + "ref": "psr/log-1.1.4.0" }, { - "ref": "pkg:composer/psr/simple-cache@1.0.1" + "ref": "psr/simple-cache-1.0.1.0" }, { - "ref": "pkg:composer/psy/psysh@0.10.12", + "ref": "psy/psysh-0.11.9.0", "dependsOn": [ - "pkg:composer/nikic/php-parser@4.13.2", - "pkg:composer/symfony/console@5.4.0", - "pkg:composer/symfony/var-dumper@5.4.0" + "nikic/php-parser-4.15.2.0", + "symfony/console-5.4.16.0", + "symfony/var-dumper-5.4.14.0" ] }, { - "ref": "pkg:composer/ralouphie/getallheaders@3.0.3" + "ref": "ralouphie/getallheaders-3.0.3.0" }, { - "ref": "pkg:composer/ramsey/collection@1.2.2", + "ref": "ramsey/collection-1.2.2.0", "dependsOn": [ - "pkg:composer/symfony/polyfill-php81@1.23.0" + "symfony/polyfill-php81-1.27.0.0" ] }, { - "ref": "pkg:composer/ramsey/uuid@4.2.3", + "ref": "ramsey/uuid-4.2.3.0", "dependsOn": [ - "pkg:composer/brick/math@0.9.3", - "pkg:composer/ramsey/collection@1.2.2", - "pkg:composer/symfony/polyfill-ctype@1.23.0", - "pkg:composer/symfony/polyfill-php80@1.23.1" + "brick/math-0.9.3.0", + "ramsey/collection-1.2.2.0", + "symfony/polyfill-ctype-1.27.0.0", + "symfony/polyfill-php80-1.27.0.0" ] }, { - "ref": "pkg:composer/swiftmailer/swiftmailer@6.3.0", + "ref": "swiftmailer/swiftmailer-6.3.0.0", "dependsOn": [ - "pkg:composer/egulias/email-validator@2.1.25", - "pkg:composer/symfony/polyfill-iconv@1.23.0", - "pkg:composer/symfony/polyfill-intl-idn@1.23.0", - "pkg:composer/symfony/polyfill-mbstring@1.23.1" + "egulias/email-validator-2.1.25.0", + "symfony/polyfill-iconv-1.27.0.0", + "symfony/polyfill-intl-idn-1.27.0.0", + "symfony/polyfill-mbstring-1.27.0.0" ] }, { - "ref": "pkg:composer/symfony/console@5.4.0", + "ref": "symfony/console-5.4.16.0", "dependsOn": [ - "pkg:composer/symfony/deprecation-contracts@2.5.0", - "pkg:composer/symfony/polyfill-mbstring@1.23.1", - "pkg:composer/symfony/polyfill-php73@1.23.0", - "pkg:composer/symfony/polyfill-php80@1.23.1", - "pkg:composer/symfony/service-contracts@2.5.0", - "pkg:composer/symfony/string@5.4.0" + "symfony/deprecation-contracts-2.5.2.0", + "symfony/polyfill-mbstring-1.27.0.0", + "symfony/polyfill-php73-1.27.0.0", + "symfony/polyfill-php80-1.27.0.0", + "symfony/service-contracts-2.5.2.0", + "symfony/string-5.4.15.0" ] }, { - "ref": "pkg:composer/symfony/css-selector@5.4.0", + "ref": "symfony/css-selector-5.4.11.0", "dependsOn": [ - "pkg:composer/symfony/polyfill-php80@1.23.1" + "symfony/polyfill-php80-1.27.0.0" ] }, { - "ref": "pkg:composer/symfony/deprecation-contracts@2.5.0" + "ref": "symfony/deprecation-contracts-2.5.2.0" }, { - "ref": "pkg:composer/symfony/error-handler@5.4.0", + "ref": "symfony/error-handler-5.4.15.0", "dependsOn": [ - "pkg:composer/psr/log@1.1.4", - "pkg:composer/symfony/var-dumper@5.4.0" + "psr/log-1.1.4.0", + "symfony/var-dumper-5.4.14.0" ] }, { - "ref": "pkg:composer/symfony/event-dispatcher@5.4.0", + "ref": "symfony/event-dispatcher-5.4.9.0", "dependsOn": [ - "pkg:composer/symfony/deprecation-contracts@2.5.0", - "pkg:composer/symfony/event-dispatcher-contracts@2.5.0", - "pkg:composer/symfony/polyfill-php80@1.23.1" + "symfony/deprecation-contracts-2.5.2.0", + "symfony/event-dispatcher-contracts-2.5.2.0", + "symfony/polyfill-php80-1.27.0.0" ] }, { - "ref": "pkg:composer/symfony/event-dispatcher-contracts@2.5.0", + "ref": "symfony/event-dispatcher-contracts-2.5.2.0", "dependsOn": [ - "pkg:composer/psr/event-dispatcher@1.0.0" + "psr/event-dispatcher-1.0.0.0" ] }, { - "ref": "pkg:composer/symfony/finder@5.4.0", + "ref": "symfony/finder-5.4.11.0", "dependsOn": [ - "pkg:composer/symfony/deprecation-contracts@2.5.0", - "pkg:composer/symfony/polyfill-php80@1.23.1" + "symfony/deprecation-contracts-2.5.2.0", + "symfony/polyfill-php80-1.27.0.0" ] }, { - "ref": "pkg:composer/symfony/http-foundation@5.4.0", + "ref": "symfony/http-foundation-5.4.16.0", "dependsOn": [ - "pkg:composer/symfony/deprecation-contracts@2.5.0", - "pkg:composer/symfony/polyfill-mbstring@1.23.1", - "pkg:composer/symfony/polyfill-php80@1.23.1" + "symfony/deprecation-contracts-2.5.2.0", + "symfony/polyfill-mbstring-1.27.0.0", + "symfony/polyfill-php80-1.27.0.0" ] }, { - "ref": "pkg:composer/symfony/http-kernel@5.4.0", + "ref": "symfony/http-kernel-5.4.16.0", "dependsOn": [ - "pkg:composer/psr/log@1.1.4", - "pkg:composer/symfony/deprecation-contracts@2.5.0", - "pkg:composer/symfony/error-handler@5.4.0", - "pkg:composer/symfony/event-dispatcher@5.4.0", - "pkg:composer/symfony/http-foundation@5.4.0", - "pkg:composer/symfony/polyfill-ctype@1.23.0", - "pkg:composer/symfony/polyfill-php73@1.23.0", - "pkg:composer/symfony/polyfill-php80@1.23.1" + "psr/log-1.1.4.0", + "symfony/deprecation-contracts-2.5.2.0", + "symfony/error-handler-5.4.15.0", + "symfony/event-dispatcher-5.4.9.0", + "symfony/http-foundation-5.4.16.0", + "symfony/polyfill-ctype-1.27.0.0", + "symfony/polyfill-php73-1.27.0.0", + "symfony/polyfill-php80-1.27.0.0" ] }, { - "ref": "pkg:composer/symfony/mime@5.4.0", + "ref": "symfony/mime-5.4.16.0", "dependsOn": [ - "pkg:composer/symfony/deprecation-contracts@2.5.0", - "pkg:composer/symfony/polyfill-intl-idn@1.23.0", - "pkg:composer/symfony/polyfill-mbstring@1.23.1", - "pkg:composer/symfony/polyfill-php80@1.23.1" + "symfony/deprecation-contracts-2.5.2.0", + "symfony/polyfill-intl-idn-1.27.0.0", + "symfony/polyfill-mbstring-1.27.0.0", + "symfony/polyfill-php80-1.27.0.0" ] }, { - "ref": "pkg:composer/symfony/polyfill-ctype@1.23.0" + "ref": "symfony/polyfill-ctype-1.27.0.0" }, { - "ref": "pkg:composer/symfony/polyfill-iconv@1.23.0" + "ref": "symfony/polyfill-iconv-1.27.0.0" }, { - "ref": "pkg:composer/symfony/polyfill-intl-grapheme@1.23.1" + "ref": "symfony/polyfill-intl-grapheme-1.27.0.0" }, { - "ref": "pkg:composer/symfony/polyfill-intl-idn@1.23.0", + "ref": "symfony/polyfill-intl-idn-1.27.0.0", "dependsOn": [ - "pkg:composer/symfony/polyfill-intl-normalizer@1.23.0", - "pkg:composer/symfony/polyfill-php72@1.23.0" + "symfony/polyfill-intl-normalizer-1.27.0.0", + "symfony/polyfill-php72-1.27.0.0" ] }, { - "ref": "pkg:composer/symfony/polyfill-intl-normalizer@1.23.0" + "ref": "symfony/polyfill-intl-normalizer-1.27.0.0" }, { - "ref": "pkg:composer/symfony/polyfill-mbstring@1.23.1" + "ref": "symfony/polyfill-mbstring-1.27.0.0" }, { - "ref": "pkg:composer/symfony/polyfill-php72@1.23.0" + "ref": "symfony/polyfill-php72-1.27.0.0" }, { - "ref": "pkg:composer/symfony/polyfill-php73@1.23.0" + "ref": "symfony/polyfill-php73-1.27.0.0" }, { - "ref": "pkg:composer/symfony/polyfill-php80@1.23.1" + "ref": "symfony/polyfill-php80-1.27.0.0" }, { - "ref": "pkg:composer/symfony/polyfill-php81@1.23.0" + "ref": "symfony/polyfill-php81-1.27.0.0" }, { - "ref": "pkg:composer/symfony/process@5.4.0", + "ref": "symfony/process-5.4.11.0", "dependsOn": [ - "pkg:composer/symfony/polyfill-php80@1.23.1" + "symfony/polyfill-php80-1.27.0.0" ] }, { - "ref": "pkg:composer/symfony/routing@5.4.0", + "ref": "symfony/routing-5.4.15.0", "dependsOn": [ - "pkg:composer/symfony/deprecation-contracts@2.5.0", - "pkg:composer/symfony/polyfill-php80@1.23.1" + "symfony/deprecation-contracts-2.5.2.0", + "symfony/polyfill-php80-1.27.0.0" ] }, { - "ref": "pkg:composer/symfony/service-contracts@2.5.0", + "ref": "symfony/service-contracts-2.5.2.0", "dependsOn": [ - "pkg:composer/psr/container@1.1.1", - "pkg:composer/symfony/deprecation-contracts@2.5.0" + "psr/container-1.1.1.0", + "symfony/deprecation-contracts-2.5.2.0" ] }, { - "ref": "pkg:composer/symfony/string@5.4.0", + "ref": "symfony/string-5.4.15.0", "dependsOn": [ - "pkg:composer/symfony/polyfill-ctype@1.23.0", - "pkg:composer/symfony/polyfill-intl-grapheme@1.23.1", - "pkg:composer/symfony/polyfill-intl-normalizer@1.23.0", - "pkg:composer/symfony/polyfill-mbstring@1.23.1", - "pkg:composer/symfony/polyfill-php80@1.23.1" + "symfony/polyfill-ctype-1.27.0.0", + "symfony/polyfill-intl-grapheme-1.27.0.0", + "symfony/polyfill-intl-normalizer-1.27.0.0", + "symfony/polyfill-mbstring-1.27.0.0", + "symfony/polyfill-php80-1.27.0.0" ] }, { - "ref": "pkg:composer/symfony/translation@5.4.0", + "ref": "symfony/translation-5.4.14.0", "dependsOn": [ - "pkg:composer/symfony/deprecation-contracts@2.5.0", - "pkg:composer/symfony/polyfill-mbstring@1.23.1", - "pkg:composer/symfony/polyfill-php80@1.23.1", - "pkg:composer/symfony/translation-contracts@2.5.0" + "symfony/deprecation-contracts-2.5.2.0", + "symfony/polyfill-mbstring-1.27.0.0", + "symfony/polyfill-php80-1.27.0.0", + "symfony/translation-contracts-2.5.2.0" ] }, { - "ref": "pkg:composer/symfony/translation-contracts@2.5.0" + "ref": "symfony/translation-contracts-2.5.2.0" }, { - "ref": "pkg:composer/symfony/var-dumper@5.4.0", + "ref": "symfony/var-dumper-5.4.14.0", "dependsOn": [ - "pkg:composer/symfony/polyfill-mbstring@1.23.1", - "pkg:composer/symfony/polyfill-php80@1.23.1" + "symfony/polyfill-mbstring-1.27.0.0", + "symfony/polyfill-php80-1.27.0.0" ] }, { - "ref": "pkg:composer/tijsverkoyen/css-to-inline-styles@2.2.3", + "ref": "tijsverkoyen/css-to-inline-styles-2.2.5.0", "dependsOn": [ - "pkg:composer/symfony/css-selector@5.4.0" + "symfony/css-selector-5.4.11.0" ] }, { - "ref": "pkg:composer/vlucas/phpdotenv@4.2.1", + "ref": "vlucas/phpdotenv-4.3.0.0", "dependsOn": [ - "pkg:composer/phpoption/phpoption@1.8.0", - "pkg:composer/symfony/polyfill-ctype@1.23.0" + "phpoption/phpoption-1.9.0.0", + "symfony/polyfill-ctype-1.27.0.0" ] }, { - "ref": "pkg:composer/voku/portable-ascii@1.5.6" + "ref": "voku/portable-ascii-1.6.1.0" }, { - "ref": "pkg:composer/cyclonedx/cyclonedx-php-composer-demo@dev-master", + "ref": "cyclonedx/cyclonedx-php-composer-demo-dev-master", "dependsOn": [ - "pkg:composer/laravel/laravel@7.12.0" + "laravel/laravel-7.12.0.0" ] } ] diff --git a/demo/laravel-7.12.0/results/bom.1.2.xml b/demo/laravel-7.12.0/results/bom.1.2.xml index 66963987..9457f9f9 100644 --- a/demo/laravel-7.12.0/results/bom.1.2.xml +++ b/demo/laravel-7.12.0/results/bom.1.2.xml @@ -5,10 +5,11 @@ - + - + + @@ -17,7 +18,8 @@ - + + @@ -27,31 +29,28 @@ - - - - - - + + + - + - + - + - + - + @@ -61,161 +60,117 @@ - - - - - - + + + - + - + - - - - - - - - - + - + + - + - - - + - - - + + - + - - - - - - - - - - - - - + - - - + + + - + + - + - - - + - - - + + - + - - - - - - - - - - - - - + - - - + + + - + + - + - - - - - - + + + - + - + - - - - - + - + + @@ -225,635 +180,508 @@ - - - - - - + + + - + - + - + - - - - - + - + + - + - - - + - - - + + - + - - - + + + - + + - + - - - - - - + + + - + - + - - - - - + - + + - + - - - + - - - + + - + - + - - - + + + - + + - + - - - + - - - + + - - - - - - - - - - - - - + - - - + + + - + + - + - - - + - - - + + - - - - - - - - - - - - - + - - - + + + - + + - + - - - + - - - + + - + - + - + - + - + - + - - - - - - - + + + + - + - + + - + - - - + - - - + + - + - - - + + + - + + - + - - - + - - - + + - + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - + - + + - + - - - + - - - + + - - - - - + - - - + + + - + + - + - - - + - - - + + - - - - - + - - - - - - - + + + - + + - + - - - + - - - + + - + - - - - - + - - - - - - - + + + - + + - + - - - + - - - + + - + - + - + - + - - - - - - - - - + - + + - + - - - + - - - + + - + - - - + + + - + + - + - - - + - - - + + - + - + - - - + + + - + + - + - - - + - - - + + - - - - - - - - - + - - - + + + - + + @@ -863,31 +691,29 @@ - - - - - - + + + - + - + - + - + - + + @@ -897,27 +723,25 @@ - - - - - - + + + - + - + - + - + + @@ -927,27 +751,25 @@ - - - - - - + + + - + - + - + - + + @@ -957,27 +779,25 @@ - - - - - - + + + - + - + - + - + + @@ -987,57 +807,53 @@ - - - - - - - + + + + - + - + + - + - - - + - - - + + - + - + - - - + + + - + + @@ -1047,27 +863,25 @@ - - - - - - + + + - + - + - + - + + @@ -1077,35 +891,24 @@ - - - - - - + + + - + - + - - - - - - - - - + - + @@ -1115,1547 +918,1114 @@ - - - - - - + + + - + - + - - - - - - - - - + - + + - + - - - - - - + + + - + - + - + - - - - - - - - - + - + + - + - - - + - - - + + - - - - - - - - - - - - - + - - - + + + - + + - + - - - + - - - + + - - - - - - - - - + - - - - - - - + + + - + + - + - - - + - - - + + - - - - - - - - - + - - - - - - - + + + - + + - + - - - + - - - + + - - - - - + - - - - - - - - - - - + + + - + + - + - - - + - - - + + - + - - - - - - - - - - - - - - - + + + - + + - + - - - + - - - + + - + - - - - - - - - - - - - - - - + + + - + + - + - - - + - - - + + - + - - - - - - - - - - - - - - - + + + - + + - + - - - + - - - + + - + - - - - - - - - - - - - - - - + + + - + + - + - - - + - - - + + - - - - - - - - - + - - - - - - - + + + - + + - + - - - + - - - + + - - - - - - - - - + - - - - - - - + + + - + + - + - - - + - - - + + - - - - - + - - - - - - - - - - - + + + - + + - + - - - + - - - + + - + - - - - - - - - - - - - - - - + + + - + + - + - - - + - - - + + - + - - - - - - - - - - - - - - - + + + - + + - + - - - + - - - + + - - - - - - - - - - - - - + - - - + + + - + + - + - - - + - - - + + - + - - - - - - - - - - - - - - - + + + - + + - + - - - + - - - + + - - - - - - - - - + - - - - - - - + + + - + + - + - - - + - - - + + - - - - - - - - - + - - - - - - - + + + - + + - + - - - + - - - + + - + - - - - - - - - - - - - - - - + + + - + + - + - - - + - - - + + - + - - - - - - - - - - - - - - - + + + - + + - + - - - + - - - + + - + - - - - - - - - - - - - - - - + + + - + + - + - - - + - - - + + - + - - - - - - - - - - - - - - - + + + - + + - + - - - + - - - + + - + - - - - - - - - - - - - - - - + + + - + + - + - - - + - - - + + - + - - - - - - - - - - - - - - - + + + - + + - + - - - + - - - + + - - - - - - - - - + - - - - - - - + + + - + + - + - - - + - - - + + - + - - - - - - - - - - - - - - - + + + - + + - + - - - + - - - + + - + - - - - - - - - - - - - - - - + + + - + + - + - - - + - - - + + - + - - - - - - - - - - - - - - - + + + - + + - + - - - + - - - + + - + - + - - - + + + - + + - + - - - + - - - + + - - - - - + - - - - - - - + + + - + + - + - - - + - - - + + - + - - - - - + - - - - - - - - - - - - - - - - - - - + + + - - - + + + - - - - - - - + + + + + + + - - - - - + + + + + - - - - + + + + - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + - - - + + + - - - + + + - - - + + + - - - - + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - + + + - - - - - + + + + + - - - - - + + + + + - - - - - - - + + + + + + + - - + + - - - - + + + + - - - - + + + + - - + + - - - + + + - - - - + + + + - - - - - - - - - + + + + + + + + + - - - - - + + + + + - - - - - - + + + + + + - - - - - - - - + + + + + + + + - - - + + + - - - + + + - - - - - - + + + + + + - - - - - + + + + + - - - - + + + + - - + + - - - + + + - - - + + + diff --git a/demo/laravel-7.12.0/results/bom.1.3.json b/demo/laravel-7.12.0/results/bom.1.3.json index c8142d84..2f9e093d 100644 --- a/demo/laravel-7.12.0/results/bom.1.3.json +++ b/demo/laravel-7.12.0/results/bom.1.3.json @@ -1,5 +1,5 @@ { - "$schema": "http://cyclonedx.org/schema/bom-1.3.schema.json", + "$schema": "http://cyclonedx.org/schema/bom-1.3a.schema.json", "bomFormat": "CycloneDX", "specVersion": "1.3", "version": 1, @@ -8,27 +8,35 @@ { "vendor": "cyclonedx", "name": "cyclonedx-php-composer", - "version": "dev-master" + "version": "in-dev" } ], "component": { - "bom-ref": "pkg:composer/cyclonedx/cyclonedx-php-composer-demo@dev-master", + "bom-ref": "cyclonedx/cyclonedx-php-composer-demo-dev-master", "type": "application", "name": "cyclonedx-php-composer-demo", "version": "dev-master", "group": "cyclonedx", "description": "demo of cyclonedx/cyclonedx-php-composer with a pinned version of laravel/framework", - "purl": "pkg:composer/cyclonedx/cyclonedx-php-composer-demo@dev-master" + "author": "Jan Kowalleck", + "purl": "pkg:composer/cyclonedx/cyclonedx-php-composer-demo@dev-master", + "properties": [ + { + "name": "cdx:composer:package:type", + "value": "project" + } + ] } }, "components": [ { - "bom-ref": "pkg:composer/asm89/stack-cors@1.3.0", + "bom-ref": "asm89/stack-cors-1.3.0.0", "type": "library", "name": "stack-cors", "version": "1.3.0", "group": "asm89", "description": "Cross-origin resource sharing library and stack middleware", + "author": "Alexander", "licenses": [ { "license": { @@ -36,37 +44,48 @@ } } ], - "purl": "pkg:composer/asm89/stack-cors@1.3.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/asm89/stack-cors.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=b9c31def6a83f84b4d4a40d35996d375755f0e08)" + "url": "https://api.github.com/repos/asm89/stack-cors/zipball/b9c31def6a83f84b4d4a40d35996d375755f0e08" }, { - "type": "distribution", - "url": "https://api.github.com/repos/asm89/stack-cors/zipball/b9c31def6a83f84b4d4a40d35996d375755f0e08", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=b9c31def6a83f84b4d4a40d35996d375755f0e08 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/asm89/stack-cors.git" }, { "type": "website", "url": "https://github.com/asm89/stack-cors", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { "type": "issue-tracker", "url": "https://github.com/asm89/stack-cors/issues", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "distribution", + "type": "vcs", "url": "https://github.com/asm89/stack-cors/tree/1.3.0", - "comment": "As set via `support.source` in composer package definition." + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "b9c31def6a83f84b4d4a40d35996d375755f0e08" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "b9c31def6a83f84b4d4a40d35996d375755f0e08" + }, + { + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/brick/math@0.9.3", + "bom-ref": "brick/math-0.9.3.0", "type": "library", "name": "math", "version": "0.9.3", @@ -79,47 +98,49 @@ } } ], - "purl": "pkg:composer/brick/math@0.9.3", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/brick/math.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=ca57d18f028f84f777b2168cd1911b0dee2343ae)" + "url": "https://api.github.com/repos/brick/math/zipball/ca57d18f028f84f777b2168cd1911b0dee2343ae" }, { - "type": "distribution", - "url": "https://api.github.com/repos/brick/math/zipball/ca57d18f028f84f777b2168cd1911b0dee2343ae", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=ca57d18f028f84f777b2168cd1911b0dee2343ae & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/brick/math.git" }, { "type": "issue-tracker", "url": "https://github.com/brick/math/issues", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "distribution", + "type": "vcs", "url": "https://github.com/brick/math/tree/0.9.3", - "comment": "As set via `support.source` in composer package definition." + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "ca57d18f028f84f777b2168cd1911b0dee2343ae" }, { - "type": "other", - "url": "https://github.com/BenMorel", - "comment": "As set via `funding` in composer package definition. (type=github)" + "name": "cdx:composer:package:sourceReference", + "value": "ca57d18f028f84f777b2168cd1911b0dee2343ae" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/brick/math", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/doctrine/inflector@2.0.4", + "bom-ref": "doctrine/inflector-2.0.6.0", "type": "library", "name": "inflector", - "version": "2.0.4", + "version": "2.0.6", "group": "doctrine", "description": "PHP Doctrine Inflector is a small library that can perform string manipulations with regard to upper/lowercase and singular/plural forms of words.", + "author": "Guilherme Blanco, Roman Borschel, Benjamin Eberlei, Jonathan Wage, Johannes Schmitt", "licenses": [ { "license": { @@ -127,57 +148,54 @@ } } ], - "purl": "pkg:composer/doctrine/inflector@2.0.4", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/doctrine/inflector.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89)" + "url": "https://api.github.com/repos/doctrine/inflector/zipball/d9d313a36c872fd6ee06d9a6cbcf713eaa40f024" }, { - "type": "distribution", - "url": "https://api.github.com/repos/doctrine/inflector/zipball/8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/doctrine/inflector.git" }, { "type": "website", "url": "https://www.doctrine-project.org/projects/inflector.html", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { "type": "issue-tracker", "url": "https://github.com/doctrine/inflector/issues", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "distribution", - "url": "https://github.com/doctrine/inflector/tree/2.0.4", - "comment": "As set via `support.source` in composer package definition." - }, + "type": "vcs", + "url": "https://github.com/doctrine/inflector/tree/2.0.6", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ { - "type": "other", - "url": "https://www.doctrine-project.org/sponsorship.html", - "comment": "As set via `funding` in composer package definition. (type=custom)" + "name": "cdx:composer:package:distReference", + "value": "d9d313a36c872fd6ee06d9a6cbcf713eaa40f024" }, { - "type": "other", - "url": "https://www.patreon.com/phpdoctrine", - "comment": "As set via `funding` in composer package definition. (type=patreon)" + "name": "cdx:composer:package:sourceReference", + "value": "d9d313a36c872fd6ee06d9a6cbcf713eaa40f024" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finflector", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/doctrine/lexer@1.2.1", + "bom-ref": "doctrine/lexer-1.2.3.0", "type": "library", "name": "lexer", - "version": "1.2.1", + "version": "1.2.3", "group": "doctrine", "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.", + "author": "Guilherme Blanco, Roman Borschel, Johannes Schmitt", "licenses": [ { "license": { @@ -185,57 +203,54 @@ } } ], - "purl": "pkg:composer/doctrine/lexer@1.2.1", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/doctrine/lexer.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=e864bbf5904cb8f5bb334f99209b48018522f042)" + "url": "https://api.github.com/repos/doctrine/lexer/zipball/c268e882d4dbdd85e36e4ad69e02dc284f89d229" }, { - "type": "distribution", - "url": "https://api.github.com/repos/doctrine/lexer/zipball/e864bbf5904cb8f5bb334f99209b48018522f042", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=e864bbf5904cb8f5bb334f99209b48018522f042 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/doctrine/lexer.git" }, { "type": "website", "url": "https://www.doctrine-project.org/projects/lexer.html", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { "type": "issue-tracker", "url": "https://github.com/doctrine/lexer/issues", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "distribution", - "url": "https://github.com/doctrine/lexer/tree/1.2.1", - "comment": "As set via `support.source` in composer package definition." - }, + "type": "vcs", + "url": "https://github.com/doctrine/lexer/tree/1.2.3", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ { - "type": "other", - "url": "https://www.doctrine-project.org/sponsorship.html", - "comment": "As set via `funding` in composer package definition. (type=custom)" + "name": "cdx:composer:package:distReference", + "value": "c268e882d4dbdd85e36e4ad69e02dc284f89d229" }, { - "type": "other", - "url": "https://www.patreon.com/phpdoctrine", - "comment": "As set via `funding` in composer package definition. (type=patreon)" + "name": "cdx:composer:package:sourceReference", + "value": "c268e882d4dbdd85e36e4ad69e02dc284f89d229" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Flexer", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/dragonmantank/cron-expression@2.3.1", + "bom-ref": "dragonmantank/cron-expression-2.3.1.0", "type": "library", "name": "cron-expression", - "version": "2.3.1", + "version": "v2.3.1", "group": "dragonmantank", "description": "CRON for PHP: Calculate the next or previous run date and determine if a CRON expression is due", + "author": "Michael Dowling, Chris Tankersley", "licenses": [ { "license": { @@ -243,42 +258,49 @@ } } ], - "purl": "pkg:composer/dragonmantank/cron-expression@2.3.1", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/dragonmantank/cron-expression.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=65b2d8ee1f10915efb3b55597da3404f096acba2)" + "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/65b2d8ee1f10915efb3b55597da3404f096acba2" }, { - "type": "distribution", - "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/65b2d8ee1f10915efb3b55597da3404f096acba2", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=65b2d8ee1f10915efb3b55597da3404f096acba2 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/dragonmantank/cron-expression.git" }, { "type": "issue-tracker", "url": "https://github.com/dragonmantank/cron-expression/issues", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "distribution", + "type": "vcs", "url": "https://github.com/dragonmantank/cron-expression/tree/v2.3.1", - "comment": "As set via `support.source` in composer package definition." + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "65b2d8ee1f10915efb3b55597da3404f096acba2" }, { - "type": "other", - "url": "https://github.com/dragonmantank", - "comment": "As set via `funding` in composer package definition. (type=github)" + "name": "cdx:composer:package:sourceReference", + "value": "65b2d8ee1f10915efb3b55597da3404f096acba2" + }, + { + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/egulias/email-validator@2.1.25", + "bom-ref": "egulias/email-validator-2.1.25.0", "type": "library", "name": "email-validator", "version": "2.1.25", "group": "egulias", "description": "A library for validating emails against several RFCs", + "author": "Eduardo Gulias Davis", "licenses": [ { "license": { @@ -286,47 +308,54 @@ } } ], - "purl": "pkg:composer/egulias/email-validator@2.1.25", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/egulias/EmailValidator.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=0dbf5d78455d4d6a41d186da50adc1122ec066f4)" + "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/0dbf5d78455d4d6a41d186da50adc1122ec066f4" }, { - "type": "distribution", - "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/0dbf5d78455d4d6a41d186da50adc1122ec066f4", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=0dbf5d78455d4d6a41d186da50adc1122ec066f4 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/egulias/EmailValidator.git" }, { "type": "website", "url": "https://github.com/egulias/EmailValidator", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { "type": "issue-tracker", "url": "https://github.com/egulias/EmailValidator/issues", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "distribution", + "type": "vcs", "url": "https://github.com/egulias/EmailValidator/tree/2.1.25", - "comment": "As set via `support.source` in composer package definition." + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "0dbf5d78455d4d6a41d186da50adc1122ec066f4" }, { - "type": "other", - "url": "https://github.com/egulias", - "comment": "As set via `funding` in composer package definition. (type=github)" + "name": "cdx:composer:package:sourceReference", + "value": "0dbf5d78455d4d6a41d186da50adc1122ec066f4" + }, + { + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/fideloper/proxy@4.4.1", + "bom-ref": "fideloper/proxy-4.4.2.0", "type": "library", "name": "proxy", - "version": "4.4.1", + "version": "4.4.2", "group": "fideloper", "description": "Set trusted proxies for Laravel", + "author": "Chris Fidao", "licenses": [ { "license": { @@ -334,37 +363,49 @@ } } ], - "purl": "pkg:composer/fideloper/proxy@4.4.1", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/fideloper/TrustedProxy.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=c073b2bd04d1c90e04dc1b787662b558dd65ade0)" + "url": "https://api.github.com/repos/fideloper/TrustedProxy/zipball/a751f2bc86dd8e6cfef12dc0cbdada82f5a18750" }, { - "type": "distribution", - "url": "https://api.github.com/repos/fideloper/TrustedProxy/zipball/c073b2bd04d1c90e04dc1b787662b558dd65ade0", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=c073b2bd04d1c90e04dc1b787662b558dd65ade0 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/fideloper/TrustedProxy.git" }, { "type": "issue-tracker", "url": "https://github.com/fideloper/TrustedProxy/issues", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "distribution", - "url": "https://github.com/fideloper/TrustedProxy/tree/4.4.1", - "comment": "As set via `support.source` in composer package definition." + "type": "vcs", + "url": "https://github.com/fideloper/TrustedProxy/tree/4.4.2", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "a751f2bc86dd8e6cfef12dc0cbdada82f5a18750" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "a751f2bc86dd8e6cfef12dc0cbdada82f5a18750" + }, + { + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/fruitcake/laravel-cors@1.0.6", + "bom-ref": "fruitcake/laravel-cors-1.0.6.0", "type": "library", "name": "laravel-cors", - "version": "1.0.6", + "version": "v1.0.6", "group": "fruitcake", "description": "Adds CORS (Cross-Origin Resource Sharing) headers support in your Laravel application", + "author": "Fruitcake, Barry vd. Heuvel", "licenses": [ { "license": { @@ -372,42 +413,49 @@ } } ], - "purl": "pkg:composer/fruitcake/laravel-cors@1.0.6", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/fruitcake/laravel-cors.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=1d127dbec313e2e227d65e0c483765d8d7559bf6)" + "url": "https://api.github.com/repos/fruitcake/laravel-cors/zipball/1d127dbec313e2e227d65e0c483765d8d7559bf6" }, { - "type": "distribution", - "url": "https://api.github.com/repos/fruitcake/laravel-cors/zipball/1d127dbec313e2e227d65e0c483765d8d7559bf6", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=1d127dbec313e2e227d65e0c483765d8d7559bf6 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/fruitcake/laravel-cors.git" }, { "type": "issue-tracker", "url": "https://github.com/fruitcake/laravel-cors/issues", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "distribution", + "type": "vcs", "url": "https://github.com/fruitcake/laravel-cors/tree/1.0", - "comment": "As set via `support.source` in composer package definition." + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "1d127dbec313e2e227d65e0c483765d8d7559bf6" }, { - "type": "other", - "url": "https://github.com/barryvdh", - "comment": "As set via `funding` in composer package definition. (type=github)" + "name": "cdx:composer:package:sourceReference", + "value": "1d127dbec313e2e227d65e0c483765d8d7559bf6" + }, + { + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/guzzlehttp/guzzle@6.5.5", + "bom-ref": "guzzlehttp/guzzle-6.5.8.0", "type": "library", "name": "guzzle", - "version": "6.5.5", + "version": "6.5.8", "group": "guzzlehttp", "description": "Guzzle is a PHP HTTP client library", + "author": "Graham Campbell, Michael Dowling, Jeremy Lindblom, George Mponos, Tobias Nyholm, M\u00e1rk S\u00e1gi-Kaz\u00e1r, Tobias Schultze", "licenses": [ { "license": { @@ -415,42 +463,54 @@ } } ], - "purl": "pkg:composer/guzzlehttp/guzzle@6.5.5", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/guzzle/guzzle.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=9d4290de1cfd701f38099ef7e183b64b4b7b0c5e)" + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/a52f0440530b54fa079ce76e8c5d196a42cad981" }, { - "type": "distribution", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/9d4290de1cfd701f38099ef7e183b64b4b7b0c5e", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=9d4290de1cfd701f38099ef7e183b64b4b7b0c5e & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/guzzle/guzzle.git" }, { "type": "website", "url": "http://guzzlephp.org/", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { "type": "issue-tracker", "url": "https://github.com/guzzle/guzzle/issues", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "distribution", - "url": "https://github.com/guzzle/guzzle/tree/6.5", - "comment": "As set via `support.source` in composer package definition." + "type": "vcs", + "url": "https://github.com/guzzle/guzzle/tree/6.5.8", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "a52f0440530b54fa079ce76e8c5d196a42cad981" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "a52f0440530b54fa079ce76e8c5d196a42cad981" + }, + { + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/guzzlehttp/promises@1.5.1", + "bom-ref": "guzzlehttp/promises-1.5.2.0", "type": "library", "name": "promises", - "version": "1.5.1", + "version": "1.5.2", "group": "guzzlehttp", "description": "Guzzle promises library", + "author": "Graham Campbell, Michael Dowling, Tobias Nyholm, Tobias Schultze", "licenses": [ { "license": { @@ -458,52 +518,49 @@ } } ], - "purl": "pkg:composer/guzzlehttp/promises@1.5.1", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/guzzle/promises.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=fe752aedc9fd8fcca3fe7ad05d419d32998a06da)" + "url": "https://api.github.com/repos/guzzle/promises/zipball/b94b2807d85443f9719887892882d0329d1e2598" }, { - "type": "distribution", - "url": "https://api.github.com/repos/guzzle/promises/zipball/fe752aedc9fd8fcca3fe7ad05d419d32998a06da", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=fe752aedc9fd8fcca3fe7ad05d419d32998a06da & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/guzzle/promises.git" }, { "type": "issue-tracker", "url": "https://github.com/guzzle/promises/issues", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "distribution", - "url": "https://github.com/guzzle/promises/tree/1.5.1", - "comment": "As set via `support.source` in composer package definition." - }, + "type": "vcs", + "url": "https://github.com/guzzle/promises/tree/1.5.2", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ { - "type": "other", - "url": "https://github.com/GrahamCampbell", - "comment": "As set via `funding` in composer package definition. (type=github)" + "name": "cdx:composer:package:distReference", + "value": "b94b2807d85443f9719887892882d0329d1e2598" }, { - "type": "other", - "url": "https://github.com/Nyholm", - "comment": "As set via `funding` in composer package definition. (type=github)" + "name": "cdx:composer:package:sourceReference", + "value": "b94b2807d85443f9719887892882d0329d1e2598" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/promises", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/guzzlehttp/psr7@1.8.3", + "bom-ref": "guzzlehttp/psr7-1.9.0.0", "type": "library", "name": "psr7", - "version": "1.8.3", + "version": "1.9.0", "group": "guzzlehttp", "description": "PSR-7 message implementation that also provides common utility methods", + "author": "Graham Campbell, Michael Dowling, George Mponos, Tobias Nyholm, M\u00e1rk S\u00e1gi-Kaz\u00e1r, Tobias Schultze", "licenses": [ { "license": { @@ -511,52 +568,49 @@ } } ], - "purl": "pkg:composer/guzzlehttp/psr7@1.8.3", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/guzzle/psr7.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=1afdd860a2566ed3c2b0b4a3de6e23434a79ec85)" + "url": "https://api.github.com/repos/guzzle/psr7/zipball/e98e3e6d4f86621a9b75f623996e6bbdeb4b9318" }, { - "type": "distribution", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/1afdd860a2566ed3c2b0b4a3de6e23434a79ec85", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=1afdd860a2566ed3c2b0b4a3de6e23434a79ec85 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/guzzle/psr7.git" }, { "type": "issue-tracker", "url": "https://github.com/guzzle/psr7/issues", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "distribution", - "url": "https://github.com/guzzle/psr7/tree/1.8.3", - "comment": "As set via `support.source` in composer package definition." - }, + "type": "vcs", + "url": "https://github.com/guzzle/psr7/tree/1.9.0", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ { - "type": "other", - "url": "https://github.com/GrahamCampbell", - "comment": "As set via `funding` in composer package definition. (type=github)" + "name": "cdx:composer:package:distReference", + "value": "e98e3e6d4f86621a9b75f623996e6bbdeb4b9318" }, { - "type": "other", - "url": "https://github.com/Nyholm", - "comment": "As set via `funding` in composer package definition. (type=github)" + "name": "cdx:composer:package:sourceReference", + "value": "e98e3e6d4f86621a9b75f623996e6bbdeb4b9318" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/psr7", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/laravel/framework@7.30.5", + "bom-ref": "laravel/framework-7.30.6.0", "type": "library", "name": "framework", - "version": "7.30.5", + "version": "v7.30.6", "group": "laravel", "description": "The Laravel Framework.", + "author": "Taylor Otwell", "licenses": [ { "license": { @@ -564,40 +618,51 @@ } } ], - "purl": "pkg:composer/laravel/framework@7.30.5", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/laravel/framework.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=afb0c034072a03a5ab1872fbdea54f8befd873c3)" + "url": "https://api.github.com/repos/laravel/framework/zipball/ecdafad1dda3c790af186a6d18479ea4757ef9ee" }, { - "type": "distribution", - "url": "https://api.github.com/repos/laravel/framework/zipball/afb0c034072a03a5ab1872fbdea54f8befd873c3", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=afb0c034072a03a5ab1872fbdea54f8befd873c3 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/laravel/framework.git" }, { "type": "website", "url": "https://laravel.com", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { "type": "issue-tracker", "url": "https://github.com/laravel/framework/issues", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "distribution", + "type": "vcs", "url": "https://github.com/laravel/framework", - "comment": "As set via `support.source` in composer package definition." + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "ecdafad1dda3c790af186a6d18479ea4757ef9ee" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "ecdafad1dda3c790af186a6d18479ea4757ef9ee" + }, + { + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/laravel/laravel@7.12.0", - "type": "application", + "bom-ref": "laravel/laravel-7.12.0.0", + "type": "library", "name": "laravel", - "version": "7.12.0", + "version": "v7.12.0", "group": "laravel", "description": "The Laravel Framework.", "licenses": [ @@ -607,32 +672,44 @@ } } ], - "purl": "pkg:composer/laravel/laravel@7.12.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/laravel/laravel.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=5639581ea56ecd556cdf6e6edc37ce5795740fd7)" + "url": "https://api.github.com/repos/laravel/laravel/zipball/5639581ea56ecd556cdf6e6edc37ce5795740fd7" }, { - "type": "distribution", - "url": "https://api.github.com/repos/laravel/laravel/zipball/5639581ea56ecd556cdf6e6edc37ce5795740fd7", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=5639581ea56ecd556cdf6e6edc37ce5795740fd7 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/laravel/laravel.git" }, { - "type": "distribution", + "type": "vcs", "url": "https://github.com/laravel/laravel/tree/master", - "comment": "As set via `support.source` in composer package definition." + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "5639581ea56ecd556cdf6e6edc37ce5795740fd7" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "5639581ea56ecd556cdf6e6edc37ce5795740fd7" + }, + { + "name": "cdx:composer:package:type", + "value": "project" } ] }, { - "bom-ref": "pkg:composer/laravel/tinker@2.6.2", + "bom-ref": "laravel/tinker-2.7.3.0", "type": "library", "name": "tinker", - "version": "2.6.2", + "version": "v2.7.3", "group": "laravel", "description": "Powerful REPL for the Laravel framework.", + "author": "Taylor Otwell", "licenses": [ { "license": { @@ -640,37 +717,49 @@ } } ], - "purl": "pkg:composer/laravel/tinker@2.6.2", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/laravel/tinker.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=c808a7227f97ecfd9219fbf913bad842ea854ddc)" + "url": "https://api.github.com/repos/laravel/tinker/zipball/5062061b4924af3392225dd482ca7b4d85d8b8ef" }, { - "type": "distribution", - "url": "https://api.github.com/repos/laravel/tinker/zipball/c808a7227f97ecfd9219fbf913bad842ea854ddc", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=c808a7227f97ecfd9219fbf913bad842ea854ddc & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/laravel/tinker.git" }, { "type": "issue-tracker", "url": "https://github.com/laravel/tinker/issues", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "distribution", - "url": "https://github.com/laravel/tinker/tree/v2.6.2", - "comment": "As set via `support.source` in composer package definition." + "type": "vcs", + "url": "https://github.com/laravel/tinker/tree/v2.7.3", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "5062061b4924af3392225dd482ca7b4d85d8b8ef" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "5062061b4924af3392225dd482ca7b4d85d8b8ef" + }, + { + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/league/commonmark@1.6.6", + "bom-ref": "league/commonmark-1.6.7.0", "type": "library", "name": "commonmark", - "version": "1.6.6", + "version": "1.6.7", "group": "league", "description": "Highly-extensible PHP Markdown parser which fully supports the CommonMark spec and Github-Flavored Markdown (GFM)", + "author": "Colin O'Dell", "licenses": [ { "license": { @@ -678,82 +767,64 @@ } } ], - "purl": "pkg:composer/league/commonmark@1.6.6", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/thephpleague/commonmark.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=c4228d11e30d7493c6836d20872f9582d8ba6dcf)" + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/2b8185c13bc9578367a5bf901881d1c1b5bbd09b" }, { - "type": "distribution", - "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/c4228d11e30d7493c6836d20872f9582d8ba6dcf", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=c4228d11e30d7493c6836d20872f9582d8ba6dcf & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/thephpleague/commonmark.git" }, { "type": "website", "url": "https://commonmark.thephpleague.com", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { "type": "documentation", "url": "https://commonmark.thephpleague.com/", - "comment": "As set via `support.docs` in composer package definition." + "comment": "as detected from Composer manifest 'support.docs'" }, { "type": "issue-tracker", "url": "https://github.com/thephpleague/commonmark/issues", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "support", + "type": "other", "url": "https://github.com/thephpleague/commonmark/releases.atom", - "comment": "As set via `support.rss` in composer package definition." + "comment": "as detected from Composer manifest 'support.rss'" }, { - "type": "distribution", + "type": "vcs", "url": "https://github.com/thephpleague/commonmark", - "comment": "As set via `support.source` in composer package definition." - }, - { - "type": "other", - "url": "https://enjoy.gitstore.app/repositories/thephpleague/commonmark", - "comment": "As set via `funding` in composer package definition. (type=custom)" - }, - { - "type": "other", - "url": "https://www.colinodell.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" - }, - { - "type": "other", - "url": "https://www.paypal.me/colinpodell/10.00", - "comment": "As set via `funding` in composer package definition. (type=custom)" - }, + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ { - "type": "other", - "url": "https://github.com/colinodell", - "comment": "As set via `funding` in composer package definition. (type=github)" + "name": "cdx:composer:package:distReference", + "value": "2b8185c13bc9578367a5bf901881d1c1b5bbd09b" }, { - "type": "other", - "url": "https://www.patreon.com/colinodell", - "comment": "As set via `funding` in composer package definition. (type=patreon)" + "name": "cdx:composer:package:sourceReference", + "value": "2b8185c13bc9578367a5bf901881d1c1b5bbd09b" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/league/commonmark", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/league/flysystem@1.1.8", + "bom-ref": "league/flysystem-1.1.10.0", "type": "library", "name": "flysystem", - "version": "1.1.8", + "version": "1.1.10", "group": "league", "description": "Filesystem abstraction: Many filesystems, one API.", + "author": "Frank de Jonge", "licenses": [ { "license": { @@ -761,42 +832,49 @@ } } ], - "purl": "pkg:composer/league/flysystem@1.1.8", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/thephpleague/flysystem.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=c995bb0c23c58c9813d081f9523c9b7bb496698e)" + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/3239285c825c152bcc315fe0e87d6b55f5972ed1" }, { - "type": "distribution", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/c995bb0c23c58c9813d081f9523c9b7bb496698e", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=c995bb0c23c58c9813d081f9523c9b7bb496698e & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/thephpleague/flysystem.git" }, { "type": "issue-tracker", "url": "https://github.com/thephpleague/flysystem/issues", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "distribution", - "url": "https://github.com/thephpleague/flysystem/tree/1.1.8", - "comment": "As set via `support.source` in composer package definition." + "type": "vcs", + "url": "https://github.com/thephpleague/flysystem/tree/1.1.10", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "3239285c825c152bcc315fe0e87d6b55f5972ed1" }, { - "type": "other", - "url": "https://offset.earth/frankdejonge", - "comment": "As set via `funding` in composer package definition. (type=other)" + "name": "cdx:composer:package:sourceReference", + "value": "3239285c825c152bcc315fe0e87d6b55f5972ed1" + }, + { + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/league/mime-type-detection@1.9.0", + "bom-ref": "league/mime-type-detection-1.11.0.0", "type": "library", "name": "mime-type-detection", - "version": "1.9.0", + "version": "1.11.0", "group": "league", "description": "Mime-type detection for Flysystem", + "author": "Frank de Jonge", "licenses": [ { "license": { @@ -804,47 +882,49 @@ } } ], - "purl": "pkg:composer/league/mime-type-detection@1.9.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/thephpleague/mime-type-detection.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=aa70e813a6ad3d1558fc927863d47309b4c23e69)" + "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/ff6248ea87a9f116e78edd6002e39e5128a0d4dd" }, { - "type": "distribution", - "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/aa70e813a6ad3d1558fc927863d47309b4c23e69", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=aa70e813a6ad3d1558fc927863d47309b4c23e69 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/thephpleague/mime-type-detection.git" }, { "type": "issue-tracker", "url": "https://github.com/thephpleague/mime-type-detection/issues", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "distribution", - "url": "https://github.com/thephpleague/mime-type-detection/tree/1.9.0", - "comment": "As set via `support.source` in composer package definition." + "type": "vcs", + "url": "https://github.com/thephpleague/mime-type-detection/tree/1.11.0", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "ff6248ea87a9f116e78edd6002e39e5128a0d4dd" }, { - "type": "other", - "url": "https://github.com/frankdejonge", - "comment": "As set via `funding` in composer package definition. (type=github)" + "name": "cdx:composer:package:sourceReference", + "value": "ff6248ea87a9f116e78edd6002e39e5128a0d4dd" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/league/flysystem", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/monolog/monolog@2.3.5", + "bom-ref": "monolog/monolog-2.8.0.0", "type": "library", "name": "monolog", - "version": "2.3.5", + "version": "2.8.0", "group": "monolog", "description": "Sends your logs to files, sockets, inboxes, databases and various web services", + "author": "Jordi Boggiano", "licenses": [ { "license": { @@ -852,52 +932,54 @@ } } ], - "purl": "pkg:composer/monolog/monolog@2.3.5", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/Seldaek/monolog.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=fd4380d6fc37626e2f799f29d91195040137eba9)" + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/720488632c590286b88b80e62aa3d3d551ad4a50" }, { - "type": "distribution", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/fd4380d6fc37626e2f799f29d91195040137eba9", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=fd4380d6fc37626e2f799f29d91195040137eba9 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/Seldaek/monolog.git" }, { "type": "website", "url": "https://github.com/Seldaek/monolog", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { "type": "issue-tracker", "url": "https://github.com/Seldaek/monolog/issues", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "distribution", - "url": "https://github.com/Seldaek/monolog/tree/2.3.5", - "comment": "As set via `support.source` in composer package definition." + "type": "vcs", + "url": "https://github.com/Seldaek/monolog/tree/2.8.0", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "720488632c590286b88b80e62aa3d3d551ad4a50" }, { - "type": "other", - "url": "https://github.com/Seldaek", - "comment": "As set via `funding` in composer package definition. (type=github)" + "name": "cdx:composer:package:sourceReference", + "value": "720488632c590286b88b80e62aa3d3d551ad4a50" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/monolog/monolog", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/nesbot/carbon@2.55.2", + "bom-ref": "nesbot/carbon-2.63.0.0", "type": "library", "name": "carbon", - "version": "2.55.2", + "version": "2.63.0", "group": "nesbot", "description": "An API extension for DateTime that supports 281 different languages.", + "author": "Brian Nesbitt, kylekatarnls", "licenses": [ { "license": { @@ -905,57 +987,59 @@ } } ], - "purl": "pkg:composer/nesbot/carbon@2.55.2", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/briannesbitt/Carbon.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=8c2a18ce3e67c34efc1b29f64fe61304368259a2)" + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/ad35dd71a6a212b98e4b87e97389b6fa85f0e347" }, { - "type": "distribution", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/8c2a18ce3e67c34efc1b29f64fe61304368259a2", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=8c2a18ce3e67c34efc1b29f64fe61304368259a2 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/briannesbitt/Carbon.git" }, { "type": "website", "url": "https://carbon.nesbot.com", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { "type": "documentation", "url": "https://carbon.nesbot.com/docs", - "comment": "As set via `support.docs` in composer package definition." + "comment": "as detected from Composer manifest 'support.docs'" }, { "type": "issue-tracker", "url": "https://github.com/briannesbitt/Carbon/issues", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "distribution", + "type": "vcs", "url": "https://github.com/briannesbitt/Carbon", - "comment": "As set via `support.source` in composer package definition." + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "ad35dd71a6a212b98e4b87e97389b6fa85f0e347" }, { - "type": "other", - "url": "https://opencollective.com/Carbon", - "comment": "As set via `funding` in composer package definition. (type=open_collective)" + "name": "cdx:composer:package:sourceReference", + "value": "ad35dd71a6a212b98e4b87e97389b6fa85f0e347" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/nesbot/carbon", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/nikic/php-parser@4.13.2", + "bom-ref": "nikic/php-parser-4.15.2.0", "type": "library", "name": "php-parser", - "version": "4.13.2", + "version": "v4.15.2", "group": "nikic", "description": "A PHP parser written in PHP", + "author": "Nikita Popov", "licenses": [ { "license": { @@ -963,37 +1047,49 @@ } } ], - "purl": "pkg:composer/nikic/php-parser@4.13.2", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/nikic/PHP-Parser.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=210577fe3cf7badcc5814d99455df46564f3c077)" + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/f59bbe44bf7d96f24f3e2b4ddc21cd52c1d2adbc" }, { - "type": "distribution", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/210577fe3cf7badcc5814d99455df46564f3c077", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=210577fe3cf7badcc5814d99455df46564f3c077 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/nikic/PHP-Parser.git" }, { "type": "issue-tracker", "url": "https://github.com/nikic/PHP-Parser/issues", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "distribution", - "url": "https://github.com/nikic/PHP-Parser/tree/v4.13.2", - "comment": "As set via `support.source` in composer package definition." + "type": "vcs", + "url": "https://github.com/nikic/PHP-Parser/tree/v4.15.2", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "f59bbe44bf7d96f24f3e2b4ddc21cd52c1d2adbc" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "f59bbe44bf7d96f24f3e2b4ddc21cd52c1d2adbc" + }, + { + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/opis/closure@3.6.2", + "bom-ref": "opis/closure-3.6.3.0", "type": "library", "name": "closure", - "version": "3.6.2", + "version": "3.6.3", "group": "opis", "description": "A library that can be used to serialize closures (anonymous functions) and arbitrary objects.", + "author": "Marius Sarca, Sorin Sarca", "licenses": [ { "license": { @@ -1001,42 +1097,54 @@ } } ], - "purl": "pkg:composer/opis/closure@3.6.2", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/opis/closure.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=06e2ebd25f2869e54a306dda991f7db58066f7f6)" + "url": "https://api.github.com/repos/opis/closure/zipball/3d81e4309d2a927abbe66df935f4bb60082805ad" }, { - "type": "distribution", - "url": "https://api.github.com/repos/opis/closure/zipball/06e2ebd25f2869e54a306dda991f7db58066f7f6", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=06e2ebd25f2869e54a306dda991f7db58066f7f6 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/opis/closure.git" }, { "type": "website", "url": "https://opis.io/closure", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { "type": "issue-tracker", "url": "https://github.com/opis/closure/issues", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "distribution", - "url": "https://github.com/opis/closure/tree/3.6.2", - "comment": "As set via `support.source` in composer package definition." + "type": "vcs", + "url": "https://github.com/opis/closure/tree/3.6.3", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "3d81e4309d2a927abbe66df935f4bb60082805ad" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "3d81e4309d2a927abbe66df935f4bb60082805ad" + }, + { + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/phpoption/phpoption@1.8.0", + "bom-ref": "phpoption/phpoption-1.9.0.0", "type": "library", "name": "phpoption", - "version": "1.8.0", + "version": "1.9.0", "group": "phpoption", "description": "Option Type for PHP", + "author": "Johannes M. Schmitt, Graham Campbell", "licenses": [ { "license": { @@ -1044,47 +1152,49 @@ } } ], - "purl": "pkg:composer/phpoption/phpoption@1.8.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/schmittjoh/php-option.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=5455cb38aed4523f99977c4a12ef19da4bfe2a28)" + "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/dc5ff11e274a90cc1c743f66c9ad700ce50db9ab" }, { - "type": "distribution", - "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/5455cb38aed4523f99977c4a12ef19da4bfe2a28", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=5455cb38aed4523f99977c4a12ef19da4bfe2a28 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/schmittjoh/php-option.git" }, { "type": "issue-tracker", "url": "https://github.com/schmittjoh/php-option/issues", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "distribution", - "url": "https://github.com/schmittjoh/php-option/tree/1.8.0", - "comment": "As set via `support.source` in composer package definition." + "type": "vcs", + "url": "https://github.com/schmittjoh/php-option/tree/1.9.0", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "dc5ff11e274a90cc1c743f66c9ad700ce50db9ab" }, { - "type": "other", - "url": "https://github.com/GrahamCampbell", - "comment": "As set via `funding` in composer package definition. (type=github)" + "name": "cdx:composer:package:sourceReference", + "value": "dc5ff11e274a90cc1c743f66c9ad700ce50db9ab" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/phpoption/phpoption", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/psr/container@1.1.1", + "bom-ref": "psr/container-1.1.1.0", "type": "library", "name": "container", "version": "1.1.1", "group": "psr", "description": "Common Container Interface (PHP FIG PSR-11)", + "author": "PHP-FIG", "licenses": [ { "license": { @@ -1092,42 +1202,54 @@ } } ], - "purl": "pkg:composer/psr/container@1.1.1", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/php-fig/container.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=8622567409010282b7aeebe4bb841fe98b58dcaf)" + "url": "https://api.github.com/repos/php-fig/container/zipball/8622567409010282b7aeebe4bb841fe98b58dcaf" }, { - "type": "distribution", - "url": "https://api.github.com/repos/php-fig/container/zipball/8622567409010282b7aeebe4bb841fe98b58dcaf", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=8622567409010282b7aeebe4bb841fe98b58dcaf & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/php-fig/container.git" }, { "type": "website", "url": "https://github.com/php-fig/container", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { "type": "issue-tracker", "url": "https://github.com/php-fig/container/issues", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "distribution", + "type": "vcs", "url": "https://github.com/php-fig/container/tree/1.1.1", - "comment": "As set via `support.source` in composer package definition." + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "8622567409010282b7aeebe4bb841fe98b58dcaf" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "8622567409010282b7aeebe4bb841fe98b58dcaf" + }, + { + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/psr/event-dispatcher@1.0.0", + "bom-ref": "psr/event-dispatcher-1.0.0.0", "type": "library", "name": "event-dispatcher", "version": "1.0.0", "group": "psr", "description": "Standard interfaces for event handling.", + "author": "PHP-FIG", "licenses": [ { "license": { @@ -1135,37 +1257,49 @@ } } ], - "purl": "pkg:composer/psr/event-dispatcher@1.0.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/php-fig/event-dispatcher.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=dbefd12671e8a14ec7f180cab83036ed26714bb0)" + "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0" }, { - "type": "distribution", - "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=dbefd12671e8a14ec7f180cab83036ed26714bb0 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/php-fig/event-dispatcher.git" }, { "type": "issue-tracker", "url": "https://github.com/php-fig/event-dispatcher/issues", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "distribution", + "type": "vcs", "url": "https://github.com/php-fig/event-dispatcher/tree/1.0.0", - "comment": "As set via `support.source` in composer package definition." + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "dbefd12671e8a14ec7f180cab83036ed26714bb0" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "dbefd12671e8a14ec7f180cab83036ed26714bb0" + }, + { + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/psr/http-message@1.0.1", + "bom-ref": "psr/http-message-1.0.1.0", "type": "library", "name": "http-message", "version": "1.0.1", "group": "psr", "description": "Common interface for HTTP messages", + "author": "PHP-FIG", "licenses": [ { "license": { @@ -1173,37 +1307,49 @@ } } ], - "purl": "pkg:composer/psr/http-message@1.0.1", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/php-fig/http-message.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=f6561bf28d520154e4b0ec72be95418abe6d9363)" + "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363" }, { - "type": "distribution", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=f6561bf28d520154e4b0ec72be95418abe6d9363 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/php-fig/http-message.git" }, { "type": "website", "url": "https://github.com/php-fig/http-message", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "distribution", + "type": "vcs", "url": "https://github.com/php-fig/http-message/tree/master", - "comment": "As set via `support.source` in composer package definition." + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "f6561bf28d520154e4b0ec72be95418abe6d9363" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "f6561bf28d520154e4b0ec72be95418abe6d9363" + }, + { + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/psr/log@1.1.4", + "bom-ref": "psr/log-1.1.4.0", "type": "library", "name": "log", "version": "1.1.4", "group": "psr", "description": "Common interface for logging libraries", + "author": "PHP-FIG", "licenses": [ { "license": { @@ -1211,37 +1357,49 @@ } } ], - "purl": "pkg:composer/psr/log@1.1.4", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/php-fig/log.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=d49695b909c3b7628b6289db5479a1c204601f11)" + "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11" }, { - "type": "distribution", - "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=d49695b909c3b7628b6289db5479a1c204601f11 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/php-fig/log.git" }, { "type": "website", "url": "https://github.com/php-fig/log", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "distribution", + "type": "vcs", "url": "https://github.com/php-fig/log/tree/1.1.4", - "comment": "As set via `support.source` in composer package definition." + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "d49695b909c3b7628b6289db5479a1c204601f11" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "d49695b909c3b7628b6289db5479a1c204601f11" + }, + { + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/psr/simple-cache@1.0.1", + "bom-ref": "psr/simple-cache-1.0.1.0", "type": "library", "name": "simple-cache", "version": "1.0.1", "group": "psr", "description": "Common interfaces for simple caching", + "author": "PHP-FIG", "licenses": [ { "license": { @@ -1249,32 +1407,44 @@ } } ], - "purl": "pkg:composer/psr/simple-cache@1.0.1", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/php-fig/simple-cache.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=408d5eafb83c57f6365a3ca330ff23aa4a5fa39b)" + "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b" }, { - "type": "distribution", - "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=408d5eafb83c57f6365a3ca330ff23aa4a5fa39b & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/php-fig/simple-cache.git" }, { - "type": "distribution", + "type": "vcs", "url": "https://github.com/php-fig/simple-cache/tree/master", - "comment": "As set via `support.source` in composer package definition." + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b" + }, + { + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/psy/psysh@0.10.12", + "bom-ref": "psy/psysh-0.11.9.0", "type": "library", "name": "psysh", - "version": "0.10.12", + "version": "v0.11.9", "group": "psy", "description": "An interactive shell for modern PHP.", + "author": "Justin Hileman", "licenses": [ { "license": { @@ -1282,42 +1452,54 @@ } } ], - "purl": "pkg:composer/psy/psysh@0.10.12", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/bobthecow/psysh.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=a0d9981aa07ecfcbea28e4bfa868031cca121e7d)" + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/1acec99d6684a54ff92f8b548a4e41b566963778" }, { - "type": "distribution", - "url": "https://api.github.com/repos/bobthecow/psysh/zipball/a0d9981aa07ecfcbea28e4bfa868031cca121e7d", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=a0d9981aa07ecfcbea28e4bfa868031cca121e7d & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/bobthecow/psysh.git" }, { "type": "website", "url": "http://psysh.org", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { "type": "issue-tracker", "url": "https://github.com/bobthecow/psysh/issues", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "distribution", - "url": "https://github.com/bobthecow/psysh/tree/v0.10.12", - "comment": "As set via `support.source` in composer package definition." + "type": "vcs", + "url": "https://github.com/bobthecow/psysh/tree/v0.11.9", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "1acec99d6684a54ff92f8b548a4e41b566963778" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "1acec99d6684a54ff92f8b548a4e41b566963778" + }, + { + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/ralouphie/getallheaders@3.0.3", + "bom-ref": "ralouphie/getallheaders-3.0.3.0", "type": "library", "name": "getallheaders", "version": "3.0.3", "group": "ralouphie", "description": "A polyfill for getallheaders.", + "author": "Ralph Khattar", "licenses": [ { "license": { @@ -1325,37 +1507,49 @@ } } ], - "purl": "pkg:composer/ralouphie/getallheaders@3.0.3", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/ralouphie/getallheaders.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=120b605dfeb996808c31b6477290a714d356e822)" + "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822" }, { - "type": "distribution", - "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=120b605dfeb996808c31b6477290a714d356e822 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/ralouphie/getallheaders.git" }, { "type": "issue-tracker", "url": "https://github.com/ralouphie/getallheaders/issues", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "distribution", + "type": "vcs", "url": "https://github.com/ralouphie/getallheaders/tree/develop", - "comment": "As set via `support.source` in composer package definition." + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "120b605dfeb996808c31b6477290a714d356e822" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "120b605dfeb996808c31b6477290a714d356e822" + }, + { + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/ramsey/collection@1.2.2", + "bom-ref": "ramsey/collection-1.2.2.0", "type": "library", "name": "collection", "version": "1.2.2", "group": "ramsey", "description": "A PHP library for representing and manipulating collections.", + "author": "Ben Ramsey", "licenses": [ { "license": { @@ -1363,42 +1557,43 @@ } } ], - "purl": "pkg:composer/ramsey/collection@1.2.2", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/ramsey/collection.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=cccc74ee5e328031b15640b51056ee8d3bb66c0a)" + "url": "https://api.github.com/repos/ramsey/collection/zipball/cccc74ee5e328031b15640b51056ee8d3bb66c0a" }, { - "type": "distribution", - "url": "https://api.github.com/repos/ramsey/collection/zipball/cccc74ee5e328031b15640b51056ee8d3bb66c0a", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=cccc74ee5e328031b15640b51056ee8d3bb66c0a & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/ramsey/collection.git" }, { "type": "issue-tracker", "url": "https://github.com/ramsey/collection/issues", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "distribution", + "type": "vcs", "url": "https://github.com/ramsey/collection/tree/1.2.2", - "comment": "As set via `support.source` in composer package definition." + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "cccc74ee5e328031b15640b51056ee8d3bb66c0a" }, { - "type": "other", - "url": "https://github.com/ramsey", - "comment": "As set via `funding` in composer package definition. (type=github)" + "name": "cdx:composer:package:sourceReference", + "value": "cccc74ee5e328031b15640b51056ee8d3bb66c0a" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/ramsey/collection", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/ramsey/uuid@4.2.3", + "bom-ref": "ramsey/uuid-4.2.3.0", "type": "library", "name": "uuid", "version": "4.2.3", @@ -1411,47 +1606,49 @@ } } ], - "purl": "pkg:composer/ramsey/uuid@4.2.3", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/ramsey/uuid.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=fc9bb7fb5388691fd7373cd44dcb4d63bbcf24df)" + "url": "https://api.github.com/repos/ramsey/uuid/zipball/fc9bb7fb5388691fd7373cd44dcb4d63bbcf24df" }, { - "type": "distribution", - "url": "https://api.github.com/repos/ramsey/uuid/zipball/fc9bb7fb5388691fd7373cd44dcb4d63bbcf24df", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=fc9bb7fb5388691fd7373cd44dcb4d63bbcf24df & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/ramsey/uuid.git" }, { "type": "issue-tracker", "url": "https://github.com/ramsey/uuid/issues", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "distribution", + "type": "vcs", "url": "https://github.com/ramsey/uuid/tree/4.2.3", - "comment": "As set via `support.source` in composer package definition." + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "fc9bb7fb5388691fd7373cd44dcb4d63bbcf24df" }, { - "type": "other", - "url": "https://github.com/ramsey", - "comment": "As set via `funding` in composer package definition. (type=github)" + "name": "cdx:composer:package:sourceReference", + "value": "fc9bb7fb5388691fd7373cd44dcb4d63bbcf24df" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/ramsey/uuid", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/swiftmailer/swiftmailer@6.3.0", + "bom-ref": "swiftmailer/swiftmailer-6.3.0.0", "type": "library", "name": "swiftmailer", - "version": "6.3.0", + "version": "v6.3.0", "group": "swiftmailer", "description": "Swiftmailer, free feature-rich PHP mailer", + "author": "Chris Corbyn, Fabien Potencier", "licenses": [ { "license": { @@ -1459,52 +1656,54 @@ } } ], - "purl": "pkg:composer/swiftmailer/swiftmailer@6.3.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/swiftmailer/swiftmailer.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=8a5d5072dca8f48460fce2f4131fcc495eec654c)" + "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/8a5d5072dca8f48460fce2f4131fcc495eec654c" }, { - "type": "distribution", - "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/8a5d5072dca8f48460fce2f4131fcc495eec654c", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=8a5d5072dca8f48460fce2f4131fcc495eec654c & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/swiftmailer/swiftmailer.git" }, { "type": "website", "url": "https://swiftmailer.symfony.com", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { "type": "issue-tracker", "url": "https://github.com/swiftmailer/swiftmailer/issues", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "distribution", + "type": "vcs", "url": "https://github.com/swiftmailer/swiftmailer/tree/v6.3.0", - "comment": "As set via `support.source` in composer package definition." + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "8a5d5072dca8f48460fce2f4131fcc495eec654c" }, { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" + "name": "cdx:composer:package:sourceReference", + "value": "8a5d5072dca8f48460fce2f4131fcc495eec654c" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/swiftmailer/swiftmailer", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/symfony/console@5.4.0", + "bom-ref": "symfony/console-5.4.16.0", "type": "library", "name": "console", - "version": "5.4.0", + "version": "v5.4.16", "group": "symfony", "description": "Eases the creation of beautiful and testable command line interfaces", + "author": "Fabien Potencier, Symfony Community", "licenses": [ { "license": { @@ -1512,52 +1711,49 @@ } } ], - "purl": "pkg:composer/symfony/console@5.4.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/console.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=ec3661faca1d110d6c307e124b44f99ac54179e3)" + "url": "https://api.github.com/repos/symfony/console/zipball/8e9b9c8dfb33af6057c94e1b44846bee700dc5ef" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/console/zipball/ec3661faca1d110d6c307e124b44f99ac54179e3", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=ec3661faca1d110d6c307e124b44f99ac54179e3 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/console.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "distribution", - "url": "https://github.com/symfony/console/tree/v5.4.0", - "comment": "As set via `support.source` in composer package definition." - }, + "type": "vcs", + "url": "https://github.com/symfony/console/tree/v5.4.16", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" + "name": "cdx:composer:package:distReference", + "value": "8e9b9c8dfb33af6057c94e1b44846bee700dc5ef" }, { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" + "name": "cdx:composer:package:sourceReference", + "value": "8e9b9c8dfb33af6057c94e1b44846bee700dc5ef" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/symfony/css-selector@5.4.0", + "bom-ref": "symfony/css-selector-5.4.11.0", "type": "library", "name": "css-selector", - "version": "5.4.0", + "version": "v5.4.11", "group": "symfony", "description": "Converts CSS selectors to XPath expressions", + "author": "Fabien Potencier, Jean-Fran\u00e7ois Simon, Symfony Community", "licenses": [ { "license": { @@ -1565,52 +1761,49 @@ } } ], - "purl": "pkg:composer/symfony/css-selector@5.4.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/css-selector.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=44b933f98bb4b5220d10bed9ce5662f8c2d13dcc)" + "url": "https://api.github.com/repos/symfony/css-selector/zipball/c1681789f059ab756001052164726ae88512ae3d" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/44b933f98bb4b5220d10bed9ce5662f8c2d13dcc", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=44b933f98bb4b5220d10bed9ce5662f8c2d13dcc & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/css-selector.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "distribution", - "url": "https://github.com/symfony/css-selector/tree/v5.4.0", - "comment": "As set via `support.source` in composer package definition." - }, + "type": "vcs", + "url": "https://github.com/symfony/css-selector/tree/v5.4.11", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" + "name": "cdx:composer:package:distReference", + "value": "c1681789f059ab756001052164726ae88512ae3d" }, { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" + "name": "cdx:composer:package:sourceReference", + "value": "c1681789f059ab756001052164726ae88512ae3d" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/symfony/deprecation-contracts@2.5.0", + "bom-ref": "symfony/deprecation-contracts-2.5.2.0", "type": "library", "name": "deprecation-contracts", - "version": "2.5.0", + "version": "v2.5.2", "group": "symfony", "description": "A generic function and convention to trigger deprecation notices", + "author": "Nicolas Grekas, Symfony Community", "licenses": [ { "license": { @@ -1618,52 +1811,49 @@ } } ], - "purl": "pkg:composer/symfony/deprecation-contracts@2.5.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/deprecation-contracts.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=6f981ee24cf69ee7ce9736146d1c57c2780598a8)" + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/e8b495ea28c1d97b5e0c121748d6f9b53d075c66" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/6f981ee24cf69ee7ce9736146d1c57c2780598a8", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=6f981ee24cf69ee7ce9736146d1c57c2780598a8 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/deprecation-contracts.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "distribution", - "url": "https://github.com/symfony/deprecation-contracts/tree/v2.5.0", - "comment": "As set via `support.source` in composer package definition." - }, + "type": "vcs", + "url": "https://github.com/symfony/deprecation-contracts/tree/v2.5.2", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" + "name": "cdx:composer:package:distReference", + "value": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66" }, { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" + "name": "cdx:composer:package:sourceReference", + "value": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/symfony/error-handler@5.4.0", + "bom-ref": "symfony/error-handler-5.4.15.0", "type": "library", "name": "error-handler", - "version": "5.4.0", + "version": "v5.4.15", "group": "symfony", "description": "Provides tools to manage errors and ease debugging PHP code", + "author": "Fabien Potencier, Symfony Community", "licenses": [ { "license": { @@ -1671,52 +1861,49 @@ } } ], - "purl": "pkg:composer/symfony/error-handler@5.4.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/error-handler.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=8433fa3145ac78df88b87a4a539118e950828126)" + "url": "https://api.github.com/repos/symfony/error-handler/zipball/539cf1428b8442303c6e876ad7bf5a7babd91091" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/8433fa3145ac78df88b87a4a539118e950828126", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=8433fa3145ac78df88b87a4a539118e950828126 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/error-handler.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "distribution", - "url": "https://github.com/symfony/error-handler/tree/v5.4.0", - "comment": "As set via `support.source` in composer package definition." - }, + "type": "vcs", + "url": "https://github.com/symfony/error-handler/tree/v5.4.15", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" + "name": "cdx:composer:package:distReference", + "value": "539cf1428b8442303c6e876ad7bf5a7babd91091" }, { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" + "name": "cdx:composer:package:sourceReference", + "value": "539cf1428b8442303c6e876ad7bf5a7babd91091" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/symfony/event-dispatcher@5.4.0", + "bom-ref": "symfony/event-dispatcher-5.4.9.0", "type": "library", "name": "event-dispatcher", - "version": "5.4.0", + "version": "v5.4.9", "group": "symfony", "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", + "author": "Fabien Potencier, Symfony Community", "licenses": [ { "license": { @@ -1724,52 +1911,49 @@ } } ], - "purl": "pkg:composer/symfony/event-dispatcher@5.4.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/event-dispatcher.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=27d39ae126352b9fa3be5e196ccf4617897be3eb)" + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/8e6ce1cc0279e3ff3c8ff0f43813bc88d21ca1bc" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/27d39ae126352b9fa3be5e196ccf4617897be3eb", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=27d39ae126352b9fa3be5e196ccf4617897be3eb & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/event-dispatcher.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "distribution", - "url": "https://github.com/symfony/event-dispatcher/tree/v5.4.0", - "comment": "As set via `support.source` in composer package definition." - }, + "type": "vcs", + "url": "https://github.com/symfony/event-dispatcher/tree/v5.4.9", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" + "name": "cdx:composer:package:distReference", + "value": "8e6ce1cc0279e3ff3c8ff0f43813bc88d21ca1bc" }, { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" + "name": "cdx:composer:package:sourceReference", + "value": "8e6ce1cc0279e3ff3c8ff0f43813bc88d21ca1bc" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/symfony/event-dispatcher-contracts@2.5.0", + "bom-ref": "symfony/event-dispatcher-contracts-2.5.2.0", "type": "library", "name": "event-dispatcher-contracts", - "version": "2.5.0", + "version": "v2.5.2", "group": "symfony", "description": "Generic abstractions related to dispatching event", + "author": "Nicolas Grekas, Symfony Community", "licenses": [ { "license": { @@ -1777,52 +1961,49 @@ } } ], - "purl": "pkg:composer/symfony/event-dispatcher-contracts@2.5.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=66bea3b09be61613cd3b4043a65a8ec48cfa6d2a)" + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/f98b54df6ad059855739db6fcbc2d36995283fe1" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/66bea3b09be61613cd3b4043a65a8ec48cfa6d2a", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=66bea3b09be61613cd3b4043a65a8ec48cfa6d2a & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/event-dispatcher-contracts.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "distribution", - "url": "https://github.com/symfony/event-dispatcher-contracts/tree/v2.5.0", - "comment": "As set via `support.source` in composer package definition." - }, + "type": "vcs", + "url": "https://github.com/symfony/event-dispatcher-contracts/tree/v2.5.2", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" + "name": "cdx:composer:package:distReference", + "value": "f98b54df6ad059855739db6fcbc2d36995283fe1" }, { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" + "name": "cdx:composer:package:sourceReference", + "value": "f98b54df6ad059855739db6fcbc2d36995283fe1" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/symfony/finder@5.4.0", + "bom-ref": "symfony/finder-5.4.11.0", "type": "library", "name": "finder", - "version": "5.4.0", + "version": "v5.4.11", "group": "symfony", "description": "Finds files and directories via an intuitive fluent interface", + "author": "Fabien Potencier, Symfony Community", "licenses": [ { "license": { @@ -1830,52 +2011,49 @@ } } ], - "purl": "pkg:composer/symfony/finder@5.4.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/finder.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=d2f29dac98e96a98be467627bd49c2efb1bc2590)" + "url": "https://api.github.com/repos/symfony/finder/zipball/7872a66f57caffa2916a584db1aa7f12adc76f8c" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/finder/zipball/d2f29dac98e96a98be467627bd49c2efb1bc2590", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=d2f29dac98e96a98be467627bd49c2efb1bc2590 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/finder.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "distribution", - "url": "https://github.com/symfony/finder/tree/v5.4.0", - "comment": "As set via `support.source` in composer package definition." - }, + "type": "vcs", + "url": "https://github.com/symfony/finder/tree/v5.4.11", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" + "name": "cdx:composer:package:distReference", + "value": "7872a66f57caffa2916a584db1aa7f12adc76f8c" }, { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" + "name": "cdx:composer:package:sourceReference", + "value": "7872a66f57caffa2916a584db1aa7f12adc76f8c" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/symfony/http-foundation@5.4.0", + "bom-ref": "symfony/http-foundation-5.4.16.0", "type": "library", "name": "http-foundation", - "version": "5.4.0", + "version": "v5.4.16", "group": "symfony", "description": "Defines an object-oriented layer for the HTTP specification", + "author": "Fabien Potencier, Symfony Community", "licenses": [ { "license": { @@ -1883,52 +2061,49 @@ } } ], - "purl": "pkg:composer/symfony/http-foundation@5.4.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/http-foundation.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=5ef86ac7927d2de08dc1e26eb91325f9ccbe6309)" + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/5032c5849aef24741e1970cb03511b0dd131d838" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/5ef86ac7927d2de08dc1e26eb91325f9ccbe6309", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=5ef86ac7927d2de08dc1e26eb91325f9ccbe6309 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/http-foundation.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "distribution", - "url": "https://github.com/symfony/http-foundation/tree/v5.4.0", - "comment": "As set via `support.source` in composer package definition." - }, + "type": "vcs", + "url": "https://github.com/symfony/http-foundation/tree/v5.4.16", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" + "name": "cdx:composer:package:distReference", + "value": "5032c5849aef24741e1970cb03511b0dd131d838" }, { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" + "name": "cdx:composer:package:sourceReference", + "value": "5032c5849aef24741e1970cb03511b0dd131d838" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/symfony/http-kernel@5.4.0", + "bom-ref": "symfony/http-kernel-5.4.16.0", "type": "library", "name": "http-kernel", - "version": "5.4.0", + "version": "v5.4.16", "group": "symfony", "description": "Provides a structured process for converting a Request into a Response", + "author": "Fabien Potencier, Symfony Community", "licenses": [ { "license": { @@ -1936,52 +2111,49 @@ } } ], - "purl": "pkg:composer/symfony/http-kernel@5.4.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/http-kernel.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=e012f16688bcb151e965473a70d8ebaa8b1d15ea)" + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/b432c57c5de73634b1859093c1f58e3cd84455a1" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/e012f16688bcb151e965473a70d8ebaa8b1d15ea", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=e012f16688bcb151e965473a70d8ebaa8b1d15ea & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/http-kernel.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "distribution", - "url": "https://github.com/symfony/http-kernel/tree/v5.4.0", - "comment": "As set via `support.source` in composer package definition." - }, + "type": "vcs", + "url": "https://github.com/symfony/http-kernel/tree/v5.4.16", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" + "name": "cdx:composer:package:distReference", + "value": "b432c57c5de73634b1859093c1f58e3cd84455a1" }, { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" + "name": "cdx:composer:package:sourceReference", + "value": "b432c57c5de73634b1859093c1f58e3cd84455a1" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/symfony/mime@5.4.0", + "bom-ref": "symfony/mime-5.4.16.0", "type": "library", "name": "mime", - "version": "5.4.0", + "version": "v5.4.16", "group": "symfony", "description": "Allows manipulating MIME messages", + "author": "Fabien Potencier, Symfony Community", "licenses": [ { "license": { @@ -1989,52 +2161,49 @@ } } ], - "purl": "pkg:composer/symfony/mime@5.4.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/mime.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=d4365000217b67c01acff407573906ff91bcfb34)" + "url": "https://api.github.com/repos/symfony/mime/zipball/46eeedb08f0832b1b61a84c612d945fc85ee4734" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/mime/zipball/d4365000217b67c01acff407573906ff91bcfb34", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=d4365000217b67c01acff407573906ff91bcfb34 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/mime.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "distribution", - "url": "https://github.com/symfony/mime/tree/v5.4.0", - "comment": "As set via `support.source` in composer package definition." - }, + "type": "vcs", + "url": "https://github.com/symfony/mime/tree/v5.4.16", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" + "name": "cdx:composer:package:distReference", + "value": "46eeedb08f0832b1b61a84c612d945fc85ee4734" }, { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" + "name": "cdx:composer:package:sourceReference", + "value": "46eeedb08f0832b1b61a84c612d945fc85ee4734" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/symfony/polyfill-ctype@1.23.0", + "bom-ref": "symfony/polyfill-ctype-1.27.0.0", "type": "library", "name": "polyfill-ctype", - "version": "1.23.0", + "version": "v1.27.0", "group": "symfony", "description": "Symfony polyfill for ctype functions", + "author": "Gert de Pagter, Symfony Community", "licenses": [ { "license": { @@ -2042,52 +2211,49 @@ } } ], - "purl": "pkg:composer/symfony/polyfill-ctype@1.23.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/polyfill-ctype.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=46cd95797e9df938fdd2b03693b5fca5e64b01ce)" + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/5bbc823adecdae860bb64756d639ecfec17b050a" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/46cd95797e9df938fdd2b03693b5fca5e64b01ce", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=46cd95797e9df938fdd2b03693b5fca5e64b01ce & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/polyfill-ctype.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "distribution", - "url": "https://github.com/symfony/polyfill-ctype/tree/v1.23.0", - "comment": "As set via `support.source` in composer package definition." - }, + "type": "vcs", + "url": "https://github.com/symfony/polyfill-ctype/tree/v1.27.0", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" + "name": "cdx:composer:package:distReference", + "value": "5bbc823adecdae860bb64756d639ecfec17b050a" }, { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" + "name": "cdx:composer:package:sourceReference", + "value": "5bbc823adecdae860bb64756d639ecfec17b050a" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/symfony/polyfill-iconv@1.23.0", + "bom-ref": "symfony/polyfill-iconv-1.27.0.0", "type": "library", "name": "polyfill-iconv", - "version": "1.23.0", + "version": "v1.27.0", "group": "symfony", "description": "Symfony polyfill for the Iconv extension", + "author": "Nicolas Grekas, Symfony Community", "licenses": [ { "license": { @@ -2095,52 +2261,49 @@ } } ], - "purl": "pkg:composer/symfony/polyfill-iconv@1.23.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/polyfill-iconv.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=63b5bb7db83e5673936d6e3b8b3e022ff6474933)" + "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/927013f3aac555983a5059aada98e1907d842695" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/63b5bb7db83e5673936d6e3b8b3e022ff6474933", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=63b5bb7db83e5673936d6e3b8b3e022ff6474933 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/polyfill-iconv.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "distribution", - "url": "https://github.com/symfony/polyfill-iconv/tree/v1.23.0", - "comment": "As set via `support.source` in composer package definition." - }, + "type": "vcs", + "url": "https://github.com/symfony/polyfill-iconv/tree/v1.27.0", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" + "name": "cdx:composer:package:distReference", + "value": "927013f3aac555983a5059aada98e1907d842695" }, { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" + "name": "cdx:composer:package:sourceReference", + "value": "927013f3aac555983a5059aada98e1907d842695" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/symfony/polyfill-intl-grapheme@1.23.1", + "bom-ref": "symfony/polyfill-intl-grapheme-1.27.0.0", "type": "library", "name": "polyfill-intl-grapheme", - "version": "1.23.1", + "version": "v1.27.0", "group": "symfony", "description": "Symfony polyfill for intl's grapheme_* functions", + "author": "Nicolas Grekas, Symfony Community", "licenses": [ { "license": { @@ -2148,52 +2311,49 @@ } } ], - "purl": "pkg:composer/symfony/polyfill-intl-grapheme@1.23.1", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=16880ba9c5ebe3642d1995ab866db29270b36535)" + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/511a08c03c1960e08a883f4cffcacd219b758354" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/16880ba9c5ebe3642d1995ab866db29270b36535", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=16880ba9c5ebe3642d1995ab866db29270b36535 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/polyfill-intl-grapheme.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "distribution", - "url": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.23.1", - "comment": "As set via `support.source` in composer package definition." - }, + "type": "vcs", + "url": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.27.0", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" + "name": "cdx:composer:package:distReference", + "value": "511a08c03c1960e08a883f4cffcacd219b758354" }, { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" + "name": "cdx:composer:package:sourceReference", + "value": "511a08c03c1960e08a883f4cffcacd219b758354" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/symfony/polyfill-intl-idn@1.23.0", + "bom-ref": "symfony/polyfill-intl-idn-1.27.0.0", "type": "library", "name": "polyfill-intl-idn", - "version": "1.23.0", + "version": "v1.27.0", "group": "symfony", "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions", + "author": "Laurent Bassin, Trevor Rowbotham, Symfony Community", "licenses": [ { "license": { @@ -2201,52 +2361,49 @@ } } ], - "purl": "pkg:composer/symfony/polyfill-intl-idn@1.23.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/polyfill-intl-idn.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=65bd267525e82759e7d8c4e8ceea44f398838e65)" + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/639084e360537a19f9ee352433b84ce831f3d2da" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/65bd267525e82759e7d8c4e8ceea44f398838e65", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=65bd267525e82759e7d8c4e8ceea44f398838e65 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/polyfill-intl-idn.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "distribution", - "url": "https://github.com/symfony/polyfill-intl-idn/tree/v1.23.0", - "comment": "As set via `support.source` in composer package definition." - }, + "type": "vcs", + "url": "https://github.com/symfony/polyfill-intl-idn/tree/v1.27.0", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" + "name": "cdx:composer:package:distReference", + "value": "639084e360537a19f9ee352433b84ce831f3d2da" }, { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" + "name": "cdx:composer:package:sourceReference", + "value": "639084e360537a19f9ee352433b84ce831f3d2da" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/symfony/polyfill-intl-normalizer@1.23.0", + "bom-ref": "symfony/polyfill-intl-normalizer-1.27.0.0", "type": "library", "name": "polyfill-intl-normalizer", - "version": "1.23.0", + "version": "v1.27.0", "group": "symfony", "description": "Symfony polyfill for intl's Normalizer class and related functions", + "author": "Nicolas Grekas, Symfony Community", "licenses": [ { "license": { @@ -2254,52 +2411,49 @@ } } ], - "purl": "pkg:composer/symfony/polyfill-intl-normalizer@1.23.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=8590a5f561694770bdcd3f9b5c69dde6945028e8)" + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/19bd1e4fcd5b91116f14d8533c57831ed00571b6" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8590a5f561694770bdcd3f9b5c69dde6945028e8", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=8590a5f561694770bdcd3f9b5c69dde6945028e8 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/polyfill-intl-normalizer.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "distribution", - "url": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.23.0", - "comment": "As set via `support.source` in composer package definition." - }, + "type": "vcs", + "url": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.27.0", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" + "name": "cdx:composer:package:distReference", + "value": "19bd1e4fcd5b91116f14d8533c57831ed00571b6" }, { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" + "name": "cdx:composer:package:sourceReference", + "value": "19bd1e4fcd5b91116f14d8533c57831ed00571b6" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/symfony/polyfill-mbstring@1.23.1", + "bom-ref": "symfony/polyfill-mbstring-1.27.0.0", "type": "library", "name": "polyfill-mbstring", - "version": "1.23.1", + "version": "v1.27.0", "group": "symfony", "description": "Symfony polyfill for the Mbstring extension", + "author": "Nicolas Grekas, Symfony Community", "licenses": [ { "license": { @@ -2307,52 +2461,49 @@ } } ], - "purl": "pkg:composer/symfony/polyfill-mbstring@1.23.1", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=9174a3d80210dca8daa7f31fec659150bbeabfc6)" + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/8ad114f6b39e2c98a8b0e3bd907732c207c2b534" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9174a3d80210dca8daa7f31fec659150bbeabfc6", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=9174a3d80210dca8daa7f31fec659150bbeabfc6 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/polyfill-mbstring.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "distribution", - "url": "https://github.com/symfony/polyfill-mbstring/tree/v1.23.1", - "comment": "As set via `support.source` in composer package definition." - }, + "type": "vcs", + "url": "https://github.com/symfony/polyfill-mbstring/tree/v1.27.0", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" + "name": "cdx:composer:package:distReference", + "value": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534" }, { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" + "name": "cdx:composer:package:sourceReference", + "value": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/symfony/polyfill-php72@1.23.0", + "bom-ref": "symfony/polyfill-php72-1.27.0.0", "type": "library", "name": "polyfill-php72", - "version": "1.23.0", + "version": "v1.27.0", "group": "symfony", "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", + "author": "Nicolas Grekas, Symfony Community", "licenses": [ { "license": { @@ -2360,52 +2511,49 @@ } } ], - "purl": "pkg:composer/symfony/polyfill-php72@1.23.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/polyfill-php72.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=9a142215a36a3888e30d0a9eeea9766764e96976)" + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/869329b1e9894268a8a61dabb69153029b7a8c97" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/9a142215a36a3888e30d0a9eeea9766764e96976", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=9a142215a36a3888e30d0a9eeea9766764e96976 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/polyfill-php72.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "distribution", - "url": "https://github.com/symfony/polyfill-php72/tree/v1.23.0", - "comment": "As set via `support.source` in composer package definition." - }, + "type": "vcs", + "url": "https://github.com/symfony/polyfill-php72/tree/v1.27.0", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" + "name": "cdx:composer:package:distReference", + "value": "869329b1e9894268a8a61dabb69153029b7a8c97" }, { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" + "name": "cdx:composer:package:sourceReference", + "value": "869329b1e9894268a8a61dabb69153029b7a8c97" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/symfony/polyfill-php73@1.23.0", + "bom-ref": "symfony/polyfill-php73-1.27.0.0", "type": "library", "name": "polyfill-php73", - "version": "1.23.0", + "version": "v1.27.0", "group": "symfony", "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions", + "author": "Nicolas Grekas, Symfony Community", "licenses": [ { "license": { @@ -2413,52 +2561,49 @@ } } ], - "purl": "pkg:composer/symfony/polyfill-php73@1.23.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/polyfill-php73.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=fba8933c384d6476ab14fb7b8526e5287ca7e010)" + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/9e8ecb5f92152187c4799efd3c96b78ccab18ff9" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/fba8933c384d6476ab14fb7b8526e5287ca7e010", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=fba8933c384d6476ab14fb7b8526e5287ca7e010 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/polyfill-php73.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "distribution", - "url": "https://github.com/symfony/polyfill-php73/tree/v1.23.0", - "comment": "As set via `support.source` in composer package definition." - }, + "type": "vcs", + "url": "https://github.com/symfony/polyfill-php73/tree/v1.27.0", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" + "name": "cdx:composer:package:distReference", + "value": "9e8ecb5f92152187c4799efd3c96b78ccab18ff9" }, { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" + "name": "cdx:composer:package:sourceReference", + "value": "9e8ecb5f92152187c4799efd3c96b78ccab18ff9" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/symfony/polyfill-php80@1.23.1", + "bom-ref": "symfony/polyfill-php80-1.27.0.0", "type": "library", "name": "polyfill-php80", - "version": "1.23.1", + "version": "v1.27.0", "group": "symfony", "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", + "author": "Ion Bazan, Nicolas Grekas, Symfony Community", "licenses": [ { "license": { @@ -2466,52 +2611,49 @@ } } ], - "purl": "pkg:composer/symfony/polyfill-php80@1.23.1", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/polyfill-php80.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=1100343ed1a92e3a38f9ae122fc0eb21602547be)" + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/1100343ed1a92e3a38f9ae122fc0eb21602547be", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=1100343ed1a92e3a38f9ae122fc0eb21602547be & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/polyfill-php80.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "distribution", - "url": "https://github.com/symfony/polyfill-php80/tree/v1.23.1", - "comment": "As set via `support.source` in composer package definition." - }, + "type": "vcs", + "url": "https://github.com/symfony/polyfill-php80/tree/v1.27.0", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" + "name": "cdx:composer:package:distReference", + "value": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936" }, { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" + "name": "cdx:composer:package:sourceReference", + "value": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/symfony/polyfill-php81@1.23.0", + "bom-ref": "symfony/polyfill-php81-1.27.0.0", "type": "library", "name": "polyfill-php81", - "version": "1.23.0", + "version": "v1.27.0", "group": "symfony", "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions", + "author": "Nicolas Grekas, Symfony Community", "licenses": [ { "license": { @@ -2519,52 +2661,49 @@ } } ], - "purl": "pkg:composer/symfony/polyfill-php81@1.23.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/polyfill-php81.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=e66119f3de95efc359483f810c4c3e6436279436)" + "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/707403074c8ea6e2edaf8794b0157a0bfa52157a" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/e66119f3de95efc359483f810c4c3e6436279436", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=e66119f3de95efc359483f810c4c3e6436279436 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/polyfill-php81.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "distribution", - "url": "https://github.com/symfony/polyfill-php81/tree/v1.23.0", - "comment": "As set via `support.source` in composer package definition." - }, + "type": "vcs", + "url": "https://github.com/symfony/polyfill-php81/tree/v1.27.0", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" + "name": "cdx:composer:package:distReference", + "value": "707403074c8ea6e2edaf8794b0157a0bfa52157a" }, { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" + "name": "cdx:composer:package:sourceReference", + "value": "707403074c8ea6e2edaf8794b0157a0bfa52157a" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/symfony/process@5.4.0", + "bom-ref": "symfony/process-5.4.11.0", "type": "library", "name": "process", - "version": "5.4.0", + "version": "v5.4.11", "group": "symfony", "description": "Executes commands in sub-processes", + "author": "Fabien Potencier, Symfony Community", "licenses": [ { "license": { @@ -2572,52 +2711,49 @@ } } ], - "purl": "pkg:composer/symfony/process@5.4.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/process.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=5be20b3830f726e019162b26223110c8f47cf274)" + "url": "https://api.github.com/repos/symfony/process/zipball/6e75fe6874cbc7e4773d049616ab450eff537bf1" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/process/zipball/5be20b3830f726e019162b26223110c8f47cf274", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=5be20b3830f726e019162b26223110c8f47cf274 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/process.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "distribution", - "url": "https://github.com/symfony/process/tree/v5.4.0", - "comment": "As set via `support.source` in composer package definition." - }, + "type": "vcs", + "url": "https://github.com/symfony/process/tree/v5.4.11", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" + "name": "cdx:composer:package:distReference", + "value": "6e75fe6874cbc7e4773d049616ab450eff537bf1" }, { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" + "name": "cdx:composer:package:sourceReference", + "value": "6e75fe6874cbc7e4773d049616ab450eff537bf1" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/symfony/routing@5.4.0", + "bom-ref": "symfony/routing-5.4.15.0", "type": "library", "name": "routing", - "version": "5.4.0", + "version": "v5.4.15", "group": "symfony", "description": "Maps an HTTP request to a set of configuration variables", + "author": "Fabien Potencier, Symfony Community", "licenses": [ { "license": { @@ -2625,52 +2761,49 @@ } } ], - "purl": "pkg:composer/symfony/routing@5.4.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/routing.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=9eeae93c32ca86746e5d38f3679e9569981038b1)" + "url": "https://api.github.com/repos/symfony/routing/zipball/5c9b129efe9abce9470e384bf65d8a7e262eee69" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/routing/zipball/9eeae93c32ca86746e5d38f3679e9569981038b1", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=9eeae93c32ca86746e5d38f3679e9569981038b1 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/routing.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "distribution", - "url": "https://github.com/symfony/routing/tree/v5.4.0", - "comment": "As set via `support.source` in composer package definition." - }, + "type": "vcs", + "url": "https://github.com/symfony/routing/tree/v5.4.15", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" + "name": "cdx:composer:package:distReference", + "value": "5c9b129efe9abce9470e384bf65d8a7e262eee69" }, { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" + "name": "cdx:composer:package:sourceReference", + "value": "5c9b129efe9abce9470e384bf65d8a7e262eee69" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/symfony/service-contracts@2.5.0", + "bom-ref": "symfony/service-contracts-2.5.2.0", "type": "library", "name": "service-contracts", - "version": "2.5.0", + "version": "v2.5.2", "group": "symfony", "description": "Generic abstractions related to writing services", + "author": "Nicolas Grekas, Symfony Community", "licenses": [ { "license": { @@ -2678,52 +2811,49 @@ } } ], - "purl": "pkg:composer/symfony/service-contracts@2.5.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/service-contracts.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=1ab11b933cd6bc5464b08e81e2c5b07dec58b0fc)" + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/4b426aac47d6427cc1a1d0f7e2ac724627f5966c" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/1ab11b933cd6bc5464b08e81e2c5b07dec58b0fc", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=1ab11b933cd6bc5464b08e81e2c5b07dec58b0fc & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/service-contracts.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "distribution", - "url": "https://github.com/symfony/service-contracts/tree/v2.5.0", - "comment": "As set via `support.source` in composer package definition." - }, + "type": "vcs", + "url": "https://github.com/symfony/service-contracts/tree/v2.5.2", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" + "name": "cdx:composer:package:distReference", + "value": "4b426aac47d6427cc1a1d0f7e2ac724627f5966c" }, { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" + "name": "cdx:composer:package:sourceReference", + "value": "4b426aac47d6427cc1a1d0f7e2ac724627f5966c" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/symfony/string@5.4.0", + "bom-ref": "symfony/string-5.4.15.0", "type": "library", "name": "string", - "version": "5.4.0", + "version": "v5.4.15", "group": "symfony", "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", + "author": "Nicolas Grekas, Symfony Community", "licenses": [ { "license": { @@ -2731,52 +2861,49 @@ } } ], - "purl": "pkg:composer/symfony/string@5.4.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/string.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=9ffaaba53c61ba75a3c7a3a779051d1e9ec4fd2d)" + "url": "https://api.github.com/repos/symfony/string/zipball/571334ce9f687e3e6af72db4d3b2a9431e4fd9ed" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/string/zipball/9ffaaba53c61ba75a3c7a3a779051d1e9ec4fd2d", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=9ffaaba53c61ba75a3c7a3a779051d1e9ec4fd2d & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/string.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "distribution", - "url": "https://github.com/symfony/string/tree/v5.4.0", - "comment": "As set via `support.source` in composer package definition." - }, + "type": "vcs", + "url": "https://github.com/symfony/string/tree/v5.4.15", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" + "name": "cdx:composer:package:distReference", + "value": "571334ce9f687e3e6af72db4d3b2a9431e4fd9ed" }, { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" + "name": "cdx:composer:package:sourceReference", + "value": "571334ce9f687e3e6af72db4d3b2a9431e4fd9ed" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/symfony/translation@5.4.0", + "bom-ref": "symfony/translation-5.4.14.0", "type": "library", "name": "translation", - "version": "5.4.0", + "version": "v5.4.14", "group": "symfony", "description": "Provides tools to internationalize your application", + "author": "Fabien Potencier, Symfony Community", "licenses": [ { "license": { @@ -2784,52 +2911,49 @@ } } ], - "purl": "pkg:composer/symfony/translation@5.4.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/translation.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=6fe32b10e912a518805bc9eafc2a87145773cf13)" + "url": "https://api.github.com/repos/symfony/translation/zipball/f0ed07675863aa6e3939df8b1bc879450b585cab" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/translation/zipball/6fe32b10e912a518805bc9eafc2a87145773cf13", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=6fe32b10e912a518805bc9eafc2a87145773cf13 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/translation.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "distribution", - "url": "https://github.com/symfony/translation/tree/v5.4.0", - "comment": "As set via `support.source` in composer package definition." - }, + "type": "vcs", + "url": "https://github.com/symfony/translation/tree/v5.4.14", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" + "name": "cdx:composer:package:distReference", + "value": "f0ed07675863aa6e3939df8b1bc879450b585cab" }, { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" + "name": "cdx:composer:package:sourceReference", + "value": "f0ed07675863aa6e3939df8b1bc879450b585cab" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/symfony/translation-contracts@2.5.0", + "bom-ref": "symfony/translation-contracts-2.5.2.0", "type": "library", "name": "translation-contracts", - "version": "2.5.0", + "version": "v2.5.2", "group": "symfony", "description": "Generic abstractions related to translation", + "author": "Nicolas Grekas, Symfony Community", "licenses": [ { "license": { @@ -2837,52 +2961,49 @@ } } ], - "purl": "pkg:composer/symfony/translation-contracts@2.5.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/translation-contracts.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=d28150f0f44ce854e942b671fc2620a98aae1b1e)" + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/136b19dd05cdf0709db6537d058bcab6dd6e2dbe" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/d28150f0f44ce854e942b671fc2620a98aae1b1e", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=d28150f0f44ce854e942b671fc2620a98aae1b1e & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/translation-contracts.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "distribution", - "url": "https://github.com/symfony/translation-contracts/tree/v2.5.0", - "comment": "As set via `support.source` in composer package definition." - }, + "type": "vcs", + "url": "https://github.com/symfony/translation-contracts/tree/v2.5.2", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" + "name": "cdx:composer:package:distReference", + "value": "136b19dd05cdf0709db6537d058bcab6dd6e2dbe" }, { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" + "name": "cdx:composer:package:sourceReference", + "value": "136b19dd05cdf0709db6537d058bcab6dd6e2dbe" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/symfony/var-dumper@5.4.0", + "bom-ref": "symfony/var-dumper-5.4.14.0", "type": "library", "name": "var-dumper", - "version": "5.4.0", + "version": "v5.4.14", "group": "symfony", "description": "Provides mechanisms for walking through any arbitrary PHP variable", + "author": "Nicolas Grekas, Symfony Community", "licenses": [ { "license": { @@ -2890,52 +3011,49 @@ } } ], - "purl": "pkg:composer/symfony/var-dumper@5.4.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/var-dumper.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=89ab66eaef230c9cd1992de2e9a1b26652b127b9)" + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/6894d06145fefebd9a4c7272baa026a1c394a430" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/89ab66eaef230c9cd1992de2e9a1b26652b127b9", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=89ab66eaef230c9cd1992de2e9a1b26652b127b9 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/var-dumper.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "distribution", - "url": "https://github.com/symfony/var-dumper/tree/v5.4.0", - "comment": "As set via `support.source` in composer package definition." - }, + "type": "vcs", + "url": "https://github.com/symfony/var-dumper/tree/v5.4.14", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" + "name": "cdx:composer:package:distReference", + "value": "6894d06145fefebd9a4c7272baa026a1c394a430" }, { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" + "name": "cdx:composer:package:sourceReference", + "value": "6894d06145fefebd9a4c7272baa026a1c394a430" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/tijsverkoyen/css-to-inline-styles@2.2.3", + "bom-ref": "tijsverkoyen/css-to-inline-styles-2.2.5.0", "type": "library", "name": "css-to-inline-styles", - "version": "2.2.3", + "version": "2.2.5", "group": "tijsverkoyen", "description": "CssToInlineStyles is a class that enables you to convert HTML-pages/files into HTML-pages/files with inline styles. This is very useful when you're sending emails.", + "author": "Tijs Verkoyen", "licenses": [ { "license": { @@ -2943,42 +3061,54 @@ } } ], - "purl": "pkg:composer/tijsverkoyen/css-to-inline-styles@2.2.3", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=b43b05cf43c1b6d849478965062b6ef73e223bb5)" + "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/4348a3a06651827a27d989ad1d13efec6bb49b19" }, { - "type": "distribution", - "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/b43b05cf43c1b6d849478965062b6ef73e223bb5", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=b43b05cf43c1b6d849478965062b6ef73e223bb5 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git" }, { "type": "website", "url": "https://github.com/tijsverkoyen/CssToInlineStyles", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { "type": "issue-tracker", "url": "https://github.com/tijsverkoyen/CssToInlineStyles/issues", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "distribution", - "url": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/2.2.3", - "comment": "As set via `support.source` in composer package definition." + "type": "vcs", + "url": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/2.2.5", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "4348a3a06651827a27d989ad1d13efec6bb49b19" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "4348a3a06651827a27d989ad1d13efec6bb49b19" + }, + { + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/vlucas/phpdotenv@4.2.1", + "bom-ref": "vlucas/phpdotenv-4.3.0.0", "type": "library", "name": "phpdotenv", - "version": "4.2.1", + "version": "v4.3.0", "group": "vlucas", "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.", + "author": "Graham Campbell, Vance Lucas", "licenses": [ { "license": { @@ -2986,47 +3116,49 @@ } } ], - "purl": "pkg:composer/vlucas/phpdotenv@4.2.1", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/vlucas/phpdotenv.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=d38f4d1edcbe32515a0ad593cbd4c858e337263c)" + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/67a491df68208bef8c37092db11fa3885008efcf" }, { - "type": "distribution", - "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/d38f4d1edcbe32515a0ad593cbd4c858e337263c", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=d38f4d1edcbe32515a0ad593cbd4c858e337263c & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/vlucas/phpdotenv.git" }, { "type": "issue-tracker", "url": "https://github.com/vlucas/phpdotenv/issues", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "distribution", - "url": "https://github.com/vlucas/phpdotenv/tree/v4.2.1", - "comment": "As set via `support.source` in composer package definition." + "type": "vcs", + "url": "https://github.com/vlucas/phpdotenv/tree/v4.3.0", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "67a491df68208bef8c37092db11fa3885008efcf" }, { - "type": "other", - "url": "https://github.com/GrahamCampbell", - "comment": "As set via `funding` in composer package definition. (type=github)" + "name": "cdx:composer:package:sourceReference", + "value": "67a491df68208bef8c37092db11fa3885008efcf" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/vlucas/phpdotenv", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/voku/portable-ascii@1.5.6", + "bom-ref": "voku/portable-ascii-1.6.1.0", "type": "library", "name": "portable-ascii", - "version": "1.5.6", + "version": "1.6.1", "group": "voku", "description": "Portable ASCII library - performance optimized (ascii) string functions for php.", + "author": "Lars Moelleken", "licenses": [ { "license": { @@ -3034,430 +3166,416 @@ } } ], - "purl": "pkg:composer/voku/portable-ascii@1.5.6", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/voku/portable-ascii.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=80953678b19901e5165c56752d087fc11526017c)" + "url": "https://api.github.com/repos/voku/portable-ascii/zipball/87337c91b9dfacee02452244ee14ab3c43bc485a" }, { - "type": "distribution", - "url": "https://api.github.com/repos/voku/portable-ascii/zipball/80953678b19901e5165c56752d087fc11526017c", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=80953678b19901e5165c56752d087fc11526017c & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/voku/portable-ascii.git" }, { "type": "website", "url": "https://github.com/voku/portable-ascii", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { "type": "issue-tracker", "url": "https://github.com/voku/portable-ascii/issues", - "comment": "As set via `support.issues` in composer package definition." - }, - { - "type": "distribution", - "url": "https://github.com/voku/portable-ascii/tree/1.5.6", - "comment": "As set via `support.source` in composer package definition." - }, - { - "type": "other", - "url": "https://www.paypal.me/moelleken", - "comment": "As set via `funding` in composer package definition. (type=custom)" + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "other", - "url": "https://github.com/voku", - "comment": "As set via `funding` in composer package definition. (type=github)" - }, + "type": "vcs", + "url": "https://github.com/voku/portable-ascii/tree/1.6.1", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ { - "type": "other", - "url": "https://opencollective.com/portable-ascii", - "comment": "As set via `funding` in composer package definition. (type=open_collective)" + "name": "cdx:composer:package:distReference", + "value": "87337c91b9dfacee02452244ee14ab3c43bc485a" }, { - "type": "other", - "url": "https://www.patreon.com/voku", - "comment": "As set via `funding` in composer package definition. (type=patreon)" + "name": "cdx:composer:package:sourceReference", + "value": "87337c91b9dfacee02452244ee14ab3c43bc485a" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/voku/portable-ascii", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "name": "cdx:composer:package:type", + "value": "library" } ] } ], "dependencies": [ { - "ref": "pkg:composer/asm89/stack-cors@1.3.0", + "ref": "asm89/stack-cors-1.3.0.0", "dependsOn": [ - "pkg:composer/symfony/http-foundation@5.4.0", - "pkg:composer/symfony/http-kernel@5.4.0" + "symfony/http-foundation-5.4.16.0", + "symfony/http-kernel-5.4.16.0" ] }, { - "ref": "pkg:composer/brick/math@0.9.3" + "ref": "brick/math-0.9.3.0" }, { - "ref": "pkg:composer/doctrine/inflector@2.0.4" + "ref": "doctrine/inflector-2.0.6.0" }, { - "ref": "pkg:composer/doctrine/lexer@1.2.1" + "ref": "doctrine/lexer-1.2.3.0" }, { - "ref": "pkg:composer/dragonmantank/cron-expression@2.3.1" + "ref": "dragonmantank/cron-expression-2.3.1.0" }, { - "ref": "pkg:composer/egulias/email-validator@2.1.25", + "ref": "egulias/email-validator-2.1.25.0", "dependsOn": [ - "pkg:composer/doctrine/lexer@1.2.1", - "pkg:composer/symfony/polyfill-intl-idn@1.23.0" + "doctrine/lexer-1.2.3.0", + "symfony/polyfill-intl-idn-1.27.0.0" ] }, { - "ref": "pkg:composer/fideloper/proxy@4.4.1" + "ref": "fideloper/proxy-4.4.2.0" }, { - "ref": "pkg:composer/fruitcake/laravel-cors@1.0.6", + "ref": "fruitcake/laravel-cors-1.0.6.0", "dependsOn": [ - "pkg:composer/asm89/stack-cors@1.3.0", - "pkg:composer/symfony/http-foundation@5.4.0", - "pkg:composer/symfony/http-kernel@5.4.0" + "asm89/stack-cors-1.3.0.0", + "symfony/http-foundation-5.4.16.0", + "symfony/http-kernel-5.4.16.0" ] }, { - "ref": "pkg:composer/guzzlehttp/guzzle@6.5.5", + "ref": "guzzlehttp/guzzle-6.5.8.0", "dependsOn": [ - "pkg:composer/guzzlehttp/promises@1.5.1", - "pkg:composer/guzzlehttp/psr7@1.8.3", - "pkg:composer/symfony/polyfill-intl-idn@1.23.0" + "guzzlehttp/promises-1.5.2.0", + "guzzlehttp/psr7-1.9.0.0", + "symfony/polyfill-intl-idn-1.27.0.0" ] }, { - "ref": "pkg:composer/guzzlehttp/promises@1.5.1" + "ref": "guzzlehttp/promises-1.5.2.0" }, { - "ref": "pkg:composer/guzzlehttp/psr7@1.8.3", + "ref": "guzzlehttp/psr7-1.9.0.0", "dependsOn": [ - "pkg:composer/psr/http-message@1.0.1", - "pkg:composer/ralouphie/getallheaders@3.0.3" + "psr/http-message-1.0.1.0", + "ralouphie/getallheaders-3.0.3.0" ] }, { - "ref": "pkg:composer/laravel/framework@7.30.5", + "ref": "laravel/framework-7.30.6.0", "dependsOn": [ - "pkg:composer/doctrine/inflector@2.0.4", - "pkg:composer/dragonmantank/cron-expression@2.3.1", - "pkg:composer/egulias/email-validator@2.1.25", - "pkg:composer/league/commonmark@1.6.6", - "pkg:composer/league/flysystem@1.1.8", - "pkg:composer/monolog/monolog@2.3.5", - "pkg:composer/nesbot/carbon@2.55.2", - "pkg:composer/opis/closure@3.6.2", - "pkg:composer/psr/container@1.1.1", - "pkg:composer/psr/simple-cache@1.0.1", - "pkg:composer/ramsey/uuid@4.2.3", - "pkg:composer/swiftmailer/swiftmailer@6.3.0", - "pkg:composer/symfony/console@5.4.0", - "pkg:composer/symfony/error-handler@5.4.0", - "pkg:composer/symfony/finder@5.4.0", - "pkg:composer/symfony/http-foundation@5.4.0", - "pkg:composer/symfony/http-kernel@5.4.0", - "pkg:composer/symfony/mime@5.4.0", - "pkg:composer/symfony/polyfill-php73@1.23.0", - "pkg:composer/symfony/process@5.4.0", - "pkg:composer/symfony/routing@5.4.0", - "pkg:composer/symfony/var-dumper@5.4.0", - "pkg:composer/tijsverkoyen/css-to-inline-styles@2.2.3", - "pkg:composer/vlucas/phpdotenv@4.2.1", - "pkg:composer/voku/portable-ascii@1.5.6" - ] - }, - { - "ref": "pkg:composer/laravel/laravel@7.12.0", + "doctrine/inflector-2.0.6.0", + "dragonmantank/cron-expression-2.3.1.0", + "egulias/email-validator-2.1.25.0", + "league/commonmark-1.6.7.0", + "league/flysystem-1.1.10.0", + "monolog/monolog-2.8.0.0", + "nesbot/carbon-2.63.0.0", + "opis/closure-3.6.3.0", + "psr/container-1.1.1.0", + "psr/simple-cache-1.0.1.0", + "ramsey/uuid-4.2.3.0", + "swiftmailer/swiftmailer-6.3.0.0", + "symfony/console-5.4.16.0", + "symfony/error-handler-5.4.15.0", + "symfony/finder-5.4.11.0", + "symfony/http-foundation-5.4.16.0", + "symfony/http-kernel-5.4.16.0", + "symfony/mime-5.4.16.0", + "symfony/polyfill-php73-1.27.0.0", + "symfony/process-5.4.11.0", + "symfony/routing-5.4.15.0", + "symfony/var-dumper-5.4.14.0", + "tijsverkoyen/css-to-inline-styles-2.2.5.0", + "vlucas/phpdotenv-4.3.0.0", + "voku/portable-ascii-1.6.1.0" + ] + }, + { + "ref": "laravel/laravel-7.12.0.0", "dependsOn": [ - "pkg:composer/fideloper/proxy@4.4.1", - "pkg:composer/fruitcake/laravel-cors@1.0.6", - "pkg:composer/guzzlehttp/guzzle@6.5.5", - "pkg:composer/laravel/framework@7.30.5", - "pkg:composer/laravel/tinker@2.6.2" + "fideloper/proxy-4.4.2.0", + "fruitcake/laravel-cors-1.0.6.0", + "guzzlehttp/guzzle-6.5.8.0", + "laravel/framework-7.30.6.0", + "laravel/tinker-2.7.3.0" ] }, { - "ref": "pkg:composer/laravel/tinker@2.6.2", + "ref": "laravel/tinker-2.7.3.0", "dependsOn": [ - "pkg:composer/psy/psysh@0.10.12", - "pkg:composer/symfony/var-dumper@5.4.0" + "psy/psysh-0.11.9.0", + "symfony/var-dumper-5.4.14.0" ] }, { - "ref": "pkg:composer/league/commonmark@1.6.6" + "ref": "league/commonmark-1.6.7.0" }, { - "ref": "pkg:composer/league/flysystem@1.1.8", + "ref": "league/flysystem-1.1.10.0", "dependsOn": [ - "pkg:composer/league/mime-type-detection@1.9.0" + "league/mime-type-detection-1.11.0.0" ] }, { - "ref": "pkg:composer/league/mime-type-detection@1.9.0" + "ref": "league/mime-type-detection-1.11.0.0" }, { - "ref": "pkg:composer/monolog/monolog@2.3.5", + "ref": "monolog/monolog-2.8.0.0", "dependsOn": [ - "pkg:composer/psr/log@1.1.4" + "psr/log-1.1.4.0" ] }, { - "ref": "pkg:composer/nesbot/carbon@2.55.2", + "ref": "nesbot/carbon-2.63.0.0", "dependsOn": [ - "pkg:composer/symfony/polyfill-mbstring@1.23.1", - "pkg:composer/symfony/polyfill-php80@1.23.1", - "pkg:composer/symfony/translation@5.4.0" + "symfony/polyfill-mbstring-1.27.0.0", + "symfony/polyfill-php80-1.27.0.0", + "symfony/translation-5.4.14.0" ] }, { - "ref": "pkg:composer/nikic/php-parser@4.13.2" + "ref": "nikic/php-parser-4.15.2.0" }, { - "ref": "pkg:composer/opis/closure@3.6.2" + "ref": "opis/closure-3.6.3.0" }, { - "ref": "pkg:composer/phpoption/phpoption@1.8.0" + "ref": "phpoption/phpoption-1.9.0.0" }, { - "ref": "pkg:composer/psr/container@1.1.1" + "ref": "psr/container-1.1.1.0" }, { - "ref": "pkg:composer/psr/event-dispatcher@1.0.0" + "ref": "psr/event-dispatcher-1.0.0.0" }, { - "ref": "pkg:composer/psr/http-message@1.0.1" + "ref": "psr/http-message-1.0.1.0" }, { - "ref": "pkg:composer/psr/log@1.1.4" + "ref": "psr/log-1.1.4.0" }, { - "ref": "pkg:composer/psr/simple-cache@1.0.1" + "ref": "psr/simple-cache-1.0.1.0" }, { - "ref": "pkg:composer/psy/psysh@0.10.12", + "ref": "psy/psysh-0.11.9.0", "dependsOn": [ - "pkg:composer/nikic/php-parser@4.13.2", - "pkg:composer/symfony/console@5.4.0", - "pkg:composer/symfony/var-dumper@5.4.0" + "nikic/php-parser-4.15.2.0", + "symfony/console-5.4.16.0", + "symfony/var-dumper-5.4.14.0" ] }, { - "ref": "pkg:composer/ralouphie/getallheaders@3.0.3" + "ref": "ralouphie/getallheaders-3.0.3.0" }, { - "ref": "pkg:composer/ramsey/collection@1.2.2", + "ref": "ramsey/collection-1.2.2.0", "dependsOn": [ - "pkg:composer/symfony/polyfill-php81@1.23.0" + "symfony/polyfill-php81-1.27.0.0" ] }, { - "ref": "pkg:composer/ramsey/uuid@4.2.3", + "ref": "ramsey/uuid-4.2.3.0", "dependsOn": [ - "pkg:composer/brick/math@0.9.3", - "pkg:composer/ramsey/collection@1.2.2", - "pkg:composer/symfony/polyfill-ctype@1.23.0", - "pkg:composer/symfony/polyfill-php80@1.23.1" + "brick/math-0.9.3.0", + "ramsey/collection-1.2.2.0", + "symfony/polyfill-ctype-1.27.0.0", + "symfony/polyfill-php80-1.27.0.0" ] }, { - "ref": "pkg:composer/swiftmailer/swiftmailer@6.3.0", + "ref": "swiftmailer/swiftmailer-6.3.0.0", "dependsOn": [ - "pkg:composer/egulias/email-validator@2.1.25", - "pkg:composer/symfony/polyfill-iconv@1.23.0", - "pkg:composer/symfony/polyfill-intl-idn@1.23.0", - "pkg:composer/symfony/polyfill-mbstring@1.23.1" + "egulias/email-validator-2.1.25.0", + "symfony/polyfill-iconv-1.27.0.0", + "symfony/polyfill-intl-idn-1.27.0.0", + "symfony/polyfill-mbstring-1.27.0.0" ] }, { - "ref": "pkg:composer/symfony/console@5.4.0", + "ref": "symfony/console-5.4.16.0", "dependsOn": [ - "pkg:composer/symfony/deprecation-contracts@2.5.0", - "pkg:composer/symfony/polyfill-mbstring@1.23.1", - "pkg:composer/symfony/polyfill-php73@1.23.0", - "pkg:composer/symfony/polyfill-php80@1.23.1", - "pkg:composer/symfony/service-contracts@2.5.0", - "pkg:composer/symfony/string@5.4.0" + "symfony/deprecation-contracts-2.5.2.0", + "symfony/polyfill-mbstring-1.27.0.0", + "symfony/polyfill-php73-1.27.0.0", + "symfony/polyfill-php80-1.27.0.0", + "symfony/service-contracts-2.5.2.0", + "symfony/string-5.4.15.0" ] }, { - "ref": "pkg:composer/symfony/css-selector@5.4.0", + "ref": "symfony/css-selector-5.4.11.0", "dependsOn": [ - "pkg:composer/symfony/polyfill-php80@1.23.1" + "symfony/polyfill-php80-1.27.0.0" ] }, { - "ref": "pkg:composer/symfony/deprecation-contracts@2.5.0" + "ref": "symfony/deprecation-contracts-2.5.2.0" }, { - "ref": "pkg:composer/symfony/error-handler@5.4.0", + "ref": "symfony/error-handler-5.4.15.0", "dependsOn": [ - "pkg:composer/psr/log@1.1.4", - "pkg:composer/symfony/var-dumper@5.4.0" + "psr/log-1.1.4.0", + "symfony/var-dumper-5.4.14.0" ] }, { - "ref": "pkg:composer/symfony/event-dispatcher@5.4.0", + "ref": "symfony/event-dispatcher-5.4.9.0", "dependsOn": [ - "pkg:composer/symfony/deprecation-contracts@2.5.0", - "pkg:composer/symfony/event-dispatcher-contracts@2.5.0", - "pkg:composer/symfony/polyfill-php80@1.23.1" + "symfony/deprecation-contracts-2.5.2.0", + "symfony/event-dispatcher-contracts-2.5.2.0", + "symfony/polyfill-php80-1.27.0.0" ] }, { - "ref": "pkg:composer/symfony/event-dispatcher-contracts@2.5.0", + "ref": "symfony/event-dispatcher-contracts-2.5.2.0", "dependsOn": [ - "pkg:composer/psr/event-dispatcher@1.0.0" + "psr/event-dispatcher-1.0.0.0" ] }, { - "ref": "pkg:composer/symfony/finder@5.4.0", + "ref": "symfony/finder-5.4.11.0", "dependsOn": [ - "pkg:composer/symfony/deprecation-contracts@2.5.0", - "pkg:composer/symfony/polyfill-php80@1.23.1" + "symfony/deprecation-contracts-2.5.2.0", + "symfony/polyfill-php80-1.27.0.0" ] }, { - "ref": "pkg:composer/symfony/http-foundation@5.4.0", + "ref": "symfony/http-foundation-5.4.16.0", "dependsOn": [ - "pkg:composer/symfony/deprecation-contracts@2.5.0", - "pkg:composer/symfony/polyfill-mbstring@1.23.1", - "pkg:composer/symfony/polyfill-php80@1.23.1" + "symfony/deprecation-contracts-2.5.2.0", + "symfony/polyfill-mbstring-1.27.0.0", + "symfony/polyfill-php80-1.27.0.0" ] }, { - "ref": "pkg:composer/symfony/http-kernel@5.4.0", + "ref": "symfony/http-kernel-5.4.16.0", "dependsOn": [ - "pkg:composer/psr/log@1.1.4", - "pkg:composer/symfony/deprecation-contracts@2.5.0", - "pkg:composer/symfony/error-handler@5.4.0", - "pkg:composer/symfony/event-dispatcher@5.4.0", - "pkg:composer/symfony/http-foundation@5.4.0", - "pkg:composer/symfony/polyfill-ctype@1.23.0", - "pkg:composer/symfony/polyfill-php73@1.23.0", - "pkg:composer/symfony/polyfill-php80@1.23.1" + "psr/log-1.1.4.0", + "symfony/deprecation-contracts-2.5.2.0", + "symfony/error-handler-5.4.15.0", + "symfony/event-dispatcher-5.4.9.0", + "symfony/http-foundation-5.4.16.0", + "symfony/polyfill-ctype-1.27.0.0", + "symfony/polyfill-php73-1.27.0.0", + "symfony/polyfill-php80-1.27.0.0" ] }, { - "ref": "pkg:composer/symfony/mime@5.4.0", + "ref": "symfony/mime-5.4.16.0", "dependsOn": [ - "pkg:composer/symfony/deprecation-contracts@2.5.0", - "pkg:composer/symfony/polyfill-intl-idn@1.23.0", - "pkg:composer/symfony/polyfill-mbstring@1.23.1", - "pkg:composer/symfony/polyfill-php80@1.23.1" + "symfony/deprecation-contracts-2.5.2.0", + "symfony/polyfill-intl-idn-1.27.0.0", + "symfony/polyfill-mbstring-1.27.0.0", + "symfony/polyfill-php80-1.27.0.0" ] }, { - "ref": "pkg:composer/symfony/polyfill-ctype@1.23.0" + "ref": "symfony/polyfill-ctype-1.27.0.0" }, { - "ref": "pkg:composer/symfony/polyfill-iconv@1.23.0" + "ref": "symfony/polyfill-iconv-1.27.0.0" }, { - "ref": "pkg:composer/symfony/polyfill-intl-grapheme@1.23.1" + "ref": "symfony/polyfill-intl-grapheme-1.27.0.0" }, { - "ref": "pkg:composer/symfony/polyfill-intl-idn@1.23.0", + "ref": "symfony/polyfill-intl-idn-1.27.0.0", "dependsOn": [ - "pkg:composer/symfony/polyfill-intl-normalizer@1.23.0", - "pkg:composer/symfony/polyfill-php72@1.23.0" + "symfony/polyfill-intl-normalizer-1.27.0.0", + "symfony/polyfill-php72-1.27.0.0" ] }, { - "ref": "pkg:composer/symfony/polyfill-intl-normalizer@1.23.0" + "ref": "symfony/polyfill-intl-normalizer-1.27.0.0" }, { - "ref": "pkg:composer/symfony/polyfill-mbstring@1.23.1" + "ref": "symfony/polyfill-mbstring-1.27.0.0" }, { - "ref": "pkg:composer/symfony/polyfill-php72@1.23.0" + "ref": "symfony/polyfill-php72-1.27.0.0" }, { - "ref": "pkg:composer/symfony/polyfill-php73@1.23.0" + "ref": "symfony/polyfill-php73-1.27.0.0" }, { - "ref": "pkg:composer/symfony/polyfill-php80@1.23.1" + "ref": "symfony/polyfill-php80-1.27.0.0" }, { - "ref": "pkg:composer/symfony/polyfill-php81@1.23.0" + "ref": "symfony/polyfill-php81-1.27.0.0" }, { - "ref": "pkg:composer/symfony/process@5.4.0", + "ref": "symfony/process-5.4.11.0", "dependsOn": [ - "pkg:composer/symfony/polyfill-php80@1.23.1" + "symfony/polyfill-php80-1.27.0.0" ] }, { - "ref": "pkg:composer/symfony/routing@5.4.0", + "ref": "symfony/routing-5.4.15.0", "dependsOn": [ - "pkg:composer/symfony/deprecation-contracts@2.5.0", - "pkg:composer/symfony/polyfill-php80@1.23.1" + "symfony/deprecation-contracts-2.5.2.0", + "symfony/polyfill-php80-1.27.0.0" ] }, { - "ref": "pkg:composer/symfony/service-contracts@2.5.0", + "ref": "symfony/service-contracts-2.5.2.0", "dependsOn": [ - "pkg:composer/psr/container@1.1.1", - "pkg:composer/symfony/deprecation-contracts@2.5.0" + "psr/container-1.1.1.0", + "symfony/deprecation-contracts-2.5.2.0" ] }, { - "ref": "pkg:composer/symfony/string@5.4.0", + "ref": "symfony/string-5.4.15.0", "dependsOn": [ - "pkg:composer/symfony/polyfill-ctype@1.23.0", - "pkg:composer/symfony/polyfill-intl-grapheme@1.23.1", - "pkg:composer/symfony/polyfill-intl-normalizer@1.23.0", - "pkg:composer/symfony/polyfill-mbstring@1.23.1", - "pkg:composer/symfony/polyfill-php80@1.23.1" + "symfony/polyfill-ctype-1.27.0.0", + "symfony/polyfill-intl-grapheme-1.27.0.0", + "symfony/polyfill-intl-normalizer-1.27.0.0", + "symfony/polyfill-mbstring-1.27.0.0", + "symfony/polyfill-php80-1.27.0.0" ] }, { - "ref": "pkg:composer/symfony/translation@5.4.0", + "ref": "symfony/translation-5.4.14.0", "dependsOn": [ - "pkg:composer/symfony/deprecation-contracts@2.5.0", - "pkg:composer/symfony/polyfill-mbstring@1.23.1", - "pkg:composer/symfony/polyfill-php80@1.23.1", - "pkg:composer/symfony/translation-contracts@2.5.0" + "symfony/deprecation-contracts-2.5.2.0", + "symfony/polyfill-mbstring-1.27.0.0", + "symfony/polyfill-php80-1.27.0.0", + "symfony/translation-contracts-2.5.2.0" ] }, { - "ref": "pkg:composer/symfony/translation-contracts@2.5.0" + "ref": "symfony/translation-contracts-2.5.2.0" }, { - "ref": "pkg:composer/symfony/var-dumper@5.4.0", + "ref": "symfony/var-dumper-5.4.14.0", "dependsOn": [ - "pkg:composer/symfony/polyfill-mbstring@1.23.1", - "pkg:composer/symfony/polyfill-php80@1.23.1" + "symfony/polyfill-mbstring-1.27.0.0", + "symfony/polyfill-php80-1.27.0.0" ] }, { - "ref": "pkg:composer/tijsverkoyen/css-to-inline-styles@2.2.3", + "ref": "tijsverkoyen/css-to-inline-styles-2.2.5.0", "dependsOn": [ - "pkg:composer/symfony/css-selector@5.4.0" + "symfony/css-selector-5.4.11.0" ] }, { - "ref": "pkg:composer/vlucas/phpdotenv@4.2.1", + "ref": "vlucas/phpdotenv-4.3.0.0", "dependsOn": [ - "pkg:composer/phpoption/phpoption@1.8.0", - "pkg:composer/symfony/polyfill-ctype@1.23.0" + "phpoption/phpoption-1.9.0.0", + "symfony/polyfill-ctype-1.27.0.0" ] }, { - "ref": "pkg:composer/voku/portable-ascii@1.5.6" + "ref": "voku/portable-ascii-1.6.1.0" }, { - "ref": "pkg:composer/cyclonedx/cyclonedx-php-composer-demo@dev-master", + "ref": "cyclonedx/cyclonedx-php-composer-demo-dev-master", "dependsOn": [ - "pkg:composer/laravel/laravel@7.12.0" + "laravel/laravel-7.12.0.0" ] } ] diff --git a/demo/laravel-7.12.0/results/bom.1.3.xml b/demo/laravel-7.12.0/results/bom.1.3.xml index 5e633913..697e4ec0 100644 --- a/demo/laravel-7.12.0/results/bom.1.3.xml +++ b/demo/laravel-7.12.0/results/bom.1.3.xml @@ -5,19 +5,24 @@ - + - + + + + + - + + @@ -27,31 +32,33 @@ - - - - - - + + + - + - + - + - + + + + + + - + @@ -61,161 +68,137 @@ - - - - - - + + + - + - + - - - - - - - - - + + + + + + - + + - + - - - + - - - + + - + - - - - - - - - - - - - - + - - - + + + + + + + + - + + - + - - - + - - - + + - + - - - - - - - - - - - - - + - - - + + + + + + + + - + + - + - - - - - - + + + - + - + - - - - - + + + + + + - + + @@ -225,635 +208,593 @@ - - - - - - + + + - + - + - + - - - - - + + + + + + - + + - + - - - + - - - + + - + - - - + + + + + + + + - + + - + - - - - - - + + + - + - + - - - - - + + + + + + - + + - + - - - + - - - + + - + - + - - - + + + + + + + + - + + - + - - - + - - - + + - - - - - - - - - - - - - + - - - + + + + + + + + - + + - + - - - + - - - + + - - - - - - - - - - - - - + - - - + + + + + + + + - + + - + - - - + - - - + + - + - + - + - + + + + + + - + - + - - - - - - - + + + + - + + + + + + - + + - + - - - + - - - + + - + - - - + + + + + + + + - + + - + - - - + - - - + + - + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + - + + - + - - - + - - - + + - - - - - + - - - + + + + + + + + - + + - + - - - + - - - + + - - - - - + - - - - - - - + + + + + + + + - + + - + - - - + - - - + + - + - - - - - + - - - - - - - + + + + + + + + - + + - + - - - + - - - + + - + - + - + - + - - - - - - - - - + + + + + + - + + - + - - - + - - - + + - + - - - + + + + + + + + - + + - + - - - + - - - + + - + - + - - - + + + + + + + + - + + - + - - - + - - - + + - - - - - - - - - + - - - + + + + + + + + - + + @@ -863,31 +804,34 @@ - - - - - - + + + - + - + - + - + + + + + + - + + @@ -897,27 +841,30 @@ - - - - - - + + + - + - + - + + + + + + - + + @@ -927,27 +874,30 @@ - - - - - - + + + - + - + - + + + + + + - + + @@ -957,27 +907,30 @@ - - - - - - + + + - + - + - + + + + + + - + + @@ -987,57 +940,63 @@ - - - - - - - + + + + - + + + + + + - + + - + - - - + - - - + + - + - + - - - + + + + + + + + - + + @@ -1047,27 +1006,30 @@ - - - - - - + + + - + - + - + + + + + + - + + @@ -1077,35 +1039,29 @@ - - - - - - + + + - + - + - - - - - - - - - + + + + + + - + @@ -1115,1547 +1071,1274 @@ - - - - - - + + + - + - + - - - - - - - - - + + + + + + - + + - + - - - - - - + + + - + - + - + - - - - - - - - - + + + + + + - + + - + - - - + - - - + + - - - - - - - - - - - - - + - - - + + + + + + + + - + + - + - - - + - - - + + - - - - - - - - - + - - - - - - - + + + + + + + + - + + - + - - - + - - - + + - - - - - - - - - + - - - - - - - + + + + + + + + - + + - + - - - + - - - + + - - - - - + - - - - - - - - - - - + + + + + + + + - + + - + - - - + - - - + + - + - - - - - - - - - - - - - - - + + + + + + + + - + + - + - - - + - - - + + - + - - - - - - - - - - - - - - - + + + + + + + + - + + - + - - - + - - - + + - + - - - - - - - - - - - - - - - + + + + + + + + - + + - + - - - + - - - + + - + - - - - - - - - - - - - - - - + + + + + + + + - + + - + - - - + - - - + + - - - - - - - - - + - - - - - - - + + + + + + + + - + + - + - - - + - - - + + - - - - - - - - - + - - - - - - - + + + + + + + + - + + - + - - - + - - - + + - - - - - + - - - - - - - - - - - + + + + + + + + - + + - + - - - + - - - + + - + - - - - - - - - - - - - - - - + + + + + + + + - + + - + - - - + - - - + + - + - - - - - - - - - - - - - - - + + + + + + + + - + + - + - - - + - - - + + - - - - - - - - - - - - - + - - - + + + + + + + + - + + - + - - - + - - - + + - + - - - - - - - - - - - - - - - + + + + + + + + - + + - + - - - + - - - + + - - - - - - - - - + - - - - - - - + + + + + + + + - + + - + - - - + - - - + + - - - - - - - - - + - - - - - - - + + + + + + + + - + + - + - - - + - - - + + - + - - - - - - - - - - - - - - - + + + + + + + + - + + - + - - - + - - - + + - + - - - - - - - - - - - - - - - + + + + + + + + - + + - + - - - + - - - + + - + - - - - - - - - - - - - - - - + + + + + + + + - + + - + - - - + - - - + + - + - - - - - - - - - - - - - - - + + + + + + + + - + + - + - - - + - - - + + - + - - - - - - - - - - - - - - - + + + + + + + + - + + - + - - - + - - - + + - + - - - - - - - - - - - - - - - + + + + + + + + - + + - + - - - + - - - + + - - - - - - - - - + - - - - - - - + + + + + + + + - + + - + - - - + - - - + + - + - - - - - - - - - - - - - - - + + + + + + + + - + + - + - - - + - - - + + - + - - - - - - - - - - - - - - - + + + + + + + + - + + - + - - - + - - - + + - + - - - - - - - - - - - - - - - + + + + + + + + - + + - + - - - + - - - + + - + - + - - - + + + + + + + + - + + - + - - - + - - - + + - - - - - + - - - - - - - + + + + + + + + - + + - + - - - + - - - + + - + - - - - - + - - - - - - - - - - - - - - - - - - - + + + + + + + + - - - + + + - - - - - - - + + + + + + + - - - - - + + + + + - - - - + + + + - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + - - - + + + - - - + + + - - - + + + - - - - + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - + + + - - - - - + + + + + - - - - - + + + + + - - - - - - - + + + + + + + - - + + - - - - + + + + - - - - + + + + - - + + - - - + + + - - - - + + + + - - - - - - - - - + + + + + + + + + - - - - - + + + + + - - - - - - + + + + + + - - - - - - - - + + + + + + + + - - - + + + - - - + + + - - - - - - + + + + + + - - - - - + + + + + - - - - + + + + - - + + - - - + + + - - - + + + diff --git a/demo/laravel-7.12.0/results/bom.1.4.json b/demo/laravel-7.12.0/results/bom.1.4.json new file mode 100644 index 00000000..8e33422d --- /dev/null +++ b/demo/laravel-7.12.0/results/bom.1.4.json @@ -0,0 +1,3603 @@ +{ + "$schema": "http://cyclonedx.org/schema/bom-1.4.schema.json", + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "tools": [ + { + "vendor": "cyclonedx", + "name": "cyclonedx-php-composer", + "version": "in-dev", + "externalReferences": [ + { + "type": "distribution", + "url": "../.." + }, + { + "type": "website", + "url": "https://github.com/CycloneDX/cyclonedx-php-composer/#readme", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/CycloneDX/cyclonedx-php-composer/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/CycloneDX/cyclonedx-php-composer/", + "comment": "as detected from Composer manifest 'support.source'" + } + ] + } + ], + "component": { + "bom-ref": "cyclonedx/cyclonedx-php-composer-demo-dev-master", + "type": "application", + "name": "cyclonedx-php-composer-demo", + "version": "dev-master", + "group": "cyclonedx", + "description": "demo of cyclonedx/cyclonedx-php-composer with a pinned version of laravel/framework", + "author": "Jan Kowalleck", + "purl": "pkg:composer/cyclonedx/cyclonedx-php-composer-demo@dev-master", + "properties": [ + { + "name": "cdx:composer:package:type", + "value": "project" + } + ] + } + }, + "components": [ + { + "bom-ref": "asm89/stack-cors-1.3.0.0", + "type": "library", + "name": "stack-cors", + "version": "1.3.0", + "group": "asm89", + "description": "Cross-origin resource sharing library and stack middleware", + "author": "Alexander", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/asm89/stack-cors/zipball/b9c31def6a83f84b4d4a40d35996d375755f0e08" + }, + { + "type": "vcs", + "url": "https://github.com/asm89/stack-cors.git" + }, + { + "type": "website", + "url": "https://github.com/asm89/stack-cors", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/asm89/stack-cors/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/asm89/stack-cors/tree/1.3.0", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "b9c31def6a83f84b4d4a40d35996d375755f0e08" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "b9c31def6a83f84b4d4a40d35996d375755f0e08" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + }, + { + "bom-ref": "brick/math-0.9.3.0", + "type": "library", + "name": "math", + "version": "0.9.3", + "group": "brick", + "description": "Arbitrary-precision arithmetic library", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/brick/math/zipball/ca57d18f028f84f777b2168cd1911b0dee2343ae" + }, + { + "type": "vcs", + "url": "https://github.com/brick/math.git" + }, + { + "type": "issue-tracker", + "url": "https://github.com/brick/math/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/brick/math/tree/0.9.3", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "ca57d18f028f84f777b2168cd1911b0dee2343ae" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "ca57d18f028f84f777b2168cd1911b0dee2343ae" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + }, + { + "bom-ref": "doctrine/inflector-2.0.6.0", + "type": "library", + "name": "inflector", + "version": "2.0.6", + "group": "doctrine", + "description": "PHP Doctrine Inflector is a small library that can perform string manipulations with regard to upper/lowercase and singular/plural forms of words.", + "author": "Guilherme Blanco, Roman Borschel, Benjamin Eberlei, Jonathan Wage, Johannes Schmitt", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/d9d313a36c872fd6ee06d9a6cbcf713eaa40f024" + }, + { + "type": "vcs", + "url": "https://github.com/doctrine/inflector.git" + }, + { + "type": "website", + "url": "https://www.doctrine-project.org/projects/inflector.html", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/doctrine/inflector/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/doctrine/inflector/tree/2.0.6", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "d9d313a36c872fd6ee06d9a6cbcf713eaa40f024" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "d9d313a36c872fd6ee06d9a6cbcf713eaa40f024" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + }, + { + "bom-ref": "doctrine/lexer-1.2.3.0", + "type": "library", + "name": "lexer", + "version": "1.2.3", + "group": "doctrine", + "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.", + "author": "Guilherme Blanco, Roman Borschel, Johannes Schmitt", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/c268e882d4dbdd85e36e4ad69e02dc284f89d229" + }, + { + "type": "vcs", + "url": "https://github.com/doctrine/lexer.git" + }, + { + "type": "website", + "url": "https://www.doctrine-project.org/projects/lexer.html", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/doctrine/lexer/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/doctrine/lexer/tree/1.2.3", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "c268e882d4dbdd85e36e4ad69e02dc284f89d229" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "c268e882d4dbdd85e36e4ad69e02dc284f89d229" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + }, + { + "bom-ref": "dragonmantank/cron-expression-2.3.1.0", + "type": "library", + "name": "cron-expression", + "version": "v2.3.1", + "group": "dragonmantank", + "description": "CRON for PHP: Calculate the next or previous run date and determine if a CRON expression is due", + "author": "Michael Dowling, Chris Tankersley", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/65b2d8ee1f10915efb3b55597da3404f096acba2" + }, + { + "type": "vcs", + "url": "https://github.com/dragonmantank/cron-expression.git" + }, + { + "type": "issue-tracker", + "url": "https://github.com/dragonmantank/cron-expression/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/dragonmantank/cron-expression/tree/v2.3.1", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "65b2d8ee1f10915efb3b55597da3404f096acba2" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "65b2d8ee1f10915efb3b55597da3404f096acba2" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + }, + { + "bom-ref": "egulias/email-validator-2.1.25.0", + "type": "library", + "name": "email-validator", + "version": "2.1.25", + "group": "egulias", + "description": "A library for validating emails against several RFCs", + "author": "Eduardo Gulias Davis", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/0dbf5d78455d4d6a41d186da50adc1122ec066f4" + }, + { + "type": "vcs", + "url": "https://github.com/egulias/EmailValidator.git" + }, + { + "type": "website", + "url": "https://github.com/egulias/EmailValidator", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/egulias/EmailValidator/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/egulias/EmailValidator/tree/2.1.25", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "0dbf5d78455d4d6a41d186da50adc1122ec066f4" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "0dbf5d78455d4d6a41d186da50adc1122ec066f4" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + }, + { + "bom-ref": "fideloper/proxy-4.4.2.0", + "type": "library", + "name": "proxy", + "version": "4.4.2", + "group": "fideloper", + "description": "Set trusted proxies for Laravel", + "author": "Chris Fidao", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/fideloper/TrustedProxy/zipball/a751f2bc86dd8e6cfef12dc0cbdada82f5a18750" + }, + { + "type": "vcs", + "url": "https://github.com/fideloper/TrustedProxy.git" + }, + { + "type": "issue-tracker", + "url": "https://github.com/fideloper/TrustedProxy/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/fideloper/TrustedProxy/tree/4.4.2", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "a751f2bc86dd8e6cfef12dc0cbdada82f5a18750" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "a751f2bc86dd8e6cfef12dc0cbdada82f5a18750" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + }, + { + "bom-ref": "fruitcake/laravel-cors-1.0.6.0", + "type": "library", + "name": "laravel-cors", + "version": "v1.0.6", + "group": "fruitcake", + "description": "Adds CORS (Cross-Origin Resource Sharing) headers support in your Laravel application", + "author": "Fruitcake, Barry vd. Heuvel", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/fruitcake/laravel-cors/zipball/1d127dbec313e2e227d65e0c483765d8d7559bf6" + }, + { + "type": "vcs", + "url": "https://github.com/fruitcake/laravel-cors.git" + }, + { + "type": "issue-tracker", + "url": "https://github.com/fruitcake/laravel-cors/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/fruitcake/laravel-cors/tree/1.0", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "1d127dbec313e2e227d65e0c483765d8d7559bf6" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "1d127dbec313e2e227d65e0c483765d8d7559bf6" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + }, + { + "bom-ref": "guzzlehttp/guzzle-6.5.8.0", + "type": "library", + "name": "guzzle", + "version": "6.5.8", + "group": "guzzlehttp", + "description": "Guzzle is a PHP HTTP client library", + "author": "Graham Campbell, Michael Dowling, Jeremy Lindblom, George Mponos, Tobias Nyholm, M\u00e1rk S\u00e1gi-Kaz\u00e1r, Tobias Schultze", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/a52f0440530b54fa079ce76e8c5d196a42cad981" + }, + { + "type": "vcs", + "url": "https://github.com/guzzle/guzzle.git" + }, + { + "type": "website", + "url": "http://guzzlephp.org/", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/guzzle/guzzle/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/guzzle/guzzle/tree/6.5.8", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "a52f0440530b54fa079ce76e8c5d196a42cad981" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "a52f0440530b54fa079ce76e8c5d196a42cad981" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + }, + { + "bom-ref": "guzzlehttp/promises-1.5.2.0", + "type": "library", + "name": "promises", + "version": "1.5.2", + "group": "guzzlehttp", + "description": "Guzzle promises library", + "author": "Graham Campbell, Michael Dowling, Tobias Nyholm, Tobias Schultze", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/guzzle/promises/zipball/b94b2807d85443f9719887892882d0329d1e2598" + }, + { + "type": "vcs", + "url": "https://github.com/guzzle/promises.git" + }, + { + "type": "issue-tracker", + "url": "https://github.com/guzzle/promises/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/guzzle/promises/tree/1.5.2", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "b94b2807d85443f9719887892882d0329d1e2598" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "b94b2807d85443f9719887892882d0329d1e2598" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + }, + { + "bom-ref": "guzzlehttp/psr7-1.9.0.0", + "type": "library", + "name": "psr7", + "version": "1.9.0", + "group": "guzzlehttp", + "description": "PSR-7 message implementation that also provides common utility methods", + "author": "Graham Campbell, Michael Dowling, George Mponos, Tobias Nyholm, M\u00e1rk S\u00e1gi-Kaz\u00e1r, Tobias Schultze", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/e98e3e6d4f86621a9b75f623996e6bbdeb4b9318" + }, + { + "type": "vcs", + "url": "https://github.com/guzzle/psr7.git" + }, + { + "type": "issue-tracker", + "url": "https://github.com/guzzle/psr7/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/guzzle/psr7/tree/1.9.0", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "e98e3e6d4f86621a9b75f623996e6bbdeb4b9318" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "e98e3e6d4f86621a9b75f623996e6bbdeb4b9318" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + }, + { + "bom-ref": "laravel/framework-7.30.6.0", + "type": "library", + "name": "framework", + "version": "v7.30.6", + "group": "laravel", + "description": "The Laravel Framework.", + "author": "Taylor Otwell", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/laravel/framework/zipball/ecdafad1dda3c790af186a6d18479ea4757ef9ee" + }, + { + "type": "vcs", + "url": "https://github.com/laravel/framework.git" + }, + { + "type": "website", + "url": "https://laravel.com", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/laravel/framework/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/laravel/framework", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "ecdafad1dda3c790af186a6d18479ea4757ef9ee" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "ecdafad1dda3c790af186a6d18479ea4757ef9ee" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + }, + { + "bom-ref": "laravel/laravel-7.12.0.0", + "type": "library", + "name": "laravel", + "version": "v7.12.0", + "group": "laravel", + "description": "The Laravel Framework.", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/laravel/laravel/zipball/5639581ea56ecd556cdf6e6edc37ce5795740fd7" + }, + { + "type": "vcs", + "url": "https://github.com/laravel/laravel.git" + }, + { + "type": "vcs", + "url": "https://github.com/laravel/laravel/tree/master", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "5639581ea56ecd556cdf6e6edc37ce5795740fd7" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "5639581ea56ecd556cdf6e6edc37ce5795740fd7" + }, + { + "name": "cdx:composer:package:type", + "value": "project" + } + ] + }, + { + "bom-ref": "laravel/tinker-2.7.3.0", + "type": "library", + "name": "tinker", + "version": "v2.7.3", + "group": "laravel", + "description": "Powerful REPL for the Laravel framework.", + "author": "Taylor Otwell", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/laravel/tinker/zipball/5062061b4924af3392225dd482ca7b4d85d8b8ef" + }, + { + "type": "vcs", + "url": "https://github.com/laravel/tinker.git" + }, + { + "type": "issue-tracker", + "url": "https://github.com/laravel/tinker/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/laravel/tinker/tree/v2.7.3", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "5062061b4924af3392225dd482ca7b4d85d8b8ef" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "5062061b4924af3392225dd482ca7b4d85d8b8ef" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + }, + { + "bom-ref": "league/commonmark-1.6.7.0", + "type": "library", + "name": "commonmark", + "version": "1.6.7", + "group": "league", + "description": "Highly-extensible PHP Markdown parser which fully supports the CommonMark spec and Github-Flavored Markdown (GFM)", + "author": "Colin O'Dell", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/2b8185c13bc9578367a5bf901881d1c1b5bbd09b" + }, + { + "type": "vcs", + "url": "https://github.com/thephpleague/commonmark.git" + }, + { + "type": "website", + "url": "https://commonmark.thephpleague.com", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "documentation", + "url": "https://commonmark.thephpleague.com/", + "comment": "as detected from Composer manifest 'support.docs'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/thephpleague/commonmark/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "other", + "url": "https://github.com/thephpleague/commonmark/releases.atom", + "comment": "as detected from Composer manifest 'support.rss'" + }, + { + "type": "vcs", + "url": "https://github.com/thephpleague/commonmark", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "2b8185c13bc9578367a5bf901881d1c1b5bbd09b" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "2b8185c13bc9578367a5bf901881d1c1b5bbd09b" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + }, + { + "bom-ref": "league/flysystem-1.1.10.0", + "type": "library", + "name": "flysystem", + "version": "1.1.10", + "group": "league", + "description": "Filesystem abstraction: Many filesystems, one API.", + "author": "Frank de Jonge", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/3239285c825c152bcc315fe0e87d6b55f5972ed1" + }, + { + "type": "vcs", + "url": "https://github.com/thephpleague/flysystem.git" + }, + { + "type": "issue-tracker", + "url": "https://github.com/thephpleague/flysystem/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/thephpleague/flysystem/tree/1.1.10", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "3239285c825c152bcc315fe0e87d6b55f5972ed1" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "3239285c825c152bcc315fe0e87d6b55f5972ed1" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + }, + { + "bom-ref": "league/mime-type-detection-1.11.0.0", + "type": "library", + "name": "mime-type-detection", + "version": "1.11.0", + "group": "league", + "description": "Mime-type detection for Flysystem", + "author": "Frank de Jonge", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/ff6248ea87a9f116e78edd6002e39e5128a0d4dd" + }, + { + "type": "vcs", + "url": "https://github.com/thephpleague/mime-type-detection.git" + }, + { + "type": "issue-tracker", + "url": "https://github.com/thephpleague/mime-type-detection/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/thephpleague/mime-type-detection/tree/1.11.0", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "ff6248ea87a9f116e78edd6002e39e5128a0d4dd" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "ff6248ea87a9f116e78edd6002e39e5128a0d4dd" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + }, + { + "bom-ref": "monolog/monolog-2.8.0.0", + "type": "library", + "name": "monolog", + "version": "2.8.0", + "group": "monolog", + "description": "Sends your logs to files, sockets, inboxes, databases and various web services", + "author": "Jordi Boggiano", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/720488632c590286b88b80e62aa3d3d551ad4a50" + }, + { + "type": "vcs", + "url": "https://github.com/Seldaek/monolog.git" + }, + { + "type": "website", + "url": "https://github.com/Seldaek/monolog", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/Seldaek/monolog/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/Seldaek/monolog/tree/2.8.0", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "720488632c590286b88b80e62aa3d3d551ad4a50" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "720488632c590286b88b80e62aa3d3d551ad4a50" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + }, + { + "bom-ref": "nesbot/carbon-2.63.0.0", + "type": "library", + "name": "carbon", + "version": "2.63.0", + "group": "nesbot", + "description": "An API extension for DateTime that supports 281 different languages.", + "author": "Brian Nesbitt, kylekatarnls", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/ad35dd71a6a212b98e4b87e97389b6fa85f0e347" + }, + { + "type": "vcs", + "url": "https://github.com/briannesbitt/Carbon.git" + }, + { + "type": "website", + "url": "https://carbon.nesbot.com", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "documentation", + "url": "https://carbon.nesbot.com/docs", + "comment": "as detected from Composer manifest 'support.docs'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/briannesbitt/Carbon/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/briannesbitt/Carbon", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "ad35dd71a6a212b98e4b87e97389b6fa85f0e347" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "ad35dd71a6a212b98e4b87e97389b6fa85f0e347" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + }, + { + "bom-ref": "nikic/php-parser-4.15.2.0", + "type": "library", + "name": "php-parser", + "version": "v4.15.2", + "group": "nikic", + "description": "A PHP parser written in PHP", + "author": "Nikita Popov", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/f59bbe44bf7d96f24f3e2b4ddc21cd52c1d2adbc" + }, + { + "type": "vcs", + "url": "https://github.com/nikic/PHP-Parser.git" + }, + { + "type": "issue-tracker", + "url": "https://github.com/nikic/PHP-Parser/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/nikic/PHP-Parser/tree/v4.15.2", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "f59bbe44bf7d96f24f3e2b4ddc21cd52c1d2adbc" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "f59bbe44bf7d96f24f3e2b4ddc21cd52c1d2adbc" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + }, + { + "bom-ref": "opis/closure-3.6.3.0", + "type": "library", + "name": "closure", + "version": "3.6.3", + "group": "opis", + "description": "A library that can be used to serialize closures (anonymous functions) and arbitrary objects.", + "author": "Marius Sarca, Sorin Sarca", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/opis/closure/zipball/3d81e4309d2a927abbe66df935f4bb60082805ad" + }, + { + "type": "vcs", + "url": "https://github.com/opis/closure.git" + }, + { + "type": "website", + "url": "https://opis.io/closure", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/opis/closure/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/opis/closure/tree/3.6.3", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "3d81e4309d2a927abbe66df935f4bb60082805ad" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "3d81e4309d2a927abbe66df935f4bb60082805ad" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + }, + { + "bom-ref": "phpoption/phpoption-1.9.0.0", + "type": "library", + "name": "phpoption", + "version": "1.9.0", + "group": "phpoption", + "description": "Option Type for PHP", + "author": "Johannes M. Schmitt, Graham Campbell", + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/dc5ff11e274a90cc1c743f66c9ad700ce50db9ab" + }, + { + "type": "vcs", + "url": "https://github.com/schmittjoh/php-option.git" + }, + { + "type": "issue-tracker", + "url": "https://github.com/schmittjoh/php-option/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/schmittjoh/php-option/tree/1.9.0", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "dc5ff11e274a90cc1c743f66c9ad700ce50db9ab" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "dc5ff11e274a90cc1c743f66c9ad700ce50db9ab" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + }, + { + "bom-ref": "psr/container-1.1.1.0", + "type": "library", + "name": "container", + "version": "1.1.1", + "group": "psr", + "description": "Common Container Interface (PHP FIG PSR-11)", + "author": "PHP-FIG", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/php-fig/container/zipball/8622567409010282b7aeebe4bb841fe98b58dcaf" + }, + { + "type": "vcs", + "url": "https://github.com/php-fig/container.git" + }, + { + "type": "website", + "url": "https://github.com/php-fig/container", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/php-fig/container/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/php-fig/container/tree/1.1.1", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "8622567409010282b7aeebe4bb841fe98b58dcaf" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "8622567409010282b7aeebe4bb841fe98b58dcaf" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + }, + { + "bom-ref": "psr/event-dispatcher-1.0.0.0", + "type": "library", + "name": "event-dispatcher", + "version": "1.0.0", + "group": "psr", + "description": "Standard interfaces for event handling.", + "author": "PHP-FIG", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0" + }, + { + "type": "vcs", + "url": "https://github.com/php-fig/event-dispatcher.git" + }, + { + "type": "issue-tracker", + "url": "https://github.com/php-fig/event-dispatcher/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/php-fig/event-dispatcher/tree/1.0.0", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "dbefd12671e8a14ec7f180cab83036ed26714bb0" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "dbefd12671e8a14ec7f180cab83036ed26714bb0" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + }, + { + "bom-ref": "psr/http-message-1.0.1.0", + "type": "library", + "name": "http-message", + "version": "1.0.1", + "group": "psr", + "description": "Common interface for HTTP messages", + "author": "PHP-FIG", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363" + }, + { + "type": "vcs", + "url": "https://github.com/php-fig/http-message.git" + }, + { + "type": "website", + "url": "https://github.com/php-fig/http-message", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "vcs", + "url": "https://github.com/php-fig/http-message/tree/master", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "f6561bf28d520154e4b0ec72be95418abe6d9363" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "f6561bf28d520154e4b0ec72be95418abe6d9363" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + }, + { + "bom-ref": "psr/log-1.1.4.0", + "type": "library", + "name": "log", + "version": "1.1.4", + "group": "psr", + "description": "Common interface for logging libraries", + "author": "PHP-FIG", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11" + }, + { + "type": "vcs", + "url": "https://github.com/php-fig/log.git" + }, + { + "type": "website", + "url": "https://github.com/php-fig/log", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "vcs", + "url": "https://github.com/php-fig/log/tree/1.1.4", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "d49695b909c3b7628b6289db5479a1c204601f11" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "d49695b909c3b7628b6289db5479a1c204601f11" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + }, + { + "bom-ref": "psr/simple-cache-1.0.1.0", + "type": "library", + "name": "simple-cache", + "version": "1.0.1", + "group": "psr", + "description": "Common interfaces for simple caching", + "author": "PHP-FIG", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b" + }, + { + "type": "vcs", + "url": "https://github.com/php-fig/simple-cache.git" + }, + { + "type": "vcs", + "url": "https://github.com/php-fig/simple-cache/tree/master", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + }, + { + "bom-ref": "psy/psysh-0.11.9.0", + "type": "library", + "name": "psysh", + "version": "v0.11.9", + "group": "psy", + "description": "An interactive shell for modern PHP.", + "author": "Justin Hileman", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/1acec99d6684a54ff92f8b548a4e41b566963778" + }, + { + "type": "vcs", + "url": "https://github.com/bobthecow/psysh.git" + }, + { + "type": "website", + "url": "http://psysh.org", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/bobthecow/psysh/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/bobthecow/psysh/tree/v0.11.9", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "1acec99d6684a54ff92f8b548a4e41b566963778" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "1acec99d6684a54ff92f8b548a4e41b566963778" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + }, + { + "bom-ref": "ralouphie/getallheaders-3.0.3.0", + "type": "library", + "name": "getallheaders", + "version": "3.0.3", + "group": "ralouphie", + "description": "A polyfill for getallheaders.", + "author": "Ralph Khattar", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822" + }, + { + "type": "vcs", + "url": "https://github.com/ralouphie/getallheaders.git" + }, + { + "type": "issue-tracker", + "url": "https://github.com/ralouphie/getallheaders/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/ralouphie/getallheaders/tree/develop", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "120b605dfeb996808c31b6477290a714d356e822" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "120b605dfeb996808c31b6477290a714d356e822" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + }, + { + "bom-ref": "ramsey/collection-1.2.2.0", + "type": "library", + "name": "collection", + "version": "1.2.2", + "group": "ramsey", + "description": "A PHP library for representing and manipulating collections.", + "author": "Ben Ramsey", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/ramsey/collection/zipball/cccc74ee5e328031b15640b51056ee8d3bb66c0a" + }, + { + "type": "vcs", + "url": "https://github.com/ramsey/collection.git" + }, + { + "type": "issue-tracker", + "url": "https://github.com/ramsey/collection/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/ramsey/collection/tree/1.2.2", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "cccc74ee5e328031b15640b51056ee8d3bb66c0a" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "cccc74ee5e328031b15640b51056ee8d3bb66c0a" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + }, + { + "bom-ref": "ramsey/uuid-4.2.3.0", + "type": "library", + "name": "uuid", + "version": "4.2.3", + "group": "ramsey", + "description": "A PHP library for generating and working with universally unique identifiers (UUIDs).", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/ramsey/uuid/zipball/fc9bb7fb5388691fd7373cd44dcb4d63bbcf24df" + }, + { + "type": "vcs", + "url": "https://github.com/ramsey/uuid.git" + }, + { + "type": "issue-tracker", + "url": "https://github.com/ramsey/uuid/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/ramsey/uuid/tree/4.2.3", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "fc9bb7fb5388691fd7373cd44dcb4d63bbcf24df" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "fc9bb7fb5388691fd7373cd44dcb4d63bbcf24df" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + }, + { + "bom-ref": "swiftmailer/swiftmailer-6.3.0.0", + "type": "library", + "name": "swiftmailer", + "version": "v6.3.0", + "group": "swiftmailer", + "description": "Swiftmailer, free feature-rich PHP mailer", + "author": "Chris Corbyn, Fabien Potencier", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/8a5d5072dca8f48460fce2f4131fcc495eec654c" + }, + { + "type": "vcs", + "url": "https://github.com/swiftmailer/swiftmailer.git" + }, + { + "type": "website", + "url": "https://swiftmailer.symfony.com", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/swiftmailer/swiftmailer/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/swiftmailer/swiftmailer/tree/v6.3.0", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "8a5d5072dca8f48460fce2f4131fcc495eec654c" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "8a5d5072dca8f48460fce2f4131fcc495eec654c" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + }, + { + "bom-ref": "symfony/console-5.4.16.0", + "type": "library", + "name": "console", + "version": "v5.4.16", + "group": "symfony", + "description": "Eases the creation of beautiful and testable command line interfaces", + "author": "Fabien Potencier, Symfony Community", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/symfony/console/zipball/8e9b9c8dfb33af6057c94e1b44846bee700dc5ef" + }, + { + "type": "vcs", + "url": "https://github.com/symfony/console.git" + }, + { + "type": "website", + "url": "https://symfony.com", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "vcs", + "url": "https://github.com/symfony/console/tree/v5.4.16", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "8e9b9c8dfb33af6057c94e1b44846bee700dc5ef" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "8e9b9c8dfb33af6057c94e1b44846bee700dc5ef" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + }, + { + "bom-ref": "symfony/css-selector-5.4.11.0", + "type": "library", + "name": "css-selector", + "version": "v5.4.11", + "group": "symfony", + "description": "Converts CSS selectors to XPath expressions", + "author": "Fabien Potencier, Jean-Fran\u00e7ois Simon, Symfony Community", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/c1681789f059ab756001052164726ae88512ae3d" + }, + { + "type": "vcs", + "url": "https://github.com/symfony/css-selector.git" + }, + { + "type": "website", + "url": "https://symfony.com", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "vcs", + "url": "https://github.com/symfony/css-selector/tree/v5.4.11", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "c1681789f059ab756001052164726ae88512ae3d" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "c1681789f059ab756001052164726ae88512ae3d" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + }, + { + "bom-ref": "symfony/deprecation-contracts-2.5.2.0", + "type": "library", + "name": "deprecation-contracts", + "version": "v2.5.2", + "group": "symfony", + "description": "A generic function and convention to trigger deprecation notices", + "author": "Nicolas Grekas, Symfony Community", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/e8b495ea28c1d97b5e0c121748d6f9b53d075c66" + }, + { + "type": "vcs", + "url": "https://github.com/symfony/deprecation-contracts.git" + }, + { + "type": "website", + "url": "https://symfony.com", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "vcs", + "url": "https://github.com/symfony/deprecation-contracts/tree/v2.5.2", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + }, + { + "bom-ref": "symfony/error-handler-5.4.15.0", + "type": "library", + "name": "error-handler", + "version": "v5.4.15", + "group": "symfony", + "description": "Provides tools to manage errors and ease debugging PHP code", + "author": "Fabien Potencier, Symfony Community", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/539cf1428b8442303c6e876ad7bf5a7babd91091" + }, + { + "type": "vcs", + "url": "https://github.com/symfony/error-handler.git" + }, + { + "type": "website", + "url": "https://symfony.com", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "vcs", + "url": "https://github.com/symfony/error-handler/tree/v5.4.15", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "539cf1428b8442303c6e876ad7bf5a7babd91091" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "539cf1428b8442303c6e876ad7bf5a7babd91091" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + }, + { + "bom-ref": "symfony/event-dispatcher-5.4.9.0", + "type": "library", + "name": "event-dispatcher", + "version": "v5.4.9", + "group": "symfony", + "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", + "author": "Fabien Potencier, Symfony Community", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/8e6ce1cc0279e3ff3c8ff0f43813bc88d21ca1bc" + }, + { + "type": "vcs", + "url": "https://github.com/symfony/event-dispatcher.git" + }, + { + "type": "website", + "url": "https://symfony.com", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "vcs", + "url": "https://github.com/symfony/event-dispatcher/tree/v5.4.9", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "8e6ce1cc0279e3ff3c8ff0f43813bc88d21ca1bc" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "8e6ce1cc0279e3ff3c8ff0f43813bc88d21ca1bc" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + }, + { + "bom-ref": "symfony/event-dispatcher-contracts-2.5.2.0", + "type": "library", + "name": "event-dispatcher-contracts", + "version": "v2.5.2", + "group": "symfony", + "description": "Generic abstractions related to dispatching event", + "author": "Nicolas Grekas, Symfony Community", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/f98b54df6ad059855739db6fcbc2d36995283fe1" + }, + { + "type": "vcs", + "url": "https://github.com/symfony/event-dispatcher-contracts.git" + }, + { + "type": "website", + "url": "https://symfony.com", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "vcs", + "url": "https://github.com/symfony/event-dispatcher-contracts/tree/v2.5.2", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "f98b54df6ad059855739db6fcbc2d36995283fe1" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "f98b54df6ad059855739db6fcbc2d36995283fe1" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + }, + { + "bom-ref": "symfony/finder-5.4.11.0", + "type": "library", + "name": "finder", + "version": "v5.4.11", + "group": "symfony", + "description": "Finds files and directories via an intuitive fluent interface", + "author": "Fabien Potencier, Symfony Community", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/symfony/finder/zipball/7872a66f57caffa2916a584db1aa7f12adc76f8c" + }, + { + "type": "vcs", + "url": "https://github.com/symfony/finder.git" + }, + { + "type": "website", + "url": "https://symfony.com", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "vcs", + "url": "https://github.com/symfony/finder/tree/v5.4.11", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "7872a66f57caffa2916a584db1aa7f12adc76f8c" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "7872a66f57caffa2916a584db1aa7f12adc76f8c" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + }, + { + "bom-ref": "symfony/http-foundation-5.4.16.0", + "type": "library", + "name": "http-foundation", + "version": "v5.4.16", + "group": "symfony", + "description": "Defines an object-oriented layer for the HTTP specification", + "author": "Fabien Potencier, Symfony Community", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/5032c5849aef24741e1970cb03511b0dd131d838" + }, + { + "type": "vcs", + "url": "https://github.com/symfony/http-foundation.git" + }, + { + "type": "website", + "url": "https://symfony.com", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "vcs", + "url": "https://github.com/symfony/http-foundation/tree/v5.4.16", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "5032c5849aef24741e1970cb03511b0dd131d838" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "5032c5849aef24741e1970cb03511b0dd131d838" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + }, + { + "bom-ref": "symfony/http-kernel-5.4.16.0", + "type": "library", + "name": "http-kernel", + "version": "v5.4.16", + "group": "symfony", + "description": "Provides a structured process for converting a Request into a Response", + "author": "Fabien Potencier, Symfony Community", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/b432c57c5de73634b1859093c1f58e3cd84455a1" + }, + { + "type": "vcs", + "url": "https://github.com/symfony/http-kernel.git" + }, + { + "type": "website", + "url": "https://symfony.com", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "vcs", + "url": "https://github.com/symfony/http-kernel/tree/v5.4.16", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "b432c57c5de73634b1859093c1f58e3cd84455a1" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "b432c57c5de73634b1859093c1f58e3cd84455a1" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + }, + { + "bom-ref": "symfony/mime-5.4.16.0", + "type": "library", + "name": "mime", + "version": "v5.4.16", + "group": "symfony", + "description": "Allows manipulating MIME messages", + "author": "Fabien Potencier, Symfony Community", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/symfony/mime/zipball/46eeedb08f0832b1b61a84c612d945fc85ee4734" + }, + { + "type": "vcs", + "url": "https://github.com/symfony/mime.git" + }, + { + "type": "website", + "url": "https://symfony.com", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "vcs", + "url": "https://github.com/symfony/mime/tree/v5.4.16", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "46eeedb08f0832b1b61a84c612d945fc85ee4734" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "46eeedb08f0832b1b61a84c612d945fc85ee4734" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + }, + { + "bom-ref": "symfony/polyfill-ctype-1.27.0.0", + "type": "library", + "name": "polyfill-ctype", + "version": "v1.27.0", + "group": "symfony", + "description": "Symfony polyfill for ctype functions", + "author": "Gert de Pagter, Symfony Community", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/5bbc823adecdae860bb64756d639ecfec17b050a" + }, + { + "type": "vcs", + "url": "https://github.com/symfony/polyfill-ctype.git" + }, + { + "type": "website", + "url": "https://symfony.com", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "vcs", + "url": "https://github.com/symfony/polyfill-ctype/tree/v1.27.0", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "5bbc823adecdae860bb64756d639ecfec17b050a" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "5bbc823adecdae860bb64756d639ecfec17b050a" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + }, + { + "bom-ref": "symfony/polyfill-iconv-1.27.0.0", + "type": "library", + "name": "polyfill-iconv", + "version": "v1.27.0", + "group": "symfony", + "description": "Symfony polyfill for the Iconv extension", + "author": "Nicolas Grekas, Symfony Community", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/927013f3aac555983a5059aada98e1907d842695" + }, + { + "type": "vcs", + "url": "https://github.com/symfony/polyfill-iconv.git" + }, + { + "type": "website", + "url": "https://symfony.com", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "vcs", + "url": "https://github.com/symfony/polyfill-iconv/tree/v1.27.0", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "927013f3aac555983a5059aada98e1907d842695" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "927013f3aac555983a5059aada98e1907d842695" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + }, + { + "bom-ref": "symfony/polyfill-intl-grapheme-1.27.0.0", + "type": "library", + "name": "polyfill-intl-grapheme", + "version": "v1.27.0", + "group": "symfony", + "description": "Symfony polyfill for intl's grapheme_* functions", + "author": "Nicolas Grekas, Symfony Community", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/511a08c03c1960e08a883f4cffcacd219b758354" + }, + { + "type": "vcs", + "url": "https://github.com/symfony/polyfill-intl-grapheme.git" + }, + { + "type": "website", + "url": "https://symfony.com", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "vcs", + "url": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.27.0", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "511a08c03c1960e08a883f4cffcacd219b758354" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "511a08c03c1960e08a883f4cffcacd219b758354" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + }, + { + "bom-ref": "symfony/polyfill-intl-idn-1.27.0.0", + "type": "library", + "name": "polyfill-intl-idn", + "version": "v1.27.0", + "group": "symfony", + "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions", + "author": "Laurent Bassin, Trevor Rowbotham, Symfony Community", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/639084e360537a19f9ee352433b84ce831f3d2da" + }, + { + "type": "vcs", + "url": "https://github.com/symfony/polyfill-intl-idn.git" + }, + { + "type": "website", + "url": "https://symfony.com", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "vcs", + "url": "https://github.com/symfony/polyfill-intl-idn/tree/v1.27.0", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "639084e360537a19f9ee352433b84ce831f3d2da" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "639084e360537a19f9ee352433b84ce831f3d2da" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + }, + { + "bom-ref": "symfony/polyfill-intl-normalizer-1.27.0.0", + "type": "library", + "name": "polyfill-intl-normalizer", + "version": "v1.27.0", + "group": "symfony", + "description": "Symfony polyfill for intl's Normalizer class and related functions", + "author": "Nicolas Grekas, Symfony Community", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/19bd1e4fcd5b91116f14d8533c57831ed00571b6" + }, + { + "type": "vcs", + "url": "https://github.com/symfony/polyfill-intl-normalizer.git" + }, + { + "type": "website", + "url": "https://symfony.com", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "vcs", + "url": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.27.0", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "19bd1e4fcd5b91116f14d8533c57831ed00571b6" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "19bd1e4fcd5b91116f14d8533c57831ed00571b6" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + }, + { + "bom-ref": "symfony/polyfill-mbstring-1.27.0.0", + "type": "library", + "name": "polyfill-mbstring", + "version": "v1.27.0", + "group": "symfony", + "description": "Symfony polyfill for the Mbstring extension", + "author": "Nicolas Grekas, Symfony Community", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/8ad114f6b39e2c98a8b0e3bd907732c207c2b534" + }, + { + "type": "vcs", + "url": "https://github.com/symfony/polyfill-mbstring.git" + }, + { + "type": "website", + "url": "https://symfony.com", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "vcs", + "url": "https://github.com/symfony/polyfill-mbstring/tree/v1.27.0", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + }, + { + "bom-ref": "symfony/polyfill-php72-1.27.0.0", + "type": "library", + "name": "polyfill-php72", + "version": "v1.27.0", + "group": "symfony", + "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", + "author": "Nicolas Grekas, Symfony Community", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/869329b1e9894268a8a61dabb69153029b7a8c97" + }, + { + "type": "vcs", + "url": "https://github.com/symfony/polyfill-php72.git" + }, + { + "type": "website", + "url": "https://symfony.com", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "vcs", + "url": "https://github.com/symfony/polyfill-php72/tree/v1.27.0", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "869329b1e9894268a8a61dabb69153029b7a8c97" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "869329b1e9894268a8a61dabb69153029b7a8c97" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + }, + { + "bom-ref": "symfony/polyfill-php73-1.27.0.0", + "type": "library", + "name": "polyfill-php73", + "version": "v1.27.0", + "group": "symfony", + "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions", + "author": "Nicolas Grekas, Symfony Community", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/9e8ecb5f92152187c4799efd3c96b78ccab18ff9" + }, + { + "type": "vcs", + "url": "https://github.com/symfony/polyfill-php73.git" + }, + { + "type": "website", + "url": "https://symfony.com", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "vcs", + "url": "https://github.com/symfony/polyfill-php73/tree/v1.27.0", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "9e8ecb5f92152187c4799efd3c96b78ccab18ff9" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "9e8ecb5f92152187c4799efd3c96b78ccab18ff9" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + }, + { + "bom-ref": "symfony/polyfill-php80-1.27.0.0", + "type": "library", + "name": "polyfill-php80", + "version": "v1.27.0", + "group": "symfony", + "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", + "author": "Ion Bazan, Nicolas Grekas, Symfony Community", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936" + }, + { + "type": "vcs", + "url": "https://github.com/symfony/polyfill-php80.git" + }, + { + "type": "website", + "url": "https://symfony.com", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "vcs", + "url": "https://github.com/symfony/polyfill-php80/tree/v1.27.0", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + }, + { + "bom-ref": "symfony/polyfill-php81-1.27.0.0", + "type": "library", + "name": "polyfill-php81", + "version": "v1.27.0", + "group": "symfony", + "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions", + "author": "Nicolas Grekas, Symfony Community", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/707403074c8ea6e2edaf8794b0157a0bfa52157a" + }, + { + "type": "vcs", + "url": "https://github.com/symfony/polyfill-php81.git" + }, + { + "type": "website", + "url": "https://symfony.com", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "vcs", + "url": "https://github.com/symfony/polyfill-php81/tree/v1.27.0", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "707403074c8ea6e2edaf8794b0157a0bfa52157a" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "707403074c8ea6e2edaf8794b0157a0bfa52157a" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + }, + { + "bom-ref": "symfony/process-5.4.11.0", + "type": "library", + "name": "process", + "version": "v5.4.11", + "group": "symfony", + "description": "Executes commands in sub-processes", + "author": "Fabien Potencier, Symfony Community", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/symfony/process/zipball/6e75fe6874cbc7e4773d049616ab450eff537bf1" + }, + { + "type": "vcs", + "url": "https://github.com/symfony/process.git" + }, + { + "type": "website", + "url": "https://symfony.com", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "vcs", + "url": "https://github.com/symfony/process/tree/v5.4.11", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "6e75fe6874cbc7e4773d049616ab450eff537bf1" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "6e75fe6874cbc7e4773d049616ab450eff537bf1" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + }, + { + "bom-ref": "symfony/routing-5.4.15.0", + "type": "library", + "name": "routing", + "version": "v5.4.15", + "group": "symfony", + "description": "Maps an HTTP request to a set of configuration variables", + "author": "Fabien Potencier, Symfony Community", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/symfony/routing/zipball/5c9b129efe9abce9470e384bf65d8a7e262eee69" + }, + { + "type": "vcs", + "url": "https://github.com/symfony/routing.git" + }, + { + "type": "website", + "url": "https://symfony.com", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "vcs", + "url": "https://github.com/symfony/routing/tree/v5.4.15", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "5c9b129efe9abce9470e384bf65d8a7e262eee69" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "5c9b129efe9abce9470e384bf65d8a7e262eee69" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + }, + { + "bom-ref": "symfony/service-contracts-2.5.2.0", + "type": "library", + "name": "service-contracts", + "version": "v2.5.2", + "group": "symfony", + "description": "Generic abstractions related to writing services", + "author": "Nicolas Grekas, Symfony Community", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/4b426aac47d6427cc1a1d0f7e2ac724627f5966c" + }, + { + "type": "vcs", + "url": "https://github.com/symfony/service-contracts.git" + }, + { + "type": "website", + "url": "https://symfony.com", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "vcs", + "url": "https://github.com/symfony/service-contracts/tree/v2.5.2", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "4b426aac47d6427cc1a1d0f7e2ac724627f5966c" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "4b426aac47d6427cc1a1d0f7e2ac724627f5966c" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + }, + { + "bom-ref": "symfony/string-5.4.15.0", + "type": "library", + "name": "string", + "version": "v5.4.15", + "group": "symfony", + "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", + "author": "Nicolas Grekas, Symfony Community", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/symfony/string/zipball/571334ce9f687e3e6af72db4d3b2a9431e4fd9ed" + }, + { + "type": "vcs", + "url": "https://github.com/symfony/string.git" + }, + { + "type": "website", + "url": "https://symfony.com", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "vcs", + "url": "https://github.com/symfony/string/tree/v5.4.15", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "571334ce9f687e3e6af72db4d3b2a9431e4fd9ed" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "571334ce9f687e3e6af72db4d3b2a9431e4fd9ed" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + }, + { + "bom-ref": "symfony/translation-5.4.14.0", + "type": "library", + "name": "translation", + "version": "v5.4.14", + "group": "symfony", + "description": "Provides tools to internationalize your application", + "author": "Fabien Potencier, Symfony Community", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/symfony/translation/zipball/f0ed07675863aa6e3939df8b1bc879450b585cab" + }, + { + "type": "vcs", + "url": "https://github.com/symfony/translation.git" + }, + { + "type": "website", + "url": "https://symfony.com", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "vcs", + "url": "https://github.com/symfony/translation/tree/v5.4.14", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "f0ed07675863aa6e3939df8b1bc879450b585cab" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "f0ed07675863aa6e3939df8b1bc879450b585cab" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + }, + { + "bom-ref": "symfony/translation-contracts-2.5.2.0", + "type": "library", + "name": "translation-contracts", + "version": "v2.5.2", + "group": "symfony", + "description": "Generic abstractions related to translation", + "author": "Nicolas Grekas, Symfony Community", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/136b19dd05cdf0709db6537d058bcab6dd6e2dbe" + }, + { + "type": "vcs", + "url": "https://github.com/symfony/translation-contracts.git" + }, + { + "type": "website", + "url": "https://symfony.com", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "vcs", + "url": "https://github.com/symfony/translation-contracts/tree/v2.5.2", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "136b19dd05cdf0709db6537d058bcab6dd6e2dbe" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "136b19dd05cdf0709db6537d058bcab6dd6e2dbe" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + }, + { + "bom-ref": "symfony/var-dumper-5.4.14.0", + "type": "library", + "name": "var-dumper", + "version": "v5.4.14", + "group": "symfony", + "description": "Provides mechanisms for walking through any arbitrary PHP variable", + "author": "Nicolas Grekas, Symfony Community", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/6894d06145fefebd9a4c7272baa026a1c394a430" + }, + { + "type": "vcs", + "url": "https://github.com/symfony/var-dumper.git" + }, + { + "type": "website", + "url": "https://symfony.com", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "vcs", + "url": "https://github.com/symfony/var-dumper/tree/v5.4.14", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "6894d06145fefebd9a4c7272baa026a1c394a430" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "6894d06145fefebd9a4c7272baa026a1c394a430" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + }, + { + "bom-ref": "tijsverkoyen/css-to-inline-styles-2.2.5.0", + "type": "library", + "name": "css-to-inline-styles", + "version": "2.2.5", + "group": "tijsverkoyen", + "description": "CssToInlineStyles is a class that enables you to convert HTML-pages/files into HTML-pages/files with inline styles. This is very useful when you're sending emails.", + "author": "Tijs Verkoyen", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/4348a3a06651827a27d989ad1d13efec6bb49b19" + }, + { + "type": "vcs", + "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git" + }, + { + "type": "website", + "url": "https://github.com/tijsverkoyen/CssToInlineStyles", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/tijsverkoyen/CssToInlineStyles/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/2.2.5", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "4348a3a06651827a27d989ad1d13efec6bb49b19" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "4348a3a06651827a27d989ad1d13efec6bb49b19" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + }, + { + "bom-ref": "vlucas/phpdotenv-4.3.0.0", + "type": "library", + "name": "phpdotenv", + "version": "v4.3.0", + "group": "vlucas", + "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.", + "author": "Graham Campbell, Vance Lucas", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/67a491df68208bef8c37092db11fa3885008efcf" + }, + { + "type": "vcs", + "url": "https://github.com/vlucas/phpdotenv.git" + }, + { + "type": "issue-tracker", + "url": "https://github.com/vlucas/phpdotenv/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/vlucas/phpdotenv/tree/v4.3.0", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "67a491df68208bef8c37092db11fa3885008efcf" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "67a491df68208bef8c37092db11fa3885008efcf" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + }, + { + "bom-ref": "voku/portable-ascii-1.6.1.0", + "type": "library", + "name": "portable-ascii", + "version": "1.6.1", + "group": "voku", + "description": "Portable ASCII library - performance optimized (ascii) string functions for php.", + "author": "Lars Moelleken", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/voku/portable-ascii/zipball/87337c91b9dfacee02452244ee14ab3c43bc485a" + }, + { + "type": "vcs", + "url": "https://github.com/voku/portable-ascii.git" + }, + { + "type": "website", + "url": "https://github.com/voku/portable-ascii", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/voku/portable-ascii/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/voku/portable-ascii/tree/1.6.1", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "87337c91b9dfacee02452244ee14ab3c43bc485a" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "87337c91b9dfacee02452244ee14ab3c43bc485a" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + } + ], + "dependencies": [ + { + "ref": "asm89/stack-cors-1.3.0.0", + "dependsOn": [ + "symfony/http-foundation-5.4.16.0", + "symfony/http-kernel-5.4.16.0" + ] + }, + { + "ref": "brick/math-0.9.3.0" + }, + { + "ref": "doctrine/inflector-2.0.6.0" + }, + { + "ref": "doctrine/lexer-1.2.3.0" + }, + { + "ref": "dragonmantank/cron-expression-2.3.1.0" + }, + { + "ref": "egulias/email-validator-2.1.25.0", + "dependsOn": [ + "doctrine/lexer-1.2.3.0", + "symfony/polyfill-intl-idn-1.27.0.0" + ] + }, + { + "ref": "fideloper/proxy-4.4.2.0" + }, + { + "ref": "fruitcake/laravel-cors-1.0.6.0", + "dependsOn": [ + "asm89/stack-cors-1.3.0.0", + "symfony/http-foundation-5.4.16.0", + "symfony/http-kernel-5.4.16.0" + ] + }, + { + "ref": "guzzlehttp/guzzle-6.5.8.0", + "dependsOn": [ + "guzzlehttp/promises-1.5.2.0", + "guzzlehttp/psr7-1.9.0.0", + "symfony/polyfill-intl-idn-1.27.0.0" + ] + }, + { + "ref": "guzzlehttp/promises-1.5.2.0" + }, + { + "ref": "guzzlehttp/psr7-1.9.0.0", + "dependsOn": [ + "psr/http-message-1.0.1.0", + "ralouphie/getallheaders-3.0.3.0" + ] + }, + { + "ref": "laravel/framework-7.30.6.0", + "dependsOn": [ + "doctrine/inflector-2.0.6.0", + "dragonmantank/cron-expression-2.3.1.0", + "egulias/email-validator-2.1.25.0", + "league/commonmark-1.6.7.0", + "league/flysystem-1.1.10.0", + "monolog/monolog-2.8.0.0", + "nesbot/carbon-2.63.0.0", + "opis/closure-3.6.3.0", + "psr/container-1.1.1.0", + "psr/simple-cache-1.0.1.0", + "ramsey/uuid-4.2.3.0", + "swiftmailer/swiftmailer-6.3.0.0", + "symfony/console-5.4.16.0", + "symfony/error-handler-5.4.15.0", + "symfony/finder-5.4.11.0", + "symfony/http-foundation-5.4.16.0", + "symfony/http-kernel-5.4.16.0", + "symfony/mime-5.4.16.0", + "symfony/polyfill-php73-1.27.0.0", + "symfony/process-5.4.11.0", + "symfony/routing-5.4.15.0", + "symfony/var-dumper-5.4.14.0", + "tijsverkoyen/css-to-inline-styles-2.2.5.0", + "vlucas/phpdotenv-4.3.0.0", + "voku/portable-ascii-1.6.1.0" + ] + }, + { + "ref": "laravel/laravel-7.12.0.0", + "dependsOn": [ + "fideloper/proxy-4.4.2.0", + "fruitcake/laravel-cors-1.0.6.0", + "guzzlehttp/guzzle-6.5.8.0", + "laravel/framework-7.30.6.0", + "laravel/tinker-2.7.3.0" + ] + }, + { + "ref": "laravel/tinker-2.7.3.0", + "dependsOn": [ + "psy/psysh-0.11.9.0", + "symfony/var-dumper-5.4.14.0" + ] + }, + { + "ref": "league/commonmark-1.6.7.0" + }, + { + "ref": "league/flysystem-1.1.10.0", + "dependsOn": [ + "league/mime-type-detection-1.11.0.0" + ] + }, + { + "ref": "league/mime-type-detection-1.11.0.0" + }, + { + "ref": "monolog/monolog-2.8.0.0", + "dependsOn": [ + "psr/log-1.1.4.0" + ] + }, + { + "ref": "nesbot/carbon-2.63.0.0", + "dependsOn": [ + "symfony/polyfill-mbstring-1.27.0.0", + "symfony/polyfill-php80-1.27.0.0", + "symfony/translation-5.4.14.0" + ] + }, + { + "ref": "nikic/php-parser-4.15.2.0" + }, + { + "ref": "opis/closure-3.6.3.0" + }, + { + "ref": "phpoption/phpoption-1.9.0.0" + }, + { + "ref": "psr/container-1.1.1.0" + }, + { + "ref": "psr/event-dispatcher-1.0.0.0" + }, + { + "ref": "psr/http-message-1.0.1.0" + }, + { + "ref": "psr/log-1.1.4.0" + }, + { + "ref": "psr/simple-cache-1.0.1.0" + }, + { + "ref": "psy/psysh-0.11.9.0", + "dependsOn": [ + "nikic/php-parser-4.15.2.0", + "symfony/console-5.4.16.0", + "symfony/var-dumper-5.4.14.0" + ] + }, + { + "ref": "ralouphie/getallheaders-3.0.3.0" + }, + { + "ref": "ramsey/collection-1.2.2.0", + "dependsOn": [ + "symfony/polyfill-php81-1.27.0.0" + ] + }, + { + "ref": "ramsey/uuid-4.2.3.0", + "dependsOn": [ + "brick/math-0.9.3.0", + "ramsey/collection-1.2.2.0", + "symfony/polyfill-ctype-1.27.0.0", + "symfony/polyfill-php80-1.27.0.0" + ] + }, + { + "ref": "swiftmailer/swiftmailer-6.3.0.0", + "dependsOn": [ + "egulias/email-validator-2.1.25.0", + "symfony/polyfill-iconv-1.27.0.0", + "symfony/polyfill-intl-idn-1.27.0.0", + "symfony/polyfill-mbstring-1.27.0.0" + ] + }, + { + "ref": "symfony/console-5.4.16.0", + "dependsOn": [ + "symfony/deprecation-contracts-2.5.2.0", + "symfony/polyfill-mbstring-1.27.0.0", + "symfony/polyfill-php73-1.27.0.0", + "symfony/polyfill-php80-1.27.0.0", + "symfony/service-contracts-2.5.2.0", + "symfony/string-5.4.15.0" + ] + }, + { + "ref": "symfony/css-selector-5.4.11.0", + "dependsOn": [ + "symfony/polyfill-php80-1.27.0.0" + ] + }, + { + "ref": "symfony/deprecation-contracts-2.5.2.0" + }, + { + "ref": "symfony/error-handler-5.4.15.0", + "dependsOn": [ + "psr/log-1.1.4.0", + "symfony/var-dumper-5.4.14.0" + ] + }, + { + "ref": "symfony/event-dispatcher-5.4.9.0", + "dependsOn": [ + "symfony/deprecation-contracts-2.5.2.0", + "symfony/event-dispatcher-contracts-2.5.2.0", + "symfony/polyfill-php80-1.27.0.0" + ] + }, + { + "ref": "symfony/event-dispatcher-contracts-2.5.2.0", + "dependsOn": [ + "psr/event-dispatcher-1.0.0.0" + ] + }, + { + "ref": "symfony/finder-5.4.11.0", + "dependsOn": [ + "symfony/deprecation-contracts-2.5.2.0", + "symfony/polyfill-php80-1.27.0.0" + ] + }, + { + "ref": "symfony/http-foundation-5.4.16.0", + "dependsOn": [ + "symfony/deprecation-contracts-2.5.2.0", + "symfony/polyfill-mbstring-1.27.0.0", + "symfony/polyfill-php80-1.27.0.0" + ] + }, + { + "ref": "symfony/http-kernel-5.4.16.0", + "dependsOn": [ + "psr/log-1.1.4.0", + "symfony/deprecation-contracts-2.5.2.0", + "symfony/error-handler-5.4.15.0", + "symfony/event-dispatcher-5.4.9.0", + "symfony/http-foundation-5.4.16.0", + "symfony/polyfill-ctype-1.27.0.0", + "symfony/polyfill-php73-1.27.0.0", + "symfony/polyfill-php80-1.27.0.0" + ] + }, + { + "ref": "symfony/mime-5.4.16.0", + "dependsOn": [ + "symfony/deprecation-contracts-2.5.2.0", + "symfony/polyfill-intl-idn-1.27.0.0", + "symfony/polyfill-mbstring-1.27.0.0", + "symfony/polyfill-php80-1.27.0.0" + ] + }, + { + "ref": "symfony/polyfill-ctype-1.27.0.0" + }, + { + "ref": "symfony/polyfill-iconv-1.27.0.0" + }, + { + "ref": "symfony/polyfill-intl-grapheme-1.27.0.0" + }, + { + "ref": "symfony/polyfill-intl-idn-1.27.0.0", + "dependsOn": [ + "symfony/polyfill-intl-normalizer-1.27.0.0", + "symfony/polyfill-php72-1.27.0.0" + ] + }, + { + "ref": "symfony/polyfill-intl-normalizer-1.27.0.0" + }, + { + "ref": "symfony/polyfill-mbstring-1.27.0.0" + }, + { + "ref": "symfony/polyfill-php72-1.27.0.0" + }, + { + "ref": "symfony/polyfill-php73-1.27.0.0" + }, + { + "ref": "symfony/polyfill-php80-1.27.0.0" + }, + { + "ref": "symfony/polyfill-php81-1.27.0.0" + }, + { + "ref": "symfony/process-5.4.11.0", + "dependsOn": [ + "symfony/polyfill-php80-1.27.0.0" + ] + }, + { + "ref": "symfony/routing-5.4.15.0", + "dependsOn": [ + "symfony/deprecation-contracts-2.5.2.0", + "symfony/polyfill-php80-1.27.0.0" + ] + }, + { + "ref": "symfony/service-contracts-2.5.2.0", + "dependsOn": [ + "psr/container-1.1.1.0", + "symfony/deprecation-contracts-2.5.2.0" + ] + }, + { + "ref": "symfony/string-5.4.15.0", + "dependsOn": [ + "symfony/polyfill-ctype-1.27.0.0", + "symfony/polyfill-intl-grapheme-1.27.0.0", + "symfony/polyfill-intl-normalizer-1.27.0.0", + "symfony/polyfill-mbstring-1.27.0.0", + "symfony/polyfill-php80-1.27.0.0" + ] + }, + { + "ref": "symfony/translation-5.4.14.0", + "dependsOn": [ + "symfony/deprecation-contracts-2.5.2.0", + "symfony/polyfill-mbstring-1.27.0.0", + "symfony/polyfill-php80-1.27.0.0", + "symfony/translation-contracts-2.5.2.0" + ] + }, + { + "ref": "symfony/translation-contracts-2.5.2.0" + }, + { + "ref": "symfony/var-dumper-5.4.14.0", + "dependsOn": [ + "symfony/polyfill-mbstring-1.27.0.0", + "symfony/polyfill-php80-1.27.0.0" + ] + }, + { + "ref": "tijsverkoyen/css-to-inline-styles-2.2.5.0", + "dependsOn": [ + "symfony/css-selector-5.4.11.0" + ] + }, + { + "ref": "vlucas/phpdotenv-4.3.0.0", + "dependsOn": [ + "phpoption/phpoption-1.9.0.0", + "symfony/polyfill-ctype-1.27.0.0" + ] + }, + { + "ref": "voku/portable-ascii-1.6.1.0" + }, + { + "ref": "cyclonedx/cyclonedx-php-composer-demo-dev-master", + "dependsOn": [ + "laravel/laravel-7.12.0.0" + ] + } + ] +} \ No newline at end of file diff --git a/demo/laravel-7.12.0/results/bom.1.4.xml b/demo/laravel-7.12.0/results/bom.1.4.xml new file mode 100644 index 00000000..56adc17d --- /dev/null +++ b/demo/laravel-7.12.0/results/bom.1.4.xml @@ -0,0 +1,2361 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/demo/local/README.md b/demo/local/README.md index 00509e7d..a8c12155 100644 --- a/demo/local/README.md +++ b/demo/local/README.md @@ -7,55 +7,40 @@ This is a demo of how locally hosted/located requirements are treated. * [`results/bom.1.1.xml`](results/bom.1.1.xml) * [`results/bom.1.2.xml`](results/bom.1.2.xml) * [`results/bom.1.3.xml`](results/bom.1.3.xml) +* [`results/bom.1.4.xml`](results/bom.1.4.xml) * [`results/bom.1.2.json`](results/bom.1.2.json) * [`results/bom.1.3.json`](results/bom.1.3.json) +* [`results/bom.1.4.json`](results/bom.1.4.json) ## Setup -For the sake of a demo, a relative path to the _cyclonedx-php-composer_ project is used, +For the sake of a demo, a relative path to the *cyclonedx-php-composer* project is used, so the current code is symlinked and taken into action. -To get the setup up and running, run from the demo directory: +To get the setup up and running, run from this demo directory: ```shell -composer -dproject install +composer -d project setup ``` ## Usage examples Run one of these from the demo directory: -* See _cyclonedx-php-composer_ help page: +* See *cyclonedx-php-composer* help page: ```shell - composer -dproject make-bom --help + composer -d project CycloneDX:make-sbom --help ``` -* Make XML sbom: +* Make XML sbom via composer script: ```shell - composer -dproject make-bom --exclude-dev --spec-version=1.1 --output-format=XML --output-file="$PWD/results/bom.1.1.xml" - composer -dproject make-bom --exclude-dev --spec-version=1.2 --output-format=XML --output-file="$PWD/results/bom.1.2.xml" - composer -dproject make-bom --exclude-dev --spec-version=1.3 --output-format=XML --output-file="$PWD/results/bom.1.3.xml" + composer -d project create-sbom-results:XML ``` -* Make JSON sbom: +* Make JSON sbom via composer script: ```shell - composer -dproject make-bom --exclude-dev --spec-version=1.2 --output-format=JSON --output-file="$PWD/results/bom.1.2.json" - composer -dproject make-bom --exclude-dev --spec-version=1.3 --output-format=JSON --output-file="$PWD/results/bom.1.3.json" + composer -d project create-sbom-results:JSON ``` - -## dev-maintenance - -Lock-file should stay in a certain state, after updating dependencies. - -Upgrade the `composer.lock` tile to the latest changes to the plugin via: - -1. downgrade composer to v2: `composer self-update -- 2.0.0` -1. run `composer -dproject update 'cyclonedx/cyclonedx-php-composer'` -1. revert in the `composer.lock` some setup - * for package `cyclonedx-demo/local-dependency-with-minimal-setup` - * set `version` to `dev-master` - -Then re-generate all results as shown in section above. diff --git a/demo/local/project/.gitignore b/demo/local/project/.gitignore index a871e90a..1664f3ff 100644 --- a/demo/local/project/.gitignore +++ b/demo/local/project/.gitignore @@ -5,4 +5,5 @@ !/composer.json !/composer.lock -!/packages/ +!/packages +!/packages/*/composer.json diff --git a/demo/local/project/composer.json b/demo/local/project/composer.json index 5b1fa571..6a2c3cbf 100644 --- a/demo/local/project/composer.json +++ b/demo/local/project/composer.json @@ -3,6 +3,11 @@ "description": "demo of cyclonedx/cyclonedx-php-composer with a local dependency", "type": "project", "version": "dev-master", + "authors": [ + { + "name": "Jan Kowalleck" + } + ], "homepage": "https://cyclonedx.org/", "support": { "email": "support@cyclonedx.org", @@ -16,18 +21,13 @@ "cyclonedx-demo/local-demo-issue-158": "dev-issue-158" }, "require-dev": { - "cyclonedx/cyclonedx-php-composer": "@dev" + "roave/security-advisories": "dev-latest" }, "repositories": [ { "type": "path", "url": "packages/*", "symlink": true - }, - { - "type": "path", - "url": "../../..", - "symlink": true } ], "minimum-stability": "dev", @@ -39,5 +39,30 @@ }, "preferred-install": "dist", "sort-packages": true + }, + "scripts": { + "create-sbom-results": [ + "@create-sbom-results:JSON", + "@create-sbom-results:XML" + ], + "create-sbom-results:JSON": [ + "@putenv CDX_CP_TOOLS_VERSION_OVERRIDE=in-dev", + "@putenv CDX_CP_TOOLS_EXCLUDE_LIBS=1", + "@composer -d ../../.tool CycloneDX:make-sbom --omit=dev --spec-version=1.2 --output-reproducible --output-format=JSON --output-file=$PWD/../results/bom.1.2.json $PWD/composer.json", + "@composer -d ../../.tool CycloneDX:make-sbom --omit=dev --spec-version=1.3 --output-reproducible --output-format=JSON --output-file=$PWD/../results/bom.1.3.json $PWD/composer.json", + "@composer -d ../../.tool CycloneDX:make-sbom --omit=dev --spec-version=1.4 --output-reproducible --output-format=JSON --output-file=$PWD/../results/bom.1.4.json $PWD/composer.json" + ], + "create-sbom-results:XML": [ + "@putenv CDX_CP_TOOLS_VERSION_OVERRIDE=in-dev", + "@putenv CDX_CP_TOOLS_EXCLUDE_LIBS=1", + "@composer -d ../../.tool CycloneDX:make-sbom --omit=dev --spec-version=1.1 --output-reproducible --output-format=XML --output-file=$PWD/../results/bom.1.1.xml $PWD/composer.json", + "@composer -d ../../.tool CycloneDX:make-sbom --omit=dev --spec-version=1.2 --output-reproducible --output-format=XML --output-file=$PWD/../results/bom.1.2.xml $PWD/composer.json", + "@composer -d ../../.tool CycloneDX:make-sbom --omit=dev --spec-version=1.3 --output-reproducible --output-format=XML --output-file=$PWD/../results/bom.1.3.xml $PWD/composer.json", + "@composer -d ../../.tool CycloneDX:make-sbom --omit=dev --spec-version=1.4 --output-reproducible --output-format=XML --output-file=$PWD/../results/bom.1.4.xml $PWD/composer.json" + ], + "setup": [ + "@composer -d ../../.tool update", + "@composer install" + ] } } diff --git a/demo/local/project/composer.lock b/demo/local/project/composer.lock index 04d8da89..3949e980 100644 --- a/demo/local/project/composer.lock +++ b/demo/local/project/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "6c978f1ba2d2a9717e9dc1edd1026bf4", + "content-hash": "c7baabbf5e580c69156bc769f78a7f8a", "packages": [ { "name": "cyclonedx-demo/local-demo-dependency", @@ -12,12 +12,17 @@ "dist": { "type": "path", "url": "packages/local-demo-dependency", - "reference": "cef4d2e23e681fb587778e7e044718bce2f15c3f" + "reference": "6166868f2e7db756aa6c51f466d267232a74b702" }, "require": { "cyclonedx-demo/local-dependency-with-minimal-setup": "@dev" }, "type": "library", + "authors": [ + { + "name": "Jan Kowalleck" + } + ], "description": "a package that is hosted locally and required in a local demo", "funding": [ { @@ -35,9 +40,14 @@ "dist": { "type": "path", "url": "packages/local-demo-issue-158", - "reference": "b49b55826a803c5105b1b455b3fac8f5da3007f1" + "reference": "189236989b5f92038f280867115ac65185ba92df" }, "type": "library", + "authors": [ + { + "name": "Jan Kowalleck" + } + ], "description": "a package that reproduces issue#158", "homepage": "https://github.com/CycloneDX/cyclonedx-php-composer/issues/158", "support": { @@ -49,7 +59,7 @@ }, { "name": "cyclonedx-demo/local-dependency-with-minimal-setup", - "version": "dev-master", + "version": "dev-component-author", "dist": { "type": "path", "url": "packages/local-dependency-with-minimal-setup", @@ -63,482 +73,549 @@ ], "packages-dev": [ { - "name": "cyclonedx/cyclonedx-library", - "version": "v1.4.2", - "source": { - "type": "git", - "url": "https://github.com/CycloneDX/cyclonedx-php-library.git", - "reference": "8a3f94cb976bf439763d162c1640b53bcb83bb38" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/CycloneDX/cyclonedx-php-library/zipball/8a3f94cb976bf439763d162c1640b53bcb83bb38", - "reference": "8a3f94cb976bf439763d162c1640b53bcb83bb38", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-json": "*", - "ext-libxml": "*", - "package-url/packageurl-php": "^1.0", - "php": "^7.3 || ^8.0", - "swaggest/json-schema": "^0.12.35" - }, - "require-dev": { - "ext-simplexml": "*", - "phpunit/phpunit": "9.5.13", - "roave/security-advisories": "dev-latest" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.x-dev" - }, - "composer-normalize": { - "indent-size": 4, - "indent-style": "space" - } - }, - "autoload": { - "psr-4": { - "CycloneDX\\Core\\": "src/Core/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "nscuro", - "email": "nscuro@protonmail.com", - "role": "Developer" - }, - { - "name": "Jan Kowalleck", - "email": "jan.kowalleck@gmail.com", - "role": "Developer" - } - ], - "description": "Work with CycloneDX Software Bill-of-Materials (SBOM)", - "homepage": "https://github.com/CycloneDX/cyclonedx-php-library/", - "keywords": [ - "CycloneDX", - "SBOM", - "bill-of-materials", - "bom", - "package-url", - "purl", - "software-bill-of-materials" - ], - "support": { - "issues": "https://github.com/CycloneDX/cyclonedx-php-library/issues", - "source": "https://github.com/CycloneDX/cyclonedx-php-library/tree/v1.4.2" - }, - "time": "2022-02-05T10:00:03+00:00" - }, - { - "name": "cyclonedx/cyclonedx-php-composer", - "version": "dev-master", - "dist": { - "type": "path", - "url": "../../..", - "reference": "6700af9e93981efdc132cebac1f919b43b6421f8" - }, - "require": { - "composer-plugin-api": "^2.0", - "cyclonedx/cyclonedx-library": "^1.4.2", - "package-url/packageurl-php": "^1.0", - "php": "^7.3 || ^8.0" - }, - "require-dev": { - "composer/composer": "^2.0.0", - "phpunit/phpunit": "9.5.13", - "roave/security-advisories": "dev-latest" - }, - "type": "composer-plugin", - "extra": { - "branch-alias": { - "dev-master": "3.x-dev" - }, - "class": "CycloneDX\\Composer\\Plugin", - "composer-normalize": { - "indent-size": 4, - "indent-style": "space" - }, - "unused": [ - "composer-plugin-api" - ] - }, - "autoload": { - "psr-4": { - "CycloneDX\\Composer\\": "src/" - } - }, - "autoload-dev": { - "psr-4": { - "CycloneDX\\Tests\\": "tests/" - } - }, - "scripts": { - "cs-fix": [ - "@php tools/php-cs-fixer/vendor/friendsofphp/php-cs-fixer/php-cs-fixer fix --diff" - ], - "dev-setup": [ - "@composer -dtools/composer-normalize update", - "@composer -dtools/composer-require-checker update", - "@composer -dtools/composer-unused update", - "@composer -dtools/php-cs-fixer update", - "@composer -dtools/psalm update", - "@composer update" - ], - "normalize": [ - "@composer -dtools/composer-normalize normalize --diff $PWD/composer.json" - ], - "test": [ - "@composer validate", - "@test:psalm", - "@test:phpunit", - "@test:cs-fixer", - "@test:composer-unused", - "@test:composer-require-checker", - "@test:composer-normalize" - ], - "test:composer-normalize": [ - "@composer -dtools/composer-normalize normalize --dry-run --diff $PWD/composer.json" - ], - "test:composer-require-checker": [ - "@php tools/composer-require-checker/vendor/maglnet/composer-require-checker/bin/composer-require-checker || :" - ], - "test:composer-unused": [ - "@php tools/composer-unused/vendor/icanhazstring/composer-unused/bin/composer-unused --excludeDir=tools" - ], - "test:cs-fixer": [ - "@php tools/php-cs-fixer/vendor/friendsofphp/php-cs-fixer/php-cs-fixer fix --dry-run --diff" - ], - "test:phpunit": [ - "@php -d zend.assertions=1 -d assert.exception=1 -d display_errors=On -d error_reporting=-1 -d log_errors_max_len=0 -d memory_limit=-1 vendor/phpunit/phpunit/phpunit" - ], - "test:psalm": [ - "@php tools/psalm/vendor/vimeo/psalm/psalm" - ] - }, - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "nscuro", - "email": "nscuro@protonmail.com", - "role": "Developer" - }, - { - "name": "Jan Kowalleck", - "email": "jan.kowalleck@gmail.com", - "role": "Developer" - } - ], - "description": "Creates CycloneDX Software Bill-of-Materials (SBOM) from PHP Composer projects", - "homepage": "https://github.com/CycloneDX/cyclonedx-php-composer/", - "keywords": [ - "BOM", - "CycloneDX", - "PURL", - "SBOM", - "bill-of-materials", - "package-url", - "software-bill-of-materials" - ], - "support": { - "issues": "https://github.com/CycloneDX/cyclonedx-php-composer/issues" - }, - "transport-options": { - "relative": true - } - }, - { - "name": "package-url/packageurl-php", - "version": "1.0.4", + "name": "roave/security-advisories", + "version": "dev-latest", "source": { "type": "git", - "url": "https://github.com/package-url/packageurl-php.git", - "reference": "c45953babed516d27a0cf6c1a2d9f7e883ce214f" + "url": "https://github.com/Roave/SecurityAdvisories.git", + "reference": "cd9af30140f6f34d9132986f4c6f04cf5e90cdc8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/package-url/packageurl-php/zipball/c45953babed516d27a0cf6c1a2d9f7e883ce214f", - "reference": "c45953babed516d27a0cf6c1a2d9f7e883ce214f", + "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/cd9af30140f6f34d9132986f4c6f04cf5e90cdc8", + "reference": "cd9af30140f6f34d9132986f4c6f04cf5e90cdc8", "shasum": "" }, - "require": { - "php": "^7.3 || ^8.0" - }, - "require-dev": { - "ext-json": "*", - "phpunit/phpunit": "9.5.11", - "roave/security-advisories": "dev-latest" - }, - "type": "library", - "extra": { - "composer-normalize": { - "indent-size": 4, - "indent-style": "space" - } - }, - "autoload": { - "psr-4": { - "PackageUrl\\": "src" - } - }, + "conflict": { + "3f/pygmentize": "<1.2", + "admidio/admidio": "<4.1.9", + "adodb/adodb-php": "<=5.20.20|>=5.21,<=5.21.3", + "aheinze/cockpit": "<=2.2.1", + "akaunting/akaunting": "<2.1.13", + "akeneo/pim-community-dev": "<5.0.119|>=6,<6.0.53", + "alextselegidis/easyappointments": "<=1.4.3", + "alterphp/easyadmin-extension-bundle": ">=1.2,<1.2.11|>=1.3,<1.3.1", + "amazing/media2click": ">=1,<1.3.3", + "amphp/artax": "<1.0.6|>=2,<2.0.6", + "amphp/http": "<1.0.1", + "amphp/http-client": ">=4,<4.4", + "anchorcms/anchor-cms": "<=0.12.7", + "andreapollastri/cipi": "<=3.1.15", + "apereo/phpcas": "<1.6", + "api-platform/core": ">=2.2,<2.2.10|>=2.3,<2.3.6", + "appwrite/server-ce": "<0.11.1|>=0.12,<0.12.2", + "area17/twill": "<1.2.5|>=2,<2.5.3", + "asymmetricrypt/asymmetricrypt": ">=0,<9.9.99", + "awesome-support/awesome-support": "<=6.0.7", + "aws/aws-sdk-php": ">=3,<3.2.1", + "backdrop/backdrop": "<=1.23", + "badaso/core": "<2.7", + "bagisto/bagisto": "<0.1.5", + "barrelstrength/sprout-base-email": "<1.2.7", + "barrelstrength/sprout-forms": "<3.9", + "barryvdh/laravel-translation-manager": "<0.6.2", + "baserproject/basercms": "<4.7.2", + "billz/raspap-webgui": "<=2.6.6", + "bk2k/bootstrap-package": ">=7.1,<7.1.2|>=8,<8.0.8|>=9,<9.0.4|>=9.1,<9.1.3|>=10,<10.0.10|>=11,<11.0.3", + "bmarshall511/wordpress_zero_spam": "<5.2.13", + "bolt/bolt": "<3.7.2", + "bolt/core": "<=4.2", + "bottelet/flarepoint": "<2.2.1", + "brightlocal/phpwhois": "<=4.2.5", + "brotkrueml/codehighlight": "<2.7", + "brotkrueml/schema": "<1.13.1|>=2,<2.5.1", + "brotkrueml/typo3-matomo-integration": "<1.3.2", + "buddypress/buddypress": "<7.2.1", + "bugsnag/bugsnag-laravel": ">=2,<2.0.2", + "bytefury/crater": "<6.0.2", + "cachethq/cachet": "<2.5.1", + "cakephp/cakephp": "<3.10.3|>=4,<4.0.6", + "cardgate/magento2": "<2.0.33", + "cart2quote/module-quotation": ">=4.1.6,<=4.4.5|>=5,<5.4.4", + "cartalyst/sentry": "<=2.1.6", + "catfan/medoo": "<1.7.5", + "centreon/centreon": "<22.10-beta.1", + "cesnet/simplesamlphp-module-proxystatistics": "<3.1", + "codeception/codeception": "<3.1.3|>=4,<4.1.22", + "codeigniter/framework": "<=3.0.6", + "codeigniter4/framework": "<4.2.7", + "codeigniter4/shield": "= 1.0.0-beta", + "codiad/codiad": "<=2.8.4", + "composer/composer": "<1.10.26|>=2-alpha.1,<2.2.12|>=2.3,<2.3.5", + "concrete5/concrete5": "<=9.1.3|>= 9.0.0RC1, < 9.1.3", + "concrete5/core": "<8.5.8|>=9,<9.1", + "contao-components/mediaelement": ">=2.14.2,<2.21.1", + "contao/contao": ">=4,<4.4.56|>=4.5,<4.9.18|>=4.10,<4.11.7|>=4.13,<4.13.3", + "contao/core": ">=2,<3.5.39", + "contao/core-bundle": "<4.9.18|>=4.10,<4.11.7|>=4.13,<4.13.3|= 4.10.0", + "contao/listing-bundle": ">=4,<4.4.8", + "contao/managed-edition": "<=1.5", + "craftcms/cms": "<3.7.55.2|>= 4.0.0-RC1, < 4.2.1", + "croogo/croogo": "<3.0.7", + "cuyz/valinor": "<0.12", + "czproject/git-php": "<4.0.3", + "darylldoyle/safe-svg": "<1.9.10", + "datadog/dd-trace": ">=0.30,<0.30.2", + "david-garcia/phpwhois": "<=4.3.1", + "derhansen/sf_event_mgt": "<4.3.1|>=5,<5.1.1", + "directmailteam/direct-mail": "<5.2.4", + "doctrine/annotations": ">=1,<1.2.7", + "doctrine/cache": ">=1,<1.3.2|>=1.4,<1.4.2", + "doctrine/common": ">=2,<2.4.3|>=2.5,<2.5.1", + "doctrine/dbal": ">=2,<2.0.8|>=2.1,<2.1.2|>=3,<3.1.4", + "doctrine/doctrine-bundle": "<1.5.2", + "doctrine/doctrine-module": "<=0.7.1", + "doctrine/mongodb-odm": ">=1,<1.0.2", + "doctrine/mongodb-odm-bundle": ">=2,<3.0.1", + "doctrine/orm": ">=2,<2.4.8|>=2.5,<2.5.1|>=2.8.3,<2.8.4", + "dolibarr/dolibarr": "<16|>=16.0.1,<16.0.3|= 12.0.5|>= 3.3.beta1, < 13.0.2", + "dompdf/dompdf": "<2.0.1", + "drupal/core": ">=7,<7.91|>=8,<9.3.19|>=9.4,<9.4.3", + "drupal/drupal": ">=7,<7.80|>=8,<8.9.16|>=9,<9.1.12|>=9.2,<9.2.4", + "dweeves/magmi": "<=0.7.24", + "ecodev/newsletter": "<=4", + "ectouch/ectouch": "<=2.7.2", + "elefant/cms": "<1.3.13", + "elgg/elgg": "<3.3.24|>=4,<4.0.5", + "endroid/qr-code-bundle": "<3.4.2", + "enshrined/svg-sanitize": "<0.15", + "erusev/parsedown": "<1.7.2", + "ether/logs": "<3.0.4", + "exceedone/exment": "<4.4.3|>=5,<5.0.3", + "exceedone/laravel-admin": "= 3.0.0|<2.2.3", + "ezsystems/demobundle": ">=5.4,<5.4.6.1", + "ezsystems/ez-support-tools": ">=2.2,<2.2.3", + "ezsystems/ezdemo-ls-extension": ">=5.4,<5.4.2.1", + "ezsystems/ezfind-ls": ">=5.3,<5.3.6.1|>=5.4,<5.4.11.1|>=2017.12,<2017.12.0.1", + "ezsystems/ezplatform": "<=1.13.6|>=2,<=2.5.24", + "ezsystems/ezplatform-admin-ui": ">=1.3,<1.3.5|>=1.4,<1.4.6|>=1.5,<1.5.29|>=2.3,<2.3.26", + "ezsystems/ezplatform-admin-ui-assets": ">=4,<4.2.1|>=5,<5.0.1|>=5.1,<5.1.1", + "ezsystems/ezplatform-graphql": ">=1-rc.1,<1.0.13|>=2-beta.1,<2.3.12", + "ezsystems/ezplatform-kernel": "<=1.2.5|>=1.3,<1.3.26", + "ezsystems/ezplatform-rest": ">=1.2,<=1.2.2|>=1.3,<1.3.8", + "ezsystems/ezplatform-richtext": ">=2.3,<=2.3.7", + "ezsystems/ezplatform-user": ">=1,<1.0.1", + "ezsystems/ezpublish-kernel": "<=6.13.8.1|>=7,<7.5.30", + "ezsystems/ezpublish-legacy": "<=2017.12.7.3|>=2018.6,<=2019.3.5.1", + "ezsystems/platform-ui-assets-bundle": ">=4.2,<4.2.3", + "ezsystems/repository-forms": ">=2.3,<2.3.2.1|>=2.5,<2.5.15", + "ezyang/htmlpurifier": "<4.1.1", + "facade/ignition": "<1.16.15|>=2,<2.4.2|>=2.5,<2.5.2", + "facturascripts/facturascripts": "<=2022.8", + "feehi/cms": "<=2.1.1", + "feehi/feehicms": "<=2.0.1.1", + "fenom/fenom": "<=2.12.1", + "filegator/filegator": "<7.8", + "firebase/php-jwt": "<2", + "flarum/core": ">=1,<=1.0.1|>=1.5,<1.6.2", + "flarum/sticky": ">=0.1-beta.14,<=0.1-beta.15", + "flarum/tags": "<=0.1-beta.13", + "fluidtypo3/vhs": "<5.1.1", + "fof/byobu": ">=0.3-beta.2,<1.1.7", + "fof/upload": "<1.2.3", + "fooman/tcpdf": "<6.2.22", + "forkcms/forkcms": "<5.11.1", + "fossar/tcpdf-parser": "<6.2.22", + "francoisjacquet/rosariosis": "<10.1", + "friendsofsymfony/oauth2-php": "<1.3", + "friendsofsymfony/rest-bundle": ">=1.2,<1.2.2", + "friendsofsymfony/user-bundle": ">=1.2,<1.3.5", + "friendsoftypo3/mediace": ">=7.6.2,<7.6.5", + "froala/wysiwyg-editor": "<3.2.7", + "froxlor/froxlor": "<0.10.39", + "fuel/core": "<1.8.1", + "gaoming13/wechat-php-sdk": "<=1.10.2", + "genix/cms": "<=1.1.11", + "getgrav/grav": "<1.7.34", + "getkirby/cms": "= 3.8.0|<3.5.8.2|>=3.6,<3.6.6.2|>=3.7,<3.7.5.1", + "getkirby/panel": "<2.5.14", + "getkirby/starterkit": "<=3.7.0.2", + "gilacms/gila": "<=1.11.4", + "globalpayments/php-sdk": "<2", + "google/protobuf": "<3.15", + "gos/web-socket-bundle": "<1.10.4|>=2,<2.6.1|>=3,<3.3", + "gree/jose": "<=2.2", + "gregwar/rst": "<1.0.3", + "grumpydictator/firefly-iii": "<5.6.5", + "guzzlehttp/guzzle": "<6.5.8|>=7,<7.4.5", + "guzzlehttp/psr7": "<1.8.4|>=2,<2.1.1", + "helloxz/imgurl": "= 2.31|<=2.31", + "hillelcoren/invoice-ninja": "<5.3.35", + "hjue/justwriting": "<=1", + "hov/jobfair": "<1.0.13|>=2,<2.0.2", + "hyn/multi-tenant": ">=5.6,<5.7.2", + "ibexa/admin-ui": ">=4.2,<4.2.3", + "ibexa/core": ">=4,<4.0.7|>=4.1,<4.1.4|>=4.2,<4.2.3", + "ibexa/graphql": ">=2.5,<2.5.31|>=3.3,<3.3.28|>=4.2,<4.2.3", + "ibexa/post-install": "<=1.0.4", + "icecoder/icecoder": "<=8.1", + "idno/known": "<=1.3.1", + "illuminate/auth": ">=4,<4.0.99|>=4.1,<=4.1.31|>=4.2,<=4.2.22|>=5,<=5.0.35|>=5.1,<=5.1.46|>=5.2,<=5.2.45|>=5.3,<=5.3.31|>=5.4,<=5.4.36|>=5.5,<5.5.10", + "illuminate/cookie": ">=4,<=4.0.11|>=4.1,<=4.1.99999|>=4.2,<=4.2.99999|>=5,<=5.0.99999|>=5.1,<=5.1.99999|>=5.2,<=5.2.99999|>=5.3,<=5.3.99999|>=5.4,<=5.4.99999|>=5.5,<=5.5.49|>=5.6,<=5.6.99999|>=5.7,<=5.7.99999|>=5.8,<=5.8.99999|>=6,<6.18.31|>=7,<7.22.4", + "illuminate/database": "<6.20.26|>=7,<7.30.5|>=8,<8.40", + "illuminate/encryption": ">=4,<=4.0.11|>=4.1,<=4.1.31|>=4.2,<=4.2.22|>=5,<=5.0.35|>=5.1,<=5.1.46|>=5.2,<=5.2.45|>=5.3,<=5.3.31|>=5.4,<=5.4.36|>=5.5,<5.5.40|>=5.6,<5.6.15", + "illuminate/view": "<6.20.42|>=7,<7.30.6|>=8,<8.75", + "impresscms/impresscms": "<=1.4.3", + "in2code/femanager": "<5.5.2|>=6,<6.3.3|>=7,<7.0.1", + "in2code/lux": "<17.6.1|>=18,<24.0.2", + "intelliants/subrion": "<=4.2.1", + "islandora/islandora": ">=2,<2.4.1", + "ivankristianto/phpwhois": "<=4.3", + "jackalope/jackalope-doctrine-dbal": "<1.7.4", + "james-heinrich/getid3": "<1.9.21", + "jasig/phpcas": "<1.3.3", + "joomla/archive": "<1.1.12|>=2,<2.0.1", + "joomla/filesystem": "<1.6.2|>=2,<2.0.1", + "joomla/filter": "<1.4.4|>=2,<2.0.1", + "joomla/input": ">=2,<2.0.2", + "joomla/session": "<1.3.1", + "joyqi/hyper-down": "<=2.4.27", + "jsdecena/laracom": "<2.0.9", + "jsmitty12/phpwhois": "<5.1", + "kazist/phpwhois": "<=4.2.6", + "kevinpapst/kimai2": "<1.16.7", + "kitodo/presentation": "<3.1.2", + "klaviyo/magento2-extension": ">=1,<3", + "krayin/laravel-crm": "<1.2.2", + "kreait/firebase-php": ">=3.2,<3.8.1", + "la-haute-societe/tcpdf": "<6.2.22", + "laminas/laminas-diactoros": "<2.11.1", + "laminas/laminas-form": "<2.17.1|>=3,<3.0.2|>=3.1,<3.1.1", + "laminas/laminas-http": "<2.14.2", + "laravel/fortify": "<1.11.1", + "laravel/framework": "<6.20.42|>=7,<7.30.6|>=8,<8.75", + "laravel/socialite": ">=1,<1.0.99|>=2,<2.0.10", + "latte/latte": "<2.10.8", + "lavalite/cms": "<=5.8", + "lcobucci/jwt": ">=3.4,<3.4.6|>=4,<4.0.4|>=4.1,<4.1.5", + "league/commonmark": "<0.18.3", + "league/flysystem": "<1.1.4|>=2,<2.1.1", + "lexik/jwt-authentication-bundle": "<2.10.7|>=2.11,<2.11.3", + "librenms/librenms": "<22.10", + "limesurvey/limesurvey": "<3.27.19", + "livehelperchat/livehelperchat": "<=3.91", + "livewire/livewire": ">2.2.4,<2.2.6", + "lms/routes": "<2.1.1", + "localizationteam/l10nmgr": "<7.4|>=8,<8.7|>=9,<9.2", + "luyadev/yii-helpers": "<1.2.1", + "magento/community-edition": ">=2,<2.2.10|>=2.3,<2.3.3", + "magento/magento1ce": "<1.9.4.3", + "magento/magento1ee": ">=1,<1.14.4.3", + "magento/product-community-edition": ">=2,<2.2.10|>=2.3,<2.3.2-p.2", + "marcwillmann/turn": "<0.3.3", + "matyhtf/framework": "<3.0.6", + "mautic/core": "<4.3|= 2.13.1", + "mediawiki/core": ">=1.27,<1.27.6|>=1.29,<1.29.3|>=1.30,<1.30.2|>=1.31,<1.31.9|>=1.32,<1.32.6|>=1.32.99,<1.33.3|>=1.33.99,<1.34.3|>=1.34.99,<1.35", + "melisplatform/melis-asset-manager": "<5.0.1", + "melisplatform/melis-cms": "<5.0.1", + "melisplatform/melis-front": "<5.0.1", + "mezzio/mezzio-swoole": "<3.7|>=4,<4.3", + "microweber/microweber": "<=1.3.1", + "miniorange/miniorange-saml": "<1.4.3", + "mittwald/typo3_forum": "<1.2.1", + "modx/revolution": "<= 2.8.3-pl|<2.8", + "mojo42/jirafeau": "<4.4", + "monolog/monolog": ">=1.8,<1.12", + "moodle/moodle": "<4.0.5", + "mustache/mustache": ">=2,<2.14.1", + "namshi/jose": "<2.2", + "neoan3-apps/template": "<1.1.1", + "neorazorx/facturascripts": "<2022.4", + "neos/flow": ">=1,<1.0.4|>=1.1,<1.1.1|>=2,<2.0.1|>=2.3,<2.3.16|>=3,<3.0.12|>=3.1,<3.1.10|>=3.2,<3.2.13|>=3.3,<3.3.13|>=4,<4.0.6", + "neos/form": ">=1.2,<4.3.3|>=5,<5.0.9|>=5.1,<5.1.3", + "neos/neos": ">=1.1,<1.1.3|>=1.2,<1.2.13|>=2,<2.0.4|>=2.3,<2.9.99|>=3,<3.0.20|>=3.1,<3.1.18|>=3.2,<3.2.14|>=3.3,<5.3.10|>=7,<7.0.9|>=7.1,<7.1.7|>=7.2,<7.2.6|>=7.3,<7.3.4|>=8,<8.0.2", + "neos/swiftmailer": ">=4.1,<4.1.99|>=5.4,<5.4.5", + "netgen/tagsbundle": ">=3.4,<3.4.11|>=4,<4.0.15", + "nette/application": ">=2,<2.0.19|>=2.1,<2.1.13|>=2.2,<2.2.10|>=2.3,<2.3.14|>=2.4,<2.4.16|>=3,<3.0.6", + "nette/nette": ">=2,<2.0.19|>=2.1,<2.1.13", + "nilsteampassnet/teampass": "<=2.1.27.36", + "notrinos/notrinos-erp": "<=0.7", + "noumo/easyii": "<=0.9", + "nukeviet/nukeviet": "<4.5.2", + "nystudio107/craft-seomatic": "<3.4.12", + "nzo/url-encryptor-bundle": ">=4,<4.3.2|>=5,<5.0.1", + "october/backend": "<1.1.2", + "october/cms": "= 1.1.1|= 1.0.471|= 1.0.469|>=1.0.319,<1.0.469", + "october/october": ">=1.0.319,<1.0.466|>=2.1,<2.1.12", + "october/rain": "<1.0.472|>=1.1,<1.1.2", + "october/system": "<1.0.476|>=1.1,<1.1.12|>=2,<2.2.34|>=3,<3.0.66", + "onelogin/php-saml": "<2.10.4", + "oneup/uploader-bundle": "<1.9.3|>=2,<2.1.5", + "open-web-analytics/open-web-analytics": "<1.7.4", + "opencart/opencart": "<=3.0.3.7", + "openid/php-openid": "<2.3", + "openmage/magento-lts": "<19.4.15|>=20,<20.0.13", + "orchid/platform": ">=9,<9.4.4", + "oro/commerce": ">=4.1,<5.0.6", + "oro/crm": ">=1.7,<1.7.4|>=3.1,<4.1.17|>=4.2,<4.2.7", + "oro/platform": ">=1.7,<1.7.4|>=3.1,<3.1.29|>=4.1,<4.1.17|>=4.2,<4.2.8", + "packbackbooks/lti-1-3-php-library": "<5", + "padraic/humbug_get_contents": "<1.1.2", + "pagarme/pagarme-php": ">=0,<3", + "pagekit/pagekit": "<=1.0.18", + "paragonie/random_compat": "<2", + "passbolt/passbolt_api": "<2.11", + "paypal/merchant-sdk-php": "<3.12", + "pear/archive_tar": "<1.4.14", + "pear/crypt_gpg": "<1.6.7", + "pegasus/google-for-jobs": "<1.5.1|>=2,<2.1.1", + "personnummer/personnummer": "<3.0.2", + "phanan/koel": "<5.1.4", + "phpfastcache/phpfastcache": "<6.1.5|>=7,<7.1.2|>=8,<8.0.7", + "phpmailer/phpmailer": "<6.5", + "phpmussel/phpmussel": ">=1,<1.6", + "phpmyadmin/phpmyadmin": "<5.1.3", + "phpmyfaq/phpmyfaq": "<=3.1.7", + "phpoffice/phpexcel": "<1.8", + "phpoffice/phpspreadsheet": "<1.16", + "phpseclib/phpseclib": "<2.0.31|>=3,<3.0.7", + "phpservermon/phpservermon": "<=3.5.2", + "phpunit/phpunit": ">=4.8.19,<4.8.28|>=5,<5.6.3", + "phpwhois/phpwhois": "<=4.2.5", + "phpxmlrpc/extras": "<0.6.1", + "phpxmlrpc/phpxmlrpc": "<4.9", + "pimcore/data-hub": "<1.2.4", + "pimcore/pimcore": "<10.5.9", + "pocketmine/bedrock-protocol": "<8.0.2", + "pocketmine/pocketmine-mp": "<4.7.2|>= 4.0.0-BETA5, < 4.4.2", + "pressbooks/pressbooks": "<5.18", + "prestashop/autoupgrade": ">=4,<4.10.1", + "prestashop/blockwishlist": ">=2,<2.1.1", + "prestashop/contactform": ">=1.0.1,<4.3", + "prestashop/gamification": "<2.3.2", + "prestashop/prestashop": "<1.7.8.8", + "prestashop/productcomments": "<5.0.2", + "prestashop/ps_emailsubscription": "<2.6.1", + "prestashop/ps_facetedsearch": "<3.4.1", + "prestashop/ps_linklist": "<3.1", + "privatebin/privatebin": "<1.4", + "processwire/processwire": "<=3.0.200", + "propel/propel": ">=2-alpha.1,<=2-alpha.7", + "propel/propel1": ">=1,<=1.7.1", + "pterodactyl/panel": "<1.7", + "ptrofimov/beanstalk_console": "<1.7.14", + "pusher/pusher-php-server": "<2.2.1", + "pwweb/laravel-core": "<=0.3.6-beta", + "pyrocms/pyrocms": "<=3.9.1", + "rainlab/debugbar-plugin": "<3.1", + "rankmath/seo-by-rank-math": "<=1.0.95", + "react/http": ">=0.7,<1.7", + "remdex/livehelperchat": "<3.99", + "rmccue/requests": ">=1.6,<1.8", + "robrichards/xmlseclibs": "<3.0.4", + "rudloff/alltube": "<3.0.3", + "s-cart/core": "<6.9", + "s-cart/s-cart": "<6.9", + "sabberworm/php-css-parser": ">=1,<1.0.1|>=2,<2.0.1|>=3,<3.0.1|>=4,<4.0.1|>=5,<5.0.9|>=5.1,<5.1.3|>=5.2,<5.2.1|>=6,<6.0.2|>=7,<7.0.4|>=8,<8.0.1|>=8.1,<8.1.1|>=8.2,<8.2.1|>=8.3,<8.3.1", + "sabre/dav": ">=1.6,<1.6.99|>=1.7,<1.7.11|>=1.8,<1.8.9", + "scheb/two-factor-bundle": ">=0,<3.26|>=4,<4.11", + "sensiolabs/connect": "<4.2.3", + "serluck/phpwhois": "<=4.2.6", + "shopware/core": "<=6.4.9", + "shopware/platform": "<=6.4.9", + "shopware/production": "<=6.3.5.2", + "shopware/shopware": "<=5.7.14", + "shopware/storefront": "<=6.4.8.1", + "shopxo/shopxo": "<2.2.6", + "showdoc/showdoc": "<2.10.4", + "silverstripe/admin": ">=1,<1.11.3", + "silverstripe/assets": ">=1,<1.11.1", + "silverstripe/cms": "<4.11.3", + "silverstripe/comments": ">=1.3,<1.9.99|>=2,<2.9.99|>=3,<3.1.1", + "silverstripe/forum": "<=0.6.1|>=0.7,<=0.7.3", + "silverstripe/framework": "<4.11.14", + "silverstripe/graphql": "<3.5.2|>=4-alpha.1,<4-alpha.2|= 4.0.0-alpha1", + "silverstripe/hybridsessions": ">=1,<2.4.1|>=2.5,<2.5.1", + "silverstripe/registry": ">=2.1,<2.1.2|>=2.2,<2.2.1", + "silverstripe/restfulserver": ">=1,<1.0.9|>=2,<2.0.4", + "silverstripe/silverstripe-omnipay": "<2.5.2|>=3,<3.0.2|>=3.1,<3.1.4|>=3.2,<3.2.1", + "silverstripe/subsites": ">=2,<2.1.1", + "silverstripe/taxonomy": ">=1.3,<1.3.1|>=2,<2.0.1", + "silverstripe/userforms": "<3", + "silverstripe/versioned-admin": ">=1,<1.11.1", + "simple-updates/phpwhois": "<=1", + "simplesamlphp/saml2": "<1.10.6|>=2,<2.3.8|>=3,<3.1.4", + "simplesamlphp/simplesamlphp": "<1.18.6", + "simplesamlphp/simplesamlphp-module-infocard": "<1.0.1", + "simplito/elliptic-php": "<1.0.6", + "slim/slim": "<2.6", + "smarty/smarty": "<3.1.47|>=4,<4.2.1", + "snipe/snipe-it": "<6.0.11|>= 6.0.0-RC-1, <= 6.0.0-RC-5", + "socalnick/scn-social-auth": "<1.15.2", + "socialiteproviders/steam": "<1.1", + "spatie/browsershot": "<3.57.4", + "spipu/html2pdf": "<5.2.4", + "spoonity/tcpdf": "<6.2.22", + "squizlabs/php_codesniffer": ">=1,<2.8.1|>=3,<3.0.1", + "ssddanbrown/bookstack": "<22.2.3", + "statamic/cms": "<3.2.39|>=3.3,<3.3.2", + "stormpath/sdk": ">=0,<9.9.99", + "studio-42/elfinder": "<2.1.59", + "subrion/cms": "<=4.2.1", + "sulu/sulu": "= 2.4.0-RC1|<1.6.44|>=2,<2.2.18|>=2.3,<2.3.8", + "swiftmailer/swiftmailer": ">=4,<5.4.5", + "sylius/admin-bundle": ">=1,<1.0.17|>=1.1,<1.1.9|>=1.2,<1.2.2", + "sylius/grid": ">=1,<1.1.19|>=1.2,<1.2.18|>=1.3,<1.3.13|>=1.4,<1.4.5|>=1.5,<1.5.1", + "sylius/grid-bundle": "<1.10.1", + "sylius/paypal-plugin": ">=1,<1.2.4|>=1.3,<1.3.1", + "sylius/resource-bundle": "<1.3.14|>=1.4,<1.4.7|>=1.5,<1.5.2|>=1.6,<1.6.4", + "sylius/sylius": "<1.9.10|>=1.10,<1.10.11|>=1.11,<1.11.2", + "symbiote/silverstripe-multivaluefield": ">=3,<3.0.99", + "symbiote/silverstripe-queuedjobs": ">=3,<3.0.2|>=3.1,<3.1.4|>=4,<4.0.7|>=4.1,<4.1.2|>=4.2,<4.2.4|>=4.3,<4.3.3|>=4.4,<4.4.3|>=4.5,<4.5.1|>=4.6,<4.6.4", + "symbiote/silverstripe-versionedfiles": "<=2.0.3", + "symfont/process": ">=0,<4", + "symfony/cache": ">=3.1,<3.4.35|>=4,<4.2.12|>=4.3,<4.3.8", + "symfony/dependency-injection": ">=2,<2.0.17|>=2.7,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7", + "symfony/error-handler": ">=4.4,<4.4.4|>=5,<5.0.4", + "symfony/form": ">=2.3,<2.3.35|>=2.4,<2.6.12|>=2.7,<2.7.50|>=2.8,<2.8.49|>=3,<3.4.20|>=4,<4.0.15|>=4.1,<4.1.9|>=4.2,<4.2.1", + "symfony/framework-bundle": ">=2,<2.3.18|>=2.4,<2.4.8|>=2.5,<2.5.2|>=2.7,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7|>=5.3.14,<=5.3.14|>=5.4.3,<=5.4.3|>=6.0.3,<=6.0.3|= 6.0.3|= 5.4.3|= 5.3.14", + "symfony/http-foundation": ">=2,<2.8.52|>=3,<3.4.35|>=4,<4.2.12|>=4.3,<4.3.8|>=4.4,<4.4.7|>=5,<5.0.7", + "symfony/http-kernel": ">=2,<2.8.52|>=3,<3.4.35|>=4,<4.2.12|>=4.3,<4.4.13|>=5,<5.1.5|>=5.2,<5.3.12", + "symfony/intl": ">=2.7,<2.7.38|>=2.8,<2.8.31|>=3,<3.2.14|>=3.3,<3.3.13", + "symfony/maker-bundle": ">=1.27,<1.29.2|>=1.30,<1.31.1", + "symfony/mime": ">=4.3,<4.3.8", + "symfony/phpunit-bridge": ">=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7", + "symfony/polyfill": ">=1,<1.10", + "symfony/polyfill-php55": ">=1,<1.10", + "symfony/proxy-manager-bridge": ">=2.7,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7", + "symfony/routing": ">=2,<2.0.19", + "symfony/security": ">=2,<2.7.51|>=2.8,<3.4.49|>=4,<4.4.24|>=5,<5.2.8", + "symfony/security-bundle": ">=2,<2.7.48|>=2.8,<2.8.41|>=3,<3.3.17|>=3.4,<3.4.11|>=4,<4.0.11|>=5.3,<5.3.12", + "symfony/security-core": ">=2.4,<2.6.13|>=2.7,<2.7.9|>=2.7.30,<2.7.32|>=2.8,<3.4.49|>=4,<4.4.24|>=5,<5.2.9", + "symfony/security-csrf": ">=2.4,<2.7.48|>=2.8,<2.8.41|>=3,<3.3.17|>=3.4,<3.4.11|>=4,<4.0.11", + "symfony/security-guard": ">=2.8,<3.4.48|>=4,<4.4.23|>=5,<5.2.8", + "symfony/security-http": ">=2.3,<2.3.41|>=2.4,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.2.12|>=4.3,<4.3.8|>=4.4,<4.4.7|>=5,<5.0.7|>=5.1,<5.2.8|>=5.3,<5.3.2", + "symfony/serializer": ">=2,<2.0.11|>=4.1,<4.4.35|>=5,<5.3.12", + "symfony/symfony": ">=2,<3.4.49|>=4,<4.4.35|>=5,<5.3.12|>=5.3.14,<=5.3.14|>=5.4.3,<=5.4.3|>=6.0.3,<=6.0.3", + "symfony/translation": ">=2,<2.0.17", + "symfony/validator": ">=2,<2.0.24|>=2.1,<2.1.12|>=2.2,<2.2.5|>=2.3,<2.3.3", + "symfony/var-exporter": ">=4.2,<4.2.12|>=4.3,<4.3.8", + "symfony/web-profiler-bundle": ">=2,<2.3.19|>=2.4,<2.4.9|>=2.5,<2.5.4", + "symfony/yaml": ">=2,<2.0.22|>=2.1,<2.1.7", + "t3/dce": ">=2.2,<2.6.2", + "t3g/svg-sanitizer": "<1.0.3", + "tastyigniter/tastyigniter": "<3.3", + "tecnickcom/tcpdf": "<6.2.22", + "terminal42/contao-tablelookupwizard": "<3.3.5", + "thelia/backoffice-default-template": ">=2.1,<2.1.2", + "thelia/thelia": ">=2.1-beta.1,<2.1.3", + "theonedemon/phpwhois": "<=4.2.5", + "thinkcmf/thinkcmf": "<=5.1.7", + "thorsten/phpmyfaq": "<3.1.8", + "tinymce/tinymce": "<5.10.7|>=6,<6.3.1", + "titon/framework": ">=0,<9.9.99", + "tobiasbg/tablepress": "<= 2.0-RC1", + "topthink/framework": "<=6.0.13", + "topthink/think": "<=6.0.9", + "topthink/thinkphp": "<=3.2.3", + "tribalsystems/zenario": "<=9.3.57595", + "truckersmp/phpwhois": "<=4.3.1", + "twig/twig": "<1.44.7|>=2,<2.15.3|>=3,<3.4.3", + "typo3/cms": ">=6.2,<6.2.30|>=7,<7.6.32|>=8,<8.7.38|>=9,<9.5.29|>=10,<10.4.32|>=11,<11.5.16", + "typo3/cms-backend": ">=7,<=7.6.50|>=8,<=8.7.39|>=9,<=9.5.24|>=10,<=10.4.13|>=11,<=11.1", + "typo3/cms-core": ">=6.2,<=6.2.56|>=7,<7.6.58|>=8,<8.7.48|>=9,<9.5.37|>=10,<10.4.32|>=11,<11.5.16", + "typo3/cms-form": ">=8,<=8.7.39|>=9,<=9.5.24|>=10,<=10.4.13|>=11,<=11.1", + "typo3/flow": ">=1,<1.0.4|>=1.1,<1.1.1|>=2,<2.0.1|>=2.3,<2.3.16|>=3,<3.0.12|>=3.1,<3.1.10|>=3.2,<3.2.13|>=3.3,<3.3.13|>=4,<4.0.6", + "typo3/html-sanitizer": ">=1,<1.0.7|>=2,<2.0.16", + "typo3/neos": ">=1.1,<1.1.3|>=1.2,<1.2.13|>=2,<2.0.4|>=2.3,<2.3.99|>=3,<3.0.20|>=3.1,<3.1.18|>=3.2,<3.2.14|>=3.3,<3.3.23|>=4,<4.0.17|>=4.1,<4.1.16|>=4.2,<4.2.12|>=4.3,<4.3.3", + "typo3/phar-stream-wrapper": ">=1,<2.1.1|>=3,<3.1.1", + "typo3/swiftmailer": ">=4.1,<4.1.99|>=5.4,<5.4.5", + "typo3fluid/fluid": ">=2,<2.0.8|>=2.1,<2.1.7|>=2.2,<2.2.4|>=2.3,<2.3.7|>=2.4,<2.4.4|>=2.5,<2.5.11|>=2.6,<2.6.10", + "ua-parser/uap-php": "<3.8", + "unisharp/laravel-filemanager": "<=2.5.1", + "userfrosting/userfrosting": ">=0.3.1,<4.6.3", + "usmanhalalit/pixie": "<1.0.3|>=2,<2.0.2", + "vanilla/safecurl": "<0.9.2", + "verot/class.upload.php": "<=1.0.3|>=2,<=2.0.4", + "vrana/adminer": "<4.8.1", + "wallabag/tcpdf": "<6.2.22", + "wanglelecc/laracms": "<=1.0.3", + "web-auth/webauthn-framework": ">=3.3,<3.3.4", + "webcoast/deferred-image-processing": "<1.0.2", + "wikimedia/parsoid": "<0.12.2", + "willdurand/js-translation-bundle": "<2.1.1", + "wintercms/winter": "<1.0.475|>=1.1,<1.1.10|>=1.2,<1.2.1", + "woocommerce/woocommerce": "<6.6", + "wp-cli/wp-cli": "<2.5", + "wp-graphql/wp-graphql": "<0.3.5", + "wpanel/wpanel4-cms": "<=4.3.1", + "wwbn/avideo": "<=11.6", + "yeswiki/yeswiki": "<4.1", + "yetiforce/yetiforce-crm": "<=6.4", + "yidashi/yii2cmf": "<=2", + "yii2mod/yii2-cms": "<1.9.2", + "yiisoft/yii": "<1.1.27", + "yiisoft/yii2": "<2.0.38", + "yiisoft/yii2-bootstrap": "<2.0.4", + "yiisoft/yii2-dev": "<2.0.43", + "yiisoft/yii2-elasticsearch": "<2.0.5", + "yiisoft/yii2-gii": "<2.0.4", + "yiisoft/yii2-jui": "<2.0.4", + "yiisoft/yii2-redis": "<2.0.8", + "yoast-seo-for-typo3/yoast_seo": "<7.2.3", + "yourls/yourls": "<=1.8.2", + "zendesk/zendesk_api_client_php": "<2.2.11", + "zendframework/zend-cache": ">=2.4,<2.4.8|>=2.5,<2.5.3", + "zendframework/zend-captcha": ">=2,<2.4.9|>=2.5,<2.5.2", + "zendframework/zend-crypt": ">=2,<2.4.9|>=2.5,<2.5.2", + "zendframework/zend-db": ">=2,<2.0.99|>=2.1,<2.1.99|>=2.2,<2.2.10|>=2.3,<2.3.5", + "zendframework/zend-developer-tools": ">=1.2.2,<1.2.3", + "zendframework/zend-diactoros": "<1.8.4", + "zendframework/zend-feed": "<2.10.3", + "zendframework/zend-form": ">=2,<2.2.7|>=2.3,<2.3.1", + "zendframework/zend-http": "<2.8.1", + "zendframework/zend-json": ">=2.1,<2.1.6|>=2.2,<2.2.6", + "zendframework/zend-ldap": ">=2,<2.0.99|>=2.1,<2.1.99|>=2.2,<2.2.8|>=2.3,<2.3.3", + "zendframework/zend-mail": ">=2,<2.4.11|>=2.5,<2.7.2", + "zendframework/zend-navigation": ">=2,<2.2.7|>=2.3,<2.3.1", + "zendframework/zend-session": ">=2,<2.0.99|>=2.1,<2.1.99|>=2.2,<2.2.9|>=2.3,<2.3.4", + "zendframework/zend-validator": ">=2.3,<2.3.6", + "zendframework/zend-view": ">=2,<2.2.7|>=2.3,<2.3.1", + "zendframework/zend-xmlrpc": ">=2.1,<2.1.6|>=2.2,<2.2.6", + "zendframework/zendframework": "<=3", + "zendframework/zendframework1": "<1.12.20", + "zendframework/zendopenid": ">=2,<2.0.2", + "zendframework/zendxml": ">=1,<1.0.1", + "zetacomponents/mail": "<1.8.2", + "zf-commons/zfc-user": "<1.2.2", + "zfcampus/zf-apigility-doctrine": ">=1,<1.0.3", + "zfr/zfr-oauth2-server-module": "<0.1.2", + "zoujingli/thinkadmin": "<6.0.22" + }, + "default-branch": true, + "type": "metapackage", "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { - "name": "Jan Kowalleck", - "role": "Developer" - } - ], - "description": "A parser and builder based on the package url spec.", - "homepage": "https://github.com/package-url/packageurl-php", - "keywords": [ - "package", - "package-url", - "packageurl", - "purl", - "url" - ], - "support": { - "issues": "https://github.com/package-url/packageurl-php/issues", - "source": "https://github.com/package-url/packageurl-php/tree/1.0.4" - }, - "time": "2022-01-04T14:39:41+00:00" - }, - { - "name": "phplang/scope-exit", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/phplang/scope-exit.git", - "reference": "239b73abe89f9414aa85a7ca075ec9445629192b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phplang/scope-exit/zipball/239b73abe89f9414aa85a7ca075ec9445629192b", - "reference": "239b73abe89f9414aa85a7ca075ec9445629192b", - "shasum": "" - }, - "require-dev": { - "phpunit/phpunit": "*" - }, - "type": "library", - "autoload": { - "psr-4": { - "PhpLang\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD" - ], - "authors": [ - { - "name": "Sara Golemon", - "email": "pollita@php.net", - "homepage": "https://twitter.com/SaraMG", - "role": "Developer" - } - ], - "description": "Emulation of SCOPE_EXIT construct from C++", - "homepage": "https://github.com/phplang/scope-exit", - "keywords": [ - "cleanup", - "exit", - "scope" - ], - "support": { - "issues": "https://github.com/phplang/scope-exit/issues", - "source": "https://github.com/phplang/scope-exit/tree/master" - }, - "time": "2016-09-17T00:15:18+00:00" - }, - { - "name": "swaggest/json-diff", - "version": "v3.8.3", - "source": { - "type": "git", - "url": "https://github.com/swaggest/json-diff.git", - "reference": "bb3e3b4e9d842bb2e48f31ea568d0459968d1d42" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/swaggest/json-diff/zipball/bb3e3b4e9d842bb2e48f31ea568d0459968d1d42", - "reference": "bb3e3b4e9d842bb2e48f31ea568d0459968d1d42", - "shasum": "" - }, - "require": { - "ext-json": "*" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.23" - }, - "type": "library", - "autoload": { - "psr-4": { - "Swaggest\\JsonDiff\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Viacheslav Poturaev", - "email": "vearutop@gmail.com" - } - ], - "description": "JSON diff/rearrange/patch/pointer library for PHP", - "support": { - "issues": "https://github.com/swaggest/json-diff/issues", - "source": "https://github.com/swaggest/json-diff/tree/v3.8.3" - }, - "time": "2021-09-25T22:09:03+00:00" - }, - { - "name": "swaggest/json-schema", - "version": "v0.12.39", - "source": { - "type": "git", - "url": "https://github.com/swaggest/php-json-schema.git", - "reference": "193ba39cce1ffa2d55ddd5445315e945a63298a2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/swaggest/php-json-schema/zipball/193ba39cce1ffa2d55ddd5445315e945a63298a2", - "reference": "193ba39cce1ffa2d55ddd5445315e945a63298a2", - "shasum": "" - }, - "require": { - "ext-json": "*", - "php": ">=5.4", - "phplang/scope-exit": "^1.0", - "swaggest/json-diff": "^3.8.2", - "symfony/polyfill-mbstring": "^1.19" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.23" - }, - "suggest": { - "ext-mbstring": "For better performance" - }, - "type": "library", - "autoload": { - "psr-4": { - "Swaggest\\JsonSchema\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Viacheslav Poturaev", - "email": "vearutop@gmail.com" - } - ], - "description": "High definition PHP structures with JSON-schema based validation", - "support": { - "email": "vearutop@gmail.com", - "issues": "https://github.com/swaggest/php-json-schema/issues", - "source": "https://github.com/swaggest/php-json-schema/tree/v0.12.39" - }, - "time": "2021-10-15T18:12:27+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.24.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "0abb51d2f102e00a4eefcf46ba7fec406d245825" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/0abb51d2f102e00a4eefcf46ba7fec406d245825", - "reference": "0abb51d2f102e00a4eefcf46ba7fec406d245825", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "provide": { - "ext-mbstring": "*" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.23-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" + "name": "Marco Pivetta", + "email": "ocramius@gmail.com", + "role": "maintainer" }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Ilya Tribusean", + "email": "slash3b@gmail.com", + "role": "maintainer" } ], - "description": "Symfony polyfill for the Mbstring extension", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "mbstring", - "polyfill", - "portable", - "shim" - ], + "description": "Prevents installation of composer packages with known security vulnerabilities: no API, simply require it", "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.24.0" + "issues": "https://github.com/Roave/SecurityAdvisories/issues", + "source": "https://github.com/Roave/SecurityAdvisories/tree/latest" }, "funding": [ { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", + "url": "https://github.com/Ocramius", "type": "github" }, { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "url": "https://tidelift.com/funding/github/packagist/roave/security-advisories", "type": "tidelift" } ], - "time": "2021-11-30T18:21:41+00:00" + "time": "2022-12-09T21:04:12+00:00" } ], "aliases": [], @@ -546,11 +623,11 @@ "stability-flags": { "cyclonedx-demo/local-demo-dependency": 20, "cyclonedx-demo/local-demo-issue-158": 20, - "cyclonedx/cyclonedx-php-composer": 20 + "roave/security-advisories": 20 }, "prefer-stable": true, "prefer-lowest": false, "platform": [], "platform-dev": [], - "plugin-api-version": "2.2.0" + "plugin-api-version": "2.3.0" } diff --git a/demo/local/project/packages/local-demo-dependency/composer.json b/demo/local/project/packages/local-demo-dependency/composer.json index 1739b36e..cf7e9364 100644 --- a/demo/local/project/packages/local-demo-dependency/composer.json +++ b/demo/local/project/packages/local-demo-dependency/composer.json @@ -1,15 +1,20 @@ { "name": "cyclonedx-demo/local-demo-dependency", - "type": "library", "description": "a package that is hosted locally and required in a local demo", + "type": "library", "version": "1.33.7", - "require": { - "cyclonedx-demo/local-dependency-with-minimal-setup": "@dev" - }, + "authors": [ + { + "name": "Jan Kowalleck" + } + ], "funding": [ { "type": "demo-funding-purpose", "url": "https://cyclonedx.org/about/participate/" } - ] + ], + "require": { + "cyclonedx-demo/local-dependency-with-minimal-setup": "@dev" + } } diff --git a/demo/local/project/packages/local-demo-issue-158/composer.json b/demo/local/project/packages/local-demo-issue-158/composer.json index 6d37b2ed..b6395001 100644 --- a/demo/local/project/packages/local-demo-issue-158/composer.json +++ b/demo/local/project/packages/local-demo-issue-158/composer.json @@ -1,9 +1,14 @@ { "name": "cyclonedx-demo/local-demo-issue-158", - "type": "library", "description": "a package that reproduces issue#158", - "homepage": "https://github.com/CycloneDX/cyclonedx-php-composer/issues/158", + "type": "library", "version": "dev-issue-158", + "authors": [ + { + "name": "Jan Kowalleck" + } + ], + "homepage": "https://github.com/CycloneDX/cyclonedx-php-composer/issues/158", "support": { "issues": "https://pear.php.net/bugs/search.php?cmd=display&package_name[]=PEAR_Exception" } diff --git a/demo/local/results/bom.1.1.xml b/demo/local/results/bom.1.1.xml index 486b8b70..198df0d9 100644 --- a/demo/local/results/bom.1.1.xml +++ b/demo/local/results/bom.1.1.xml @@ -6,15 +6,9 @@ - - - - - - @@ -23,31 +17,27 @@ - - - + - + - - + - @@ -55,27 +45,27 @@ - + - - + + - + - + - + - + - + diff --git a/demo/local/results/bom.1.2.json b/demo/local/results/bom.1.2.json index 340ac3c8..16747cf4 100644 --- a/demo/local/results/bom.1.2.json +++ b/demo/local/results/bom.1.2.json @@ -1,5 +1,5 @@ { - "$schema": "http://cyclonedx.org/schema/bom-1.2a.schema.json", + "$schema": "http://cyclonedx.org/schema/bom-1.2b.schema.json", "bomFormat": "CycloneDX", "specVersion": "1.2", "version": 1, @@ -8,133 +8,125 @@ { "vendor": "cyclonedx", "name": "cyclonedx-php-composer", - "version": "dev-master" + "version": "in-dev" } ], "component": { - "bom-ref": "pkg:composer/cyclonedx-demo/cyclonedx-php-composer-local@dev-master", + "bom-ref": "cyclonedx-demo/cyclonedx-php-composer-local-dev-master", "type": "application", "name": "cyclonedx-php-composer-local", "version": "dev-master", "group": "cyclonedx-demo", "description": "demo of cyclonedx/cyclonedx-php-composer with a local dependency", + "author": "Jan Kowalleck", "purl": "pkg:composer/cyclonedx-demo/cyclonedx-php-composer-local@dev-master", "externalReferences": [ { "type": "website", "url": "https://cyclonedx.org/", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { "type": "other", - "url": "mailto:support@cyclonedx.org", - "comment": "As set via `support.email` in composer package definition." + "url": "support@cyclonedx.org", + "comment": "as detected from Composer manifest 'support.email'" }, { "type": "issue-tracker", "url": "https://github.com/CycloneDX/cyclonedx-php-composer/issues", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "support", + "type": "other", "url": "https://groups.io/g/CycloneDX", - "comment": "As set via `support.forum` in composer package definition." + "comment": "as detected from Composer manifest 'support.forum'" }, { "type": "chat", "url": "https://cyclonedx.org/slack/invite", - "comment": "As set via `support.chat` in composer package definition." + "comment": "as detected from Composer manifest 'support.chat'" }, { "type": "documentation", "url": "https://github.com/CycloneDX/cyclonedx-php-composer/blob/master/demo/local/README.md", - "comment": "As set via `support.docs` in composer package definition." + "comment": "as detected from Composer manifest 'support.docs'" } ] } }, "components": [ { - "bom-ref": "pkg:composer/cyclonedx-demo/local-demo-dependency@1.33.7", + "bom-ref": "cyclonedx-demo/local-demo-dependency-1.33.7.0", "type": "library", "name": "local-demo-dependency", "version": "1.33.7", "group": "cyclonedx-demo", "description": "a package that is hosted locally and required in a local demo", - "purl": "pkg:composer/cyclonedx-demo/local-demo-dependency@1.33.7", + "author": "Jan Kowalleck", "externalReferences": [ { "type": "distribution", - "url": "packages/local-demo-dependency", - "comment": "As detected by composer's `getDistUrls()` (type=path & reference=cef4d2e23e681fb587778e7e044718bce2f15c3f & sha1=UNDEFINED)" - }, - { - "type": "other", - "url": "https://cyclonedx.org/about/participate/", - "comment": "As set via `funding` in composer package definition. (type=demo-funding-purpose)" + "url": "packages/local-demo-dependency" } ] }, { - "bom-ref": "pkg:composer/cyclonedx-demo/local-demo-issue-158@dev-issue-158", + "bom-ref": "cyclonedx-demo/local-demo-issue-158-dev-issue-158", "type": "library", "name": "local-demo-issue-158", "version": "dev-issue-158", "group": "cyclonedx-demo", "description": "a package that reproduces issue#158", - "purl": "pkg:composer/cyclonedx-demo/local-demo-issue-158@dev-issue-158", + "author": "Jan Kowalleck", "externalReferences": [ { "type": "distribution", - "url": "packages/local-demo-issue-158", - "comment": "As detected by composer's `getDistUrls()` (type=path & reference=b49b55826a803c5105b1b455b3fac8f5da3007f1 & sha1=UNDEFINED)" + "url": "packages/local-demo-issue-158" }, { "type": "website", "url": "https://github.com/CycloneDX/cyclonedx-php-composer/issues/158", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { "type": "issue-tracker", "url": "https://pear.php.net/bugs/search.php?cmd=display&package_name[]=PEAR_Exception", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" } ] }, { - "bom-ref": "pkg:composer/cyclonedx-demo/local-dependency-with-minimal-setup@dev-master", + "bom-ref": "cyclonedx-demo/local-dependency-with-minimal-setup-dev-component-author", "type": "library", "name": "local-dependency-with-minimal-setup", - "version": "dev-master", + "version": "dev-component-author", "group": "cyclonedx-demo", - "purl": "pkg:composer/cyclonedx-demo/local-dependency-with-minimal-setup@dev-master", "externalReferences": [ { "type": "distribution", - "url": "packages/local-dependency-with-minimal-setup", - "comment": "As detected by composer's `getDistUrls()` (type=path & reference=5cdadb5ab51e8009613e68c49f8d07fcd512da78 & sha1=UNDEFINED)" + "url": "packages/local-dependency-with-minimal-setup" } ] } ], "dependencies": [ { - "ref": "pkg:composer/cyclonedx-demo/local-demo-dependency@1.33.7", + "ref": "cyclonedx-demo/local-demo-dependency-1.33.7.0", "dependsOn": [ - "pkg:composer/cyclonedx-demo/local-dependency-with-minimal-setup@dev-master" + "cyclonedx-demo/local-dependency-with-minimal-setup-dev-component-author" ] }, { - "ref": "pkg:composer/cyclonedx-demo/local-demo-issue-158@dev-issue-158" + "ref": "cyclonedx-demo/local-demo-issue-158-dev-issue-158" }, { - "ref": "pkg:composer/cyclonedx-demo/local-dependency-with-minimal-setup@dev-master" + "ref": "cyclonedx-demo/local-dependency-with-minimal-setup-dev-component-author" }, { - "ref": "pkg:composer/cyclonedx-demo/cyclonedx-php-composer-local@dev-master", + "ref": "cyclonedx-demo/cyclonedx-php-composer-local-dev-master", "dependsOn": [ - "pkg:composer/cyclonedx-demo/local-demo-dependency@1.33.7", - "pkg:composer/cyclonedx-demo/local-demo-issue-158@dev-issue-158" + "cyclonedx-demo/local-demo-dependency-1.33.7.0", + "cyclonedx-demo/local-demo-issue-158-dev-issue-158" ] } ] diff --git a/demo/local/results/bom.1.2.xml b/demo/local/results/bom.1.2.xml index b697f178..6d417a37 100644 --- a/demo/local/results/bom.1.2.xml +++ b/demo/local/results/bom.1.2.xml @@ -5,10 +5,11 @@ - + - + + @@ -17,92 +18,84 @@ - + - - + + - + - + - + - + - + - + + - - - - - - - + + - - - + - + - + - - + - - - + + - - - - - + + + + + diff --git a/demo/local/results/bom.1.3.json b/demo/local/results/bom.1.3.json index ddbe5970..07925d91 100644 --- a/demo/local/results/bom.1.3.json +++ b/demo/local/results/bom.1.3.json @@ -1,5 +1,5 @@ { - "$schema": "http://cyclonedx.org/schema/bom-1.3.schema.json", + "$schema": "http://cyclonedx.org/schema/bom-1.3a.schema.json", "bomFormat": "CycloneDX", "specVersion": "1.3", "version": 1, @@ -8,133 +8,161 @@ { "vendor": "cyclonedx", "name": "cyclonedx-php-composer", - "version": "dev-master" + "version": "in-dev" } ], "component": { - "bom-ref": "pkg:composer/cyclonedx-demo/cyclonedx-php-composer-local@dev-master", + "bom-ref": "cyclonedx-demo/cyclonedx-php-composer-local-dev-master", "type": "application", "name": "cyclonedx-php-composer-local", "version": "dev-master", "group": "cyclonedx-demo", "description": "demo of cyclonedx/cyclonedx-php-composer with a local dependency", + "author": "Jan Kowalleck", "purl": "pkg:composer/cyclonedx-demo/cyclonedx-php-composer-local@dev-master", "externalReferences": [ { "type": "website", "url": "https://cyclonedx.org/", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { "type": "other", - "url": "mailto:support@cyclonedx.org", - "comment": "As set via `support.email` in composer package definition." + "url": "support@cyclonedx.org", + "comment": "as detected from Composer manifest 'support.email'" }, { "type": "issue-tracker", "url": "https://github.com/CycloneDX/cyclonedx-php-composer/issues", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "support", + "type": "other", "url": "https://groups.io/g/CycloneDX", - "comment": "As set via `support.forum` in composer package definition." + "comment": "as detected from Composer manifest 'support.forum'" }, { "type": "chat", "url": "https://cyclonedx.org/slack/invite", - "comment": "As set via `support.chat` in composer package definition." + "comment": "as detected from Composer manifest 'support.chat'" }, { "type": "documentation", "url": "https://github.com/CycloneDX/cyclonedx-php-composer/blob/master/demo/local/README.md", - "comment": "As set via `support.docs` in composer package definition." + "comment": "as detected from Composer manifest 'support.docs'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:type", + "value": "project" } ] } }, "components": [ { - "bom-ref": "pkg:composer/cyclonedx-demo/local-demo-dependency@1.33.7", + "bom-ref": "cyclonedx-demo/local-demo-dependency-1.33.7.0", "type": "library", "name": "local-demo-dependency", "version": "1.33.7", "group": "cyclonedx-demo", "description": "a package that is hosted locally and required in a local demo", - "purl": "pkg:composer/cyclonedx-demo/local-demo-dependency@1.33.7", + "author": "Jan Kowalleck", "externalReferences": [ { "type": "distribution", - "url": "packages/local-demo-dependency", - "comment": "As detected by composer's `getDistUrls()` (type=path & reference=cef4d2e23e681fb587778e7e044718bce2f15c3f & sha1=UNDEFINED)" + "url": "packages/local-demo-dependency" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "6166868f2e7db756aa6c51f466d267232a74b702" }, { - "type": "other", - "url": "https://cyclonedx.org/about/participate/", - "comment": "As set via `funding` in composer package definition. (type=demo-funding-purpose)" + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/cyclonedx-demo/local-demo-issue-158@dev-issue-158", + "bom-ref": "cyclonedx-demo/local-demo-issue-158-dev-issue-158", "type": "library", "name": "local-demo-issue-158", "version": "dev-issue-158", "group": "cyclonedx-demo", "description": "a package that reproduces issue#158", - "purl": "pkg:composer/cyclonedx-demo/local-demo-issue-158@dev-issue-158", + "author": "Jan Kowalleck", "externalReferences": [ { "type": "distribution", - "url": "packages/local-demo-issue-158", - "comment": "As detected by composer's `getDistUrls()` (type=path & reference=b49b55826a803c5105b1b455b3fac8f5da3007f1 & sha1=UNDEFINED)" + "url": "packages/local-demo-issue-158" }, { "type": "website", "url": "https://github.com/CycloneDX/cyclonedx-php-composer/issues/158", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { "type": "issue-tracker", "url": "https://pear.php.net/bugs/search.php?cmd=display&package_name[]=PEAR_Exception", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "189236989b5f92038f280867115ac65185ba92df" + }, + { + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/cyclonedx-demo/local-dependency-with-minimal-setup@dev-master", + "bom-ref": "cyclonedx-demo/local-dependency-with-minimal-setup-dev-component-author", "type": "library", "name": "local-dependency-with-minimal-setup", - "version": "dev-master", + "version": "dev-component-author", "group": "cyclonedx-demo", - "purl": "pkg:composer/cyclonedx-demo/local-dependency-with-minimal-setup@dev-master", "externalReferences": [ { "type": "distribution", - "url": "packages/local-dependency-with-minimal-setup", - "comment": "As detected by composer's `getDistUrls()` (type=path & reference=5cdadb5ab51e8009613e68c49f8d07fcd512da78 & sha1=UNDEFINED)" + "url": "packages/local-dependency-with-minimal-setup" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "5cdadb5ab51e8009613e68c49f8d07fcd512da78" + }, + { + "name": "cdx:composer:package:type", + "value": "library" } ] } ], "dependencies": [ { - "ref": "pkg:composer/cyclonedx-demo/local-demo-dependency@1.33.7", + "ref": "cyclonedx-demo/local-demo-dependency-1.33.7.0", "dependsOn": [ - "pkg:composer/cyclonedx-demo/local-dependency-with-minimal-setup@dev-master" + "cyclonedx-demo/local-dependency-with-minimal-setup-dev-component-author" ] }, { - "ref": "pkg:composer/cyclonedx-demo/local-demo-issue-158@dev-issue-158" + "ref": "cyclonedx-demo/local-demo-issue-158-dev-issue-158" }, { - "ref": "pkg:composer/cyclonedx-demo/local-dependency-with-minimal-setup@dev-master" + "ref": "cyclonedx-demo/local-dependency-with-minimal-setup-dev-component-author" }, { - "ref": "pkg:composer/cyclonedx-demo/cyclonedx-php-composer-local@dev-master", + "ref": "cyclonedx-demo/cyclonedx-php-composer-local-dev-master", "dependsOn": [ - "pkg:composer/cyclonedx-demo/local-demo-dependency@1.33.7", - "pkg:composer/cyclonedx-demo/local-demo-issue-158@dev-issue-158" + "cyclonedx-demo/local-demo-dependency-1.33.7.0", + "cyclonedx-demo/local-demo-issue-158-dev-issue-158" ] } ] diff --git a/demo/local/results/bom.1.3.xml b/demo/local/results/bom.1.3.xml index e8603355..2cf7c5d9 100644 --- a/demo/local/results/bom.1.3.xml +++ b/demo/local/results/bom.1.3.xml @@ -5,10 +5,11 @@ - + - + + @@ -17,92 +18,99 @@ - + - - + + - + - + - + - + - + + + + - + + - - - - - - + + + + - + + - - - + - + + + + + - + - - + - + + + + - - + + - - - - - + + + + + diff --git a/demo/local/results/bom.1.4.json b/demo/local/results/bom.1.4.json new file mode 100644 index 00000000..18592388 --- /dev/null +++ b/demo/local/results/bom.1.4.json @@ -0,0 +1,190 @@ +{ + "$schema": "http://cyclonedx.org/schema/bom-1.4.schema.json", + "bomFormat": "CycloneDX", + "specVersion": "1.4", + "version": 1, + "metadata": { + "tools": [ + { + "vendor": "cyclonedx", + "name": "cyclonedx-php-composer", + "version": "in-dev", + "externalReferences": [ + { + "type": "distribution", + "url": "../.." + }, + { + "type": "website", + "url": "https://github.com/CycloneDX/cyclonedx-php-composer/#readme", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/CycloneDX/cyclonedx-php-composer/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/CycloneDX/cyclonedx-php-composer/", + "comment": "as detected from Composer manifest 'support.source'" + } + ] + } + ], + "component": { + "bom-ref": "cyclonedx-demo/cyclonedx-php-composer-local-dev-master", + "type": "application", + "name": "cyclonedx-php-composer-local", + "version": "dev-master", + "group": "cyclonedx-demo", + "description": "demo of cyclonedx/cyclonedx-php-composer with a local dependency", + "author": "Jan Kowalleck", + "purl": "pkg:composer/cyclonedx-demo/cyclonedx-php-composer-local@dev-master", + "externalReferences": [ + { + "type": "website", + "url": "https://cyclonedx.org/", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "other", + "url": "support@cyclonedx.org", + "comment": "as detected from Composer manifest 'support.email'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/CycloneDX/cyclonedx-php-composer/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "other", + "url": "https://groups.io/g/CycloneDX", + "comment": "as detected from Composer manifest 'support.forum'" + }, + { + "type": "chat", + "url": "https://cyclonedx.org/slack/invite", + "comment": "as detected from Composer manifest 'support.chat'" + }, + { + "type": "documentation", + "url": "https://github.com/CycloneDX/cyclonedx-php-composer/blob/master/demo/local/README.md", + "comment": "as detected from Composer manifest 'support.docs'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:type", + "value": "project" + } + ] + } + }, + "components": [ + { + "bom-ref": "cyclonedx-demo/local-demo-dependency-1.33.7.0", + "type": "library", + "name": "local-demo-dependency", + "version": "1.33.7", + "group": "cyclonedx-demo", + "description": "a package that is hosted locally and required in a local demo", + "author": "Jan Kowalleck", + "externalReferences": [ + { + "type": "distribution", + "url": "packages/local-demo-dependency" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "6166868f2e7db756aa6c51f466d267232a74b702" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + }, + { + "bom-ref": "cyclonedx-demo/local-demo-issue-158-dev-issue-158", + "type": "library", + "name": "local-demo-issue-158", + "version": "dev-issue-158", + "group": "cyclonedx-demo", + "description": "a package that reproduces issue#158", + "author": "Jan Kowalleck", + "externalReferences": [ + { + "type": "distribution", + "url": "packages/local-demo-issue-158" + }, + { + "type": "website", + "url": "https://github.com/CycloneDX/cyclonedx-php-composer/issues/158", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://pear.php.net/bugs/search.php?cmd=display&package_name[]=PEAR_Exception", + "comment": "as detected from Composer manifest 'support.issues'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "189236989b5f92038f280867115ac65185ba92df" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + }, + { + "bom-ref": "cyclonedx-demo/local-dependency-with-minimal-setup-dev-component-author", + "type": "library", + "name": "local-dependency-with-minimal-setup", + "version": "dev-component-author", + "group": "cyclonedx-demo", + "externalReferences": [ + { + "type": "distribution", + "url": "packages/local-dependency-with-minimal-setup" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "5cdadb5ab51e8009613e68c49f8d07fcd512da78" + }, + { + "name": "cdx:composer:package:type", + "value": "library" + } + ] + } + ], + "dependencies": [ + { + "ref": "cyclonedx-demo/local-demo-dependency-1.33.7.0", + "dependsOn": [ + "cyclonedx-demo/local-dependency-with-minimal-setup-dev-component-author" + ] + }, + { + "ref": "cyclonedx-demo/local-demo-issue-158-dev-issue-158" + }, + { + "ref": "cyclonedx-demo/local-dependency-with-minimal-setup-dev-component-author" + }, + { + "ref": "cyclonedx-demo/cyclonedx-php-composer-local-dev-master", + "dependsOn": [ + "cyclonedx-demo/local-demo-dependency-1.33.7.0", + "cyclonedx-demo/local-demo-issue-158-dev-issue-158" + ] + } + ] +} \ No newline at end of file diff --git a/demo/local/results/bom.1.4.xml b/demo/local/results/bom.1.4.xml new file mode 100644 index 00000000..58e3b0cf --- /dev/null +++ b/demo/local/results/bom.1.4.xml @@ -0,0 +1,133 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/demo/symfony/README.md b/demo/symfony/README.md index 3c5b04e1..cd94489a 100644 --- a/demo/symfony/README.md +++ b/demo/symfony/README.md @@ -1,6 +1,6 @@ # Demo: symfony -The demo is intended to run on every environment. +The demo is intended to run on every environment. This also means, the output might not be reproducible on independent systems, due to the fact that version-locks are fluid, and the composer-lock file is not sipped as code. @@ -17,10 +17,10 @@ The following are examples generated by _cyclonedx-php-composer_: For the sake of a demo, a relative path to the _cyclonedx-php-composer_ project is used, so the current code is symlinked and taken into action. -To get the setup up and running, run from the demo directory: +To get the setup up and running, run from this demo directory: ```shell -composer -dproject update +composer -d project setup ``` ## Usage examples @@ -30,17 +30,17 @@ Run one of these from the demo directory: * See _cyclonedx-php-composer_ help page: ```shell - composer -dproject make-bom --help + composer -d project CycloneDX:make-sbom --help ``` -* Make XML sbom: +* Make XML sbom via composer script: ```shell - composer -dproject make-bom --exclude-dev --output-format=XML --output-file="$PWD/example-results/bom.xml" + composer -d project create-sbom-results:XML" ``` -* Make JSON sbom: +* Make JSON sbom via composer script: ```shell - composer -dproject make-bom --exclude-dev --output-format=JSON --output-file="$PWD/example-results/bom.json" + composer -d project create-sbom-results:JSON ``` diff --git a/demo/symfony/example-results/bom.json b/demo/symfony/example-results/bom.json index 8f62bada..fb4cfb49 100644 --- a/demo/symfony/example-results/bom.json +++ b/demo/symfony/example-results/bom.json @@ -1,34 +1,103 @@ { - "$schema": "http://cyclonedx.org/schema/bom-1.3.schema.json", + "$schema": "http://cyclonedx.org/schema/bom-1.4.schema.json", "bomFormat": "CycloneDX", - "specVersion": "1.3", + "specVersion": "1.4", + "serialNumber": "urn:uuid:1c9f87d4-818a-48cc-904b-5e892d6c312d", "version": 1, "metadata": { + "timestamp": "2023-03-10T08:54:03Z", "tools": [ { "vendor": "cyclonedx", "name": "cyclonedx-php-composer", - "version": "dev-master" + "version": "dev-next", + "externalReferences": [ + { + "type": "distribution", + "url": "../.." + }, + { + "type": "website", + "url": "https://github.com/CycloneDX/cyclonedx-php-composer/#readme", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/CycloneDX/cyclonedx-php-composer/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/CycloneDX/cyclonedx-php-composer/", + "comment": "as detected from Composer manifest 'support.source'" + } + ] + }, + { + "vendor": "cyclonedx", + "name": "cyclonedx-library", + "version": "2.x-dev 5187a0c", + "externalReferences": [ + { + "type": "distribution", + "url": "https://api.github.com/repos/CycloneDX/cyclonedx-php-library/zipball/5187a0c268a07c084196e6ceee973053dc717021" + }, + { + "type": "vcs", + "url": "https://github.com/CycloneDX/cyclonedx-php-library.git" + }, + { + "type": "website", + "url": "https://github.com/CycloneDX/cyclonedx-php-library/#readme", + "comment": "as detected from Composer manifest 'homepage'" + }, + { + "type": "issue-tracker", + "url": "https://github.com/CycloneDX/cyclonedx-php-library/issues", + "comment": "as detected from Composer manifest 'support.issues'" + }, + { + "type": "vcs", + "url": "https://github.com/CycloneDX/cyclonedx-php-library/", + "comment": "as detected from Composer manifest 'support.source'" + } + ] } ], "component": { - "bom-ref": "pkg:composer/cyclonedx/cyclonedx-php-composer-demo@dev-master", + "bom-ref": "cyclonedx/cyclonedx-php-composer-demo-dev-next", "type": "application", "name": "cyclonedx-php-composer-demo", - "version": "dev-master", + "version": "dev-next", "group": "cyclonedx", "description": "demo of cyclonedx/cyclonedx-php-composer with symfony/symfony", - "purl": "pkg:composer/cyclonedx/cyclonedx-php-composer-demo@dev-master" + "author": "Jan Kowalleck", + "purl": "pkg:composer/cyclonedx/cyclonedx-php-composer-demo@dev-next", + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "7d0ff5fbe72e6e861cb106a54b2646f3a26f74b5" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "7d0ff5fbe72e6e861cb106a54b2646f3a26f74b5" + }, + { + "name": "cdx:composer:package:type", + "value": "project" + } + ] } }, "components": [ { - "bom-ref": "pkg:composer/doctrine/cache@2.1.1", + "bom-ref": "doctrine/event-manager-2.0.0.0", "type": "library", - "name": "cache", - "version": "2.1.1", + "name": "event-manager", + "version": "2.0.0", "group": "doctrine", - "description": "PHP Doctrine Cache library is a popular cache implementation that supports many different drivers such as redis, memcache, apc, mongodb and others.", + "description": "The Doctrine Event Manager is a simple PHP event system that was built to be used with the various Doctrine projects.", + "author": "Guilherme Blanco, Roman Borschel, Benjamin Eberlei, Jonathan Wage, Johannes Schmitt, Marco Pivetta", "licenses": [ { "license": { @@ -36,57 +105,54 @@ } } ], - "purl": "pkg:composer/doctrine/cache@2.1.1", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/doctrine/cache.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=331b4d5dbaeab3827976273e9356b3b453c300ce)" + "url": "https://api.github.com/repos/doctrine/event-manager/zipball/750671534e0241a7c50ea5b43f67e23eb5c96f32" }, { - "type": "distribution", - "url": "https://api.github.com/repos/doctrine/cache/zipball/331b4d5dbaeab3827976273e9356b3b453c300ce", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=331b4d5dbaeab3827976273e9356b3b453c300ce & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/doctrine/event-manager.git" }, { "type": "website", - "url": "https://www.doctrine-project.org/projects/cache.html", - "comment": "As set via `homepage` in composer package definition." + "url": "https://www.doctrine-project.org/projects/event-manager.html", + "comment": "as detected from Composer manifest 'homepage'" }, { "type": "issue-tracker", - "url": "https://github.com/doctrine/cache/issues", - "comment": "As set via `support.issues` in composer package definition." + "url": "https://github.com/doctrine/event-manager/issues", + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "distribution", - "url": "https://github.com/doctrine/cache/tree/2.1.1", - "comment": "As set via `support.source` in composer package definition." - }, + "type": "vcs", + "url": "https://github.com/doctrine/event-manager/tree/2.0.0", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ { - "type": "other", - "url": "https://www.doctrine-project.org/sponsorship.html", - "comment": "As set via `funding` in composer package definition. (type=custom)" + "name": "cdx:composer:package:distReference", + "value": "750671534e0241a7c50ea5b43f67e23eb5c96f32" }, { - "type": "other", - "url": "https://www.patreon.com/phpdoctrine", - "comment": "As set via `funding` in composer package definition. (type=patreon)" + "name": "cdx:composer:package:sourceReference", + "value": "750671534e0241a7c50ea5b43f67e23eb5c96f32" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fcache", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/doctrine/collections@1.6.8", + "bom-ref": "doctrine/persistence-3.1.4.0", "type": "library", - "name": "collections", - "version": "1.6.8", + "name": "persistence", + "version": "3.1.4", "group": "doctrine", - "description": "PHP Doctrine Collections library that adds additional functionality on top of PHP arrays.", + "description": "The Doctrine Persistence project is a set of shared interfaces and functionality that the different Doctrine object mappers share.", + "author": "Guilherme Blanco, Roman Borschel, Benjamin Eberlei, Jonathan Wage, Johannes Schmitt, Marco Pivetta", "licenses": [ { "license": { @@ -94,42 +160,54 @@ } } ], - "purl": "pkg:composer/doctrine/collections@1.6.8", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/doctrine/collections.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=1958a744696c6bb3bb0d28db2611dc11610e78af)" + "url": "https://api.github.com/repos/doctrine/persistence/zipball/8bf8ab15960787f1a49d405f6eb8c787b4841119" }, { - "type": "distribution", - "url": "https://api.github.com/repos/doctrine/collections/zipball/1958a744696c6bb3bb0d28db2611dc11610e78af", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=1958a744696c6bb3bb0d28db2611dc11610e78af & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/doctrine/persistence.git" }, { "type": "website", - "url": "https://www.doctrine-project.org/projects/collections.html", - "comment": "As set via `homepage` in composer package definition." + "url": "https://www.doctrine-project.org/projects/persistence.html", + "comment": "as detected from Composer manifest 'homepage'" }, { "type": "issue-tracker", - "url": "https://github.com/doctrine/collections/issues", - "comment": "As set via `support.issues` in composer package definition." + "url": "https://github.com/doctrine/persistence/issues", + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "distribution", - "url": "https://github.com/doctrine/collections/tree/1.6.8", - "comment": "As set via `support.source` in composer package definition." + "type": "vcs", + "url": "https://github.com/doctrine/persistence/tree/3.1.4", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "8bf8ab15960787f1a49d405f6eb8c787b4841119" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "8bf8ab15960787f1a49d405f6eb8c787b4841119" + }, + { + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/doctrine/deprecations@0.5.3", + "bom-ref": "friendsofphp/proxy-manager-lts-1.0.14.0", "type": "library", - "name": "deprecations", - "version": "0.5.3", - "group": "doctrine", - "description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.", + "name": "proxy-manager-lts", + "version": "v1.0.14", + "group": "friendsofphp", + "description": "Adding support for a wider range of PHP versions to ocramius/proxy-manager", + "author": "Marco Pivetta, Nicolas Grekas", "licenses": [ { "license": { @@ -137,143 +215,128 @@ } } ], - "purl": "pkg:composer/doctrine/deprecations@0.5.3", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/doctrine/deprecations.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=9504165960a1f83cc1480e2be1dd0a0478561314)" + "url": "https://api.github.com/repos/FriendsOfPHP/proxy-manager-lts/zipball/a527c9d9d5348e012bd24482d83a5cd643bcbc9e" }, { - "type": "distribution", - "url": "https://api.github.com/repos/doctrine/deprecations/zipball/9504165960a1f83cc1480e2be1dd0a0478561314", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=9504165960a1f83cc1480e2be1dd0a0478561314 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/FriendsOfPHP/proxy-manager-lts.git" }, { "type": "website", - "url": "https://www.doctrine-project.org/", - "comment": "As set via `homepage` in composer package definition." + "url": "https://github.com/FriendsOfPHP/proxy-manager-lts", + "comment": "as detected from Composer manifest 'homepage'" }, { "type": "issue-tracker", - "url": "https://github.com/doctrine/deprecations/issues", - "comment": "As set via `support.issues` in composer package definition." + "url": "https://github.com/FriendsOfPHP/proxy-manager-lts/issues", + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "distribution", - "url": "https://github.com/doctrine/deprecations/tree/v0.5.3", - "comment": "As set via `support.source` in composer package definition." + "type": "vcs", + "url": "https://github.com/FriendsOfPHP/proxy-manager-lts/tree/v1.0.14", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "a527c9d9d5348e012bd24482d83a5cd643bcbc9e" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "a527c9d9d5348e012bd24482d83a5cd643bcbc9e" + }, + { + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/doctrine/event-manager@1.1.1", + "bom-ref": "laminas/laminas-code-4.10.0.0", "type": "library", - "name": "event-manager", - "version": "1.1.1", - "group": "doctrine", - "description": "The Doctrine Event Manager is a simple PHP event system that was built to be used with the various Doctrine projects.", + "name": "laminas-code", + "version": "4.10.0", + "group": "laminas", + "description": "Extensions to the PHP Reflection API, static code scanning, and code generation", "licenses": [ { "license": { - "id": "MIT" + "id": "BSD-3-Clause" } } ], - "purl": "pkg:composer/doctrine/event-manager@1.1.1", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/doctrine/event-manager.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=41370af6a30faa9dc0368c4a6814d596e81aba7f)" + "url": "https://api.github.com/repos/laminas/laminas-code/zipball/ad8b36073f9ac792716478befadca0798cc15635" }, { - "type": "distribution", - "url": "https://api.github.com/repos/doctrine/event-manager/zipball/41370af6a30faa9dc0368c4a6814d596e81aba7f", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=41370af6a30faa9dc0368c4a6814d596e81aba7f & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/laminas/laminas-code.git" }, { "type": "website", - "url": "https://www.doctrine-project.org/projects/event-manager.html", - "comment": "As set via `homepage` in composer package definition." + "url": "https://laminas.dev", + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "issue-tracker", - "url": "https://github.com/doctrine/event-manager/issues", - "comment": "As set via `support.issues` in composer package definition." + "type": "chat", + "url": "https://laminas.dev/chat", + "comment": "as detected from Composer manifest 'support.chat'" }, { - "type": "distribution", - "url": "https://github.com/doctrine/event-manager/tree/1.1.x", - "comment": "As set via `support.source` in composer package definition." + "type": "documentation", + "url": "https://docs.laminas.dev/laminas-code/", + "comment": "as detected from Composer manifest 'support.docs'" }, { "type": "other", - "url": "https://www.doctrine-project.org/sponsorship.html", - "comment": "As set via `funding` in composer package definition. (type=custom)" + "url": "https://discourse.laminas.dev", + "comment": "as detected from Composer manifest 'support.forum'" }, { - "type": "other", - "url": "https://www.patreon.com/phpdoctrine", - "comment": "As set via `funding` in composer package definition. (type=patreon)" + "type": "issue-tracker", + "url": "https://github.com/laminas/laminas-code/issues", + "comment": "as detected from Composer manifest 'support.issues'" }, { "type": "other", - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fevent-manager", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" - } - ] - }, - { - "bom-ref": "pkg:composer/doctrine/persistence@2.3.0", - "type": "library", - "name": "persistence", - "version": "2.3.0", - "group": "doctrine", - "description": "The Doctrine Persistence project is a set of shared interfaces and functionality that the different Doctrine object mappers share.", - "licenses": [ + "url": "https://github.com/laminas/laminas-code/releases.atom", + "comment": "as detected from Composer manifest 'support.rss'" + }, { - "license": { - "id": "MIT" - } + "type": "vcs", + "url": "https://github.com/laminas/laminas-code", + "comment": "as detected from Composer manifest 'support.source'" } ], - "purl": "pkg:composer/doctrine/persistence@2.3.0", - "externalReferences": [ + "properties": [ { - "type": "distribution", - "url": "https://github.com/doctrine/persistence.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=f8af155c1e7963f3d2b4415097d55757bbaa53d8)" + "name": "cdx:composer:package:distReference", + "value": "ad8b36073f9ac792716478befadca0798cc15635" }, { - "type": "distribution", - "url": "https://api.github.com/repos/doctrine/persistence/zipball/f8af155c1e7963f3d2b4415097d55757bbaa53d8", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=f8af155c1e7963f3d2b4415097d55757bbaa53d8 & sha1=UNDEFINED)" + "name": "cdx:composer:package:sourceReference", + "value": "ad8b36073f9ac792716478befadca0798cc15635" }, { - "type": "website", - "url": "https://doctrine-project.org/projects/persistence.html", - "comment": "As set via `homepage` in composer package definition." - }, - { - "type": "issue-tracker", - "url": "https://github.com/doctrine/persistence/issues", - "comment": "As set via `support.issues` in composer package definition." - }, - { - "type": "distribution", - "url": "https://github.com/doctrine/persistence/tree/2.3.0", - "comment": "As set via `support.source` in composer package definition." + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/friendsofphp/proxy-manager-lts@1.0.5", + "bom-ref": "psr/cache-3.0.0.0", "type": "library", - "name": "proxy-manager-lts", - "version": "1.0.5", - "group": "friendsofphp", - "description": "Adding support for a wider range of PHP versions to ocramius/proxy-manager", + "name": "cache", + "version": "3.0.0", + "group": "psr", + "description": "Common interface for caching libraries", + "author": "PHP-FIG", "licenses": [ { "license": { @@ -281,153 +344,99 @@ } } ], - "purl": "pkg:composer/friendsofphp/proxy-manager-lts@1.0.5", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/FriendsOfPHP/proxy-manager-lts.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=006aa5d32f887a4db4353b13b5b5095613e0611f)" - }, - { - "type": "distribution", - "url": "https://api.github.com/repos/FriendsOfPHP/proxy-manager-lts/zipball/006aa5d32f887a4db4353b13b5b5095613e0611f", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=006aa5d32f887a4db4353b13b5b5095613e0611f & sha1=UNDEFINED)" + "url": "https://api.github.com/repos/php-fig/cache/zipball/aa5030cfa5405eccfdcb1083ce040c2cb8d253bf" }, { - "type": "website", - "url": "https://github.com/FriendsOfPHP/proxy-manager-lts", - "comment": "As set via `homepage` in composer package definition." + "type": "vcs", + "url": "https://github.com/php-fig/cache.git" }, { - "type": "issue-tracker", - "url": "https://github.com/FriendsOfPHP/proxy-manager-lts/issues", - "comment": "As set via `support.issues` in composer package definition." - }, + "type": "vcs", + "url": "https://github.com/php-fig/cache/tree/3.0.0", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ { - "type": "distribution", - "url": "https://github.com/FriendsOfPHP/proxy-manager-lts/tree/v1.0.5", - "comment": "As set via `support.source` in composer package definition." + "name": "cdx:composer:package:distReference", + "value": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf" }, { - "type": "other", - "url": "https://github.com/Ocramius", - "comment": "As set via `funding` in composer package definition. (type=github)" + "name": "cdx:composer:package:sourceReference", + "value": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/ocramius/proxy-manager", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/laminas/laminas-code@4.5.1", + "bom-ref": "psr/clock-1.0.0.0", "type": "library", - "name": "laminas-code", - "version": "4.5.1", - "group": "laminas", - "description": "Extensions to the PHP Reflection API, static code scanning, and code generation", + "name": "clock", + "version": "1.0.0", + "group": "psr", + "description": "Common interface for reading the clock.", + "author": "PHP-FIG", "licenses": [ { "license": { - "id": "BSD-3-Clause" + "id": "MIT" } } ], - "purl": "pkg:composer/laminas/laminas-code@4.5.1", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/laminas/laminas-code.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=6fd96d4d913571a2cd056a27b123fa28cb90ac4e)" + "url": "https://api.github.com/repos/php-fig/clock/zipball/e41a24703d4560fd0acb709162f73b8adfc3aa0d" }, { - "type": "distribution", - "url": "https://api.github.com/repos/laminas/laminas-code/zipball/6fd96d4d913571a2cd056a27b123fa28cb90ac4e", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=6fd96d4d913571a2cd056a27b123fa28cb90ac4e & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/php-fig/clock.git" }, { "type": "website", - "url": "https://laminas.dev", - "comment": "As set via `homepage` in composer package definition." - }, - { - "type": "chat", - "url": "https://laminas.dev/chat", - "comment": "As set via `support.chat` in composer package definition." - }, - { - "type": "documentation", - "url": "https://docs.laminas.dev/laminas-code/", - "comment": "As set via `support.docs` in composer package definition." - }, - { - "type": "support", - "url": "https://discourse.laminas.dev", - "comment": "As set via `support.forum` in composer package definition." + "url": "https://github.com/php-fig/clock", + "comment": "as detected from Composer manifest 'homepage'" }, { "type": "issue-tracker", - "url": "https://github.com/laminas/laminas-code/issues", - "comment": "As set via `support.issues` in composer package definition." - }, - { - "type": "support", - "url": "https://github.com/laminas/laminas-code/releases.atom", - "comment": "As set via `support.rss` in composer package definition." + "url": "https://github.com/php-fig/clock/issues", + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "distribution", - "url": "https://github.com/laminas/laminas-code", - "comment": "As set via `support.source` in composer package definition." - }, - { - "type": "other", - "url": "https://funding.communitybridge.org/projects/laminas-project", - "comment": "As set via `funding` in composer package definition. (type=community_bridge)" - } - ] - }, - { - "bom-ref": "pkg:composer/psr/cache@3.0.0", - "type": "library", - "name": "cache", - "version": "3.0.0", - "group": "psr", - "description": "Common interface for caching libraries", - "licenses": [ - { - "license": { - "id": "MIT" - } + "type": "vcs", + "url": "https://github.com/php-fig/clock/tree/1.0.0", + "comment": "as detected from Composer manifest 'support.source'" } ], - "purl": "pkg:composer/psr/cache@3.0.0", - "externalReferences": [ + "properties": [ { - "type": "distribution", - "url": "https://github.com/php-fig/cache.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=aa5030cfa5405eccfdcb1083ce040c2cb8d253bf)" + "name": "cdx:composer:package:distReference", + "value": "e41a24703d4560fd0acb709162f73b8adfc3aa0d" }, { - "type": "distribution", - "url": "https://api.github.com/repos/php-fig/cache/zipball/aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=aa5030cfa5405eccfdcb1083ce040c2cb8d253bf & sha1=UNDEFINED)" + "name": "cdx:composer:package:sourceReference", + "value": "e41a24703d4560fd0acb709162f73b8adfc3aa0d" }, { - "type": "distribution", - "url": "https://github.com/php-fig/cache/tree/3.0.0", - "comment": "As set via `support.source` in composer package definition." + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/psr/container@2.0.2", + "bom-ref": "psr/container-2.0.2.0", "type": "library", "name": "container", "version": "2.0.2", "group": "psr", "description": "Common Container Interface (PHP FIG PSR-11)", + "author": "PHP-FIG", "licenses": [ { "license": { @@ -435,42 +444,54 @@ } } ], - "purl": "pkg:composer/psr/container@2.0.2", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/php-fig/container.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=c71ecc56dfe541dbd90c5360474fbc405f8d5963)" + "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963" }, { - "type": "distribution", - "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=c71ecc56dfe541dbd90c5360474fbc405f8d5963 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/php-fig/container.git" }, { "type": "website", "url": "https://github.com/php-fig/container", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { "type": "issue-tracker", "url": "https://github.com/php-fig/container/issues", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "distribution", + "type": "vcs", "url": "https://github.com/php-fig/container/tree/2.0.2", - "comment": "As set via `support.source` in composer package definition." + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" + }, + { + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/psr/event-dispatcher@1.0.0", + "bom-ref": "psr/event-dispatcher-1.0.0.0", "type": "library", "name": "event-dispatcher", "version": "1.0.0", "group": "psr", "description": "Standard interfaces for event handling.", + "author": "PHP-FIG", "licenses": [ { "license": { @@ -478,37 +499,49 @@ } } ], - "purl": "pkg:composer/psr/event-dispatcher@1.0.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/php-fig/event-dispatcher.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=dbefd12671e8a14ec7f180cab83036ed26714bb0)" + "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0" }, { - "type": "distribution", - "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=dbefd12671e8a14ec7f180cab83036ed26714bb0 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/php-fig/event-dispatcher.git" }, { "type": "issue-tracker", "url": "https://github.com/php-fig/event-dispatcher/issues", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "distribution", + "type": "vcs", "url": "https://github.com/php-fig/event-dispatcher/tree/1.0.0", - "comment": "As set via `support.source` in composer package definition." + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "dbefd12671e8a14ec7f180cab83036ed26714bb0" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "dbefd12671e8a14ec7f180cab83036ed26714bb0" + }, + { + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/psr/link@2.0.1", + "bom-ref": "psr/link-2.0.1.0", "type": "library", "name": "link", "version": "2.0.1", "group": "psr", "description": "Common interfaces for HTTP links", + "author": "PHP-FIG", "licenses": [ { "license": { @@ -516,37 +549,49 @@ } } ], - "purl": "pkg:composer/psr/link@2.0.1", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/php-fig/link.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=84b159194ecfd7eaa472280213976e96415433f7)" + "url": "https://api.github.com/repos/php-fig/link/zipball/84b159194ecfd7eaa472280213976e96415433f7" }, { - "type": "distribution", - "url": "https://api.github.com/repos/php-fig/link/zipball/84b159194ecfd7eaa472280213976e96415433f7", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=84b159194ecfd7eaa472280213976e96415433f7 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/php-fig/link.git" }, { "type": "website", "url": "https://github.com/php-fig/link", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "distribution", + "type": "vcs", "url": "https://github.com/php-fig/link/tree/2.0.1", - "comment": "As set via `support.source` in composer package definition." + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "84b159194ecfd7eaa472280213976e96415433f7" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "84b159194ecfd7eaa472280213976e96415433f7" + }, + { + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/psr/log@3.0.0", + "bom-ref": "psr/log-3.0.0.0", "type": "library", "name": "log", "version": "3.0.0", "group": "psr", "description": "Common interface for logging libraries", + "author": "PHP-FIG", "licenses": [ { "license": { @@ -554,37 +599,49 @@ } } ], - "purl": "pkg:composer/psr/log@3.0.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/php-fig/log.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=fe5ea303b0887d5caefd3d431c3e61ad47037001)" + "url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001" }, { - "type": "distribution", - "url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=fe5ea303b0887d5caefd3d431c3e61ad47037001 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/php-fig/log.git" }, { "type": "website", "url": "https://github.com/php-fig/log", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "distribution", + "type": "vcs", "url": "https://github.com/php-fig/log/tree/3.0.0", - "comment": "As set via `support.source` in composer package definition." + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "fe5ea303b0887d5caefd3d431c3e61ad47037001" + }, + { + "name": "cdx:composer:package:sourceReference", + "value": "fe5ea303b0887d5caefd3d431c3e61ad47037001" + }, + { + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/symfony/contracts@3.0.0", + "bom-ref": "symfony/contracts-3.2.1.0", "type": "library", "name": "contracts", - "version": "3.0.0", + "version": "v3.2.1", "group": "symfony", "description": "A set of abstractions extracted out of the Symfony components", + "author": "Nicolas Grekas, Symfony Community", "licenses": [ { "license": { @@ -592,52 +649,49 @@ } } ], - "purl": "pkg:composer/symfony/contracts@3.0.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/contracts.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=1309f21c0ac2268f3a2e83e7c4d7ec94afbb0603)" + "url": "https://api.github.com/repos/symfony/contracts/zipball/8ec95320f72fd012bf6335498c8f6c8d64957346" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/contracts/zipball/1309f21c0ac2268f3a2e83e7c4d7ec94afbb0603", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=1309f21c0ac2268f3a2e83e7c4d7ec94afbb0603 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/contracts.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "distribution", - "url": "https://github.com/symfony/contracts/tree/v3.0.0", - "comment": "As set via `support.source` in composer package definition." - }, + "type": "vcs", + "url": "https://github.com/symfony/contracts/tree/v3.2.1", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" + "name": "cdx:composer:package:distReference", + "value": "8ec95320f72fd012bf6335498c8f6c8d64957346" }, { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" + "name": "cdx:composer:package:sourceReference", + "value": "8ec95320f72fd012bf6335498c8f6c8d64957346" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/symfony/polyfill-ctype@1.24.0", + "bom-ref": "symfony/polyfill-ctype-1.27.0.0", "type": "library", "name": "polyfill-ctype", - "version": "1.24.0", + "version": "v1.27.0", "group": "symfony", "description": "Symfony polyfill for ctype functions", + "author": "Gert de Pagter, Symfony Community", "licenses": [ { "license": { @@ -645,52 +699,49 @@ } } ], - "purl": "pkg:composer/symfony/polyfill-ctype@1.24.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/polyfill-ctype.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=30885182c981ab175d4d034db0f6f469898070ab)" + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/5bbc823adecdae860bb64756d639ecfec17b050a" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/30885182c981ab175d4d034db0f6f469898070ab", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=30885182c981ab175d4d034db0f6f469898070ab & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/polyfill-ctype.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "distribution", - "url": "https://github.com/symfony/polyfill-ctype/tree/v1.24.0", - "comment": "As set via `support.source` in composer package definition." - }, + "type": "vcs", + "url": "https://github.com/symfony/polyfill-ctype/tree/v1.27.0", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" + "name": "cdx:composer:package:distReference", + "value": "5bbc823adecdae860bb64756d639ecfec17b050a" }, { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" + "name": "cdx:composer:package:sourceReference", + "value": "5bbc823adecdae860bb64756d639ecfec17b050a" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/symfony/polyfill-intl-grapheme@1.24.0", + "bom-ref": "symfony/polyfill-intl-grapheme-1.27.0.0", "type": "library", "name": "polyfill-intl-grapheme", - "version": "1.24.0", + "version": "v1.27.0", "group": "symfony", "description": "Symfony polyfill for intl's grapheme_* functions", + "author": "Nicolas Grekas, Symfony Community", "licenses": [ { "license": { @@ -698,52 +749,49 @@ } } ], - "purl": "pkg:composer/symfony/polyfill-intl-grapheme@1.24.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=81b86b50cf841a64252b439e738e97f4a34e2783)" + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/511a08c03c1960e08a883f4cffcacd219b758354" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/81b86b50cf841a64252b439e738e97f4a34e2783", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=81b86b50cf841a64252b439e738e97f4a34e2783 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/polyfill-intl-grapheme.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "distribution", - "url": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.24.0", - "comment": "As set via `support.source` in composer package definition." - }, + "type": "vcs", + "url": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.27.0", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" + "name": "cdx:composer:package:distReference", + "value": "511a08c03c1960e08a883f4cffcacd219b758354" }, { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" + "name": "cdx:composer:package:sourceReference", + "value": "511a08c03c1960e08a883f4cffcacd219b758354" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/symfony/polyfill-intl-icu@1.24.0", + "bom-ref": "symfony/polyfill-intl-icu-1.27.0.0", "type": "library", "name": "polyfill-intl-icu", - "version": "1.24.0", + "version": "v1.27.0", "group": "symfony", "description": "Symfony polyfill for intl's ICU-related data and classes", + "author": "Nicolas Grekas, Symfony Community", "licenses": [ { "license": { @@ -751,52 +799,49 @@ } } ], - "purl": "pkg:composer/symfony/polyfill-intl-icu@1.24.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/polyfill-intl-icu.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=c023a439b8551e320cc3c8433b198e408a623af1)" + "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/a3d9148e2c363588e05abbdd4ee4f971f0a5330c" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/c023a439b8551e320cc3c8433b198e408a623af1", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=c023a439b8551e320cc3c8433b198e408a623af1 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/polyfill-intl-icu.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "distribution", - "url": "https://github.com/symfony/polyfill-intl-icu/tree/v1.24.0", - "comment": "As set via `support.source` in composer package definition." - }, + "type": "vcs", + "url": "https://github.com/symfony/polyfill-intl-icu/tree/v1.27.0", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" + "name": "cdx:composer:package:distReference", + "value": "a3d9148e2c363588e05abbdd4ee4f971f0a5330c" }, { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" + "name": "cdx:composer:package:sourceReference", + "value": "a3d9148e2c363588e05abbdd4ee4f971f0a5330c" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/symfony/polyfill-intl-idn@1.24.0", + "bom-ref": "symfony/polyfill-intl-idn-1.27.0.0", "type": "library", "name": "polyfill-intl-idn", - "version": "1.24.0", + "version": "v1.27.0", "group": "symfony", "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions", + "author": "Laurent Bassin, Trevor Rowbotham, Symfony Community", "licenses": [ { "license": { @@ -804,52 +849,49 @@ } } ], - "purl": "pkg:composer/symfony/polyfill-intl-idn@1.24.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/polyfill-intl-idn.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=749045c69efb97c70d25d7463abba812e91f3a44)" + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/639084e360537a19f9ee352433b84ce831f3d2da" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/749045c69efb97c70d25d7463abba812e91f3a44", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=749045c69efb97c70d25d7463abba812e91f3a44 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/polyfill-intl-idn.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "distribution", - "url": "https://github.com/symfony/polyfill-intl-idn/tree/v1.24.0", - "comment": "As set via `support.source` in composer package definition." - }, + "type": "vcs", + "url": "https://github.com/symfony/polyfill-intl-idn/tree/v1.27.0", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" + "name": "cdx:composer:package:distReference", + "value": "639084e360537a19f9ee352433b84ce831f3d2da" }, { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" + "name": "cdx:composer:package:sourceReference", + "value": "639084e360537a19f9ee352433b84ce831f3d2da" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/symfony/polyfill-intl-normalizer@1.24.0", + "bom-ref": "symfony/polyfill-intl-normalizer-1.27.0.0", "type": "library", "name": "polyfill-intl-normalizer", - "version": "1.24.0", + "version": "v1.27.0", "group": "symfony", "description": "Symfony polyfill for intl's Normalizer class and related functions", + "author": "Nicolas Grekas, Symfony Community", "licenses": [ { "license": { @@ -857,52 +899,49 @@ } } ], - "purl": "pkg:composer/symfony/polyfill-intl-normalizer@1.24.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=8590a5f561694770bdcd3f9b5c69dde6945028e8)" + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/19bd1e4fcd5b91116f14d8533c57831ed00571b6" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8590a5f561694770bdcd3f9b5c69dde6945028e8", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=8590a5f561694770bdcd3f9b5c69dde6945028e8 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/polyfill-intl-normalizer.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "distribution", - "url": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.24.0", - "comment": "As set via `support.source` in composer package definition." - }, + "type": "vcs", + "url": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.27.0", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" + "name": "cdx:composer:package:distReference", + "value": "19bd1e4fcd5b91116f14d8533c57831ed00571b6" }, { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" + "name": "cdx:composer:package:sourceReference", + "value": "19bd1e4fcd5b91116f14d8533c57831ed00571b6" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/symfony/polyfill-mbstring@1.24.0", + "bom-ref": "symfony/polyfill-mbstring-1.27.0.0", "type": "library", "name": "polyfill-mbstring", - "version": "1.24.0", + "version": "v1.27.0", "group": "symfony", "description": "Symfony polyfill for the Mbstring extension", + "author": "Nicolas Grekas, Symfony Community", "licenses": [ { "license": { @@ -910,52 +949,49 @@ } } ], - "purl": "pkg:composer/symfony/polyfill-mbstring@1.24.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=0abb51d2f102e00a4eefcf46ba7fec406d245825)" + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/8ad114f6b39e2c98a8b0e3bd907732c207c2b534" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/0abb51d2f102e00a4eefcf46ba7fec406d245825", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=0abb51d2f102e00a4eefcf46ba7fec406d245825 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/polyfill-mbstring.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "distribution", - "url": "https://github.com/symfony/polyfill-mbstring/tree/v1.24.0", - "comment": "As set via `support.source` in composer package definition." - }, + "type": "vcs", + "url": "https://github.com/symfony/polyfill-mbstring/tree/v1.27.0", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" + "name": "cdx:composer:package:distReference", + "value": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534" }, { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" + "name": "cdx:composer:package:sourceReference", + "value": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/symfony/polyfill-php72@1.24.0", + "bom-ref": "symfony/polyfill-php72-1.27.0.0", "type": "library", "name": "polyfill-php72", - "version": "1.24.0", + "version": "v1.27.0", "group": "symfony", "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", + "author": "Nicolas Grekas, Symfony Community", "licenses": [ { "license": { @@ -963,105 +999,49 @@ } } ], - "purl": "pkg:composer/symfony/polyfill-php72@1.24.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/polyfill-php72.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=9a142215a36a3888e30d0a9eeea9766764e96976)" + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/869329b1e9894268a8a61dabb69153029b7a8c97" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/9a142215a36a3888e30d0a9eeea9766764e96976", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=9a142215a36a3888e30d0a9eeea9766764e96976 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/polyfill-php72.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." - }, - { - "type": "distribution", - "url": "https://github.com/symfony/polyfill-php72/tree/v1.24.0", - "comment": "As set via `support.source` in composer package definition." - }, - { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" - }, - { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" - } - ] - }, - { - "bom-ref": "pkg:composer/symfony/polyfill-php81@1.24.0", - "type": "library", - "name": "polyfill-php81", - "version": "1.24.0", - "group": "symfony", - "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions", - "licenses": [ - { - "license": { - "id": "MIT" - } + "type": "vcs", + "url": "https://github.com/symfony/polyfill-php72/tree/v1.27.0", + "comment": "as detected from Composer manifest 'support.source'" } ], - "purl": "pkg:composer/symfony/polyfill-php81@1.24.0", - "externalReferences": [ - { - "type": "distribution", - "url": "https://github.com/symfony/polyfill-php81.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=5de4ba2d41b15f9bd0e19b2ab9674135813ec98f)" - }, + "properties": [ { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/5de4ba2d41b15f9bd0e19b2ab9674135813ec98f", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=5de4ba2d41b15f9bd0e19b2ab9674135813ec98f & sha1=UNDEFINED)" + "name": "cdx:composer:package:distReference", + "value": "869329b1e9894268a8a61dabb69153029b7a8c97" }, { - "type": "website", - "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." + "name": "cdx:composer:package:sourceReference", + "value": "869329b1e9894268a8a61dabb69153029b7a8c97" }, { - "type": "distribution", - "url": "https://github.com/symfony/polyfill-php81/tree/v1.24.0", - "comment": "As set via `support.source` in composer package definition." - }, - { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" - }, - { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" - }, - { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/symfony/polyfill-uuid@1.24.0", + "bom-ref": "symfony/polyfill-uuid-1.27.0.0", "type": "library", "name": "polyfill-uuid", - "version": "1.24.0", + "version": "v1.27.0", "group": "symfony", "description": "Symfony polyfill for uuid functions", + "author": "Gr\u00e9goire Pineau, Symfony Community", "licenses": [ { "license": { @@ -1069,52 +1049,49 @@ } } ], - "purl": "pkg:composer/symfony/polyfill-uuid@1.24.0", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/polyfill-uuid.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=7529922412d23ac44413d0f308861d50cf68d3ee)" + "url": "https://api.github.com/repos/symfony/polyfill-uuid/zipball/f3cf1a645c2734236ed1e2e671e273eeb3586166" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/polyfill-uuid/zipball/7529922412d23ac44413d0f308861d50cf68d3ee", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=7529922412d23ac44413d0f308861d50cf68d3ee & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/polyfill-uuid.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { - "type": "distribution", - "url": "https://github.com/symfony/polyfill-uuid/tree/v1.24.0", - "comment": "As set via `support.source` in composer package definition." - }, + "type": "vcs", + "url": "https://github.com/symfony/polyfill-uuid/tree/v1.27.0", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" + "name": "cdx:composer:package:distReference", + "value": "f3cf1a645c2734236ed1e2e671e273eeb3586166" }, { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" + "name": "cdx:composer:package:sourceReference", + "value": "f3cf1a645c2734236ed1e2e671e273eeb3586166" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/symfony/symfony@6.0.4", + "bom-ref": "symfony/symfony-6.2.7.0", "type": "library", "name": "symfony", - "version": "6.0.4", + "version": "v6.2.7", "group": "symfony", "description": "The Symfony PHP framework", + "author": "Fabien Potencier, Symfony Community", "licenses": [ { "license": { @@ -1122,57 +1099,54 @@ } } ], - "purl": "pkg:composer/symfony/symfony@6.0.4", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/symfony/symfony.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=82e8d23788940421e0ad6e30163242db3ba27a02)" + "url": "https://api.github.com/repos/symfony/symfony/zipball/80cac46a31d4561804c17d101591a4f59e6db3a2" }, { - "type": "distribution", - "url": "https://api.github.com/repos/symfony/symfony/zipball/82e8d23788940421e0ad6e30163242db3ba27a02", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=82e8d23788940421e0ad6e30163242db3ba27a02 & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/symfony/symfony.git" }, { "type": "website", "url": "https://symfony.com", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { "type": "issue-tracker", "url": "https://github.com/symfony/symfony/issues", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "distribution", - "url": "https://github.com/symfony/symfony/tree/v6.0.4", - "comment": "As set via `support.source` in composer package definition." - }, + "type": "vcs", + "url": "https://github.com/symfony/symfony/tree/v6.2.7", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ { - "type": "other", - "url": "https://symfony.com/sponsor", - "comment": "As set via `funding` in composer package definition. (type=custom)" + "name": "cdx:composer:package:distReference", + "value": "80cac46a31d4561804c17d101591a4f59e6db3a2" }, { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" + "name": "cdx:composer:package:sourceReference", + "value": "80cac46a31d4561804c17d101591a4f59e6db3a2" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "name": "cdx:composer:package:type", + "value": "library" } ] }, { - "bom-ref": "pkg:composer/twig/twig@3.3.8", + "bom-ref": "twig/twig-3.5.1.0", "type": "library", "name": "twig", - "version": "3.3.8", + "version": "v3.5.1", "group": "twig", "description": "Twig, the flexible, fast, and secure template language for PHP", + "author": "Fabien Potencier, Twig Team, Armin Ronacher", "licenses": [ { "license": { @@ -1180,166 +1154,155 @@ } } ], - "purl": "pkg:composer/twig/twig@3.3.8", "externalReferences": [ { "type": "distribution", - "url": "https://github.com/twigphp/Twig.git", - "comment": "As detected by composer's `getSourceUrls()` (type=git & reference=972d8604a92b7054828b539f2febb0211dd5945c)" + "url": "https://api.github.com/repos/twigphp/Twig/zipball/a6e0510cc793912b451fd40ab983a1d28f611c15" }, { - "type": "distribution", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/972d8604a92b7054828b539f2febb0211dd5945c", - "comment": "As detected by composer's `getDistUrls()` (type=zip & reference=972d8604a92b7054828b539f2febb0211dd5945c & sha1=UNDEFINED)" + "type": "vcs", + "url": "https://github.com/twigphp/Twig.git" }, { "type": "website", "url": "https://twig.symfony.com", - "comment": "As set via `homepage` in composer package definition." + "comment": "as detected from Composer manifest 'homepage'" }, { "type": "issue-tracker", "url": "https://github.com/twigphp/Twig/issues", - "comment": "As set via `support.issues` in composer package definition." + "comment": "as detected from Composer manifest 'support.issues'" }, { - "type": "distribution", - "url": "https://github.com/twigphp/Twig/tree/v3.3.8", - "comment": "As set via `support.source` in composer package definition." + "type": "vcs", + "url": "https://github.com/twigphp/Twig/tree/v3.5.1", + "comment": "as detected from Composer manifest 'support.source'" + } + ], + "properties": [ + { + "name": "cdx:composer:package:distReference", + "value": "a6e0510cc793912b451fd40ab983a1d28f611c15" }, { - "type": "other", - "url": "https://github.com/fabpot", - "comment": "As set via `funding` in composer package definition. (type=github)" + "name": "cdx:composer:package:sourceReference", + "value": "a6e0510cc793912b451fd40ab983a1d28f611c15" }, { - "type": "other", - "url": "https://tidelift.com/funding/github/packagist/twig/twig", - "comment": "As set via `funding` in composer package definition. (type=tidelift)" + "name": "cdx:composer:package:type", + "value": "library" } ] } ], "dependencies": [ { - "ref": "pkg:composer/doctrine/cache@2.1.1" + "ref": "doctrine/event-manager-2.0.0.0" }, { - "ref": "pkg:composer/doctrine/collections@1.6.8" - }, - { - "ref": "pkg:composer/doctrine/deprecations@0.5.3" - }, - { - "ref": "pkg:composer/doctrine/event-manager@1.1.1" - }, - { - "ref": "pkg:composer/doctrine/persistence@2.3.0", + "ref": "doctrine/persistence-3.1.4.0", "dependsOn": [ - "pkg:composer/doctrine/cache@2.1.1", - "pkg:composer/doctrine/collections@1.6.8", - "pkg:composer/doctrine/deprecations@0.5.3", - "pkg:composer/doctrine/event-manager@1.1.1", - "pkg:composer/psr/cache@3.0.0" + "doctrine/event-manager-2.0.0.0", + "psr/cache-3.0.0.0" ] }, { - "ref": "pkg:composer/friendsofphp/proxy-manager-lts@1.0.5", + "ref": "friendsofphp/proxy-manager-lts-1.0.14.0", "dependsOn": [ - "pkg:composer/laminas/laminas-code@4.5.1" + "laminas/laminas-code-4.10.0.0" ] }, { - "ref": "pkg:composer/laminas/laminas-code@4.5.1" + "ref": "laminas/laminas-code-4.10.0.0" + }, + { + "ref": "psr/cache-3.0.0.0" }, { - "ref": "pkg:composer/psr/cache@3.0.0" + "ref": "psr/clock-1.0.0.0" }, { - "ref": "pkg:composer/psr/container@2.0.2" + "ref": "psr/container-2.0.2.0" }, { - "ref": "pkg:composer/psr/event-dispatcher@1.0.0" + "ref": "psr/event-dispatcher-1.0.0.0" }, { - "ref": "pkg:composer/psr/link@2.0.1" + "ref": "psr/link-2.0.1.0" }, { - "ref": "pkg:composer/psr/log@3.0.0" + "ref": "psr/log-3.0.0.0" }, { - "ref": "pkg:composer/symfony/contracts@3.0.0", + "ref": "symfony/contracts-3.2.1.0", "dependsOn": [ - "pkg:composer/psr/cache@3.0.0", - "pkg:composer/psr/container@2.0.2", - "pkg:composer/psr/event-dispatcher@1.0.0" + "psr/cache-3.0.0.0", + "psr/container-2.0.2.0", + "psr/event-dispatcher-1.0.0.0" ] }, { - "ref": "pkg:composer/symfony/polyfill-ctype@1.24.0" + "ref": "symfony/polyfill-ctype-1.27.0.0" }, { - "ref": "pkg:composer/symfony/polyfill-intl-grapheme@1.24.0" + "ref": "symfony/polyfill-intl-grapheme-1.27.0.0" }, { - "ref": "pkg:composer/symfony/polyfill-intl-icu@1.24.0" + "ref": "symfony/polyfill-intl-icu-1.27.0.0" }, { - "ref": "pkg:composer/symfony/polyfill-intl-idn@1.24.0", + "ref": "symfony/polyfill-intl-idn-1.27.0.0", "dependsOn": [ - "pkg:composer/symfony/polyfill-intl-normalizer@1.24.0", - "pkg:composer/symfony/polyfill-php72@1.24.0" + "symfony/polyfill-intl-normalizer-1.27.0.0", + "symfony/polyfill-php72-1.27.0.0" ] }, { - "ref": "pkg:composer/symfony/polyfill-intl-normalizer@1.24.0" - }, - { - "ref": "pkg:composer/symfony/polyfill-mbstring@1.24.0" + "ref": "symfony/polyfill-intl-normalizer-1.27.0.0" }, { - "ref": "pkg:composer/symfony/polyfill-php72@1.24.0" + "ref": "symfony/polyfill-mbstring-1.27.0.0" }, { - "ref": "pkg:composer/symfony/polyfill-php81@1.24.0" + "ref": "symfony/polyfill-php72-1.27.0.0" }, { - "ref": "pkg:composer/symfony/polyfill-uuid@1.24.0" + "ref": "symfony/polyfill-uuid-1.27.0.0" }, { - "ref": "pkg:composer/symfony/symfony@6.0.4", + "ref": "symfony/symfony-6.2.7.0", "dependsOn": [ - "pkg:composer/doctrine/event-manager@1.1.1", - "pkg:composer/doctrine/persistence@2.3.0", - "pkg:composer/friendsofphp/proxy-manager-lts@1.0.5", - "pkg:composer/psr/cache@3.0.0", - "pkg:composer/psr/container@2.0.2", - "pkg:composer/psr/event-dispatcher@1.0.0", - "pkg:composer/psr/link@2.0.1", - "pkg:composer/psr/log@3.0.0", - "pkg:composer/symfony/contracts@3.0.0", - "pkg:composer/symfony/polyfill-ctype@1.24.0", - "pkg:composer/symfony/polyfill-intl-grapheme@1.24.0", - "pkg:composer/symfony/polyfill-intl-icu@1.24.0", - "pkg:composer/symfony/polyfill-intl-idn@1.24.0", - "pkg:composer/symfony/polyfill-intl-normalizer@1.24.0", - "pkg:composer/symfony/polyfill-mbstring@1.24.0", - "pkg:composer/symfony/polyfill-php81@1.24.0", - "pkg:composer/symfony/polyfill-uuid@1.24.0", - "pkg:composer/twig/twig@3.3.8" + "doctrine/event-manager-2.0.0.0", + "doctrine/persistence-3.1.4.0", + "friendsofphp/proxy-manager-lts-1.0.14.0", + "psr/cache-3.0.0.0", + "psr/clock-1.0.0.0", + "psr/container-2.0.2.0", + "psr/event-dispatcher-1.0.0.0", + "psr/link-2.0.1.0", + "psr/log-3.0.0.0", + "symfony/contracts-3.2.1.0", + "symfony/polyfill-ctype-1.27.0.0", + "symfony/polyfill-intl-grapheme-1.27.0.0", + "symfony/polyfill-intl-icu-1.27.0.0", + "symfony/polyfill-intl-idn-1.27.0.0", + "symfony/polyfill-intl-normalizer-1.27.0.0", + "symfony/polyfill-mbstring-1.27.0.0", + "symfony/polyfill-uuid-1.27.0.0", + "twig/twig-3.5.1.0" ] }, { - "ref": "pkg:composer/twig/twig@3.3.8", + "ref": "twig/twig-3.5.1.0", "dependsOn": [ - "pkg:composer/symfony/polyfill-ctype@1.24.0", - "pkg:composer/symfony/polyfill-mbstring@1.24.0" + "symfony/polyfill-ctype-1.27.0.0", + "symfony/polyfill-mbstring-1.27.0.0" ] }, { - "ref": "pkg:composer/cyclonedx/cyclonedx-php-composer-demo@dev-master", + "ref": "cyclonedx/cyclonedx-php-composer-demo-dev-next", "dependsOn": [ - "pkg:composer/symfony/symfony@6.0.4" + "symfony/symfony-6.2.7.0" ] } ] diff --git a/demo/symfony/example-results/bom.xml b/demo/symfony/example-results/bom.xml index 0d541104..a05cef08 100644 --- a/demo/symfony/example-results/bom.xml +++ b/demo/symfony/example-results/bom.xml @@ -1,313 +1,236 @@ - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + - + - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + - - - + - - - + + - + - + - - - - - - - - - - - - - - - + + + + + + + + - + + - + - - - + - - - + + - - + + - + - - - + + + + + + + + - + + - + - - - + - - - + + - + - - - - - + - - - - - - - + + + + + + + + - + - + - - - + - - - + + - + - + - + - + - + - + - + - + - + - - - - - + + + + + + - + + @@ -317,23 +240,63 @@ - + + + - - - - + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + - + + @@ -343,31 +306,34 @@ - - - - - - + + + - + - + - + - + + + + + + - + + @@ -377,27 +343,30 @@ - - - - - - + + + - + - + - + + + + + + - + + @@ -407,27 +376,30 @@ - - - - - - + + + - + - + - + + + + + + - + + @@ -437,599 +409,458 @@ - - - - - - + + + - + - + - + + + + + + - + + - + - - - + - - - + + - + - - - - - - - - - - - - - - - + + + + + + + + - + + - + - - - + - - - + + - + - - - - - - - - - - - - - - - + + + + + + + + - + + - + - - - + - - - + + - - - - - + - - - - - - - - - - - + + + + + + + + - + + - + - - - + - - - + + - + - - - - - - - - - - - - - - - + + + + + + + + - + + - + - - - + - - - + + - - - - - - - - - + - - - - - - - + + + + + + + + - + + - + - - - + - - - + + - + - - - - - - - - - - - - - - - + + + + + + + + - + + - + - - - + - - - + + - + - - - - - - - - - - - - - - - + + + + + + + + - + + - + - - - + - - - + + - + - - - - - - - - - - - - - - - + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + - - - + - - - + + - + - - - - - - - - - - - - - - - + + + + + + + + - + + - + - - - + - - - + + - + - + - - - - - - - - - - - - - - - + + + + + + + + - + + - + - - - + - - - + + - + - - - - - - - - - + - - - + + + + + + + + - - - - - - - - - - + + + + - - + + - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - + + diff --git a/demo/symfony/project/.gitignore b/demo/symfony/project/.gitignore index 448e3388..331e7858 100644 --- a/demo/symfony/project/.gitignore +++ b/demo/symfony/project/.gitignore @@ -3,6 +3,3 @@ !/.gitattributes !/composer.json - -!/composer.template.json -!/temp_setup-helper.sh diff --git a/demo/symfony/project/composer.json b/demo/symfony/project/composer.json index 05cf2309..0c6da6ca 100644 --- a/demo/symfony/project/composer.json +++ b/demo/symfony/project/composer.json @@ -2,21 +2,18 @@ "name": "cyclonedx/cyclonedx-php-composer-demo", "description": "demo of cyclonedx/cyclonedx-php-composer with symfony/symfony", "type": "project", + "authors": [ + { + "name": "Jan Kowalleck" + } + ], "require": { "symfony/symfony": "@stable" }, "require-dev": { - "cyclonedx/cyclonedx-php-composer": "@dev", "roave/security-advisories": "dev-latest" }, - "repositories": [ - { - "type": "path", - "url": "../../..", - "symlink": true - } - ], - "minimum-stability": "stable", + "minimum-stability": "dev", "prefer-stable": true, "config": { "allow-plugins": { @@ -25,5 +22,21 @@ }, "preferred-install": "dist", "sort-packages": true + }, + "scripts": { + "create-sbom-results": [ + "@create-sbom-results:JSON", + "@create-sbom-results:XML" + ], + "create-sbom-results:JSON": [ + "@composer -d ../../.tool CycloneDX:make-sbom --omit=dev --output-format=JSON --output-file=$PWD/../example-results/bom.json $PWD/composer.json" + ], + "create-sbom-results:XML": [ + "@composer -d ../../.tool CycloneDX:make-sbom --omit=dev --output-format=XML --output-file=$PWD/../example-results/bom.xml $PWD/composer.json" + ], + "setup": [ + "@composer -d ../../.tool update", + "@composer update" + ] } } diff --git a/phpunit.xml.dist b/phpunit.dist.xml similarity index 81% rename from phpunit.xml.dist rename to phpunit.dist.xml index 8713118c..2170730a 100644 --- a/phpunit.xml.dist +++ b/phpunit.dist.xml @@ -1,16 +1,15 @@ @@ -22,17 +21,13 @@ src - - diff --git a/psalm.xml.dist b/psalm.xml.dist index 72085fd1..574b11aa 100644 --- a/psalm.xml.dist +++ b/psalm.xml.dist @@ -5,6 +5,8 @@ errorLevel="1" checkForThrowsDocblock="true" findUnusedPsalmSuppress="false" + findUnusedVariablesAndParams="true" + findUnusedCode="true" ensureArrayStringOffsetsExist="true" ensureArrayIntOffsetsExist="true" cacheDirectory=".psalm.cache" @@ -12,7 +14,4 @@ - - - diff --git a/semver.txt b/semver.txt index afad8186..4a0b450f 100644 --- a/semver.txt +++ b/semver.txt @@ -1 +1 @@ -3.11.0 +4.0.0-beta.0 diff --git a/src/Builders/BomBuilder.php b/src/Builders/BomBuilder.php deleted file mode 100644 index 255cff27..00000000 --- a/src/Builders/BomBuilder.php +++ /dev/null @@ -1,144 +0,0 @@ -componentBuilder = $componentBuilder; - $this->tool = $tool; - } - - public function getComponentBuilder(): ComponentBuilder - { - return $this->componentBuilder; - } - - public function getTool(): Tool - { - return $this->tool; - } - - /** - * Generates BOMs based on Composer's lockData. - * - * @throws \UnexpectedValueException if a package does not provide a name or version - * @throws \DomainException if the bom structure had unexpected values - * @throws \RuntimeException - */ - public function makeForPackageWithRequires( - RootPackageInterface $rootPackage, - LockArrayRepository $requires, - ?string $rootPackageVersionOverride - ): Bom { - $rootComponent = $this->componentBuilder->makeFromPackage($rootPackage, $rootPackageVersionOverride); - - $requiresPackageComponent = []; - foreach ($requires->getPackages() as $requirePackage) { - $requiresPackageComponent[] = [ - $requirePackage, - $this->componentBuilder->makeFromPackage($requirePackage), - ]; - } - unset($requirePackage); - $requiresComponentRepo = new ComponentRepository(...array_column($requiresPackageComponent, 1)); - - if (\count($requiresPackageComponent) > 0) { - // the $rootComponent needs to be part of $allComponents so all cyclic dependencies are visible - $allBomComponents = new ComponentRepository($rootComponent, ...$requiresComponentRepo->getComponents()); - $this->setComponentDependencies( - $rootComponent, - $allBomComponents, - // If dev-requires were found in $requiresComponentRepo then they must be made visible. - // It is on the outer logic to decide, if dev-requires are included in $requiresComponentRepo - array_merge($rootPackage->getRequires(), $rootPackage->getDevRequires()) - ); - foreach ($requiresPackageComponent as [$requirePackage, $component]) { - $this->setComponentDependencies($component, $allBomComponents, $requirePackage->getRequires()); - } - unset($allBomComponents, $component, $requirePackage); - } - - return (new Bom($requiresComponentRepo)) - ->setMetaData( - (new MetaData()) - ->setComponent($rootComponent) - ->setTools(new ToolRepository($this->tool)) - ); - } - - /** - * @param \Composer\Package\Link[] $requires - */ - private function setComponentDependencies( - Component $component, - ComponentRepository $components, - array $requires - ): void { - $componentGetBomRef = static function (Component $c): BomRef { - return $c->getBomRef(); - }; - - $bomRefs = []; - foreach ($requires as $require) { - [$name, $vendor] = $this->componentBuilder->splitNameAndVendor($require->getTarget()); - array_push( - $bomRefs, - ...array_map( - $componentGetBomRef, - $components->findComponents($name, $vendor) - ) - ); - } - - $component->setDependenciesBomRefRepository( - empty($bomRefs) - ? null - : new BomRefRepository(...$bomRefs) - ); - } -} diff --git a/src/Builders/ComponentBuilder.php b/src/Builders/ComponentBuilder.php deleted file mode 100644 index 465d9f02..00000000 --- a/src/Builders/ComponentBuilder.php +++ /dev/null @@ -1,219 +0,0 @@ -licenseFactory = $licenseFactory; - $this->packageUrlFactory = $packageUrlFactory; - $this->externalReferenceRepositoryBuilder = $externalReferenceRepositoryBuilder; - $this->enableVersionNormalization = $enableVersionNormalization; - } - - public function getLicenseFactory(): LicenseFactory - { - return $this->licenseFactory; - } - - public function getPackageUrlFactory(): PackageUrlFactory - { - return $this->packageUrlFactory; - } - - public function setVersionNormalization(bool $enableVersionNormalization): self - { - $this->enableVersionNormalization = $enableVersionNormalization; - - return $this; - } - - public function getVersionNormalization(): bool - { - return $this->enableVersionNormalization; - } - - /** - * @throws \UnexpectedValueException if the given package does not provide a name or version - */ - public function makeFromPackage(PackageInterface $package, ?string $packageVersionOverride = null): Component - { - $rawName = $package->getPrettyName(); - if (empty($rawName)) { - throw new \UnexpectedValueException('Encountered package without name:'.\PHP_EOL.print_r($package, true)); - } - - $version = $packageVersionOverride ?? $this->getPackageVersion($package); - if ('' === $version) { - throw new \UnexpectedValueException("Encountered package without version: $rawName"); - } - - $type = $this->getComponentType($package); - [$name, $vendor] = $this->splitNameAndVendor($rawName); - - /** @psalm-suppress MissingThrowsDocblock since correct $type is asserted */ - $component = new Component($type, $name, $version); - - $component->setGroup($vendor); - - if ($package instanceof CompletePackageInterface) { - $component->setDescription($package->getDescription()); - $component->setLicense($this->licenseFactory->makeFromPackage($package)); - } - - $sha1sum = $package->getDistSha1Checksum(); - if (false === empty($sha1sum)) { - $component->setHashRepository(new HashRepository([HashAlgorithm::SHA_1 => $sha1sum])); - } - - try { - $purl = $this->packageUrlFactory->makeFromComponent($component); - if ($this->compatGetDefaultPrettyVersion() === $version) { - $purl->setVersion(null); - } - $component->setPackageUrl($purl); - $component->setBomRefValue((string) $purl); - } catch (\DomainException $exception) { - unset($exception); - } - - $component->setExternalReferenceRepository( - $this->externalReferenceRepositoryBuilder->makeFromPackage($package) - ); - - return $component; - } - - /** - * Not all versions of composer have {@see RootPackage::DEFAULT_PRETTY_VERSION}. - * This is a compatibility layer for it. - */ - private function compatGetDefaultPrettyVersion(): string - { - $r = new \ReflectionClass(RootPackage::class); - - return $r->hasConstant('DEFAULT_PRETTY_VERSION') - ? (string) $r->getConstant('DEFAULT_PRETTY_VERSION') - : '1.0.0+no-version-set'; - } - - /** - * @psalm-return array{string, ?string} - */ - public function splitNameAndVendor(string $packageName): array - { - // Composer2 requires published packages to be named like /. - // Because this was a loose requirement in composer1 that doesn't apply to "internal" packages, - // we need to consider that the vendor name may be omitted. - // See https://getcomposer.org/doc/04-schema.md#name - // This is still done for backward compatibility reasons. - if (false === strpos($packageName, '/')) { - $name = $packageName; - $vendor = null; - } else { - [$vendor, $name] = explode('/', $packageName, 2); - } - - return [$name, $vendor]; - } - - private function getPackageVersion(PackageInterface $package): string - { - $version = $package->getPrettyVersion(); - if ('' === $version) { - $version = $this->compatGetDefaultPrettyVersion(); - } - - if ($package->isDev()) { - // package is installed in dev-mode - // so the version is already final. - return $version; - } - - if ($this->enableVersionNormalization) { - // Versions of Composer packages may be prefixed with "v". - // * This prefix appears to be problematic for CPE and PURL matching and thus is removed here. - // * - // * See for example {@link https://ossindex.sonatype.org/component/pkg:composer/phpmailer/phpmailer@v6.0.7} - // * vs {@link https://ossindex.sonatype.org/component/pkg:composer/phpmailer/phpmailer@6.0.7}. - // - // A _numeric_ version can be prefixed with 'v'. - // Strip leading 'v' must not be applied if the "version" is actually a branch name, - // which is totally fine in the composer ecosystem. - // - // will be removed via https://github.com/CycloneDX/cyclonedx-php-composer/issues/102 - // @TODO remove the whole normalizer with next major version - if (1 === preg_match('/^v\\d/', $version)) { - return substr($version, 1); - } - } - - return $version; - } - - /** - * composer has no option to distinguish framework/library, yet. - * but composer knows projects and plugins, which are equivalent to application. - * - * @see https://getcomposer.org/doc/04-schema.md#type - */ - private function getComponentType(PackageInterface $package): string - { - return \in_array($package->getType(), ['project', 'composer-plugin'], true) - ? Classification::APPLICATION - : Classification::LIBRARY; - } -} diff --git a/src/Builders/ExternalReferenceRepositoryBuilder.php b/src/Builders/ExternalReferenceRepositoryBuilder.php deleted file mode 100644 index 80d4b337..00000000 --- a/src/Builders/ExternalReferenceRepositoryBuilder.php +++ /dev/null @@ -1,247 +0,0 @@ - - */ - private const MAP_PackageSupportType_ExtRefType = [ - 'source' => ExternalReferenceType::DISTRIBUTION, - 'issues' => ExternalReferenceType::ISSUE_TRACKER, - 'irc' => ExternalReferenceType::CHAT, - 'chat' => ExternalReferenceType::CHAT, - 'docs' => ExternalReferenceType::DOCUMENTATION, - 'wiki' => ExternalReferenceType::DOCUMENTATION, - 'email' => ExternalReferenceType::OTHER, // not sure if mailbox or mailing-list - ]; - - /** - * Map composer's `support` keys to function the `support` value will be applied to. - * Any non-listed value shall not be modified. - * - * @psalm-var array - */ - private const MAP_PackageSupportType_ModifierFunction = [ - 'email' => [self::class, 'prefixMailto'], - ]; - - public function makeFromPackage(PackageInterface $package): ExternalReferenceRepository - { - $repo = new ExternalReferenceRepository( - ...iterator_to_array($this->getSource($package), false), - ...iterator_to_array($this->getDist($package), false) - ); - - if ($package instanceof CompletePackageInterface) { - $homepage = $this->getHomepage($package); - if (null !== $homepage) { - $repo->addExternalReference($homepage); - } - - $repo->addExternalReference( - ...iterator_to_array($this->getSupport($package), false), - ...iterator_to_array($this->getFunding($package), false) - ); - } - - return $repo; - } - - /** - * @see https://getcomposer.org/doc/04-schema.md#repositories - * - * @psalm-return Generator - */ - private function getSource(PackageInterface $package): \Generator - { - $urls = $package->getSourceUrls(); - if (empty($urls)) { - // safe: some composer versions may return null or empty list - return; - } - - $type = $package->getSourceType() ?: self::MARKER_UNDEFINED; - $reference = $package->getSourceReference() ?: self::MARKER_UNDEFINED; - $comment = "As detected by composer's `getSourceUrls()` (type=$type & reference=$reference)"; - - foreach ($urls as $url) { - if (empty($url)) { - continue; - } - - yield (new ExternalReference(ExternalReferenceType::DISTRIBUTION, $url)) - ->setComment($comment); - } - } - - /** - * @see https://getcomposer.org/doc/04-schema.md#repositories - * - * @psalm-return Generator - */ - private function getDist(PackageInterface $package): \Generator - { - $urls = $package->getDistUrls(); - if (empty($urls)) { - // safe: some composer versions may return null or empty list - return; - } - - $type = $package->getDistType() ?: self::MARKER_UNDEFINED; - $reference = $package->getDistReference() ?: self::MARKER_UNDEFINED; - - $sha1Checksum = $package->getDistSha1Checksum(); - $hashRepo = empty($sha1Checksum) - ? null - : new HashRepository([HashAlgorithm::SHA_1 => $sha1Checksum]); - - $sha1comment = $sha1Checksum ?: self::MARKER_UNDEFINED; - $comment = "As detected by composer's `getDistUrls()` (type=$type & reference=$reference & sha1=$sha1comment)"; - - foreach ($urls as $url) { - if (empty($url)) { - continue; - } - - yield (new ExternalReference(ExternalReferenceType::DISTRIBUTION, $url)) - ->setComment($comment) - ->setHashRepository( - // $hashRepo is not a clone, since the values are same object for each mirror - $hashRepo - ); - } - } - - /** - * @see https://getcomposer.org/doc/04-schema.md#homepage - */ - private function getHomepage(CompletePackageInterface $package): ?ExternalReference - { - $homepage = $package->getHomepage(); - if (empty($homepage)) { - // safe: some composer versions may return null or empty string - return null; - } - - try { - return (new ExternalReference(ExternalReferenceType::WEBSITE, $homepage)) - ->setComment('As set via `homepage` in composer package definition.'); - // @codeCoverageIgnoreStart - } catch (\DomainException $ex) { - // pass - as this case either never happens or can be ignored - return null; - } - // @codeCoverageIgnoreEnd - } - - /** - * @see https://getcomposer.org/doc/04-schema.md#support - * - * @psalm-return Generator - */ - private function getSupport(CompletePackageInterface $package): \Generator - { - $support = $package->getSupport(); - if (empty($support)) { - // safe: some composer versions may return null or empty list - return; - } - - foreach ($support as $supportType => $supportValue) { - /** @psalm-var ?callable(string):string $modifierFunction */ - $modifierFunction = self::MAP_PackageSupportType_ModifierFunction[$supportType] ?? null; - $extRefUri = (null === $modifierFunction) - ? $supportValue - : $modifierFunction($supportValue); - - if (empty($extRefUri)) { - continue; - } - - $extRefType = self::MAP_PackageSupportType_ExtRefType[$supportType] ?? ExternalReferenceType::SUPPORT; - - yield $supportType => (new ExternalReference($extRefType, $extRefUri)) - ->setComment("As set via `support.$supportType` in composer package definition."); - } - } - - /** - * For some entities it is important to keep their dependencies alive via funding. - * - * @see https://getcomposer.org/doc/04-schema.md#funding - * - * @psalm-return Generator - */ - private function getFunding(CompletePackageInterface $package): \Generator - { - $fundings = $package->getFunding(); - if (empty($fundings)) { - // safe: some composer versions may return null or empty list - return null; - } - - foreach ($fundings as $funding) { - $url = $funding['url'] ?? null; - if (empty($url)) { - continue; - } - $type = $funding['type'] ?? self::MARKER_UNDEFINED; - - yield (new ExternalReference(ExternalReferenceType::OTHER, $url)) - ->setComment("As set via `funding` in composer package definition. (type=$type)"); - } - } - - private static function prefixMailto(string $mail): string - { - if ('' === $mail) { - return ''; - } - - return 0 === strpos($mail, 'mailto:') - ? $mail - : "mailto:$mail"; - } -} diff --git a/src/Factories/LicenseFactory.php b/src/Factories/LicenseFactory.php deleted file mode 100644 index 45eb8f71..00000000 --- a/src/Factories/LicenseFactory.php +++ /dev/null @@ -1,64 +0,0 @@ -getLicense(); - if (1 === \count($licenses)) { - // exactly one license - this COULD be an expression - try { - return $this->makeExpression(reset($licenses)); - } catch (\DomainException $exception) { - unset($exception); - } - } - - return $this->makeDisjunctiveLicenseRepository(...array_values($licenses)); - } - - protected function makeDisjunctiveLicenseRepository(string ...$licenses): DisjunctiveLicenseRepository - { - return new DisjunctiveLicenseRepository( - ...array_map( - [$this, 'makeDisjunctive'], - $licenses - ) - ); - } -} diff --git a/src/Factories/PackageUrlFactory.php b/src/Factories/PackageUrlFactory.php deleted file mode 100644 index 7e21f7db..00000000 --- a/src/Factories/PackageUrlFactory.php +++ /dev/null @@ -1,62 +0,0 @@ -getName()); - - $hashes = $component->getHashRepository(); - if (null !== $hashes) { - $sha1sum = $hashes->getHash(HashAlgorithm::SHA_1); - if (null !== $sha1sum) { - $purl->setChecksums(["sha1:$sha1sum"]); - } - } - - return $purl - ->setNamespace($component->getGroup()) - ->setVersion($component->getVersion()); - } -} diff --git a/src/Factories/SpecFactory.php b/src/Factories/SpecFactory.php deleted file mode 100644 index fb1b3f09..00000000 --- a/src/Factories/SpecFactory.php +++ /dev/null @@ -1,66 +0,0 @@ -> - */ - public const SPECS = [ - Version::V_1_1 => Spec11::class, - Version::V_1_2 => Spec12::class, - Version::V_1_3 => Spec13::class, - ]; - - /** - * @psalm-assert Version::V_* $version - * - * @throws \UnexpectedValueException if version is unknown - */ - public function make(string $version = self::VERSION_LATEST): SpecInterface - { - if (false === \array_key_exists($version, self::SPECS)) { - throw new \UnexpectedValueException("Unexpected spec-version: $version"); - } - $class = self::SPECS[$version]; - - return new $class(); - } -} diff --git a/src/MakeBom/Builder.php b/src/MakeBom/Builder.php new file mode 100644 index 00000000..9cb841f6 --- /dev/null +++ b/src/MakeBom/Builder.php @@ -0,0 +1,423 @@ +getPackage(); + $rootComponent = $this->createComponentFromRootPackage($rootPackage); + + $withDevReqs = false === $this->omitDev; + $packagesRepo = $this->getPackageRepo($composer, $withDevReqs); + + // region packages & components + /** + * @psalm-var list $packages + * + * @psalm-suppress MixedArgument + * @psalm-suppress UnnecessaryVarAnnotation + */ + $packages = array_values( + method_exists($packagesRepo, 'getCanonicalPackages') + // since composer 2.4 + ? $packagesRepo->getCanonicalPackages() + : $packagesRepo->getPackages() + ); + /** @psalm-var array */ + $components = []; + foreach ($packages as $package) { + if ($this->omitPlugin && \in_array($package->getType(), self::ComposerPackageType_Plugin)) { + continue; + } + $components[$package->getName()] = $this->createComponentFromPackage($package); + } + unset($package); + // endregion packages & components + + // region mark/omit dev-dependencies + $devDependencies = $packagesRepo instanceof InstalledRepositoryInterface + ? $packagesRepo->getDevPackageNames() + : $composer->getLocker()->getDevPackageNames(); + foreach ($rootPackage->getDevRequires() as $required) { + $requiredPackage = $packagesRepo->findPackage($required->getTarget(), $required->getConstraint()); + if (null === $requiredPackage) { + continue; + } + $devDependencies[] = $requiredPackage->getName(); + unset($required, $requiredPackage); + } + if ($withDevReqs) { + foreach (array_unique($devDependencies) as $packageName) { + if (isset($components[$packageName])) { + $components[$packageName]->getProperties()->addItems( + new Models\Property(Properties::Name_DevRequirement, Properties::Value_True)); + } + } + } else { + foreach ($devDependencies as $packageName) { + unset($components[$packageName]); + } + } + unset($devDependencies, $packageName); + // endregion mark dev-dependencies + + // region dependency graph + /** ALL Components, also the RootComponent, to make circular dependencies visible */ + $allComponents = [$rootPackage->getName() => $rootComponent] + $components; + /** + * @var PackageInterface $package + * + * @psalm-suppress UnnecessaryVarAnnotation -- as it is needed for some IDE + */ + foreach ($packages as $package) { + $component = $allComponents[$package->getName()] ?? null; + if (null === $component) { + continue; + } + foreach ($package->getRequires() as $required) { + $requiredPackage = $packagesRepo->findPackage($required->getTarget(), $required->getConstraint()); + if (null === $requiredPackage) { + continue; + } + $dependency = $allComponents[$requiredPackage->getName()] ?? null; + if (null !== $dependency) { + $component->getDependencies()->addItems($dependency->getBomRef()); + } + } + unset($package, $component, $required, $dependency); + } + foreach ([...$rootPackage->getRequires(), ...$rootPackage->getDevRequires()] as $required) { + $requiredPackage = $packagesRepo->findPackage($required->getTarget(), $required->getConstraint()); + if (null === $requiredPackage) { + continue; + } + $dependency = $allComponents[$requiredPackage->getName()] ?? null; + if (null !== $dependency) { + $rootComponent->getDependencies()->addItems($dependency->getBomRef()); + } + } + unset($allComponents); + // endregion dependency graph + + // region finalize components + $bom = new Models\Bom(); + $bom->getMetadata()->setComponent($rootComponent); + $bom->getComponents()->addItems(...$components); + // endregion finalize components + + return $bom; + } + + /** + * @psalm-suppress MissingThrowsDocblock + */ + private function createComponentFromRootPackage(RootPackageInterface $package): Models\Component + { + $component = $this->createComponentFromPackage($package, $this->mainComponentVersion); + + if (RootPackage::DEFAULT_PRETTY_VERSION === $component->getVersion()) { + $component->setVersion(null); + } + + return $component + ->setType(Enums\ComponentType::Application) + ->setPackageUrl($this->createPurlFromComponent($component)); + } + + /** + * return tuple: ($group:?string, $name:string). + * + * @psalm-return array{0:null|string, 1:string} + */ + private function getGroupAndName(string $composerPackageName): array + { + $groupAndName = explode('/', $composerPackageName, 2); + + return 2 === \count($groupAndName) + ? [$groupAndName[0], $groupAndName[1]] + : [null, $groupAndName[0]]; + } + + /** + * @psalm-suppress MissingThrowsDocblock + */ + private function createComponentFromPackage(PackageInterface $package, ?string $versionOverride = null): Models\Component + { + [$group, $name] = $this->getGroupAndName($package->getName()); + $version = $versionOverride ?? $package->getFullPrettyVersion(); + $distReference = $package->getDistReference(); + $sourceReference = $package->getSourceReference(); + + $component = new Models\Component(Enums\ComponentType::Library, $name); + $component->setBomRefValue($package->getUniqueName()); + $component->setGroup($group); + $component->setVersion($version); + $component->getHashes()->set(Enums\HashAlgorithm::SHA_1, $package->getDistSha1Checksum()); + $component->getExternalReferences()->addItems( + ...$this->createExternalReferencesFromPackage($package) + ); + + if (null !== $distReference && '' !== $distReference) { + $component->getProperties()->addItems( + new Models\Property(Properties::Name_DistReference, $distReference) + ); + } + if (null !== $sourceReference && '' !== $sourceReference) { + $component->getProperties()->addItems( + new Models\Property(Properties::Name_SourceReference, $sourceReference) + ); + } + + if ($package instanceof CompletePackageInterface) { + $component->setDescription($package->getDescription()); + $component->setAuthor($this->createAuthorString($package)); + $component->getLicenses()->addItems( + ...array_map( + $this->licenseFactory->makeFromString(...), + $package->getLicense() + ) + ); + } + + $component->getProperties()->addItems( + new Models\Property(Properties::Name_PackageType, $package->getType()) + ); + + // TODO continue set needed information + + return $component; + } + + private function createPurlFromComponent(Models\Component $component): ?PackageUrl + { + // TODO build from non-packagist sources + + try { + $purl = new PackageUrl('composer', $component->getName()); + } catch (\Throwable) { + return null; + } + + $purl->setNamespace($component->getGroup()); + $purl->setVersion($component->getVersion()); + + $sha1Sum = $component->getHashes()->get(Enums\HashAlgorithm::SHA_1); + if (null !== $sha1Sum) { + $purl->setChecksums(["sha1:$sha1Sum"]); + } + + return $purl; + } + + /** + * @psalm-return Generator + * + * @psalm-suppress MissingThrowsDocblock + */ + private function createExternalReferencesFromPackage(PackageInterface $package): Generator + { + foreach ($package->getDistUrls() as $distUrl) { + yield new Models\ExternalReference( + Enums\ExternalReferenceType::Distribution, + $distUrl + ); + } + + foreach ($package->getSourceUrls() as $sourceUrl) { + yield new Models\ExternalReference( + Enums\ExternalReferenceType::VCS, + $sourceUrl + ); + } + + if ($package instanceof CompletePackageInterface) { + $homepage = $package->getHomepage(); + if (null !== $homepage) { + yield (new Models\ExternalReference( + Enums\ExternalReferenceType::Website, + $homepage + ))->setComment("as detected from Composer manifest 'homepage'"); + } + + foreach ($package->getSupport() as $supportType => $supportUrl) { + $extRefType = match ($supportType) { + 'chat', 'irc' => Enums\ExternalReferenceType::Chat, + 'docs' => Enums\ExternalReferenceType::Documentation, + 'issues' => Enums\ExternalReferenceType::IssueTracker, + 'source' => Enums\ExternalReferenceType::VCS, + default => Enums\ExternalReferenceType::Other, + }; + yield (new Models\ExternalReference( + $extRefType, + $supportUrl + ))->setComment("as detected from Composer manifest 'support.$supportType'"); + } + } + } + + /** + * @throws Throwable when the repo could not be fetched + */ + private function getPackageRepo(Composer $composer, bool $withDevReqs): InstalledRepositoryInterface|LockArrayRepository + { + $packagesRepo = $composer->getRepositoryManager()->getLocalRepository(); + if (!$packagesRepo->isFresh()) { + return $packagesRepo; + } + + $composerLocker = $composer->getLocker(); + $withDevReqs = $withDevReqs && isset($composerLocker->getLockData()['packages-dev']); + + return $composerLocker->getLockedRepository($withDevReqs); + } + + /** + * @psalm-return Generator + * + * @psalm-suppress MissingThrowsDocblock + */ + public function createToolsFromComposer( + Composer $composer, + ?string $versionOverride = null, bool $excludeLibs = false + ): Generator { + $packageNames = [ + 'cyclonedx/cyclonedx-php-composer', + ]; + if (!$excludeLibs) { + $packageNames[] = 'cyclonedx/cyclonedx-library'; + } + + try { + $packagesRepo = $this->getPackageRepo($composer, true); + } catch (\Throwable) { + $packagesRepo = new LockArrayRepository(); + } + + foreach ($packageNames as $packageName) { + try { + yield $this->createToolFromPackage( + $packagesRepo->findPackage($packageName, new MatchAllConstraint()) + ?? throw new ValueError("package not found: $packageName"), + $versionOverride + ); + } catch (\Throwable) { + yield (new Models\Tool())->setName($packageName); + } + } + } + + /** + * @psalm-suppress MissingThrowsDocblock + */ + private function createToolFromPackage(PackageInterface $package, ?string $versionOverride = null): Models\Tool + { + [$group, $name] = $this->getGroupAndName($package->getName()); + + $tool = new Models\Tool(); + $tool->setName($name); + $tool->setVendor($group); + $tool->setVersion($versionOverride ?? $package->getFullPrettyVersion()); + $tool->getHashes()->set(Enums\HashAlgorithm::SHA_1, $package->getDistSha1Checksum()); + $tool->getExternalReferences()->addItems( + ...$this->createExternalReferencesFromPackage($package) + ); + + return $tool; + } + + private function createAuthorString(CompletePackageInterface $package): string + { + return implode(', ', array_filter( + array_map( + static fn (array $a): string => trim($a['name'] ?? ''), + $package->getAuthors() + ) + )); + } + + /** + * @throws Exception if an appropriate source of randomness cannot be found + */ + public static function createRandomBomSerialNumber(): string + { + return sprintf( + 'urn:uuid:%04x%04x-%04x-%04x-%04x-%04x%04x%04x', + random_int(0, 0xFFFF), + random_int(0, 0xFFFF), + random_int(0, 0xFFFF), + // UUID version 4 + random_int(0, 0x0FFF) | 0x4000, + // UUID version 4 variant 1 + random_int(0, 0x3FFF) | 0x8000, + random_int(0, 0xFFFF), + random_int(0, 0xFFFF), + random_int(0, 0xFFFF), + ); + } +} diff --git a/src/MakeBom/Command.php b/src/MakeBom/Command.php index f77e19d4..4ebd6404 100644 --- a/src/MakeBom/Command.php +++ b/src/MakeBom/Command.php @@ -24,15 +24,21 @@ namespace CycloneDX\Composer\MakeBom; use Composer\Command\BaseCommand; -use Composer\Composer; +use Composer\Factory as ComposerFactory; use Composer\IO\IOInterface; -use CycloneDX\Composer\Builders\BomBuilder; -use CycloneDX\Composer\MakeBom\Exceptions\ValueError; -use CycloneDX\Composer\ToolUpdater; -use CycloneDX\Core\Models\Bom; +use CycloneDX\Core\Serialization; +use CycloneDX\Core\Spec\Format; +use CycloneDX\Core\Spec\Spec; +use CycloneDX\Core\Spec\SpecFactory; +use CycloneDX\Core\Validation\Validator; +use CycloneDX\Core\Validation\Validators; +use DateTime; +use DomainException; +use Symfony\Component\Console\Exception\LogicException; use Symfony\Component\Console\Formatter\OutputFormatter; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; +use Throwable; /** * @internal @@ -41,296 +47,170 @@ */ class Command extends BaseCommand { - public const SUCCESS = 0; - public const FAILURE = 1; - public const INVALID = 2; - - /** - * @var Options - */ - private $options; - - /** - * @var Factory - */ - private $factory; - - /** - * @var \CycloneDX\Composer\Builders\BomBuilder - */ - private $bomBuilder; - /** - * @var ToolUpdater|null - */ - private $toolUpdater; - - /** - * alternative command, if this one os deprecated. - * - * @var string|null - */ - private $deprecatedAlternative; - - /** - * @throws \LogicException When the command name is empty + * @throws LogicException When the command name is empty */ public function __construct( - Options $options, - Factory $factory, - BomBuilder $bomFactory, - ?ToolUpdater $toolUpdater, - ?string $name = null + private readonly Options $options, + string $name, + private readonly ComposerFactory $composerFactory, ) { - $this->options = $options; - $this->factory = $factory; - $this->bomBuilder = $bomFactory; - $this->toolUpdater = $toolUpdater; parent::__construct($name); } - /** - * @return $this - */ - public function setDeprecated(?string $alternative): self - { - $this->deprecatedAlternative = $alternative; - - return $this; - } - protected function configure(): void { - $this->options->configureCommand($this); - $this->setDescription('Generate a CycloneDX Bill of Materials'); + $this + ->setDefinition($this->options->getDefinition()) + ->setDescription('Generate a CycloneDX Bill of Materials from a PHP Composer project.') + ; } /* * ALL LOG OUTPUT MUST BE WRITTEN AS ERROR, SO OUTPUT REDIRECT/PIPE OF RESULT WORKS PROPERLY */ - /** - * @throws \InvalidArgumentException - * @throws \UnexpectedValueException - * @throws \DomainException - * @throws \RuntimeException - * - * @psalm-return self::SUCCESS|self::FAILURE|self::INVALID - */ protected function execute(InputInterface $input, OutputInterface $output): int { $io = $this->getIO(); - if (!empty($this->deprecatedAlternative)) { - $io->writeError([ - ' ', // leading blank line - sprintf( - 'This command is deprecated; use "%s" instead.', - $this->deprecatedAlternative - ), - ' ', // trailing blank line - ]); - } - try { $this->options->setFromInput($input); - } catch (ValueError $valueError) { - $io->writeErrorRaw((string) $valueError, true, IOInterface::DEBUG); - $io->writeError( - sprintf( - 'Option Error: %s', - OutputFormatter::escape($valueError->getMessage()) - ) - ); + } catch (Throwable $error) { + $io->writeErrorRaw((string) $error, true, IOInterface::DEBUG); + $io->writeError(sprintf( + 'InputError: %s', + OutputFormatter::escape($error->getMessage()) + )); return self::INVALID; } - $io->writeErrorRaw(__METHOD__.' Options: '.print_r($this->options, true), true, IOInterface::DEBUG); - - $this->bomBuilder->getComponentBuilder()->setVersionNormalization( - false === $this->options->omitVersionNormalization - ); - - $this->updateTool(); - - $bomString = $this->makeBomString( - $this->makeBom( - $this->factory->makeComposer($this->options, $io) - ) - ); + $io->writeErrorRaw(__METHOD__.' Options: '.var_export($this->options, true), true, IOInterface::DEBUG); - if (false === $this->validateBomString($bomString)) { - $io->writeError( - [ - 'Failed to generate valid output.', - 'Please report the issue and provide the composer lock file of the current project to:', - 'https://github.com/CycloneDX/cyclonedx-php-composer/issues/new?template=ValidationError-report.md&labels=ValidationError&title=%5BValidationError%5D', - ] - ); + try { + $spec = SpecFactory::makeForVersion($this->options->specVersion); + $bom = $this->generateBom($io, $spec); + $this->validateBom($bom, $spec, $io); + $this->writeBom($bom, $io); + } catch (Throwable $error) { + $io->writeErrorRaw((string) $error, true, IOInterface::DEBUG); + $io->writeError(sprintf( + 'Error: %s', + OutputFormatter::escape($error->getMessage()) + )); return self::FAILURE; } - $io->writeError( - sprintf( - 'Write output to: %s', - OutputFormatter::escape($this->options->outputFile) - ), - true, - IOInterface::NORMAL - ); - ($this->factory->makeBomOutput($this->options) ?? $output) - ->write($bomString, false, OutputInterface::OUTPUT_RAW | OutputInterface::VERBOSITY_NORMAL); - return self::SUCCESS; } /** - * @throws \RuntimeException - * @throws \DomainException + * @throws Throwable on error */ - private function makeBom(Composer $composer): Bom + private function generateBom(IOInterface $io, Spec $spec): string { - $io = $this->getIO(); - $io->writeError('Generate BOM', true, IOInterface::VERBOSE); + $io->writeError('generate BOM...', verbosity: IOInterface::VERBOSE); - $rootPackage = $composer->getPackage(); - $components = $this->factory->makeLockerFromComposerForOptions($composer, $this->options); - $rootComponentVersionOverride = $this->options->mainComponentVersion; - - $bom = $this->bomBuilder->makeForPackageWithRequires($rootPackage, $components, $rootComponentVersionOverride); + $builder = new Builder( + \in_array('dev', $this->options->omit), + \in_array('plugin', $this->options->omit), + $this->options->mainComponentVersion + ); - $io->writeErrorRaw('Bom: '.print_r($bom, true), true, IOInterface::DEBUG); + $composerFile = $this->options->composerFile; + $projectDir = null === $composerFile + ? null + : \dirname($composerFile); + $io->writeError(sprintf('composerFile=%s projectDir=%s', OutputFormatter::escape($composerFile ?? ''), OutputFormatter::escape($projectDir ?? '')), verbosity: IOInterface::DEBUG); + $subjectComposer = $this->composerFactory->createComposer($io, $composerFile, cwd: $projectDir, fullLoad: true); + /** @psalm-suppress RedundantConditionGivenDocblockType -- as with lowest-compatible dependencies this is needed */ + \assert($subjectComposer instanceof \Composer\Composer); + $io->writeError('generate base SBOM from compoers\'s evidences...', verbosity: IOInterface::VERBOSE); + $bom = $builder->createSbomFromComposer($subjectComposer); + unset($subjectComposer); + + if (!$this->options->outputReproducible) { + try { + $bom->setSerialNumber(Builder::createRandomBomSerialNumber()); + } catch (\Exception) { + /* pass */ + } + $bom->getMetadata()->setTimestamp(new DateTime()); + } - return $bom; + $io->writeError('fetch tools...', verbosity: IOInterface::VERBOSE); + $bom->getMetadata()->getTools()->addItems( + ...$builder->createToolsFromComposer( + $this->requireComposer(), + $this->options->getToolsVersionOverride(), + $this->options->getToolsExcludeLibs() + )); + + $io->writeError('serialize BOM...', verbosity: IOInterface::VERBOSE); + /** @var Serialization\Serializer */ + $serializer = match ($this->options->outputFormat) { + Format::JSON => new Serialization\JsonSerializer(new Serialization\JSON\NormalizerFactory($spec)), + Format::XML => new Serialization\XmlSerializer(new Serialization\DOM\NormalizerFactory($spec)), + default => throw new DomainException("unsupported format: {$this->options->outputFormat->name}"), + }; + $io->writeErrorRaw('using '.$serializer::class, true, IOInterface::DEBUG); + + return $serializer->serialize($bom, prettyPrint: true); } /** - * @throws \UnexpectedValueException if SPEC version is unknown - * - * @psalm-return non-empty-string + * @throws Throwable on error */ - private function makeBomString(Bom $bom): string + private function validateBom(string $bom, Spec $spec, IOInterface $io): void { - $io = $this->getIO(); - $io->writeError('Generate BomString', true, IOInterface::VERBOSE); + if (false === $this->options->validate) { + $io->writeError('skipped BOM validation.', verbosity: IOInterface::VERBOSE); - $bomWriter = $this->factory->makeSerializerFromOptions($this->options); - $io->writeError( - sprintf( - 'Serialize BOM with %s', - OutputFormatter::escape(\get_class($bomWriter)) - ), - true, - IOInterface::VERY_VERBOSE - ); + return; + } + $io->writeError('validate BOM...', verbosity: IOInterface::VERBOSE); + /** @var Validator */ + $validator = match ($this->options->outputFormat) { + Format::JSON => new Validators\JsonStrictValidator($spec), + Format::XML => new Validators\XmlValidator($spec), + default => throw new DomainException("unsupported format: {$this->options->outputFormat->name}"), + }; + $io->writeErrorRaw('using '.$validator::class, true, IOInterface::DEBUG); - return $bomWriter->serialize($bom); + $validationError = $validator->validateString($bom); + if (null !== $validationError) { + throw new Errors\ValidationError($validationError->getMessage()); + } } /** - * @psalm-param non-empty-string $bom - * - * @throws \UnexpectedValueException if SPEC version is unknown + * @throws Throwable on error */ - private function validateBomString(string $bom): ?bool + private function writeBom(string $bom, IOInterface $io): void { - $io = $this->getIO(); - - $validator = $this->factory->makeValidatorFromOptions($this->options); - if (null === $validator) { - $io->writeError('Skip BomString validation', true, IOInterface::VERY_VERBOSE); - - return null; + $io->writeError('write BOM...', verbosity: IOInterface::VERBOSE); + + $outputFile = $this->options->outputFile; + $outputStream = Options::VALUE_OUTPUT_FILE_STDOUT === $outputFile + ? \STDOUT + : fopen($outputFile, 'wb'); + if (false === $outputStream) { + throw new Errors\OutputError("failed to open output: $outputFile"); } - $io->writeError('Validate BomString', true, IOInterface::VERBOSE); - - $io->writeError( - sprintf( - 'Validate BOM with %s for %s', - OutputFormatter::escape(\get_class($validator)), - OutputFormatter::escape($validator->getSpec()->getVersion()) - ), - true, - IOInterface::VERY_VERBOSE - ); - $validationError = $validator->validateString($bom); - if (null === $validationError) { - return true; + $written = fwrite($outputStream, $bom); + if (false === $written) { + throw new Errors\OutputError("failed to write BOM: $outputFile"); } - $io->writeErrorRaw('ValidationError: '.print_r($validationError->getError(), true), true, IOInterface::DEBUG); $io->writeError( sprintf( - 'ValidationError: %s', - OutputFormatter::escape($validationError->getMessage()) + 'wrote %d bytes to %s', + $written, + OutputFormatter::escape($outputFile) ), - true, - IOInterface::VERY_VERBOSE + verbosity: IOInterface::VERY_VERBOSE ); - - return false; - } - - private function updateTool(): ?bool - { - $updater = $this->toolUpdater; - if (null === $updater) { - return null; - } - - try { - $composer = $this->compat_getComposer(); - - /** - * Composer < 2.1.7 -> nullable, but type hint was wrong - * Composer >= 2.1.7 -> nullable. - * Composer >= 2.3 -> not nullable. - * - * @var \Composer\Package\Locker|null $locker - * - * @psalm-suppress UnnecessaryVarAnnotation - */ - $locker = $composer->getLocker(); - if (null === $locker) { - throw new \UnexpectedValueException('empty locker'); - } - - $withDevReqs = isset($locker->getLockData()['packages-dev']); - $lockerRepo = $locker->getLockedRepository($withDevReqs); - - // @TODO better use the installed-repo than the lockerRepo - as of milestone v4 - return $updater->updateTool($this->bomBuilder->getTool(), $lockerRepo); - } catch (\Exception $exception) { - return false; - } - } - - /** - * @throws \UnexpectedValueException if composer could not be fetched - */ - private function compat_getComposer(): Composer - { - $err = null; - try { - /** - * @psalm-suppress DeprecatedMethod as it was handled - * - * @var mixed $composer - */ - $composer = method_exists($this, 'requireComposer') - ? $this->requireComposer() - : ( // method was marked as deprecated in Composer 2.3 - method_exists($this, 'getComposer') - ? $this->getComposer() - : null); - } catch (\Exception $err) { - $composer = null; - } - if ($composer instanceof Composer) { - return $composer; - } - throw new \UnexpectedValueException('empty composer', 0, $err); } } diff --git a/src/MakeBom/Errors/OptionError.php b/src/MakeBom/Errors/OptionError.php new file mode 100644 index 00000000..45b1080e --- /dev/null +++ b/src/MakeBom/Errors/OptionError.php @@ -0,0 +1,35 @@ +> - */ - private const SERIALIZERS = [ - Options::OUTPUT_FORMAT_XML => XmlSerializer::class, - Options::OUTPUT_FORMAT_JSON => JsonSerializer::class, - ]; - - /** - * @var string[] - * - * @psalm-var array> - */ - private const VALIDATORS = [ - Options::OUTPUT_FORMAT_XML => XmlValidator::class, - Options::OUTPUT_FORMAT_JSON => JsonStrictValidator::class, - ]; - - /** - * @var ComposerFactory - */ - private $composerFactory; - - /** - * @var SpecFactory - */ - private $specFactory; - - public function __construct( - ComposerFactory $composerFactory, - SpecFactory $specFactory - ) { - $this->composerFactory = $composerFactory; - $this->specFactory = $specFactory; - } - - /** - * @throws \UnexpectedValueException if version is unknown - */ - public function makeSpecFromOptions(Options $options): SpecInterface - { - return $this->specFactory->make($options->specVersion); - } - - /** - * @throws \UnexpectedValueException if SPEC version is unknown - */ - public function makeValidatorFromOptions(Options $options): ?ValidatorInterface - { - if ($options->skipOutputValidation) { - return null; - } - - $validator = self::VALIDATORS[$options->outputFormat]; - - return new $validator($this->makeSpecFromOptions($options)); - } - - /** - * @throws \UnexpectedValueException if SPEC version is unknown - */ - public function makeSerializerFromOptions(Options $options): SerializerInterface - { - $serializer = self::SERIALIZERS[$options->outputFormat]; - - return new $serializer( - $this->makeSpecFromOptions($options) - ); - } - - /** - * @throws Exceptions\LockerIsOutdatedError - * @throws \RuntimeException - */ - public function makeLockerFromComposerForOptions( - Composer $composer, - Options $options - ): LockArrayRepository { - /** - * Composer < 2.1.7 -> nullable, but type hint was wrong - * Composer >= 2.1.7 -> nullable. - * - * @var \Composer\Package\Locker|null - * - * @psalm-suppress UnnecessaryVarAnnotation - */ - $locker = $composer->getLocker(); - - if (null === $locker || !$locker->isLocked() || !$locker->isFresh()) { - throw new Exceptions\LockerIsOutdatedError('The lock file is missing or not up to date with composer config'); - } - - $withDevReqs = false === $options->excludeDev - && isset($locker->getLockData()['packages-dev']); // prevent a possible throw in `getLockedRepository()` - $repo = $locker->getLockedRepository($withDevReqs); - - foreach ($repo->getPackages() as $package) { - if ($package instanceof AliasPackage) { - $repo->removePackage($package); - } - } - - if ($options->excludePlugins) { - foreach ($repo->getPackages() as $package) { - if ('composer-plugin' === $package->getType()) { - $repo->removePackage($package); - } - } - } - - return $repo; - } - - /** - * @throws \InvalidArgumentException - * @throws \UnexpectedValueException - */ - public function makeComposer(Options $options, \Composer\IO\IOInterface $io): Composer - { - /** - * Composer 2.3 introduced PartialComposer, and may return one here. - * - * @var Composer|mixed - */ - $composer = $this->composerFactory->createComposer( - $io, - $options->composerFile, - true // not needed for analysis - ); - if ($composer instanceof Composer) { - return $composer; - } - throw new \UnexpectedValueException('Expected Composer'); - } - - public function makeBomOutput(Options $options): ?OutputInterface - { - return Options::OUTPUT_FILE_STDOUT === $options->outputFile - ? null - : new StreamOutput( - fopen($options->outputFile, 'wb'), - StreamOutput::VERBOSITY_NORMAL, - false - ); - } -} diff --git a/src/MakeBom/Options.php b/src/MakeBom/Options.php index 7f0115b3..e0925374 100644 --- a/src/MakeBom/Options.php +++ b/src/MakeBom/Options.php @@ -23,240 +23,291 @@ namespace CycloneDX\Composer\MakeBom; -use CycloneDX\Composer\Factories\SpecFactory; -use CycloneDX\Composer\MakeBom\Exceptions\ValueError; +use CycloneDX\Core\Spec\Format; +use CycloneDX\Core\Spec\Version; use Symfony\Component\Console\Command\Command; use Symfony\Component\Console\Input\InputArgument; +use Symfony\Component\Console\Input\InputDefinition; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputOption; /** + * @psalm-type TOmittable = "dev"|"plugin" + * * @internal * * @author jkowalleck */ class Options { + /** + * Env var to control `bom.metadata.tools.tool.version`. + * Non-documented private env vars usage, because this is not public API. + */ + private const ENV_TOOLS_VERSION_OVERRIDE = 'CDX_CP_TOOLS_VERSION_OVERRIDE'; + + /** + * Env var to control whether to all own libs to `bom.metadata.tools.tool`. + * Non-documented private env vars usage, because this is not public API. + */ + private const ENV_TOOLS_EXCLUDE_LIBS = 'CDX_CP_TOOLS_EXCLUDE_LIBS'; + private const OPTION_OUTPUT_FORMAT = 'output-format'; private const OPTION_OUTPUT_FILE = 'output-file'; private const OPTION_SPEC_VERSION = 'spec-version'; private const OPTION_MAIN_COMPONENT_VERSION = 'mc-version'; + private const OPTION_OMIT = 'omit'; - private const SWITCH_EXCLUDE_DEV = 'exclude-dev'; - private const SWITCH_EXCLUDE_PLUGINS = 'exclude-plugins'; - private const SWITCH_NO_VALIDATE = 'no-validate'; - - // added in preparation for https://github.com/CycloneDX/cyclonedx-php-composer/issues/102 - // @TODO remove with next major version - private const SWITCH_NO_VERSION_NORMALIZATION = 'no-version-normalization'; + private const SWITCH_OUTPUT_REPRODUCIBLE = 'output-reproducible'; + private const SWITCH_VALIDATE = 'validate'; private const ARGUMENT_COMPOSER_FILE = 'composer-file'; - public const OUTPUT_FORMAT_XML = 'XML'; - public const OUTPUT_FORMAT_JSON = 'JSON'; + /** + * Possible output formats. + * First in list is the default value. + * + * @psalm-var array + */ + private const VALUES_OUTPUT_FORMAT_MAP = [ + 'XML' => Format::XML, + 'JSON' => Format::JSON, + ]; - public const OUTPUT_FILE_STDOUT = '-'; + public const VALUE_OUTPUT_FILE_STDOUT = '-'; /** - * @var string[] + * Possible omittables. + * + * @psalm-var non-empty-list + */ + private const VALUES_OMIT = [ + 'dev', + 'plugin', + ]; + + /** + * Possible spec versions. + * First in list is the default value. * - * @psalm-var array + * @psalm-var array */ - private const OUTPUT_FILE_DEFAULT = [ - self::OUTPUT_FORMAT_XML => 'bom.xml', - self::OUTPUT_FORMAT_JSON => 'bom.json', + private const VALUE_SPEC_VERSION_MAP = [ + '1.4' => Version::v1dot4, + '1.3' => Version::v1dot3, + '1.2' => Version::v1dot2, + '1.1' => Version::v1dot1, ]; /** - * @psalm-suppress MissingThrowsDocblock since {@see \Symfony\Component\Console\Command\Command::addOption()} is intended to work this way + * @param scalar[] $values + */ + private static function formatChoice(array $values): string + { + return '{choices: "'. + implode('", "', $values). + '"}'; + } + + /** + * @psalm-suppress MissingThrowsDocblock + * @psalm-suppress TooManyArguments as there is an optional 6th param of {@see Command::addOption()} */ - public function configureCommand(Command $command): void + public function getDefinition(): InputDefinition { - $command - ->addOption( + return new InputDefinition([ + new InputOption( self::OPTION_OUTPUT_FORMAT, null, InputOption::VALUE_REQUIRED, 'Which output format to use.'.\PHP_EOL. - 'Values: "'.self::OUTPUT_FORMAT_XML.'", "'.self::OUTPUT_FORMAT_JSON.'"', - self::OUTPUT_FORMAT_XML - ) - ->addOption( + self::formatChoice(array_keys(self::VALUES_OUTPUT_FORMAT_MAP)), + array_search($this->outputFormat, self::VALUES_OUTPUT_FORMAT_MAP, true), + array_keys(self::VALUES_OUTPUT_FORMAT_MAP) + ), + new InputOption( self::OPTION_OUTPUT_FILE, null, InputOption::VALUE_REQUIRED, 'Path to the output file.'.\PHP_EOL. - 'Set to "'.self::OUTPUT_FILE_STDOUT.'" to write to STDOUT.'.\PHP_EOL. - 'Depending on the output-format, default is one of: "'.implode( - '", "', - array_values(self::OUTPUT_FILE_DEFAULT) - ).'"' - ) - ->addOption( - self::SWITCH_EXCLUDE_DEV, - null, - InputOption::VALUE_NONE, - 'Exclude dev dependencies' - ) - ->addOption( - self::SWITCH_EXCLUDE_PLUGINS, + 'Set to "'.self::VALUE_OUTPUT_FILE_STDOUT.'" to write to STDOUT', + $this->outputFile + ), + new InputOption( + self::OPTION_OMIT, null, - InputOption::VALUE_NONE, - 'Exclude composer plugins' - ) - ->addOption( + InputOption::VALUE_REQUIRED | InputOption::VALUE_IS_ARRAY, + 'Omit dependency types.'.\PHP_EOL. + self::formatChoice(self::VALUES_OMIT), + $this->omit, + self::VALUES_OMIT + ), + new InputOption( self::OPTION_SPEC_VERSION, null, InputOption::VALUE_REQUIRED, 'Which version of CycloneDX spec to use.'.\PHP_EOL. - 'Values: "'.implode('", "', array_keys(SpecFactory::SPECS)).'"', - SpecFactory::VERSION_LATEST - ) - ->addOption( - self::SWITCH_NO_VALIDATE, + self::formatChoice(array_keys(self::VALUE_SPEC_VERSION_MAP)), + array_search($this->specVersion, self::VALUE_SPEC_VERSION_MAP, true), + array_keys(self::VALUE_SPEC_VERSION_MAP) + ), + new InputOption( + self::SWITCH_OUTPUT_REPRODUCIBLE, null, - InputOption::VALUE_NONE, - 'Don\'t validate the resulting output' - ) - ->addOption( + InputOption::VALUE_NEGATABLE, + 'Whether to go the extra mile and make the output reproducible.'.\PHP_EOL. + 'This might result in loss of time- and random-based-values.', + $this->outputReproducible + ), + new InputOption( + self::SWITCH_VALIDATE, + null, + InputOption::VALUE_NEGATABLE, + 'Validate the resulting output.', + $this->validate + ), + new InputOption( self::OPTION_MAIN_COMPONENT_VERSION, null, InputOption::VALUE_REQUIRED, 'Version of the main component.'.\PHP_EOL. 'This will override auto-detection.', - null - ) - ->addOption( - self::SWITCH_NO_VERSION_NORMALIZATION, - null, - InputOption::VALUE_NONE, - 'Don\'t normalize component version strings.'.\PHP_EOL. - 'Per default this plugin will normalize version strings by stripping leading "v".'.\PHP_EOL. - 'This is a compatibility-switch. The next major-version of this plugin will not modify component versions.' - ) - ->addArgument( + $this->mainComponentVersion + ), + new InputArgument( self::ARGUMENT_COMPOSER_FILE, InputArgument::OPTIONAL, - 'Path to composer config file.'.\PHP_EOL. - 'Defaults to "composer.json" file in working directory.' - ); + 'Path to Composer config file.'.\PHP_EOL. + '[default: "composer.json" file in current working directory]', + null + ), + ]); } /** - * @var string - * - * @psalm-var \CycloneDX\Core\Spec\Version::V_* - * * @readonly * * @psalm-allow-private-mutation */ - public $specVersion = SpecFactory::VERSION_LATEST; + public Version $specVersion; /** - * @var bool - * * @readonly * + * @var string[] + * + * @psalm-var list + * * @psalm-allow-private-mutation */ - public $excludeDev = false; + public array $omit = []; /** - * @var bool - * * @readonly * * @psalm-allow-private-mutation */ - public $excludePlugins = false; + public Format $outputFormat; /** - * @var bool - * * @readonly * * @psalm-allow-private-mutation */ - public $omitVersionNormalization = false; + public bool $outputReproducible = false; /** - * @var string - * - * @psalm-var Options::OUTPUT_FORMAT_* - * * @readonly * * @psalm-allow-private-mutation */ - public $outputFormat = self::OUTPUT_FORMAT_XML; + public bool $validate = true; /** - * @var bool - * * @readonly * * @psalm-allow-private-mutation + * + * @psalm-var non-empty-string */ - public $skipOutputValidation = false; + public string $outputFile = self::VALUE_OUTPUT_FILE_STDOUT; /** - * @var string - * * @readonly * * @psalm-allow-private-mutation + * + * @psalm-var null|non-empty-string */ - public $outputFile = self::OUTPUT_FILE_STDOUT; + public ?string $composerFile = null; /** - * @var string|null - * * @readonly * * @psalm-allow-private-mutation + * + * @psalm-var null|non-empty-string */ - public $composerFile; + public ?string $mainComponentVersion = null; + + public function __construct() + { + $this->outputFormat = self::VALUES_OUTPUT_FORMAT_MAP[array_key_first(self::VALUES_OUTPUT_FORMAT_MAP)]; + $this->specVersion = self::VALUE_SPEC_VERSION_MAP[array_key_first(self::VALUE_SPEC_VERSION_MAP)]; + } /** - * @var string|null - * - * @readonly - * - * @psalm-allow-private-mutation + * @psalm-return null|non-empty-string */ - public $mainComponentVersion; + public function getToolsVersionOverride(): ?string + { + $version = getenv(self::ENV_TOOLS_VERSION_OVERRIDE); + + return \is_string($version) && '' !== $version + ? $version + : null; + } + + public function getToolsExcludeLibs(): bool + { + return (bool) getenv(self::ENV_TOOLS_EXCLUDE_LIBS); + } /** - * @throws ValueError + * @throws Errors\OptionError * * @return $this * - * @psalm-suppress MissingThrowsDocblock since {@see \Symfony\Component\Console\Input\InputInterface::getOption()} is intended to work this way + * @psalm-suppress MissingThrowsDocblock */ - public function setFromInput(InputInterface $input): self + public function setFromInput(InputInterface $input): static { // region get from input $specVersion = $input->getOption(self::OPTION_SPEC_VERSION); \assert(\is_string($specVersion)); - if (false === \array_key_exists($specVersion, SpecFactory::SPECS)) { - throw new ValueError('Invalid value for option "'.self::OPTION_SPEC_VERSION.'": '.$specVersion); + if (false === \array_key_exists($specVersion, self::VALUE_SPEC_VERSION_MAP)) { + throw new Errors\OptionError('Invalid value for option "'.self::OPTION_SPEC_VERSION.'": '.$specVersion); } $outputFormat = $input->getOption(self::OPTION_OUTPUT_FORMAT); \assert(\is_string($outputFormat)); $outputFormat = strtoupper($outputFormat); - if (false === \in_array($outputFormat, [self::OUTPUT_FORMAT_XML, self::OUTPUT_FORMAT_JSON], true)) { - throw new ValueError('Invalid value for option "'.self::OPTION_OUTPUT_FORMAT.'": '.$outputFormat); + if (false === \array_key_exists($outputFormat, self::VALUES_OUTPUT_FORMAT_MAP)) { + throw new Errors\OptionError('Invalid value for option "'.self::OPTION_OUTPUT_FORMAT.'": '.$outputFormat); } - $excludeDev = false !== $input->getOption(self::SWITCH_EXCLUDE_DEV); - $excludePlugins = false !== $input->getOption(self::SWITCH_EXCLUDE_PLUGINS); - $skipOutputValidation = false !== $input->getOption(self::SWITCH_NO_VALIDATE); - $omitVersionNormalization = false !== $input->getOption(self::SWITCH_NO_VERSION_NORMALIZATION); $outputFile = $input->getOption(self::OPTION_OUTPUT_FILE); - \assert(null === $outputFile || \is_string($outputFile)); + \assert(\is_string($outputFile)); + if ('' === $outputFile) { + throw new Errors\OptionError('Invalid value for option "'.self::OPTION_OUTPUT_FILE.'": '.$outputFile); + } + // no additional restrictions to $outputFile - stuff like 'ftp://user:pass@host/path/file' is acceptable. + + $omit = $input->getOption(self::OPTION_OMIT); + \assert(\is_array($omit)); + $outputReproducible = false !== $input->getOption(self::SWITCH_OUTPUT_REPRODUCIBLE); + $validate = false !== $input->getOption(self::SWITCH_VALIDATE); $composerFile = $input->getArgument(self::ARGUMENT_COMPOSER_FILE); \assert(null === $composerFile || \is_string($composerFile)); $mainComponentVersion = $input->getOption(self::OPTION_MAIN_COMPONENT_VERSION); @@ -264,26 +315,24 @@ public function setFromInput(InputInterface $input): self // endregion get from input - // those regions are split, - // so the state does not modify unless everything is clear + /* those regions are split, + * so the state does not modify unless everything is clear + */ // region set state - $this->specVersion = $specVersion; - $this->excludeDev = $excludeDev; - $this->excludePlugins = $excludePlugins; - $this->outputFormat = $outputFormat; - $this->skipOutputValidation = $skipOutputValidation; - $this->omitVersionNormalization = $omitVersionNormalization; - $this->outputFile = \is_string($outputFile) && '' !== $outputFile - ? $outputFile - : self::OUTPUT_FILE_DEFAULT[$outputFormat]; - $this->composerFile = \is_string($composerFile) && '' !== $outputFile - ? $composerFile - : null; - $this->mainComponentVersion = \is_string($mainComponentVersion) && '' !== $mainComponentVersion + $this->specVersion = self::VALUE_SPEC_VERSION_MAP[$specVersion]; + $this->omit = array_values(array_intersect(self::VALUES_OMIT, $omit)); + $this->outputFormat = self::VALUES_OUTPUT_FORMAT_MAP[$outputFormat]; + $this->outputReproducible = $outputReproducible; + $this->validate = $validate; + $this->outputFile = $outputFile; + $this->mainComponentVersion = '' !== $mainComponentVersion ? $mainComponentVersion : null; + $this->composerFile = '' !== $composerFile + ? $composerFile + : null; // endregion set state diff --git a/src/Plugin.php b/src/Plugin.php index ed18e0d1..93dd3145 100644 --- a/src/Plugin.php +++ b/src/Plugin.php @@ -24,34 +24,34 @@ namespace CycloneDX\Composer; use Composer\Composer; -use Composer\Factory as ComposerFactory; +use Composer\Factory; use Composer\IO\IOInterface; use Composer\Plugin\Capability\CommandProvider; use Composer\Plugin\Capable; use Composer\Plugin\PluginInterface; -use CycloneDX\Composer\Factories\SpecFactory; -use CycloneDX\Core\Models\Tool; -use CycloneDX\Core\Spdx\License as SpdxLicenseValidator; /** * @internal * * @author jkowalleck + * + * @psalm-suppress UnusedClass */ class Plugin implements PluginInterface, Capable, CommandProvider { - private const FILE_VERSION = __DIR__.'/../semver.txt'; - public function activate(Composer $composer, IOInterface $io): void { + /* nothing to do */ } public function deactivate(Composer $composer, IOInterface $io): void { + /* nothing to do */ } public function uninstall(Composer $composer, IOInterface $io): void { + /* nothing to do */ } public function getCapabilities(): array @@ -66,49 +66,12 @@ public function getCapabilities(): array */ public function getCommands(): array { - $componentBuilder = new Builders\ComponentBuilder( - new Factories\LicenseFactory( - new SpdxLicenseValidator() - ), - new Factories\PackageUrlFactory(), - new Builders\ExternalReferenceRepositoryBuilder() - ); - - $command = new MakeBom\Command( - new MakeBom\Options(), - new MakeBom\Factory( - new ComposerFactory(), - new SpecFactory() - ), - new Builders\BomBuilder( - $componentBuilder, - $this->makeTool() - ), - new ToolUpdater($componentBuilder), - 'CycloneDX:make-sbom' - ); - - $deprecatedCommand = (clone $command) - ->setName('make-bom') - ->setDeprecated($command->getName()) - ->setDescription( - $command->getDescription(). - ". This command is deprecated; use '{$command->getName()}' instead." - ); - return [ - $command, - $deprecatedCommand, + new MakeBom\Command( + new MakeBom\Options(), + 'CycloneDX:make-sbom', + new Factory() + ), ]; } - - private function makeTool(): Tool - { - $fileVersion = file_get_contents(self::FILE_VERSION); - - return (new Tool()) - ->setVendor('cyclonedx') - ->setName('cyclonedx-php-composer') - ->setVersion(false === $fileVersion ? null : trim($fileVersion)); - } } diff --git a/src/Properties.php b/src/Properties.php new file mode 100644 index 00000000..b3ab49cd --- /dev/null +++ b/src/Properties.php @@ -0,0 +1,45 @@ +componentBuilder = $componentBuilder; - } - - /** - * update tool information with data based on composer lock. - */ - public function updateTool(Tool $tool, LockArrayRepository $lockRepo): bool - { - $toolComposerName = sprintf( - '%s/%s', - $tool->getVendor() ?? '', - $tool->getName() ?? '', - ); - if ('/' === $toolComposerName) { - return false; - } - - $packages = array_filter( - $lockRepo->findPackages($toolComposerName, new MatchAllConstraint()), - static function ($p): bool { - return false === $p instanceof AliasPackage; - } - ); - if (empty($packages)) { - return false; - } - - try { - $component = $this->componentBuilder->makeFromPackage(reset($packages)); - } catch (\Throwable $exception) { - return false; - } - - $tool->setVersion($component->getVersion()); - $tool->setHashRepository($component->getHashRepository()); - - return true; - } -} diff --git a/tests/Builders/BomBuilderTest.php b/tests/Builders/BomBuilderTest.php deleted file mode 100644 index 584210ab..00000000 --- a/tests/Builders/BomBuilderTest.php +++ /dev/null @@ -1,172 +0,0 @@ -createMock(ComponentBuilder::class); - $tool = $this->createMock(Tool::class); - - $builder = new BomBuilder($componentBuilder, $tool); - - self::assertSame($componentBuilder, $builder->getComponentBuilder()); - self::assertSame($tool, $builder->getTool()); - - return $builder; - } - - /** - * @uses \CycloneDX\Core\Models\Bom - * @uses \CycloneDX\Core\Models\MetaData - * @uses \CycloneDX\Core\Models\BomRef - * @uses \CycloneDX\Core\Repositories\BomRefRepository - * @uses \CycloneDX\Core\Repositories\ComponentRepository - * @uses \CycloneDX\Core\Repositories\ToolRepository - */ - public function testMakeForPackageWithRequires(): void - { - $componentBuilder = $this->createMock(ComponentBuilder::class); - $tool = $this->createStub(Tool::class); - $builder = new BomBuilder($componentBuilder, $tool); - $rootPackageOverride = uniqid('vRand-', true); - $rootPackageWithDeps = $this->createConfiguredMock( - RootPackageInterface::class, - [ - 'getRequires' => [$this->createConfiguredMock(Link::class, ['getTarget' => 'foo/p1'])], - 'getDevRequires' => [$this->createConfiguredMock(Link::class, ['getTarget' => 'foo/p2'])], - ] - ); - $requiredPackageDepP2 = $this->createConfiguredMock( - PackageInterface::class, - [ - 'getRequires' => [$this->createConfiguredMock(Link::class, ['getTarget' => 'foo/p2'])], - ] - ); - $requiredPackageNoDeps = $this->createConfiguredMock( - PackageInterface::class, - [ - 'getRequires' => [], - ] - ); - $requires = $this->createConfiguredMock( - LockArrayRepository::class, - ['getPackages' => [$requiredPackageDepP2, $requiredPackageNoDeps]] - ); - $rootComponentWithDeps = $this->createConfiguredMock( - Component::class, - [ - 'getBomRef' => new BomRef(), - 'getName' => 'rootPackage', - 'getGroup' => 'foo', - ] - ); - $componentDepP2 = $this->createConfiguredMock( - Component::class, - [ - 'getBomRef' => new BomRef(), - 'getName' => 'p1', - 'getGroup' => 'foo', - ] - ); - $componentNoDeps = $this->createConfiguredMock( - Component::class, - [ - 'getBomRef' => new BomRef(), - 'getName' => 'p2', - 'getGroup' => 'foo', - ] - ); - $componentBuilder->method('splitNameAndVendor') - ->willReturnMap( - [ - ['foo/p1', ['p1', 'foo']], - ['foo/p2', ['p2', 'foo']], - ] - ); - - $componentBuilder->expects(self::exactly(3)) - ->method('makeFromPackage') - ->willReturnMap( - [ - [$rootPackageWithDeps, $rootPackageOverride, $rootComponentWithDeps], - [$requiredPackageDepP2, null, $componentDepP2], - [$requiredPackageNoDeps, null, $componentNoDeps], - ] - ); - $rootComponentWithDeps->expects(self::once()) - ->method('setDependenciesBomRefRepository') - ->with( - self::callback( - function (BomRefRepository $refs) use ($componentNoDeps, $componentDepP2): bool { - (new IsIdentical([$componentDepP2->getBomRef(), $componentNoDeps->getBomRef()])) - ->evaluate($refs->getBomRefs()); - - return true; - } - ) - ) - ->willReturnSelf(); - $componentDepP2->expects(self::once()) - ->method('setDependenciesBomRefRepository') - ->with( - self::callback( - function (BomRefRepository $refs) use ($componentNoDeps) { - (new IsIdentical([$componentNoDeps->getBomRef()])) - ->evaluate($refs->getBomRefs()); - - return true; - } - ) - ) - ->willReturnSelf(); - $componentNoDeps->method('setDependenciesBomRefRepository') - ->with(null) - ->willReturnSelf(); - - $bom = $builder->makeForPackageWithRequires($rootPackageWithDeps, $requires, $rootPackageOverride); - - self::assertEquals(new ComponentRepository($componentDepP2, $componentNoDeps), $bom->getComponentRepository()); - self::assertSame($rootComponentWithDeps, $bom->getMetaData()->getComponent()); - self::assertSame([$tool], $bom->getMetaData()->getTools()->getTools()); - } -} diff --git a/tests/Builders/ComponentBuilderTest.php b/tests/Builders/ComponentBuilderTest.php deleted file mode 100644 index e780cdb3..00000000 --- a/tests/Builders/ComponentBuilderTest.php +++ /dev/null @@ -1,334 +0,0 @@ -createMock(LicenseFactory::class); - $packageUrlFactory = $this->createMock(PackageUrlFactory::class); - $enableVersionNormalization = true; - $extRefBuilder = $this->createMock(ExternalReferenceRepositoryBuilder::class); - - $builder = new ComponentBuilder($licenseFactory, $packageUrlFactory, $extRefBuilder, $enableVersionNormalization); - - self::assertSame($licenseFactory, $builder->getLicenseFactory()); - self::assertSame($packageUrlFactory, $builder->getPackageUrlFactory()); - self::assertSame($enableVersionNormalization, $builder->getVersionNormalization()); - - return $builder; - } - - /** - * @depends testConstructor - */ - public function testGetterSetterVersionNormalization(ComponentBuilder $builder): void - { - $enableVersionNormalization = !$builder->getVersionNormalization(); - - $actual = $builder->setVersionNormalization($enableVersionNormalization); - - self::assertSame($builder, $actual); - self::assertSame($enableVersionNormalization, $builder->getVersionNormalization()); - } - - public function testMakeFromPackageThrowsOnEmptyName(): void - { - $licenseFactory = $this->createStub(LicenseFactory::class); - $packageUrlFactory = $this->createStub(PackageUrlFactory::class); - $extRefBuilder = $this->createMock(ExternalReferenceRepositoryBuilder::class); - $builder = new ComponentBuilder($licenseFactory, $packageUrlFactory, $extRefBuilder); - $package = $this->createConfiguredMock( - PackageInterface::class, - [ - 'getPrettyName' => '', - ] - ); - - $this->expectException(\UnexpectedValueException::class); - $this->expectErrorMessageMatches('/package without name/i'); - - $builder->makeFromPackage($package); - } - - public function testMakeFromPackageThrowsOnEmptyVersion(): void - { - $licenseFactory = $this->createStub(LicenseFactory::class); - $packageUrlFactory = $this->createStub(PackageUrlFactory::class); - $extRefBuilder = $this->createMock(ExternalReferenceRepositoryBuilder::class); - $builder = new ComponentBuilder($licenseFactory, $packageUrlFactory, $extRefBuilder); - $package = $this->createConfiguredMock( - PackageInterface::class, - [ - 'getPrettyName' => 'vendor/name', - 'getPrettyVersion' => '', - ] - ); - - $this->expectException(\UnexpectedValueException::class); - $this->expectErrorMessageMatches('/package without version/i'); - - $builder->makeFromPackage($package, ''); - } - - /** - * @uses \CycloneDX\Core\Enums\Classification::isValidValue - * @uses \CycloneDX\Core\Enums\HashAlgorithm::isValidValue - * @uses \CycloneDX\Core\Repositories\HashRepository - */ - public function testMakeFromPackageEmptyPurlOnThrow(): void - { - $licenseFactory = $this->createStub(LicenseFactory::class); - $packageUrlFactory = $this->createMock(PackageUrlFactory::class); - $extRefBuilder = $this->createMock(ExternalReferenceRepositoryBuilder::class); - $builder = new ComponentBuilder($licenseFactory, $packageUrlFactory, $extRefBuilder); - $package = $this->createConfiguredMock( - PackageInterface::class, - [ - 'getType' => 'library', - 'getPrettyName' => 'some-library', - 'getPrettyVersion' => '1.2.3', - ], - ); - - $packageUrlFactory->expects(self::once()) - ->method('makeFromComponent') - ->willThrowException(new \DomainException()); - - $actual = $builder->makeFromPackage($package); - - self::assertNull($actual->getPackageUrl()); - } - - /** - * @dataProvider dpMakeFromPackage - * - * @uses \CycloneDX\Core\Enums\Classification::isValidValue - * @uses \CycloneDX\Core\Enums\HashAlgorithm::isValidValue - * @uses \CycloneDX\Core\Repositories\HashRepository - */ - public function testMakeFromPackage( - PackageInterface $package, - Component $expected, - bool $enableVersionNormalization = true, - ?LicenseFactory $licenseFactory = null - ): void { - $externalReferenceRepository = $this->createStub(ExternalReferenceRepository::class); - $expected->setExternalReferenceRepository($externalReferenceRepository); - - $extRefBuilder = $this->createMock(ExternalReferenceRepositoryBuilder::class); - $packageUrlFactory = $this->createMock(PackageUrlFactory::class); - $builder = new ComponentBuilder( - $licenseFactory ?? $this->createStub(LicenseFactory::class), - $packageUrlFactory, - $extRefBuilder, - $enableVersionNormalization - ); - - $purlMadeFromComponent = null; - $packageUrlFactory->expects(self::once()) - ->method('makeFromComponent') - ->with( - $this->callback( - static function (Component $c) use (&$purlMadeFromComponent): bool { - $purlMadeFromComponent = $c; - - return true; - } - ) - ) - ->willReturn($expected->getPackageUrl()); - $extRefBuilder->expects(self::once()) - ->method('makeFromPackage') - ->with($package) - ->willReturn($externalReferenceRepository); - - $actual = $builder->makeFromPackage($package); - - self::assertEquals($expected, $actual); - self::assertSame($actual, $purlMadeFromComponent); - } - - /** - * @psalm-return \Generator - */ - public function dpMakeFromPackage(): \Generator - { - yield 'minimal library' => [ - $this->createConfiguredMock( - PackageInterface::class, - [ - 'getType' => 'library', - 'getPrettyName' => 'some-library', - 'getPrettyVersion' => '1.2.3', - ], - ), - (new Component('library', 'some-library', '1.2.3')) - ->setPackageUrl((new PackageUrl('composer', 'some-library'))->setVersion('1.2.3')) - ->setBomRefValue('pkg:composer/some-library@1.2.3'), - ]; - - yield 'minimal project' => [ - $this->createConfiguredMock( - PackageInterface::class, - [ - 'getType' => 'project', - 'getPrettyName' => 'some-project', - 'getPrettyVersion' => '1.2.3', - ], - ), - (new Component('application', 'some-project', '1.2.3')) - ->setPackageUrl((new PackageUrl('composer', 'some-project'))->setVersion('1.2.3')) - ->setBomRefValue('pkg:composer/some-project@1.2.3'), - ]; - - yield 'minimal composer-plugin' => [ - $this->createConfiguredMock( - PackageInterface::class, - [ - 'getType' => 'composer-plugin', - 'getPrettyName' => 'some-composer-plugin', - 'getPrettyVersion' => '1.2.3', - ], - ), - (new Component('application', 'some-composer-plugin', '1.2.3')) - ->setPackageUrl((new PackageUrl('composer', 'some-composer-plugin'))->setVersion('1.2.3')) - ->setBomRefValue('pkg:composer/some-composer-plugin@1.2.3'), - ]; - - yield 'minimal inDev of unknown type' => [ - $this->createConfiguredMock( - PackageInterface::class, - [ - 'getType' => 'myType', - 'getPrettyName' => 'some-inDev', - 'getPrettyVersion' => 'dev-master', - 'isDev' => true, - ], - ), - (new Component('library', 'some-inDev', 'dev-master')) - ->setPackageUrl((new PackageUrl('composer', 'some-inDev'))->setVersion('dev-master')) - ->setBomRefValue('pkg:composer/some-inDev@dev-master'), - ]; - - /** - * Fallback behaviour if {@see RootPackage::DEFAULT_PRETTY_VERSION} is undefined. - * - * @see ComponentBuilder::compatGetDefaultPrettyVersion() - * - * @var string - */ - $_rp_DEFAULT_PRETTY_VERSION = \defined(RootPackage::class.'::DEFAULT_PRETTY_VERSION') - ? RootPackage::DEFAULT_PRETTY_VERSION - : '1.0.0+no-version-set'; - yield 'minimal without version fallback' => [ - $this->createConfiguredMock( - RootPackage::class, - [ - 'getType' => 'myType', - 'getPrettyName' => 'some-noVersion', - 'getPrettyVersion' => '', - ], - ), - (new Component('library', 'some-noVersion', $_rp_DEFAULT_PRETTY_VERSION)) - ->setPackageUrl((new PackageUrl('composer', 'some-noVersion'))->setVersion(null)) - ->setBomRefValue('pkg:composer/some-noVersion'), - ]; - - $completePackage = $this->createConfiguredMock( - CompletePackageInterface::class, - [ - 'getPrettyName' => 'my/package', - 'getPrettyVersion' => 'v1.2.3', - 'getDescription' => 'my description', - 'getLicense' => ['MIT'], - 'getDistSha1Checksum' => '12345678901234567890123456789012', - ] - ); - $license = $this->createStub(DisjunctiveLicenseRepository::class); - $licenseFactory = $this->createMock(LicenseFactory::class); - $licenseFactory->expects(self::once()) - ->method('makeFromPackage') - ->with($completePackage) - ->willReturn($license); - yield 'complete library' => [ - $completePackage, - (new Component('library', 'package', '1.2.3')) - ->setGroup('my') - ->setPackageUrl( - (new PackageUrl('composer', 'package')) - ->setNamespace('my') - ->setVersion('1.2.3') - ->setChecksums(['sha1:12345678901234567890123456789012']) - ) - ->setDescription('my description') - ->setLicense($license) - ->setHashRepository(new HashRepository([HashAlgorithm::SHA_1 => '12345678901234567890123456789012'])) - ->setBomRefValue('pkg:composer/my/package@1.2.3?checksum=sha1:12345678901234567890123456789012'), - true, - $licenseFactory, - ]; - - yield 'library with non-normalized version' => [ - $this->createConfiguredMock( - CompletePackageInterface::class, - [ - 'getPrettyName' => 'my/package', - 'getPrettyVersion' => 'v1.2.3', - ] - ), - (new Component('library', 'package', 'v1.2.3')) - ->setGroup('my') - ->setPackageUrl( - (new PackageUrl('composer', 'package')) - ->setNamespace('my') - ->setVersion('v1.2.3') - ) - ->setBomRefValue('pkg:composer/my/package@v1.2.3'), - false, - ]; - } -} diff --git a/tests/Builders/ExternalReferenceRepositoryBuilderTest.php b/tests/Builders/ExternalReferenceRepositoryBuilderTest.php deleted file mode 100644 index 47d871c5..00000000 --- a/tests/Builders/ExternalReferenceRepositoryBuilderTest.php +++ /dev/null @@ -1,328 +0,0 @@ -makeFromPackage($package); - - self::assertSameSize($expectedRefs, $actual); - foreach ($expectedRefs as $expectedRef) { - self::assertContainsEquals($expectedRef, $actual->getExternalReferences()); - } - } - - /** - * @psalm-return \Generator}> - */ - public function dpMakeFromPackageEmpty(): \Generator - { - yield 'package empty' => [ - $this->createConfiguredMock(PackageInterface::class, []), - [/* empty */], - ]; - } - - /** - * @psalm-return \Generator}> - */ - public function dpMakeFromPackageSource(): \Generator - { - yield 'package sources' => [ - $this->createConfiguredMock(PackageInterface::class, [ - 'getSourceUrls' => ['some-source-url'], - 'getSourceType' => 'some-source-type', - 'getSourceReference' => 'some-source-reference', - ]), - [ - (new ExternalReference(ExternalReferenceType::DISTRIBUTION, 'some-source-url')) - ->setComment( - "As detected by composer's `getSourceUrls()` (type=some-source-type & reference=some-source-reference)" - ), - ], - ]; - - yield 'package source: empty' => [ - $this->createConfiguredMock(PackageInterface::class, [ - 'getSourceUrls' => [''], // empty string - 'getSourceType' => 'some-source-type', - 'getSourceReference' => 'some-source-reference', - ]), - [/* empty */], - ]; - } - - /** - * @psalm-return \Generator}> - */ - public function dpMakeFromPackageDist(): \Generator - { - yield 'package dists' => [ - $this->createConfiguredMock(PackageInterface::class, [ - 'getDistUrls' => ['some-dist-url'], - 'getDistType' => 'some-dist-type', - 'getDistReference' => 'some-dist-reference', - 'getDistSha1Checksum' => '12345678901234567890123456789012', - ]), - [ - (new ExternalReference(ExternalReferenceType::DISTRIBUTION, 'some-dist-url')) - ->setComment( - "As detected by composer's `getDistUrls()` (type=some-dist-type & reference=some-dist-reference & sha1=12345678901234567890123456789012)" - ) - ->setHashRepository( - new HashRepository([HashAlgorithm::SHA_1 => '12345678901234567890123456789012']) - ), - ], - ]; - - yield 'package dists: no hash' => [ - $this->createConfiguredMock(PackageInterface::class, [ - 'getDistUrls' => ['some-dist-url'], - 'getDistType' => 'some-dist-type', - 'getDistReference' => 'some-dist-reference', - 'getDistSha1Checksum' => '', - ]), - [ - (new ExternalReference(ExternalReferenceType::DISTRIBUTION, 'some-dist-url')) - ->setComment( - "As detected by composer's `getDistUrls()` (type=some-dist-type & reference=some-dist-reference & sha1=UNDEFINED)" - ), - ], - ]; - - yield 'package dists: empty' => [ - $this->createConfiguredMock(PackageInterface::class, [ - 'getDistUrls' => [''], // empty string - 'getDistType' => 'some-dist-type', - 'getDistReference' => 'some-dist-reference', - 'getDistSha1Checksum' => '12345678901234567890123456789012', - ]), - [/* empty */], - ]; - } - - /** - * @psalm-return \Generator}> - */ - public function dpMakeFromPackageHomepage(): \Generator - { - yield 'package homepage' => [ - $this->createConfiguredMock(CompletePackageInterface::class, [ - 'getHomepage' => 'some-homepage', - ]), - [ - (new ExternalReference(ExternalReferenceType::WEBSITE, 'some-homepage')) - ->setComment('As set via `homepage` in composer package definition.'), - ], - ]; - - yield 'package homepage: empty' => [ - $this->createConfiguredMock(CompletePackageInterface::class, [ - 'getHomepage' => '', // empty string - ]), - [/* empty */], - ]; - } - - /** - * @psalm-return \Generator}> - */ - public function dpMakeFromPackageSupport(): \Generator - { - yield 'package support: issues' => [ - $this->createConfiguredMock(CompletePackageInterface::class, [ - 'getSupport' => ['issues' => 'some-support-issues'], - ]), - [ - (new ExternalReference(ExternalReferenceType::ISSUE_TRACKER, 'some-support-issues')) - ->setComment('As set via `support.issues` in composer package definition.'), - ], - ]; - - yield 'package support: chat' => [ - $this->createConfiguredMock(CompletePackageInterface::class, [ - 'getSupport' => ['chat' => 'some-support-chat'], - ]), - [ - (new ExternalReference(ExternalReferenceType::CHAT, 'some-support-chat')) - ->setComment('As set via `support.chat` in composer package definition.'), - ], - ]; - - yield 'package support: irc' => [ - $this->createConfiguredMock(CompletePackageInterface::class, [ - 'getSupport' => ['irc' => 'some-support-irc'], - ]), - [ - (new ExternalReference(ExternalReferenceType::CHAT, 'some-support-irc')) - ->setComment('As set via `support.irc` in composer package definition.'), - ], - ]; - - yield 'package support: docs' => [ - $this->createConfiguredMock(CompletePackageInterface::class, [ - 'getSupport' => ['docs' => 'some-support-docs'], - ]), - [ - (new ExternalReference(ExternalReferenceType::DOCUMENTATION, 'some-support-docs')) - ->setComment('As set via `support.docs` in composer package definition.'), - ], - ]; - - yield 'package support: wiki' => [ - $this->createConfiguredMock(CompletePackageInterface::class, [ - 'getSupport' => ['wiki' => 'some-support-wiki'], - ]), - [ - (new ExternalReference(ExternalReferenceType::DOCUMENTATION, 'some-support-wiki')) - ->setComment('As set via `support.wiki` in composer package definition.'), - ], - ]; - - yield 'package support: email empty' => [ - $this->createConfiguredMock(CompletePackageInterface::class, [ - 'getSupport' => ['email' => '' /* empty string */], - ]), - [/* empty */], - ]; - yield 'package support: email with mailto' => [ - $this->createConfiguredMock(CompletePackageInterface::class, [ - 'getSupport' => ['email' => 'mailto:support@example.com'], - ]), - [ - (new ExternalReference(ExternalReferenceType::OTHER, 'mailto:support@example.com')) - ->setComment('As set via `support.email` in composer package definition.'), - ], - ]; - yield 'package support: email add mailto' => [ - $this->createConfiguredMock(CompletePackageInterface::class, [ - 'getSupport' => ['email' => 'support@example.com'], - ]), - [ - (new ExternalReference(ExternalReferenceType::OTHER, 'mailto:support@example.com')) - ->setComment('As set via `support.email` in composer package definition.'), - ], - ]; - - yield 'package support: unknown is general support' => [ - $this->createConfiguredMock(CompletePackageInterface::class, [ - 'getSupport' => ['foo' => 'some-support-foo'], - ]), - [ - (new ExternalReference(ExternalReferenceType::SUPPORT, 'some-support-foo')) - ->setComment('As set via `support.foo` in composer package definition.'), - ], - ]; - - yield 'package support: empty url' => [ - $this->createConfiguredMock(CompletePackageInterface::class, [ - 'getSupport' => ['issues' => ''], - ]), - [/* empty */], - ]; - - yield 'package support: empty' => [ - $this->createConfiguredMock(CompletePackageInterface::class, [ - 'getSupport' => [/* empty */], - ]), - [/* empty */], - ]; - } - - /** - * @psalm-return \Generator}> - */ - public function dpMakeFromPackageFunding(): \Generator - { - yield 'package funding' => [ - $this->createConfiguredMock(CompletePackageInterface::class, [ - 'getFunding' => [['type' => 'some-type', 'url' => 'some-url']], - ]), - [ - (new ExternalReference(ExternalReferenceType::OTHER, 'some-url')) - ->setComment('As set via `funding` in composer package definition. (type=some-type)'), - ], - ]; - - yield 'package funding: missing type' => [ - $this->createConfiguredMock(CompletePackageInterface::class, [ - 'getFunding' => [['url' => 'some-funding']], - ]), - [ - (new ExternalReference(ExternalReferenceType::OTHER, 'some-funding')) - ->setComment('As set via `funding` in composer package definition. (type=UNDEFINED)'), - ], - ]; - - yield 'package funding: missing url' => [ - $this->createConfiguredMock(CompletePackageInterface::class, [ - 'getFunding' => [['type' => 'foo']], - ]), - [/* empty */], - ]; - - yield 'package funding: empty url' => [ - $this->createConfiguredMock(CompletePackageInterface::class, [ - 'getFunding' => [['type' => 'foo', 'url' => '']], - ]), - [/* empty */], - ]; - - yield 'package funding: empty' => [ - $this->createConfiguredMock(CompletePackageInterface::class, [ - 'getFunding' => [/* empty */], - ]), - [/* empty */], - ]; - } -} diff --git a/tests/Factories/LicenseFactoryTest.php b/tests/Factories/LicenseFactoryTest.php deleted file mode 100644 index c33473a8..00000000 --- a/tests/Factories/LicenseFactoryTest.php +++ /dev/null @@ -1,139 +0,0 @@ -createStub(LicenseExpression::class); - $factory = $this->createPartialMock( - LicenseFactory::class, - ['makeExpression', 'makeDisjunctive', 'makeDisjunctiveLicenseRepository'] - ); - $package = $this->createMock(CompletePackageInterface::class); - - $package->expects(self::once())->method('getLicense') - ->willReturn(['(LGPL-2.1-only or GPL-3.0-or-later)']); - $factory->expects(self::once())->method('makeExpression') - ->with('(LGPL-2.1-only or GPL-3.0-or-later)') - ->willReturn($expected); - - $got = $factory->makeFromPackage($package); - - self::assertSame($expected, $got); - } - - public function testMakeFromPackageWithDisjunctiveFallback(): void - { - $expected = $this->createStub(DisjunctiveLicenseRepository::class); - $factory = $this->createPartialMock( - LicenseFactory::class, - ['makeExpression', 'makeDisjunctive', 'makeDisjunctiveLicenseRepository'] - ); - $package = $this->createMock(CompletePackageInterface::class); - - $package->expects(self::once())->method('getLicense') - ->willReturn(['MIT']); - - $factory->method('makeExpression')->willThrowException(new \DomainException()); - $factory->expects(self::once())->method('makeDisjunctiveLicenseRepository') - ->with('MIT') - ->willReturn($expected); - - $got = $factory->makeFromPackage($package); - - self::assertSame($expected, $got); - } - - public function testMakeFromPackageWithDisjunctive(): void - { - $expected = $this->createStub(DisjunctiveLicenseRepository::class); - $factory = $this->createPartialMock( - LicenseFactory::class, - ['makeExpression', 'makeDisjunctive', 'makeDisjunctiveLicenseRepository'] - ); - $package = $this->createMock(CompletePackageInterface::class); - - $package->expects(self::once())->method('getLicense') - ->willReturn(['(LGPL-2.1-only or GPL-3.0-or-later)', 'MIT']); - - $factory->expects(self::once())->method('makeDisjunctiveLicenseRepository') - ->with('(LGPL-2.1-only or GPL-3.0-or-later)', 'MIT') - ->willReturn($expected); - - $got = $factory->makeFromPackage($package); - - self::assertSame($expected, $got); - } - - /** - * @uses \CycloneDX\Core\Repositories\DisjunctiveLicenseRepository - */ - public function testMakeDisjunctiveLicenseRepository(): void - { - /** @see \CycloneDX\Composer\Factories\LicenseFactory::makeDisjunctiveLicenseRepository() */ - $makeDisjunctiveLicenseRepository = new \ReflectionMethod( - LicenseFactory::class, - 'makeDisjunctiveLicenseRepository' - ); - $makeDisjunctiveLicenseRepository->setAccessible(true); - - $disjunctiveLicense1 = $this->createStub(DisjunctiveLicenseWithName::class); - $disjunctiveLicense2 = $this->createStub(DisjunctiveLicenseWithId::class); - $expected = new DisjunctiveLicenseRepository($disjunctiveLicense1, $disjunctiveLicense2); - $factory = $this->createPartialMock( - LicenseFactory::class, - ['makeExpression', 'makeDisjunctive', 'makeDisjunctiveLicenseRepository'] - ); - $factory->expects(self::exactly(2))->method('makeDisjunctive') - ->withConsecutive(['Foo'], ['Bar']) - ->willReturnMap( - [ - ['Foo', $disjunctiveLicense1], - ['Bar', $disjunctiveLicense2], - ] - ); - - /** @var DisjunctiveLicenseRepository $got */ - $got = $makeDisjunctiveLicenseRepository->invoke( - $factory, - 'Foo', - 'Bar' - ); - - self::assertEquals($expected, $got); - } -} diff --git a/tests/Factories/PackageUrlFactoryTest.php b/tests/Factories/PackageUrlFactoryTest.php deleted file mode 100644 index 2fadc05a..00000000 --- a/tests/Factories/PackageUrlFactoryTest.php +++ /dev/null @@ -1,100 +0,0 @@ -makeFromComponent($component); - - self::assertEquals($expected, $actual); - } - - public function dpMakeFromComponent(): \Generator - { - yield 'minimal' => [ - $this->createConfiguredMock( - Component::class, - [ - 'getName' => 'foo', - ] - ), - new PackageUrl('composer', 'foo'), - ]; - - yield 'with namespace' => [ - $this->createConfiguredMock( - Component::class, - [ - 'getName' => 'foo', - 'getGroup' => 'bar', - ] - ), - (new PackageUrl('composer', 'foo')) - ->setNamespace('bar'), - ]; - - yield 'with version' => [ - $this->createConfiguredMock( - Component::class, - [ - 'getName' => 'foo', - 'getVersion' => 'v1.2.3', - ] - ), - (new PackageUrl('composer', 'foo')) - ->setVersion('v1.2.3'), - ]; - - yield 'with SHA-1 Hash' => [ - $this->createConfiguredMock( - Component::class, - [ - 'getName' => 'foo', - 'getHashRepository' => new HashRepository(['SHA-1' => '3da541559918a808c2402bba5012f6c60b27661c']), - ] - ), - (new PackageUrl('composer', 'foo')) - ->setChecksums(['sha1:3da541559918a808c2402bba5012f6c60b27661c']), - ]; - } -} diff --git a/tests/Factories/SpecFactoryTest.php b/tests/Factories/SpecFactoryTest.php deleted file mode 100644 index be6500fa..00000000 --- a/tests/Factories/SpecFactoryTest.php +++ /dev/null @@ -1,99 +0,0 @@ -factory = new SpecFactory(); - } - - /** - * @psalm-param class-string $expectedClassName - * - * @dataProvider dpMakeExpected - * - * @uses \CycloneDX\Core\Spec\Spec11 - * @uses \CycloneDX\Core\Spec\Spec12 - * @uses \CycloneDX\Core\Spec\Spec13 - */ - public function testMakeExpected(string $version, string $expectedClassName): void - { - $spec = $this->factory->make($version); - self::assertInstanceOf($expectedClassName, $spec); - } - - public static function dpMakeExpected(): \Generator - { - // yield '1.0' => ['1.0', Spec10::class]; // not implemented - yield '1.1' => ['1.1', Spec11::class]; - yield '1.2' => ['1.2', Spec12::class]; - yield '1.3' => ['1.3', Spec13::class]; - } - - public function testMakeThrowsOnUnexpected(): void - { - $version = uniqid('unknown', true); - $this->expectException(\UnexpectedValueException::class); - $this->factory->make($version); - } - - /** - * @dataProvider versionsOfSPECS - * - * @coversNothing - */ - public function testSpecsVersion(string $version): void - { - $className = SpecFactory::SPECS[$version]; - $spec = new $className(); - self::assertInstanceOf(SpecInterface::class, $spec); - self::assertSame($version, $spec->getVersion()); - } - - public static function versionsOfSPECS(): \Generator - { - foreach (array_keys(SpecFactory::SPECS) as $version) { - yield $version => [$version]; - } - } - - public function testSpecsContainLatest(): void - { - self::assertArrayHasKey(SpecFactory::VERSION_LATEST, SpecFactory::SPECS); - } -} diff --git a/tests/MakeBom/CommandTest.php b/tests/MakeBom/CommandTest.php deleted file mode 100644 index fdf38288..00000000 --- a/tests/MakeBom/CommandTest.php +++ /dev/null @@ -1,106 +0,0 @@ -options = $this->createTestProxy(Options::class); - $this->factory = $this->createMock(Factory::class); - $this->bomFactory = $this->createMock(BomBuilder::class); - $this->command = new Command($this->options, $this->factory, $this->bomFactory, null, 'test-dummy'); - $this->command->setIO(new NullIO()); - } - - public function testConfigureUsesOptions(): void - { - $this->options->expects(self::once()) - ->method('configureCommand') - ->with(new IsInstanceOf(Command::class)); - - new Command($this->options, $this->factory, $this->bomFactory, null, 'test-dummy'); - } - - public function testRunFailsWhenOptionsInvalid(): void - { - $input = new ArrayInput( - ['--output-file' => '-'], - $this->command->getDefinition() - ); - $input->setInteractive(false); - $output = new BufferedOutput(); - - $this->options->expects(self::once()) - ->method('setFromInput') - ->with($input) - ->willThrowException(new ValueError('foo bar')); - - $status = $this->command->run($input, $output); - $written = $output->fetch(); - - self::assertSame(2, $status); - self::assertSame('', $written); - } -} diff --git a/tests/MakeBom/FactoryTest.php b/tests/MakeBom/FactoryTest.php deleted file mode 100644 index 007b3827..00000000 --- a/tests/MakeBom/FactoryTest.php +++ /dev/null @@ -1,335 +0,0 @@ -composerFactory = $this->createMock(ComposerFactory::class); - $this->specFactory = $this->createMock(SpecFactory::class); - $this->factory = new Factory($this->composerFactory, $this->specFactory); - } - - /** - * @dataProvider dpMakeSerializerFromOptions - * - * @uses \CycloneDX\Core\Serialize\JsonSerializer - * @uses \CycloneDX\Core\Serialize\XmlSerializer - * @uses \CycloneDX\Core\Serialize\BaseSerializer - */ - public function testMakeSerializerFromOptions(string $outputFormat, string $expectedClass): void - { - $options = $this->createMock(Options::class); - $options->outputFormat = $outputFormat; - - $actual = $this->factory->makeSerializerFromOptions($options); - - self::assertInstanceOf($expectedClass, $actual); - } - - public function dpMakeSerializerFromOptions() - { - yield 'xml' => ['XML', XmlSerializer::class]; - yield 'json' => ['JSON', JsonSerializer::class]; - } - - public function testMakeSpecFromOptions(): void - { - $options = $this->createMock(Options::class); - $options->specVersion = 'foobar'; - $spec = $this->createStub(SpecInterface::class); - - $this->specFactory->expects(self::once()) - ->method('make') - ->with('foobar') - ->willReturn($spec); - - $actual = $this->factory->makeSpecFromOptions($options); - - self::assertSame($spec, $actual); - } - - /** - * @dataProvider dpMakeValidatorFromOptions - * - * @uses \CycloneDX\Core\Validation\BaseValidator - * @uses \CycloneDX\Core\Validation\Validators\XmlValidator - * @uses \CycloneDX\Core\Validation\Validators\JsonValidator - */ - public function testMakeValidatorFromOptions(string $outputFormat, string $expectedClass): void - { - $options = $this->createMock(Options::class); - $options->outputFormat = $outputFormat; - $options->skipOutputValidation = false; - - $actual = $this->factory->makeValidatorFromOptions($options); - - self::assertInstanceOf($expectedClass, $actual); - } - - public function dpMakeValidatorFromOptions() - { - yield 'xml' => ['XML', XmlValidator::class]; - yield 'json' => ['JSON', JsonValidator::class]; - } - - public function testMakeValidatorFromOptionsWhenSkippedIsNull(): void - { - $options = $this->createMock(Options::class); - $options->outputFormat = uniqid('format', true); - $options->skipOutputValidation = true; - - $actual = $this->factory->makeValidatorFromOptions($options); - - self::assertNull($actual); - } - - // region test makeLockerFromComposerForOptions - - public function testMakeLockerFromComposerForOptionsTrowsWHenNotLocked(): void - { - $locker = $this->createConfiguredMock(Locker::class, ['isLocked' => false, 'isFresh' => true]); - $composer = $this->createConfiguredMock(Composer::class, ['getLocker' => $locker]); - $options = $this->createStub(Options::class); - - $this->expectException(LockerIsOutdatedError::class); - - $this->factory->makeLockerFromComposerForOptions($composer, $options); - } - - public function testMakeLockerFromComposerForOptionsTrowsWhenNotFresh(): void - { - $locker = $this->createConfiguredMock(Locker::class, ['isLocked' => true, 'isFresh' => false]); - $composer = $this->createConfiguredMock(Composer::class, ['getLocker' => $locker]); - $options = $this->createStub(Options::class); - - $this->expectException(LockerIsOutdatedError::class); - - $this->factory->makeLockerFromComposerForOptions($composer, $options); - } - - public function testMakeLockerFromComposer(): void - { - $locker = $this->createConfiguredMock( - Locker::class, - [ - 'isLocked' => true, - 'isFresh' => true, - 'getLockData' => ['packages-dev' => ['foo' => [/* some data */]]], - ] - ); - $lockedRepository = $this->createConfiguredMock(LockArrayRepository::class, ['getPackages' => []]); - $composer = $this->createConfiguredMock(Composer::class, ['getLocker' => $locker]); - $options = $this->createStub(Options::class); - $options->excludeDev = false; - $options->excludePlugins = false; - - $locker->expects(self::once())->method('getLockedRepository') - ->with(true) - ->willReturn($lockedRepository); - - $actual = $this->factory->makeLockerFromComposerForOptions($composer, $options); - - self::assertSame($lockedRepository, $actual); - } - - public function testMakeLockerFromComposerExcludesDev(): void - { - $locker = $this->createConfiguredMock( - Locker::class, - [ - 'isLocked' => true, - 'isFresh' => true, - 'getLockData' => ['packages-dev' => []], - ] - ); - $lockedRepository = $this->createConfiguredMock(LockArrayRepository::class, ['getPackages' => []]); - $composer = $this->createConfiguredMock(Composer::class, ['getLocker' => $locker]); - $options = $this->createStub(Options::class); - $options->excludeDev = true; - $options->excludePlugins = false; - - $locker->expects(self::once())->method('getLockedRepository') - ->with(false) - ->willReturn($lockedRepository); - - $actual = $this->factory->makeLockerFromComposerForOptions($composer, $options); - - self::assertSame($lockedRepository, $actual); - } - - public function testMakeLockerFromComposerExcludesPlugins(): void - { - $package1 = $this->createConfiguredMock(Package::class, ['getType' => 'library']); - $package2 = $this->createConfiguredMock(Package::class, ['getType' => 'composer-plugin']); - $locker = $this->createConfiguredMock( - Locker::class, - [ - 'isLocked' => true, - 'isFresh' => true, - 'getLockData' => ['packages-dev' => []], - ] - ); - $lockedRepository = $this->createConfiguredMock( - LockArrayRepository::class, - ['getPackages' => [$package1, $package2]] - ); - $composer = $this->createConfiguredMock(Composer::class, ['getLocker' => $locker]); - $options = $this->createStub(Options::class); - $options->excludeDev = false; - $options->excludePlugins = true; - - $locker->expects(self::once())->method('getLockedRepository') - ->willReturn($lockedRepository); - - $lockedRepository->expects(self::once())->method('removePackage') - ->with($package2); - - $actual = $this->factory->makeLockerFromComposerForOptions($composer, $options); - - self::assertSame($lockedRepository, $actual); - } - - public function testMakeLockerFromComposerExcludesAliases(): void - { - $package1 = $this->createConfiguredMock(Package::class, ['getType' => 'library']); - $package2 = $this->createConfiguredMock(AliasPackage::class, ['getType' => 'library']); - $locker = $this->createConfiguredMock( - Locker::class, - [ - 'isLocked' => true, - 'isFresh' => true, - 'getLockData' => ['packages-dev' => []], - ] - ); - $lockedRepository = $this->createConfiguredMock( - LockArrayRepository::class, - ['getPackages' => [$package1, $package2]] - ); - $composer = $this->createConfiguredMock(Composer::class, ['getLocker' => $locker]); - $options = $this->createStub(Options::class); - $options->excludeDev = false; - $options->excludePlugins = true; - - $locker->expects(self::once())->method('getLockedRepository') - ->willReturn($lockedRepository); - - $lockedRepository->expects(self::once())->method('removePackage') - ->with($package2); - - $actual = $this->factory->makeLockerFromComposerForOptions($composer, $options); - - self::assertSame($lockedRepository, $actual); - } - - // endregion test makeLockerFromComposerForOptions - - public function testMakeComposer(): void - { - $io = $this->createStub(\Composer\IO\IOInterface::class); - $composer = $this->createStub(Composer::class); - $options = $this->createMock(Options::class); - $options->composerFile = 'foo/bar'; - - $this->composerFactory->expects(self::once())->method('createComposer') - ->with($io, 'foo/bar', true) - ->willReturn($composer); - - $actual = $this->factory->makeComposer($options, $io); - - self::assertSame($composer, $actual); - } - - // region test makeBomOutput - - public function testMakeBomOutputStdOutIsNull(): void - { - $options = $this->createMock(Options::class); - $options->outputFile = '-'; - - $actual = $this->factory->makeBomOutput($options); - - self::assertNull($actual); - } - - public function testMakeBomOutputForFile(): void - { - $tempFile = tempnam(sys_get_temp_dir(), __METHOD__); - file_put_contents($tempFile, 'baz'); - try { - $options = $this->createMock(Options::class); - $options->outputFile = $tempFile; - - $actual = $this->factory->makeBomOutput($options); - self::assertNotNull($actual); - - $actual->write('foo! bar'); - self::assertSame('foo! bar', file_get_contents($tempFile)); - } finally { - unlink($tempFile); - } - } - - // endregion test makeBomOutput -} diff --git a/tests/MakeBom/OptionsTest.php b/tests/MakeBom/OptionsTest.php index b8cf7e5f..8c47e94a 100644 --- a/tests/MakeBom/OptionsTest.php +++ b/tests/MakeBom/OptionsTest.php @@ -23,129 +23,195 @@ namespace CycloneDX\Tests\MakeBom; -use CycloneDX\Composer\Factories\SpecFactory; -use CycloneDX\Composer\MakeBom\Exceptions\ValueError; use CycloneDX\Composer\MakeBom\Options; +use CycloneDX\Core\Spec\Format; use CycloneDX\Core\Spec\Version; +use DomainException; +use Generator; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; -use Symfony\Component\Console\Command\Command; -use Symfony\Component\Console\Input\InputInterface; +use RuntimeException; use Symfony\Component\Console\Input\StringInput; -/** - * @covers \CycloneDX\Composer\MakeBom\Options - */ -class OptionsTest extends TestCase +#[CoversClass(Options::class)] +final class OptionsTest extends TestCase { - // region configureCommand - - public function testConfigureCommand(): void + #[DataProvider('dpProducesOption')] + public function testProducesOption(string $inputString, array $expecteds): void { - $command = $this->createMock(Command::class); - - $command->expects(self::atLeastOnce())->method('addOption') - ->willReturnSelf(); - - (new Options())->configureCommand($command); - } + $options = new Options(); - // endregion configureCommand + $input = new StringInput($inputString); + $input->setInteractive(false); + $input->bind($options->getDefinition()); - // region setFromInput + $options->setFromInput($input); - /** - * @dataProvider dpSetFromInput - */ - public function testSetFromInput(InputInterface $input, string $property, $expected): void - { - $options = (new Options())->setFromInput($input); - $value = $options->{$property}; - self::assertSame($expected, $value, "property: $property"); + foreach ($expecteds as $property => $expected) { + self::assertSame($expected, $options->{$property}); + } } - public static function dpSetFromInput(): \Generator + public static function dpProducesOption(): Generator { - $data = [ - /* @see \CycloneDX\Composer\MakeBom\Options::$outputFormat */ - 'bomFormat default XML' => ['', 'outputFormat', 'XML'], - ['--output-format=XML', 'outputFormat', 'XML'], - ['--output-format=JSON', 'outputFormat', 'JSON'], - /* @see \CycloneDX\Composer\MakeBom\Options::$skipOutputValidation */ - 'skipOutputValidation default false' => ['', 'skipOutputValidation', false], - ['--no-validate', 'skipOutputValidation', true], - /* @see \CycloneDX\Composer\MakeBom\Options::$outputFile */ - 'outputFile default XML' => ['', 'outputFile', 'bom.xml'], - ['--output-format=XML', 'outputFile', 'bom.xml'], - ['--output-format=JSON', 'outputFile', 'bom.json'], - ['--output-file=fooBar', 'outputFile', 'fooBar'], - ['--output-file=-', 'outputFile', '-'], - /* @see \CycloneDX\Composer\MakeBom\Options::$excludeDev */ - 'excludeDev default disabled' => ['', 'excludeDev', false], - ['--exclude-dev', 'excludeDev', true], - /* @see \CycloneDX\Composer\MakeBom\Options::$excludePlugins */ - 'excludePlugins default disabled' => ['', 'excludePlugins', false], - ['--exclude-plugins', 'excludePlugins', true], - /* @see \CycloneDX\Composer\MakeBom\Options::$specVersion */ - 'specVersion default latest' => ['', 'specVersion', SpecFactory::VERSION_LATEST], - ['--spec-version=1.1', 'specVersion', Version::V_1_1], - ['--spec-version=1.2', 'specVersion', Version::V_1_2], - ['--spec-version=1.3', 'specVersion', Version::V_1_3], - /* @see \CycloneDX\Composer\MakeBom\Options::$omitVersionNormalization */ - 'omitVersionNormalization default' => ['', 'omitVersionNormalization', false], - ['--no-version-normalization', 'omitVersionNormalization', true], - /* @see \CycloneDX\Composer\MakeBom\Options::$composerFile */ - 'composerFile default to null' => ['', 'composerFile', null], - ['my/project/composer.json', 'composerFile', 'my/project/composer.json'], + yield 'defaults' => [ + '', + [ + 'outputFormat' => Format::XML, + 'outputFile' => Options::VALUE_OUTPUT_FILE_STDOUT, + 'omit' => [], + 'specVersion' => Version::v1dot4, + 'validate' => true, + 'mainComponentVersion' => null, + 'composerFile' => null, + ], ]; - - $command = new Command('dummy'); - (new Options())->configureCommand($command); - - foreach ($data as $title => [$inputString, $property, $expected]) { - $input = new StringInput($inputString); - $input->setInteractive(false); - $input->bind($command->getDefinition()); - yield ( - \is_int($title) - ? "$inputString -> $property=".var_export($expected, true) - : $title - ) => [$input, $property, $expected]; + foreach ([ + 'XML' => Format::XML, + 'JSON' => Format::JSON, + ] as $outputFormatIn => $outputFormat) { + yield "outputFormat $outputFormatIn" => [ + '--output-format '.escapeshellarg($outputFormatIn), + ['outputFormat' => $outputFormat], + ]; + $outputFormatLC = strtolower($outputFormatIn); + yield "outputFormat $outputFormatLC -> $outputFormatIn" => [ + '--output-format '.escapeshellarg($outputFormatLC), + ['outputFormat' => $outputFormat], + ]; } + $randomFile = '/tmp/foo/'.uniqid('testing', true); + yield 'outputFile' => [ + '--output-file '.escapeshellarg($randomFile), + ['outputFile' => $randomFile], + ]; + yield 'omit some' => [ + '--omit=dev --omit plugin --omit invalid-value', + ['omit' => ['dev', 'plugin']], + ]; + foreach ([ + '1.4' => Version::v1dot4, + '1.3' => Version::v1dot3, + '1.2' => Version::v1dot2, + '1.1' => Version::v1dot1, + ] as $specVersionIn => $specVersion) { + yield "specVersion '$specVersionIn'" => [ + '--spec-version '.escapeshellarg($specVersionIn), + ['specVersion' => $specVersion], + ]; + } + yield 'mainComponentVersion EmptyString -> null' => [ + '--mc-version ""', + ['mainComponentVersion' => null], + ]; + yield 'output-reproducible:true' => [ + '--output-reproducible', + ['outputReproducible' => true], + ]; + yield 'no-output-reproducible' => [ + '--no-output-reproducible', + ['outputReproducible' => false], + ]; + yield 'no-output-reproducible but output-reproducible' => [ + '--no-output-reproducible --output-reproducible', + ['outputReproducible' => true], + ]; + yield 'output-reproducible but no-output-reproducible' => [ + '--output-reproducible --no-output-reproducible', + ['outputReproducible' => false], + ]; + yield 'validate:true' => [ + '--validate', + ['validate' => true], + ]; + yield 'no-validate' => [ + '--no-validate', + ['validate' => false], + ]; + yield 'no-validate but validate' => [ + '--no-validate --validate', + ['validate' => true], + ]; + yield 'validate but no-validate' => [ + '--validate --no-validate', + ['validate' => false], + ]; + $randVersion = uniqid('v', true); + yield 'mainComponentVersion some' => [ + '--mc-version '.escapeshellarg($randVersion), + ['mainComponentVersion' => $randVersion], + ]; + $randVersion = uniqid('v', true); + yield 'mainComponentVersion NonEmptyString' => [ + '--mc-version '.escapeshellarg($randVersion), + ['mainComponentVersion' => $randVersion], + ]; + yield 'no composerFile -> null' => [ + '--', + ['composerFile' => null], + ]; + yield 'empty composerFile -> null' => [ + "-- ''", + ['composerFile' => null], + ]; + $randomFile = 'foo/composer.json'; + yield 'some composerFile' => [ + '-- '.escapeshellarg($randomFile), + ['composerFile' => $randomFile], + ]; } - public function testSetFromInputThrowsOnInvalidSpec(): void + /** + * @psalm-param class-string<\Throwable> $exception + */ + #[DataProvider('dpProducesOptionError')] + public function testProducesOptionError(string $inputString, string $exception, string $exceptionErrorMessage): void { - $input = $this->createMock(InputInterface::class); - $input->method('getOption') - ->willReturnMap( - [ - ['spec-version', 'FOO'], // test object - ['output-format', 'XML'], - ] - ); + $options = new Options(); - $this->expectException(ValueError::class); - $this->expectExceptionMessageMatches('/invalid value for option "spec-version"/i'); + $this->expectException($exception); + $this->expectExceptionMessageMatches($exceptionErrorMessage); - (new Options())->setFromInput($input); + $input = new StringInput($inputString); + $input->setInteractive(false); + $input->bind($options->getDefinition()); + + $options->setFromInput($input); } - public function testSetFromInputThrowsOnInvalidOutputFormat(): void + public static function dpProducesOptionError(): Generator { - $input = $this->createMock(InputInterface::class); - $input->method('getOption') - ->willReturnMap( - [ - ['spec-version', '1.2'], - ['output-format', 'Foo'], // test object - ] - ); - - $this->expectException(ValueError::class); - $this->expectExceptionMessageMatches('/invalid value for option "output-format"/i'); - - (new Options())->setFromInput($input); + yield 'unexpected option' => [ + '--unexpected-option foo', + RuntimeException::class, + '/option does not exist/i', + ]; + $randomString = uniqid('', true); + yield 'unexpected output-format' => [ + '--output-format '.escapeshellarg($randomString), + DomainException::class, + '/invalid value/i', + ]; + yield 'empty output-file' => [ + '--output-file ""', + DomainException::class, + '/invalid value/i', + ]; + yield 'unexpected spec-version' => [ + '--spec-version '.escapeshellarg($randomString), + DomainException::class, + '/invalid value/i', + ]; + yield 'empty omit' => [ + '--omit', + RuntimeException::class, + '/option requires a value/i', + ]; + yield 'empty mainComponentVersion' => [ + '--mc-version', + RuntimeException::class, + '/option requires a value/i', + ]; } - - // endregion setFromInput } diff --git a/tests/PluginTest.php b/tests/PluginTest.php index a29ea0a9..5a37b406 100644 --- a/tests/PluginTest.php +++ b/tests/PluginTest.php @@ -27,13 +27,19 @@ use Composer\Plugin\Capable; use Composer\Plugin\PluginInterface; use CycloneDX\Composer\MakeBom\Command; +use CycloneDX\Composer\MakeBom\Options; use CycloneDX\Composer\Plugin; +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\CoversNothing; +use PHPUnit\Framework\Attributes\Depends; +use PHPUnit\Framework\Attributes\DoesNotPerformAssertions; +use PHPUnit\Framework\Attributes\UsesClass; use PHPUnit\Framework\TestCase; -/** - * @covers \CycloneDX\Composer\Plugin - */ -class PluginTest extends TestCase +#[CoversClass(Plugin::class)] +#[UsesClass(Command::class)] +#[UsesClass(Options::class)] +final class PluginTest extends TestCase { /** * path to composer.json file. @@ -43,9 +49,8 @@ class PluginTest extends TestCase /** * assert the correct setup as described in * {@link https://getcomposer.org/doc/articles/plugins.md#plugin-package the docs}. - * - * @coversNothing */ + #[CoversNothing] public function testPackageIsComposerPlugin(): void { $composerJson = $this->getComposerJson(); @@ -55,15 +60,14 @@ public function testPackageIsComposerPlugin(): void /** * assert the correct setup as described in * {@link https://getcomposer.org/doc/articles/plugins.md#plugin-package the docs}. - * - * @coversNothing */ + #[CoversNothing] public function testPluginIsRegistered(): string { $composerJson = $this->getComposerJson(); $pluginClass = $composerJson['extra']['class']; - self::assertTrue(class_exists($pluginClass)); + self::assertTrue(class_exists($pluginClass), "class does not exist: $pluginClass"); self::assertSame(Plugin::class, $pluginClass); return $pluginClass; @@ -79,14 +83,8 @@ private function getComposerJson(): array ); } - /** - * @depends testPluginIsRegistered - * - * @return PluginInterface|Capable - * - * @psalm-return PluginInterface&Capable - */ - public function testPluginImplementsRequiredInterfaces(string $pluginClass) + #[Depends('testPluginIsRegistered')] + public function testPluginImplementsRequiredInterfaces(string $pluginClass): PluginInterface&Capable { $implements = class_implements($pluginClass); @@ -96,9 +94,7 @@ public function testPluginImplementsRequiredInterfaces(string $pluginClass) return new $pluginClass(); } - /** - * @depends testPluginImplementsRequiredInterfaces - */ + #[Depends('testPluginImplementsRequiredInterfaces')] public function testPluginIsCapableOfCommand(Capable $plugin): CommandProvider { $capabilities = $plugin->getCapabilities(); @@ -111,39 +107,22 @@ public function testPluginIsCapableOfCommand(Capable $plugin): CommandProvider return $commandProvider; } - /** - * @depends testPluginIsCapableOfCommand - * - * @uses \CycloneDX\Composer\MakeBom\Command - * @uses \CycloneDX\Composer\MakeBom\Options - * @uses \CycloneDX\Composer\MakeBom\Factory - * @uses \CycloneDX\Composer\Builders\BomBuilder - * @uses \CycloneDX\Composer\Builders\ComponentBuilder - * @uses \CycloneDX\Core\Factories\LicenseFactory - * @uses \CycloneDX\Core\Spdx\License - * @uses \CycloneDX\Core\Models\Tool - * @uses \CycloneDX\Composer\ToolUpdater - */ + #[Depends('testPluginIsCapableOfCommand')] public function testMakeBomCommandIsRegistered(CommandProvider $commandProvider): void { $commands = $commandProvider->getCommands(); self::assertContainsOnlyInstancesOf(\Composer\Command\BaseCommand::class, $commands); - self::assertCount(2, $commands); + self::assertCount(1, $commands); $command = $commands[0]; self::assertInstanceOf(Command::class, $command); self::assertSame('CycloneDX:make-sbom', $command->getName()); - - $commandDeprecated = $commands[1]; - self::assertInstanceOf(Command::class, $commandDeprecated); - self::assertSame('make-bom', $commandDeprecated->getName()); } - /** - * @depends testPluginImplementsRequiredInterfaces - */ + #[Depends('testPluginImplementsRequiredInterfaces')] + #[DoesNotPerformAssertions] public function testActivatePlugin(PluginInterface $plugin): PluginInterface { $plugin->activate( @@ -151,14 +130,11 @@ public function testActivatePlugin(PluginInterface $plugin): PluginInterface $this->createMock(\Composer\IO\IOInterface::class), ); - self::assertTrue(true, 'no tests at the moment'); - return $plugin; } - /** - * @depends testActivatePlugin - */ + #[Depends('testActivatePlugin')] + #[DoesNotPerformAssertions] public function testDeactivatePlugin(PluginInterface $plugin): PluginInterface { $plugin->deactivate( @@ -166,14 +142,11 @@ public function testDeactivatePlugin(PluginInterface $plugin): PluginInterface $this->createMock(\Composer\IO\IOInterface::class), ); - self::assertTrue(true, 'no tests at the moment'); - return $plugin; } - /** - * @depends testDeactivatePlugin - */ + #[Depends('testDeactivatePlugin')] + #[DoesNotPerformAssertions] public function testUninstallPlugin(PluginInterface $plugin): PluginInterface { $plugin->uninstall( @@ -181,8 +154,6 @@ public function testUninstallPlugin(PluginInterface $plugin): PluginInterface $this->createMock(\Composer\IO\IOInterface::class), ); - self::assertTrue(true, 'no tests at the moment'); - return $plugin; } } diff --git a/tests/ToolUpdaterTest.php b/tests/ToolUpdaterTest.php deleted file mode 100644 index c577d15f..00000000 --- a/tests/ToolUpdaterTest.php +++ /dev/null @@ -1,165 +0,0 @@ -createMock(ComponentBuilder::class); - $updater = new ToolUpdater($componentBuilder); - $tool = $this->createConfiguredMock( - Tool::class, - [ - 'getVendor' => 'myVendor', - 'getName' => 'myName', - ] - ); - $lockRepo = $this->createMock(LockArrayRepository::class); - $hashes = $this->createStub(HashRepository::class); - $package = $this->createStub(PackageInterface::class); - $alias = $this->createStub(AliasPackage::class); - $component = $this->createConfiguredMock( - Component::class, - [ - 'getVersion' => 'myVersion', - 'getHashRepository' => $hashes, - ] - ); - - $lockRepo->method('findPackages') - ->with('myVendor/myName', new IsInstanceOf(MatchAllConstraint::class)) - ->willReturn([$alias, $package]); - - $componentBuilder->method('makeFromPackage') - ->with($package) - ->willReturn($component); - - $tool->expects(self::once()) - ->method('setVersion') - ->with('myVersion'); - - $tool->expects(self::once()) - ->method('setHashRepository') - ->with($hashes); - - $updated = $updater->updateTool($tool, $lockRepo); - - self::assertTrue($updated); - } - - public function testUpdateToolWithputNameAndVendor(): void - { - $componentBuilder = $this->createMock(ComponentBuilder::class); - $updater = new ToolUpdater($componentBuilder); - $tool = $this->createMock(Tool::class); - $lockRepo = $this->createStub(LockArrayRepository::class); - - $tool->expects(self::never()) - ->method('setVersion'); - - $tool->expects(self::never()) - ->method('setHashRepository'); - - $updated = $updater->updateTool($tool, $lockRepo); - - self::assertFalse($updated); - } - - public function testUpdateToolThatIsUnknown(): void - { - $componentBuilder = $this->createMock(ComponentBuilder::class); - $updater = new ToolUpdater($componentBuilder); - $tool = $this->createConfiguredMock( - Tool::class, - [ - 'getVendor' => 'myVendor', - 'getName' => 'myName', - ] - ); - $lockRepo = $this->createMock(LockArrayRepository::class); - - $lockRepo->method('findPackages') - ->with('myVendor/myName', new IsInstanceOf(MatchAllConstraint::class)) - ->willReturn([]); - - $tool->expects(self::never()) - ->method('setVersion'); - - $tool->expects(self::never()) - ->method('setHashRepository'); - - $updated = $updater->updateTool($tool, $lockRepo); - - self::assertFalse($updated); - } - - public function testUpdateToolThatDoesNotConvertToComponent(): void - { - $componentBuilder = $this->createMock(ComponentBuilder::class); - $updater = new ToolUpdater($componentBuilder); - $tool = $this->createConfiguredMock( - Tool::class, - [ - 'getVendor' => 'myVendor', - 'getName' => 'myName', - ] - ); - $lockRepo = $this->createMock(LockArrayRepository::class); - $package = $this->createStub(PackageInterface::class); - - $lockRepo->method('findPackages') - ->with('myVendor/myName', new IsInstanceOf(MatchAllConstraint::class)) - ->willReturn([$package]); - - $componentBuilder->method('makeFromPackage') - ->with($package) - ->willThrowException(new \Exception()); - - $tool->expects(self::never()) - ->method('setVersion'); - - $tool->expects(self::never()) - ->method('setHashRepository'); - - $updated = $updater->updateTool($tool, $lockRepo); - - self::assertFalse($updated); - } -} diff --git a/tools/composer-normalize/composer.json b/tools/composer-normalize/composer.json index 56db018c..4c2b0e59 100644 --- a/tools/composer-normalize/composer.json +++ b/tools/composer-normalize/composer.json @@ -3,7 +3,7 @@ "type": "metapackage", "description": "composer-normalize", "require-dev": { - "ergebnis/composer-normalize": "2.28.3", + "ergebnis/composer-normalize": "2.29.0", "roave/security-advisories": "dev-latest" }, "config": { diff --git a/tools/composer-require-checker/composer.json b/tools/composer-require-checker/composer.json index 42e29272..c04412c2 100644 --- a/tools/composer-require-checker/composer.json +++ b/tools/composer-require-checker/composer.json @@ -3,7 +3,7 @@ "type": "metapackage", "description": "composer-require-checker", "require-dev": { - "maglnet/composer-require-checker": "3.8.0", + "maglnet/composer-require-checker": "4.5.0", "roave/security-advisories": "dev-latest" }, "config": { diff --git a/tools/composer-unused/composer.json b/tools/composer-unused/composer.json index b1ee8729..53d8cc31 100644 --- a/tools/composer-unused/composer.json +++ b/tools/composer-unused/composer.json @@ -3,8 +3,7 @@ "type": "metapackage", "description": "composer-unused", "require-dev": { - "composer/composer": "^2.1.12", - "icanhazstring/composer-unused": "0.8.6", + "icanhazstring/composer-unused": "0.8.5", "roave/security-advisories": "dev-latest" }, "config": { diff --git a/tools/php-cs-fixer/composer.json b/tools/php-cs-fixer/composer.json index b91486dd..1de2905b 100644 --- a/tools/php-cs-fixer/composer.json +++ b/tools/php-cs-fixer/composer.json @@ -3,7 +3,7 @@ "type": "metapackage", "description": "php-cs-fixer", "require-dev": { - "friendsofphp/php-cs-fixer": "3.14.3", + "friendsofphp/php-cs-fixer": "v3.14.4", "roave/security-advisories": "dev-latest" }, "config": { diff --git a/tools/phpunit/.gitignore b/tools/phpunit/.gitignore new file mode 100644 index 00000000..2ea50ef7 --- /dev/null +++ b/tools/phpunit/.gitignore @@ -0,0 +1,3 @@ +* +!/.gitignore +!/composer.json diff --git a/tools/phpunit/composer.json b/tools/phpunit/composer.json new file mode 100644 index 00000000..870b04aa --- /dev/null +++ b/tools/phpunit/composer.json @@ -0,0 +1,17 @@ +{ + "name": "tools/phpunit", + "type": "metapackage", + "description": "phpunit", + "require-dev": { + "phpunit/phpunit": "10.0.7", + "roave/security-advisories": "dev-latest" + }, + "config": { + "preferred-install": "dist", + "sort-packages": true, + "allow-plugins": { + "composer/package-versions-deprecated": false + } + }, + "prefer-stable": true +} diff --git a/tools/psalm/composer.json b/tools/psalm/composer.json index 4e6a7585..80103bda 100644 --- a/tools/psalm/composer.json +++ b/tools/psalm/composer.json @@ -3,7 +3,7 @@ "type": "metapackage", "description": "psalm and plugins", "require-dev": { - "vimeo/psalm": "4.30.0", + "vimeo/psalm": "5.6.0", "roave/security-advisories": "dev-latest" }, "config": {