ramsey / conventional-commits

:yo_yo: A PHP library for creating and validating commit messages according to the Conventional Commits specification. Includes a CaptainHook plugin!

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Return type error when executing prepear command

sunxyw opened this issue · comments

Description

Steps to reproduce

  1. Install this package.
  2. Execute ./vendor/bin/conventional-commits prepare

Expected behavior

Successfully execute the command.

Screenshots or output

{projectpath} is my project root. It is a fresh new Laravel 9 project.

$ ./vendor/bin/conventional-commits prepare

Fatal error: Uncaught TypeError: Ramsey\ConventionalCommits\Console\Command\BaseCommand::getComposer(): Return value must be of type Composer\Composer, Composer\PartialComposer returned in {projectpath}/vendor/ramsey/conventional-commits/src/ConventionalCommits/Configuration/FinderTool.php:100
Stack trace:
#0 {projectpath}/vendor/ramsey/conventional-commits/src/ConventionalCommits/Configuration/FinderTool.php(139): Ramsey\ConventionalCommits\Console\Command\BaseCommand->getComposer(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput), Object(Symfony\Component\Filesystem\Filesystem))  
#1 {projectpath}/vendor/ramsey/conventional-commits/src/ConventionalCommits/Configuration/FinderTool.php(84): Ramsey\ConventionalCommits\Console\Command\BaseCommand->loadConfigFromComposer(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#2 {projectpath}/vendor/ramsey/conventional-commits/src/ConventionalCommits/Console/Command/BaseCommand.php(56): Ramsey\ConventionalCommits\Console\Command\BaseCommand->findConfiguration(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput), NULL)
#3 {projectpath}/vendor/symfony/console/Command/Command.php(291): Ramsey\ConventionalCommits\Console\Command\BaseCommand->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#4 {projectpath}/vendor/symfony/console/Application.php(989): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))     
#5 {projectpath}/vendor/symfony/console/Application.php(299): Symfony\Component\Console\Application->doRunCommand(Object(Ramsey\ConventionalCommits\Console\Command\PrepareCommand), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#6 {projectpath}/vendor/symfony/console/Application.php(171): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))       
#7 {projectpath}/vendor/ramsey/conventional-commits/bin/conventional-commits(69): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput))
#8 {projectpath}/vendor/ramsey/conventional-commits/bin/conventional-commits(70): {closure}(Array)      
#9 {projectpath}/vendor/bin/conventional-commits(97): include('/data/dev/loong...')
#10 {main}
  thrown in {projectpath}/vendor/ramsey/conventional-commits/src/ConventionalCommits/Configuration/FinderTool.php on line 100

Environment details

  • version of this package: 1.3.0
  • PHP version: 8.1.3
  • OS: Linux (Ubuntu 20.04.4) (WSL)
  • Composer version: 2.1.12

Additional context

./vendor/bin/conventional-commits works fine and output the help message.

Thanks for reporting. This is fixed in version 1.3.1.