UpdateComposerJsonCommand
Updates composer.json with the Fast Forward dev-tools integration metadata.
'update-composer-json'
'Updates composer.json with Fast Forward dev-tools scripts and metadata.'
'This command adds or updates composer.json scripts and GrumPHP extra configuration required by dev-tools.'
Interfaces
Defines the logger contract consumed by reusable command result helpers.
Properties
Methods
Creates a new UpdateComposerJsonCommand instance.
Adds the standard JSON output options to the current command.
Configures the composer file option.
Updates composer.json when the target file exists.
Determines whether JSON output was requested.
Determines whether pretty JSON output was requested.
Logs a failed command result and returns the failure exit code.
Logs an informational command message at notice level.
Returns the Composer scripts managed by this command.
Prompts whether composer.json should be updated.
Logs a successful command result and returns the success exit code.
private
ComposerJsonInterface
$composer
private
FileDiffer
$fileDiffer
private
FileLocatorInterface
$fileLocator
private
FilesystemInterface
$filesystem
private
LoggerInterface
$logger
Creates a new UpdateComposerJsonCommand instance.
public
__construct(ComposerJsonInterface
$composer, FilesystemInterface
$filesystem, FileLocatorInterface
$fileLocator, FileDiffer
$fileDiffer, LoggerInterface
$logger) : mixed
Parameters
Description
the composer.json metadata accessor
Description
the filesystem used to read and write composer.json
$fileLocator
:
FileLocatorInterface
Description
the locator used to resolve packaged configuration files
$logger
:
LoggerInterface
Description
the output-aware logger
Adds the standard JSON output options to the current command.
protected
addJsonOption() : static
Return values
Configures the composer file option.
protected
configure() : void
Updates composer.json when the target file exists.
protected
execute(InputInterface
$input, OutputInterface
$output) : int
Parameters
$input
:
InputInterface
Description
the command input
$output
:
OutputInterface
Description
the command output
Return values
Description
the command status code
Determines whether JSON output was requested.
protected
isJsonOutput(InputInterface
$input) : bool
Description
The pretty-json flag SHALL imply JSON output.
Parameters
$input
:
InputInterface
Return values
Determines whether pretty JSON output was requested.
protected
isPrettyJsonOutput(InputInterface
$input) : bool
Parameters
$input
:
InputInterface
Return values
Logs a failed command result and returns the failure exit code.
private
failure(
string
$message, InputInterface
$input[,
array<string, mixed>
$context = []][,
string|null
$file = null][,
int|null
$line = null]) : int
Parameters
$message
:
string
Description
the failure message
$input
:
InputInterface
Description
the originating command input
$context
:
array<string, mixed>
=
[]
Description
optional extra log context
$file
:
string|null
=
null
Description
the related file path when known
$line
:
int|null
=
null
Description
the related line when known
Return values
Logs an informational command message at notice level.
private
notice(
string
$message, InputInterface
$input[,
array<string, mixed>
$context = []]) : void
Parameters
$message
:
string
Description
the notice message
$input
:
InputInterface
Description
the originating command input
$context
:
array<string, mixed>
=
[]
Description
optional extra log context
Returns the Composer scripts managed by this command.
private
scripts() : array<string, string>
Return values
Description
the script name to command map
Prompts whether composer.json should be updated.
private
shouldUpdateComposerJson(
string
$file) : bool
Parameters
$file
:
string
Description
the composer.json path that would be updated
Return values
Description
true when the update SHOULD proceed
Logs a successful command result and returns the success exit code.
private
success(
string
$message, InputInterface
$input[,
array<string, mixed>
$context = []][,
string
$logLevel = LogLevel::INFO]) : int
Parameters
$message
:
string
Description
the success message
$input
:
InputInterface
Description
the originating command input
$context
:
array<string, mixed>
=
[]
Description
optional extra log context
$logLevel
:
string
=
LogLevel::INFO
Description
the PSR-3 log level used for the successful result