Update docs and add more helpful output to validate command, refs #9782
parent
89c3045e2b
commit
458bd41d8f
|
@ -94,7 +94,9 @@ Out of the box, Composer supports four types:
|
|||
CMSs like the [SilverStripe installer](https://github.com/silverstripe/silverstripe-installer)
|
||||
or full fledged applications distributed as packages. This can for example
|
||||
be used by IDEs to provide listings of projects to initialize when creating
|
||||
a new workspace.
|
||||
a new workspace. Setting the type to `project` also makes the `name` and
|
||||
`description` fields optional, making it a good choice for closed source
|
||||
projects wishing to use `composer validate`.
|
||||
- **metapackage:** An empty package that contains requirements and will trigger
|
||||
their installation, but contains no files and will not write anything to the
|
||||
filesystem. As such, it does not require a dist or source key to be
|
||||
|
|
|
@ -63,6 +63,16 @@ class ConfigValidator
|
|||
$json->validateSchema();
|
||||
} catch (JsonValidationException $e) {
|
||||
foreach ($e->getErrors() as $message) {
|
||||
if ($message === 'type : The property type is required') {
|
||||
$message .= ' (see https://getcomposer.org/doc/04-schema.md#type)';
|
||||
}
|
||||
if ($message === 'name : The property name is required') {
|
||||
$message .= ' (or set "type" to "project" to remove this requirement)';
|
||||
}
|
||||
if ($message === 'description : The property description is required') {
|
||||
$message .= ' (or set "type" to "project" to remove this requirement)';
|
||||
}
|
||||
|
||||
if ($laxValid) {
|
||||
$publishErrors[] = $message;
|
||||
} else {
|
||||
|
|
Loading…
Reference in New Issue