knuckleswtf / scribe Goto Github PK
View Code? Open in Web Editor NEWGenerate API documentation for humans from your Laravel codebase.✍
Home Page: https://scribe.knuckles.wtf/laravel/
License: MIT License
Generate API documentation for humans from your Laravel codebase.✍
Home Page: https://scribe.knuckles.wtf/laravel/
License: MIT License
@bodyParam
I have a JSON API which allows an external user to POST lots of data to my server. All the incoming data I validate using the Laravel Validator. An example of my controller's contents is as follows:
$validator = Validator::make(
$postbody,
[
'parameter1' => ['required', 'numeric', ...],
'parameter2' => ['required', 'numeric', ...],
]
);
if ($validator->fails()) {
return response()->json($validator->errors(), 400);
} else {
//Validation passed
}
These parameters are currently documented as follows:
/**
* @group Endpoint Group
*
* Some Title
* @bodyParam parameter1 number required Some kind of description. Example: 12356
* @bodyParam parameter2 number required Some kind of description. Example: 12356
*/
Please add automatic detection of these Validator rules so that body parameters do not need to be manually specified. The user can then enter manual descriptions via the @bodyParam
should they wish to do so otherwise the auto-generated validation rules can be used instead.
When using the 'laravel' type, there are some issues;
laravel.url
should be laravel.docs_url
I'm going for the static type for now, as soon as I have some extra time I can make a PR.
I've been looking at the ResponseCalls for automated documentation on some projects I'm working on. Mostly, they seem to work but I've come across a weird error where it seems that headers are not getting set?
Example that's generated:
curl -X POST
"http://iam.localhost/api/1/auth/register"
-H "Content-Type: application/json"
-H "Accept: application/json"
-H "Authorization: Bearer {token}"
-H "asdasd: asdasd"
-d '{"first_name":"Joe","last_name":"Bloggs","email":"[email protected]","password":"supersecret"}'
When running scribe:generate I dumped the headers on that request
^ Illuminate\Support\Collection^ {#2862
#items: array:5 [
"host" => "iam.localhost"
"user-agent" => "Symfony"
"accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8"
"accept-language" => "en-us,en;q=0.5"
"accept-charset" => "ISO-8859-1,utf-8;q=0.7,*;q=0.7"
]
}
However running the example from the Postman Collection that's generated works due to postman putting in the Content-Length.
^ Illuminate\Support\Collection {#1147
#items: array:13 [
"accept-encoding" => "gzip"
"x-real-ip" => "172.22.0.1"
"x-forwarded-server" => "1206b265bdde"
"x-forwarded-proto" => "http"
"x-forwarded-port" => "80"
"x-forwarded-host" => "iam.localhost"
"x-forwarded-for" => "172.22.0.1"
"content-type" => "application/json"
"cache-control" => "no-cache"
"authorization" => "Bearer SOMETOKEN"
"accept" => "/"
"content-length" => "127"
"host" => "iam.localhost"
]
}
There is no Auth header or Content-Length headers in the request so the request from scribe:generate is failing.
I've set the headers in the scribe config
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
Am I missing something fundamental here or is this not the desired behaviour? I've read through the docs and from what I can understand this should work?
By default the docs generated are english, can i change to other language ? example : French or Spanish ?
There is a way to achieve this ?
Hi,
I'm using Insomnia, and when I import collection.json the urls to the endpoints are empty.
Importing to Postman, exporting from there and importing again to Insomnia makes be believe that this could be fixed by adding raw to the export:
"item": [
{
"name": "/myendpoint",
"request": {
"url": {
**"raw": "https://example.com/myendpoint",**
"protocol": "https",
"host": "example.com",
"path": "/myendpoint",
"query": []
},
}
]
Should this be added, to conform to the way Postman exports its endpoints?
I'm using Lumen 7,
I've this on my login method,
/**
* Customer Info
* Get current customer's info
*
*
* @authenticated
* @group Customer
* @response {
* "data": {
* "id": 3,
* "name": "Tina Luettgen",
* "email": "[email protected]",
* "mobile": "1-396-427-6971",
* "email_verified_at": "2019-05-05 11:26:54",
* "mobile_verified_at": "2019-05-05 11:26:54",
* "avatar": "default.jpg",
* "created_at": "2019-05-05 11:26:54",
* "updated_at": "2019-05-05 11:26:54"
* },
* "status": 200
* }
*/
But when try to run php artisan scribe:generate it just generate default documentation with annotation not taking any effect.
Deleted
I am getting this error when I try to generate using
php artisan scribe:generate
Undefined index: OPTIONS (View: E:\laragon\www\app\vendor\knuckleswtf\scribe\resources\views\components\badges\http-method.blade.php)
at E:\laragon\www\app\vendor\knuckleswtf\scribe\src/../resources/views//components/badges/http-method.blade.php:2
1| @component('scribe::components.badges.base', [
> 2| 'colour' => \Knuckles\Scribe\Tools\WritingUtils::$httpMethodToCssColour[$method],
3| 'text' => $method,
4| ])
5| @endcomponent
6|
1 E:\laragon\www\app\vendor\knuckleswtf\scribe\src/../resources/views//components/badges/http-method.blade.php:2
Illuminate\Foundation\Bootstrap\HandleExceptions::handleError("Undefined index: OPTIONS", "E:\laragon\www\app\storage\framework\views\0f7694f5ee174ac314e61576
041c973175b99694.php")
2 E:\laragon\www\app\vendor\knuckleswtf\scribe\src/../resources/views//partials/endpoint.blade.php:38
Illuminate\View\Factory::renderComponent()
Any idea why I am getting this error? I tried troubleshooting but didn't help.
Thanks.
I've set the
'enabled' => false,
In the scribe.php and reg'd, however its still producing postman examples. Any way to turn this off?
Hi there,
some of my routes are getting skipped while generating with the following error:
Exception ErrorException encountered : strpos() expects parameter 1 to be string, object given
Am I missing something in the config?
Thank you in advance
The route configuration is looking for config key scribe.laravel.docs_url
Line 5 in d8a1e17
However, the default configuration file defines it as scribe.laravel.url
Line 36 in d8a1e17
I did not submit a PR as unsure of which option you would prefer to go ahead with!
Thanks for all the hard work on the new package! :) After some initial hurdles, I just got my docs building this morning and ❤️ the design improvements. Jumping in to take advantage of the feature enhancements now. 🥳
What happened?
This is is what I assume is the problem, I could be wrong. Apologies if that's the case.
Some endpoints of ours have a model which creates multiple relations with the use of factories.
In our case we have an application which belongs to a stage. Which then again belong to a job.
So in our application factory we create a stage if one is not defined.
And in the stage factory we create a job if one is not defined.
The creation of the items are working perfectly but once the model (the application) hits our resource the job doesn't exist anymore. The stage does still exist and works perfectly.
Example code:
Application Factory
$factory->define(Application::class, function (Faker $faker, $params) {
if (isset($params['stage_id'])) {
$stage = Stage::findOrFail($params['stage_id']);
} else {
$stage = factory(Stage::class)->create();
}
$stage->job // exist just as needed!
return [
// Attributes
];
});
Stage Factory
$factory->define(Stage::class, function (Faker $faker, $params) {
if (isset($params['job_id'])) {
$job = Job::with('company.jobsite')->findOrFail($params['job_id']);
} else {
$job = factory(Job::class)->create();
}
$job // Job exist perfectly fine
return [
// Attributes
];
});
Resource
class Application extends JsonResource
{
/**
* Transform the resource into an array.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function toArray($request): array
{
$this->stage // exist just as expected.
$this->stage->job_id // also exist and has the ID that was provided in the factory
$this->stage->job // does not exist. We use this relation on many places so we are pretty sure it's not the relation
Job::where('id', $this->stage->job_id)->first() // + this also returns null
}
}
This is the docblock on the controller (if you'd need that information):
/**
* Retrieve an application
*
* @header X-Application-Access-Token {access_token}
* @apiResource \App\Http\Resources\Content\Application
* @apiResourceModel \App\Models\Application
*
* @param integer $id
* @return \App\Http\Resources\Content\Application
*/
So it looks like the job has already been removed before I could make use of it.
My environment:
My Scribe config (minus the comments):
<?php
return [
'type' => 'laravel',
'static' => [
'output_path' => 'public/docs',
],
'laravel' => [
'add_routes' => true,
'docs_url' => '/docs',
'middleware' => [],
],
'auth' => [
'enabled' => true,
'in' => 'bearer',
'name' => 'Authorization',
'use_value' => env('SCRIBE_AUTH_KEY'),
'extra_info' => 'extra info.',
],
'intro_text' => 'intro',
'example_languages' => [
'bash',
'javascript',
'php',
],
'base_url' => env('API_URL'),
'title' => null,
'postman' => [
'enabled' => false,
'base_url' => null,
'description' => null,
'auth' => null,
],
'default_group' => 'Endpoints',
'logo' => 'app/img/logo-docs.svg',
'router' => 'laravel',
'routes' => [
[
'match' => [
'domains' => [
env('API_SUBDOMAIN', 'api') . '.' . env('APP_TLD')
],
'prefixes' => [
'content/v1/*',
],
'versions' => ['v1'],
],
'include' => [
// 'users.index', 'healthcheck*'
],
'exclude' => [
// '/health', 'admin.*'
],
'apply' => [
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'response_calls' => [
'methods' => [],
'config' => [
'app.env' => 'local',
// 'app.debug' => false,
],
'cookies' => [
// 'name' => 'value'
],
'queryParams' => [
// 'key' => 'value',
],
'bodyParams' => [
// 'key' => 'value',
],
'fileParams' => [
// 'key' => '/home/me/image.png',
],
],
],
],
],
'fractal' => [
'serializer' => null,
],
'faker_seed' => null,
'strategies' => [
'metadata' => [
\Knuckles\Scribe\Extracting\Strategies\Metadata\GetFromDocBlocks::class,
],
'urlParameters' => [
\Knuckles\Scribe\Extracting\Strategies\UrlParameters\GetFromUrlParamTag::class,
],
'queryParameters' => [
\Knuckles\Scribe\Extracting\Strategies\QueryParameters\GetFromQueryParamTag::class,
],
'headers' => [
\Knuckles\Scribe\Extracting\Strategies\Headers\GetFromRouteRules::class,
\Knuckles\Scribe\Extracting\Strategies\Headers\GetFromHeaderTag::class,
],
'bodyParameters' => [
\Knuckles\Scribe\Extracting\Strategies\BodyParameters\GetFromFormRequest::class,
\Knuckles\Scribe\Extracting\Strategies\BodyParameters\GetFromBodyParamTag::class,
],
'responses' => [
\Knuckles\Scribe\Extracting\Strategies\Responses\UseTransformerTags::class,
\Knuckles\Scribe\Extracting\Strategies\Responses\UseResponseTag::class,
\Knuckles\Scribe\Extracting\Strategies\Responses\UseResponseFileTag::class,
\Knuckles\Scribe\Extracting\Strategies\Responses\UseApiResourceTags::class,
\Knuckles\Scribe\Extracting\Strategies\Responses\ResponseCalls::class,
],
'responseFields' => [
\Knuckles\Scribe\Extracting\Strategies\ResponseFields\GetFromResponseFieldTag::class,
],
],
'routeMatcher' => \Knuckles\Scribe\Matching\RouteMatcher::class,
];
What happened?
I'm trying to create the documentation for a listing endpoint where the returned collection models should also load some relations, here the doc block:
/**
* My model - index
* bla bla, bla bla bla bla, bla.
*
* @group My Group
* @queryParam XXX required description. Example: "XXX"
* @queryParam YYY description. Example: "YYY"
* @apiResourceCollection \My\Resource\Collection
* @apiResourceModel \My\Resource\Model paginate=10 states=docs with=rel1,rel2,rel3
*
* @param \Illuminate\Http\Request $request
*
* @return \My\Resources\Collection
*/
public function index(Request $request) {
// MY CODE
}
I expect something like:
{
"data": [
[{
"param": "xxx",
"param": "yyy",
"rel1": {
"rel_param": "zzz"
},
"rel2": {
"rel_param": "zzz"
},
}],
// THE OTHER RESULTS
]
}
but in the generated documentation I only see:
{
"data": [
[{
"param": "xxx",
"param": "yyy"
}],
// THE OTHER RESULTS
]
}
My environment:
My Scribe config:
return [
'type' => 'laravel',
'static' => [
'output_path' => 'public/docs',
],
'laravel' => [
'add_routes' => false,
'docs_url' => '/docs',
'middleware' => [],
],
'auth' => [
'enabled' => true,
'in' => 'bearer',
'name' => 'Authorization',
'use_value' => env('SCRIBE_AUTH_KEY'),
'extra_info' => 'You can retrieve your token by visiting your dashboard and clicking <b>Generate API token</b>.',
],
'intro_text' => <<<'INTRO'
Welcome to DAPL API documentation!
<aside>As you scroll, you'll see code examples for working with the API in different programming languages in the dark area to the right (or as part of the content on mobile), and you can switch the programming language of the examples with the tabs in the top right (or from the nav menu at the top left on mobile).</aside>
INTRO
,
'example_languages' => [
'javascript',
'php',
'bash'
],
'base_url' => env('APP_AUTH_URL'),
'title' => null,
'postman' => [
'enabled' => true,
'base_url' => null,
'description' => null,
'auth' => null,
],
'default_group' => 'api',
'logo' => resource_path('assets/logo.png'),
'router' => 'laravel',
'routes' => [
[
'match' => [
'domains' => ['*'],
'prefixes' => [
'api/*',
],
'versions' => ['v1'],
],
'include' => [],
'exclude' => [],
'apply' => [
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'response_calls' => [
'methods' => ['GET'],
'config' => [
'app.env' => 'testing',
'app.debug' => false,
],
'cookies' => [],
'queryParams' => [],
'bodyParams' => [],
'fileParams' => [],
],
],
],
],
'fractal' => [
'serializer' => null,
],
'faker_seed' => null,
'strategies' => [
'metadata' => [
\Knuckles\Scribe\Extracting\Strategies\Metadata\GetFromDocBlocks::class,
],
'urlParameters' => [
\Knuckles\Scribe\Extracting\Strategies\UrlParameters\GetFromUrlParamTag::class,
],
'queryParameters' => [
\Knuckles\Scribe\Extracting\Strategies\QueryParameters\GetFromQueryParamTag::class
],
'headers' => [
\Knuckles\Scribe\Extracting\Strategies\Headers\GetFromRouteRules::class,
\Knuckles\Scribe\Extracting\Strategies\Headers\GetFromHeaderTag::class,
],
'bodyParameters' => [
\Knuckles\Scribe\Extracting\Strategies\BodyParameters\GetFromFormRequest::class,
\Knuckles\Scribe\Extracting\Strategies\BodyParameters\GetFromBodyParamTag::class,
],
'responses' => [
\Knuckles\Scribe\Extracting\Strategies\Responses\UseTransformerTags::class,
\Knuckles\Scribe\Extracting\Strategies\Responses\UseResponseTag::class,
\Knuckles\Scribe\Extracting\Strategies\Responses\UseResponseFileTag::class,
\Knuckles\Scribe\Extracting\Strategies\Responses\UseApiResourceTags::class,
\Knuckles\Scribe\Extracting\Strategies\Responses\ResponseCalls::class,
],
'responseFields' => [
\Knuckles\Scribe\Extracting\Strategies\ResponseFields\GetFromResponseFieldTag::class,
],
],
'routeMatcher' => \Knuckles\Scribe\Matching\RouteMatcher::class,
];
I have two example routes, which have some regex to specify allowed values:
$router->get('objects/{locale:[A-Z]{2}}', ['uses' => 'ObjectController@showLocaleObjects']);
$router->get('objects/{id:[0-9]+}', ['uses' => 'ObjectController@showObject']);
The API works fine, but the docs are not getting generated with correct example values.
One of the controller functions:
public function showLocaleObjects($locale, Request $request)
{
return response()->json(Object::where('locale', 'LIKE', '%' . $locale . '%')->get());
}
The annotations:
/**
* GET locale objects
*
* This endpoint gets specified locale objects.
*
* @urlParam locale required ISO 3166-1-alpha-2 code. Example: FR
*
*/
With regex: http://localhost/api/v1/objects/1
Without regex: http://localhost/api/v1/objects/FR (like specified in the Example)
Am i missing something?
Hi there,
Creating documentation using html dont render in document generated, uses html like plain text.
Is there any configuration for support html ?
example :
/**
* @group PHC Specialists
* List All Specialists.
*
* List all specialists / {PT: Especialistas} in PHC.
* PHC Table: dr
* <aside class="notice">We mean it; you really should.😕</aside>
*/
Renders :
List all specialists / {PT: Especialistas} in PHC. PHC Table: dr <aside class="notice">We mean it; you really should.😕</aside>
when i run compass:generate
, I am getting the below error.
Facade\Ignition\Exceptions\ViewException
Call to undefined method Knuckles\Scribe\Tools\Utils::printQueryParamsAsString() (View: resources/views/vendor/scribe/partials/example-requests/bash.blade.php)
What happened?
'type' => 'laravel',
php artisan scribe:generate
resources/docs/groups
are not updated, removing the file and generating again creates the correct fileMy environment:
Hello everyone,
I have migrated from laravel-apidoc-generator and I am having some problems to generate the docs with this package.
Am I doing something wrong?
When trying to generate the docs with php artisan scribe:generate
I am getting the following error:
Symfony\Component\Debug\Exception\FatalThrowableError : Argument 1 passed to Knuckles\Scribe\Tools\DocumentationConfig::__construct() must be of the type array, null given, called in C:\laragon\www\LEI-API-Frontend\vendor\knuckleswtf\scribe\src\Commands\GenerateDocumentation.php on line 204
at C:\laragon\www\LEI-API-Frontend\vendor\knuckleswtf\scribe\src\Tools\DocumentationConfig.php:9
5| class DocumentationConfig
6| {
7| private $data;
8|
> 9| public function __construct(array $config = [])
10| {
11| $this->data = $config;
12| }
13|
Exception trace:
1 Knuckles\Scribe\Tools\DocumentationConfig::__construct()
C:\laragon\www\LEI-API-Frontend\vendor\knuckleswtf\scribe\src\Commands\GenerateDocumentation.php:204
2 Knuckles\Scribe\Commands\GenerateDocumentation::bootstrap()
C:\laragon\www\LEI-API-Frontend\vendor\knuckleswtf\scribe\src\Commands\GenerateDocumentation.php:62
Please use the argument -v to see more details.
Symfony\Component\Debug\Exception\FatalThrowableError : Argument 1 passed to Knuckles\Scribe\Tools\DocumentationConfig::__construct() must be of the type array, null given, called in C:\laragon\www\LEI-API-Frontend\vendor\knuckleswtf\scribe\src\Commands\GenerateDocumentation.php on line 204
at C:\laragon\www\LEI-API-Frontend\vendor\knuckleswtf\scribe\src\Tools\DocumentationConfig.php:9
5| class DocumentationConfig
6| {
7| private $data;
8|
> 9| public function __construct(array $config = [])
10| {
11| $this->data = $config;
12| }
13|
Exception trace:
1 Knuckles\Scribe\Tools\DocumentationConfig::__construct()
C:\laragon\www\LEI-API-Frontend\vendor\knuckleswtf\scribe\src\Commands\GenerateDocumentation.php:204
2 Knuckles\Scribe\Commands\GenerateDocumentation::bootstrap()
C:\laragon\www\LEI-API-Frontend\vendor\knuckleswtf\scribe\src\Commands\GenerateDocumentation.php:62
3 Knuckles\Scribe\Commands\GenerateDocumentation::handle(Object(Knuckles\Scribe\Matching\RouteMatcher))
C:\laragon\www\LEI-API-Frontend\vendor\laravel\framework\src\Illuminate\Container\BoundMethod.php:32
4 call_user_func_array()
C:\laragon\www\LEI-API-Frontend\vendor\laravel\framework\src\Illuminate\Container\BoundMethod.php:32
5 Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()
C:\laragon\www\LEI-API-Frontend\vendor\laravel\framework\src\Illuminate\Container\Util.php:36
6 Illuminate\Container\Util::unwrapIfClosure(Object(Closure))
C:\laragon\www\LEI-API-Frontend\vendor\laravel\framework\src\Illuminate\Container\BoundMethod.php:90
7 Illuminate\Container\BoundMethod::callBoundMethod(Object(Illuminate\Foundation\Application), Object(Closure))
C:\laragon\www\LEI-API-Frontend\vendor\laravel\framework\src\Illuminate\Container\BoundMethod.php:34
8 Illuminate\Container\BoundMethod::call(Object(Illuminate\Foundation\Application), [])
C:\laragon\www\LEI-API-Frontend\vendor\laravel\framework\src\Illuminate\Container\Container.php:590
9 Illuminate\Container\Container::call()
C:\laragon\www\LEI-API-Frontend\vendor\laravel\framework\src\Illuminate\Console\Command.php:134
10 Illuminate\Console\Command::execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Illuminate\Console\OutputStyle))
C:\laragon\www\LEI-API-Frontend\vendor\symfony\console\Command\Command.php:255
11 Symfony\Component\Console\Command\Command::run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Illuminate\Console\OutputStyle))
C:\laragon\www\LEI-API-Frontend\vendor\laravel\framework\src\Illuminate\Console\Command.php:121
12 Illuminate\Console\Command::run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
C:\laragon\www\LEI-API-Frontend\vendor\symfony\console\Application.php:1000
13 Symfony\Component\Console\Application::doRunCommand(Object(Knuckles\Scribe\Commands\GenerateDocumentation), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
C:\laragon\www\LEI-API-Frontend\vendor\symfony\console\Application.php:271
14 Symfony\Component\Console\Application::doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
C:\laragon\www\LEI-API-Frontend\vendor\symfony\console\Application.php:147
15 Symfony\Component\Console\Application::run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
C:\laragon\www\LEI-API-Frontend\vendor\laravel\framework\src\Illuminate\Console\Application.php:93
16 Illuminate\Console\Application::run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
C:\laragon\www\LEI-API-Frontend\vendor\laravel\framework\src\Illuminate\Foundation\Console\Kernel.php:131
17 Illuminate\Foundation\Console\Kernel::handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
C:\laragon\www\LEI-API-Frontend\artisan:37
Strategies that utilize database transactions do not work correctly with multiple database connections configured. It always uses the default connection:
DatabaseTransactionHelpers.php
app('db')->beginTransaction();
I started adding support for multiple connections in my fork. It simply gets the connection from the model type and passes it to the startDbTransaction
and endDbTransaction
function.
I'm not sure though how to do it in ResponseCalls.php since I don't know any way to get the utilized connection from the route itself. One way could be simply iterating over all connections and starting and ending transactions for all connections. But if there is a better method I'd prefer that :D
Let me know what you think and if i missed anything.
Our application uses Laravel Sanctum for authentication for native apps. Our auth process involves handling OAuth on the native clients, and then they send us the access tokens provided by, say, Facebook. When they use Socialite on our API to load the user, using the access token the clients send us.
From here, we create a user and then use Sanctum to create a Bearer token. This all happens via the POST /tokens
call.
Now, the issue I'm having is we need to document authenticated routes. One of our routes is to create reports against other users using POST /reports
. Some of our validation needs to check and make sure the provided user
property is not the same as the authenticated user, as we don't want users filing reports against themselves. The rule for this is as follows:
'user' => [
'required',
Rule::exists('users', 'id')->whereNot('id', Auth::user()->id)
]
I am using the @authenticated
annotation on our TokensController
, as explained here.
The auth configuration is as follows:
'auth' => [
'enabled' => true,
'in' => 'bearer',
'name' => 'token',
'use_value' => env('SCRIBE_AUTH_KEY'),
'extra_info' => '',
]
My assumption is the Bearer token should be defined using SCRIBE_AUTH_KEY
. However, since we will be generating documentation during CI/CD, there is not an active database that contains data where we can define a static SCRIBE_AUTH_KEY.
With this current process above, as is, and I run php artisan scribe:generate
, I get the following error:
❯ art scribe:generate --env docs --verbose
🔊 info Processed route: [POST] tokens
🚸 warning Skipping route: [POST] reports - Exception encountered.
ErrorException
Trying to get property 'id' of non-object
at app/Http/Requests/ReportsCreateRequest.php:22
18| return [
19| 'user' => [
20| 'bail',
21| 'required',
> 22| Rule::exists('users', 'id')->whereNot('id', Auth::user()->id),
23| ],
24| 'photo' => [
25| 'bail',
26| 'sometimes',
1 app/Http/Requests/ReportsCreateRequest.php:22
Illuminate\Foundation\Bootstrap\HandleExceptions::handleError("Trying to get property 'id' of non-object", "/Users/andrew/Developer/sayallo/api/app/Http/Requests/ReportsCreateRequest.php", [])
2 vendor/knuckleswtf/scribe/src/Extracting/Strategies/BodyParameters/GetFromFormRequest.php:84
App\Http\Requests\ReportsCreateRequest::rules()
3 vendor/knuckleswtf/scribe/src/Extracting/Strategies/BodyParameters/GetFromFormRequest.php:84
call_user_func_array([])
4 vendor/knuckleswtf/scribe/src/Extracting/Strategies/BodyParameters/GetFromFormRequest.php:60
Knuckles\Scribe\Extracting\Strategies\BodyParameters\GetFromFormRequest::getRouteValidationRules(Object(App\Http\Requests\ReportsCreateRequest))
5 vendor/knuckleswtf/scribe/src/Extracting/Strategies/BodyParameters/GetFromFormRequest.php:32
Knuckles\Scribe\Extracting\Strategies\BodyParameters\GetFromFormRequest::getBodyParametersFromFormRequest(Object(ReflectionMethod))
6 vendor/knuckleswtf/scribe/src/Extracting/Generator.php:203
Knuckles\Scribe\Extracting\Strategies\BodyParameters\GetFromFormRequest::__invoke(Object(Illuminate\Routing\Route), Object(ReflectionClass), Object(ReflectionMethod), [])
7 vendor/knuckleswtf/scribe/src/Extracting/Generator.php:136
Knuckles\Scribe\Extracting\Generator::iterateThroughStrategies("bodyParameters")
8 vendor/knuckleswtf/scribe/src/Extracting/Generator.php:85
Knuckles\Scribe\Extracting\Generator::fetchBodyParameters(Object(ReflectionClass), Object(ReflectionMethod), Object(Illuminate\Routing\Route), [])
9 vendor/knuckleswtf/scribe/src/Commands/GenerateDocumentation.php:118
Knuckles\Scribe\Extracting\Generator::processRoute(Object(Illuminate\Routing\Route), [])
10 vendor/knuckleswtf/scribe/src/Commands/GenerateDocumentation.php:73
Knuckles\Scribe\Commands\GenerateDocumentation::processRoutes()
11 vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:33
Knuckles\Scribe\Commands\GenerateDocumentation::handle(Object(Knuckles\Scribe\Matching\RouteMatcher))
12 vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:33
call_user_func_array()
13 vendor/laravel/framework/src/Illuminate/Container/Util.php:36
Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()
14 vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:91
Illuminate\Container\Util::unwrapIfClosure(Object(Closure))
15 vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:35
Illuminate\Container\BoundMethod::callBoundMethod(Object(Illuminate\Foundation\Application), Object(Closure))
16 vendor/laravel/framework/src/Illuminate/Container/Container.php:592
Illuminate\Container\BoundMethod::call(Object(Illuminate\Foundation\Application), [])
17 vendor/laravel/framework/src/Illuminate/Console/Command.php:134
Illuminate\Container\Container::call()
18 vendor/symfony/console/Command/Command.php:255
Illuminate\Console\Command::execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Illuminate\Console\OutputStyle))
19 vendor/laravel/framework/src/Illuminate/Console/Command.php:121
Symfony\Component\Console\Command\Command::run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Illuminate\Console\OutputStyle))
20 vendor/symfony/console/Application.php:912
Illuminate\Console\Command::run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
21 vendor/symfony/console/Application.php:264
Symfony\Component\Console\Application::doRunCommand(Object(Knuckles\Scribe\Commands\GenerateDocumentation), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
22 vendor/symfony/console/Application.php:140
Symfony\Component\Console\Application::doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
23 vendor/laravel/framework/src/Illuminate/Console/Application.php:93
Symfony\Component\Console\Application::run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
24 vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php:129
Illuminate\Console\Application::run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
25 artisan:37
Illuminate\Foundation\Console\Kernel::handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
Is there something special we need to be doing when doing response calls? It appears this is happening because the FormRequest is processed before an actual API call is made; therefore using a Middleware to create a fake user and force authentication won't work.
Hi,
If it's possible i suggest to create a variable into scribe.php for internal css for documentation.
It can be :
$internalcss = <<< CSS
<style>
.params{
font-weight:bold;
}
</style>
CSS;
This feature will create some freedom in css formating, that is missing.
Best Regards, keep up the good work.
Hey guys,
first of all, awesome package, works great.
I have a question about naming function in Postman collection that is generated.
Let's have a look at example below:
/**
* Index
* Get paginated list of items.
* @param Request $request
* @return JsonResponse
* @authenticated
* @apiResourceCollection App\Http\Resources\Actor\ActorCollection
* @apiResourceModel App\Models\Actor paginate=10
*/
In this example name should be "Index" and description should be "Get paginated list of items.".
In generated documentation this is properly shown, but in Postman, i get name like this: "IndexGet paginated list of items."
Did you intend to make it like that or i am doing something wrong ?
Thanks in advance,
Nikola Dzakovic
What happened?
Using version ^1.0@beta for knuckleswtf/scribe
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Installation request for nunomaduro/collision (locked at v2.1.1, required as ^2.0) -> satisfiable by nunomaduro/collision[v2.1.1].
- knuckleswtf/scribe 1.0.0-beta requires nunomaduro/collision ^3.0|^4.0 -> satisfiable by nunomaduro/collision[v4.x-dev].
- knuckleswtf/scribe 1.0.0-beta2 requires nunomaduro/collision ^3.0|^4.0 -> satisfiable by nunomaduro/collision[v4.x-dev].
- knuckleswtf/scribe 1.0.0-beta3 requires nunomaduro/collision ^3.0|^4.0 -> satisfiable by nunomaduro/collision[v4.x-dev].
- Conclusion: don't install nunomaduro/collision v4.x-dev
- Installation request for knuckleswtf/scribe ^1.0@beta -> satisfiable by knuckleswtf/scribe[1.0.0-beta, 1.0.0-beta2, 1.0.0-beta3].
Installation failed, reverting ./composer.json to its original content.
My environment:
This is my composer.json
{
"name": "laravel/laravel",
"type": "project",
"description": "The Laravel Framework.",
"keywords": [
"framework",
"laravel"
],
"license": "MIT",
"require": {
"php": "^7.1.3",
"barryvdh/laravel-dompdf": "^0.8.5",
"facade/ignition": "^1.13",
"fideloper/proxy": "^4.0",
"fruitcake/laravel-cors": "^1.0",
"guzzlehttp/guzzle": "~6.0",
"itsgoingd/clockwork": "^4.0",
"laravel/framework": "^6.0",
"laravel/tinker": "^1.0",
"maatwebsite/excel": "^3.1",
"mpdf/mpdf": "^8.0",
"simplesoftwareio/simple-qrcode": "^2.0"
},
"require-dev": {
"barryvdh/laravel-debugbar": "^3.2",
"beyondcode/laravel-dump-server": "^1.0",
"filp/whoops": "^2.0",
"fzaninotto/faker": "^1.4",
"krlove/eloquent-model-generator": "^1.3",
"mockery/mockery": "^1.0",
"nunomaduro/collision": "^2.0",
"phpunit/phpunit": "^7.5"
},
"config": {
"optimize-autoloader": true,
"preferred-install": "dist",
"sort-packages": true
},
"extra": {
"laravel": {
"dont-discover": []
}
},
"autoload": {
"psr-4": {
"App\\": "app/"
},
"classmap": [
"database/seeds",
"database/factories"
]
},
"autoload-dev": {
"psr-4": {
"Tests\\": "tests/"
}
},
"minimum-stability": "dev",
"prefer-stable": true,
"scripts": {
"post-autoload-dump": [
"Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
"@php artisan package:discover --ansi"
],
"post-root-package-install": [
"@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
],
"post-create-project-cmd": [
"@php artisan key:generate --ansi"
]
}
}
Is it possible to customize the description of endpoints provided by a third party package?
I would like to add my own metadata to routes provided by packages such as laravel/passport
or laravel/sanctum
, without editing the actual files in the vendor/
folder.
The response documentation is rendered as null when you have a null value in your example response.
{
“test” : null
}
It also seems that URL’s as values are not correctly interpreted. It looks to be failing on slashes and question marks.
Is there any way we could introduce CSP nonce support? I'm specifically referring to the inline scripts in the head and at the end of body,
Of course for now i can simply add them to the generated index.blade.php file, but i have a feeling i will forget to do this at some point.
When running php artisan scribe:generate
I get the next error;
ErrorException : Undefined offset: 1
at /home/--/--/--/--/vendor/knuckleswtf/scribe/src/Writing/Writer.php:409
405| array_shift($lastTimesWeModifiedTheseFiles);
406| array_shift($lastTimesWeModifiedTheseFiles);
407| $this->lastTimesWeModifiedTheseFiles = collect($lastTimesWeModifiedTheseFiles)
408| ->mapWithKeys(function ($line) {
> 409| [$filePath, $mtime] = explode("=", $line);
410| return [$filePath => $mtime];
411| })->toArray();
412| }
413| }
My environment:
My Scribe config (minus the comments):
return [
'type' => 'laravel',
'static' => [
'output_path' => 'public/docs',
],
'laravel' => [
'add_routes' => true,
'docs_url' => '/doc',
'middleware' => [],
],
'auth' => [
'enabled' => true,
'in' => 'bearer',
'name' => 'token',
'use_value' => env('SCRIBE_AUTH_KEY'),
'extra_info' => 'You can retrieve your token by visiting your dashboard and clicking <b>Generate API token</b>.',
],
'intro_text' => ''
,
'example_languages' => [
'bash',
'javascript',
'php',
'python'
],
'base_url' => null,
'title' => 'S-Api',
'postman' => [
'enabled' => true,
'description' => 'Sender api documentation.',
'auth' => [
'enabled' => true,
'in' => 'query',
'name' => 'apiKey',
'use_value' => env('SCRIBE_API_KEY'),
'extra_info' => 'You can retrieve your key by going to settings and clicking <b>Generate API key</b>.',
],
],
'default_group' => 'MISC',
'logo' => '/images/logo.png',
'router' => 'laravel',
'routes' => [
[
'match' => [
'domains' => ['*'],
'prefixes' => ['*'],
'versions' => ['v1'],
],
'include' => [
// 'users.index', 'healthcheck*'
],
'exclude' => [
],
'apply' => [
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer'. $token ,
],
'response_calls' => [
'methods' => [''],
'config' => [
'app.env' => 'documentation',
`'app.debug'` => true,
],
'cookies' => [
// 'name' => 'value'
],
'queryParams' => [
// 'key' => 'value',
],
'bodyParams' => [
// 'key' => 'value',
],
'fileParams' => [
// 'key' => '/home/me/image.png',
],
],
],
],
],
'fractal' => [
'serializer' => null,
],
'faker_seed' => 1234,
'strategies' => [
'metadata' => [
\Knuckles\Scribe\Extracting\Strategies\Metadata\GetFromDocBlocks::class,
// App\Docs\Strategies\DocStrategy::class,
App\Docs\Strategies\MethodsInTitle::class,
],
'urlParameters' => [
\Knuckles\Scribe\Extracting\Strategies\UrlParameters\GetFromUrlParamTag::class,
],
'queryParameters' => [
\Knuckles\Scribe\Extracting\Strategies\QueryParameters\GetFromQueryParamTag::class,
// \App\Docs\Strategies\AddPaginationParameters::class,
],
'headers' => [
\Knuckles\Scribe\Extracting\Strategies\Headers\GetFromRouteRules::class,
\Knuckles\Scribe\Extracting\Strategies\Headers\GetFromHeaderTag::class,
],
'bodyParameters' => [
// App\Docs\Strategies\DocStrategy::class,
\Knuckles\Scribe\Extracting\Strategies\BodyParameters\GetFromFormRequest::class,
\Knuckles\Scribe\Extracting\Strategies\BodyParameters\GetFromBodyParamTag::class,
],
'responses' => [
\Knuckles\Scribe\Extracting\Strategies\Responses\UseTransformerTags::class,
\Knuckles\Scribe\Extracting\Strategies\Responses\UseResponseTag::class,
\Knuckles\Scribe\Extracting\Strategies\Responses\UseResponseFileTag::class,
\Knuckles\Scribe\Extracting\Strategies\Responses\UseApiResourceTags::class,
\Knuckles\Scribe\Extracting\Strategies\Responses\ResponseCalls::class,
App\Docs\Strategies\AddJsonSuccess::class,
],
'responseFields' => [
\Knuckles\Scribe\Extracting\Strategies\ResponseFields\GetFromResponseFieldTag::class,
],
],
'routeMatcher' => \Knuckles\Scribe\Matching\RouteMatcher::class,
];
`
At first I was surprised that Marcel has abandoned his original package. But now see his comment: https://twitter.com/PovilasKorop/status/1270590112217399297
Just curious, was that your plan from the beginning? Contribute to his package and then declare that as your own, taking over?
I'm very confused by such behavior in open-source community.
I've tried Scribe and it works well, but abandoning the original package without asking the owner? Seriously?
What happened?
php artisan scribe:generate
Screenshots and stack traces:
In 3666cec63a5bc7f130fc7f39cdbc92fbb87d6d5c.php line 2:
Undefined offset: 0 (View: /web/html/vendor/knuckleswtf/scribe/resources/views/partials/example-requests/bash.blade.php) (View:
/web/html/vendor/knuckleswtf/scribe/resources/views/partials/example-requests/bash.blade.php)
TL;SR; Already found the cause of the bug! It just needs fixing :) Click Here or scroll to Additional Info
My environment:
My Scribe config (minus the comments):
return [
'static' => [
'output_path' => 'public/docs',
],
'laravel' => [
'add_routes' => true,
'docs_url' => '/docs',
'middleware' => [],
],
'auth' => [
'enabled' => true,
'in' => 'bearer',
'name' => 'bearer',
'use_value' => null,
'extra_info' => 'JWT Tokens are App Specific.',
],
'intro_text' => 'api intro',
'example_languages' => [
'bash',
'javascript',
'php'
],
'base_url' => null,
'title' => 'XEDI API Documentation',
'postman' => [
'enabled' => true,
'base_url' => null,
'description' => null,
'auth' => null,
],
'default_group' => 'Misc',
'logo' => null,
'router' => 'laravel',
'routes' => [
[
'match' => [
'domains' => ['*'],
'prefixes' => ['*'],
'versions' => ['v1'],
],
'include' => [],
'exclude' => [
'status.*', 'version'
],
'apply' => [
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {token}',
],
'response_calls' => [
'methods' => ['GET', 'POST', 'PUT'],
'config' => [
'app.env' => 'localhost',
],
'cookies' => [],
'queryParams' => [],
'bodyParams' => [],
'fileParams' => [],
],
],
],
],
'fractal' => [
'serializer' => null,
],
'faker_seed' => null,
'strategies' => [
'metadata' => [
\Knuckles\Scribe\Extracting\Strategies\Metadata\GetFromDocBlocks::class,
],
'urlParameters' => [
\Knuckles\Scribe\Extracting\Strategies\UrlParameters\GetFromUrlParamTag::class,
],
'queryParameters' => [
\Knuckles\Scribe\Extracting\Strategies\QueryParameters\GetFromQueryParamTag::class,
],
'headers' => [
\Knuckles\Scribe\Extracting\Strategies\Headers\GetFromRouteRules::class,
\Knuckles\Scribe\Extracting\Strategies\Headers\GetFromHeaderTag::class,
],
'bodyParameters' => [
\Knuckles\Scribe\Extracting\Strategies\BodyParameters\GetFromFormRequest::class,
\Knuckles\Scribe\Extracting\Strategies\BodyParameters\GetFromBodyParamTag::class,
],
'responses' => [
\Knuckles\Scribe\Extracting\Strategies\Responses\UseTransformerTags::class,
\Knuckles\Scribe\Extracting\Strategies\Responses\UseResponseTag::class,
\Knuckles\Scribe\Extracting\Strategies\Responses\UseResponseFileTag::class,
\Knuckles\Scribe\Extracting\Strategies\Responses\UseApiResourceTags::class,
\Knuckles\Scribe\Extracting\Strategies\Responses\ResponseCalls::class,
],
'responseFields' => [
\Knuckles\Scribe\Extracting\Strategies\ResponseFields\GetFromResponseFieldTag::class,
],
],
'routeMatcher' => \Knuckles\Scribe\Matching\RouteMatcher::class,
];
try/catch
around the render call responsible for triggering the error reveals the route without the method. It's a HEAD
route. The method has been lost somewhere.GenerateCommand
leads us to Line 118 and $generator->processRoute()
as the point where the method is "lost".Knuckles\Scribe\Extracting\Generator
source code, the getMethods
method is observed. /**
* @param Route $route
*
* @return mixed
*/
public function getMethods(Route $route)
{
return array_diff($route->methods(), ['HEAD']);
}
Because HEAD
is the only method in the methods array, it is striped out. We are using the HEAD
verb in our API in accordance to its semantic purpose.
Proposed Fixes
array_diff
. The addition of the HEAD
verb is Laravel's doing and therefore they should fix that.Thoughts?
TIA
When generating a response with a factory using @apiResource, @apiResourceCollection, and @apiResourceModel
the response code shown in the documentation is 201 Created
even if it's clearly a GET
method and nothing is beeing created.
I'm guessing it has something to do with the factory creating the object, so 201 Created
kinda makes sense. But in the end it's still not correct.
Would it be okay if I just link the original issue from mpociot/laravel-apidoc-generator?
Hello! I'm wondering if it's possible to generate sub-groups for endpoints. For example: I'have and "admin" path, and for that will be different subgroups so my endpoint structure looks like this:
Edit: also I'm wondering if this can be applied to generated postman collection
I've read the documentation regarding the customization of the index.blade.php
and I can't find details on how to achieve a similar result in Lumen.
I tried to replicate the file structure but when I generate
the docs, it defaults to the original version. Is there something I'm missing?
Yay, we're now at v1! Thank you to everyone who took the time to test the beta, provide feedback and send in contributions. Happy documenting!
Hi there,
I would like to give this package a try, however i can't seem to get it working on Laravel 7.
Packages
"require": {
"php": "^7.2.5",
"bugsnag/bugsnag-laravel": "^2.18",
"doctrine/dbal": "^2.10",
"fideloper/proxy": "^4.2",
"fruitcake/laravel-cors": "^1.0",
"guzzlehttp/guzzle": "^6.3",
"laravel/framework": "^7.0",
"laravel/sanctum": "^2.2",
"laravel/tinker": "^2.0",
"lorisleiva/laravel-deployer": "^0.3.2"
},
"require-dev": {
"barryvdh/laravel-ide-helper": "^2.7",
"facade/ignition": "^2.0",
"fzaninotto/faker": "^1.9.1",
"knuckleswtf/scribe": "dev-master",
"laravel/homestead": "^10.7",
"mockery/mockery": "^1.3.1",
"nunomaduro/collision": "^4.1",
"phpunit/phpunit": "^8.5"
},
console log
composer require --dev knuckleswtf/scribe
Using version dev-master for knuckleswtf/scribe
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Conclusion: install mnapoli/front-yaml 1.6.0
- Conclusion: remove symfony/routing v5.0.8
- Conclusion: don't install symfony/routing v5.0.8
- symfony/yaml 2.7.x-dev conflicts with symfony/routing[v5.0.8].
- symfony/yaml 2.8.x-dev conflicts with symfony/routing[v5.0.8].
- symfony/yaml 3.0.x-dev conflicts with symfony/routing[v5.0.8].
- symfony/yaml 3.1.x-dev conflicts with symfony/routing[v5.0.8].
- symfony/yaml 3.2.x-dev conflicts with symfony/routing[v5.0.8].
- symfony/yaml 3.3.x-dev conflicts with symfony/routing[v5.0.8].
- symfony/yaml 3.4.x-dev conflicts with symfony/routing[v5.0.8].
- symfony/yaml 4.0.x-dev conflicts with symfony/routing[v5.0.8].
- symfony/yaml 4.1.x-dev conflicts with symfony/routing[v5.0.8].
- symfony/yaml 4.2.x-dev conflicts with symfony/routing[v5.0.8].
- symfony/yaml 4.3.x-dev conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.7.0 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.7.0-BETA1 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.7.0-BETA2 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.7.1 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.7.10 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.7.11 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.7.12 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.7.13 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.7.14 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.7.15 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.7.16 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.7.17 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.7.18 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.7.19 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.7.2 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.7.20 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.7.21 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.7.22 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.7.23 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.7.24 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.7.25 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.7.26 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.7.27 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.7.28 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.7.29 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.7.3 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.7.30 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.7.31 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.7.32 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.7.33 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.7.34 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.7.35 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.7.36 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.7.37 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.7.38 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.7.39 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.7.4 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.7.40 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.7.41 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.7.42 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.7.43 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.7.44 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.7.45 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.7.46 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.7.47 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.7.48 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.7.49 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.7.5 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.7.50 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.7.51 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.7.6 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.7.7 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.7.8 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.7.9 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.8.0 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.8.0-BETA1 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.8.1 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.8.10 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.8.11 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.8.12 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.8.13 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.8.14 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.8.15 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.8.16 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.8.17 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.8.18 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.8.19 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.8.2 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.8.20 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.8.21 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.8.22 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.8.23 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.8.24 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.8.25 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.8.26 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.8.27 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.8.28 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.8.29 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.8.3 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.8.30 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.8.31 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.8.32 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.8.33 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.8.34 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.8.35 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.8.36 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.8.37 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.8.38 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.8.39 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.8.4 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.8.40 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.8.41 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.8.42 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.8.43 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.8.44 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.8.45 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.8.46 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.8.47 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.8.48 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.8.49 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.8.5 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.8.50 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.8.52 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.8.6 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.8.7 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.8.8 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.8.9 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.0.0 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.0.0-BETA1 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.0.1 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.0.2 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.0.3 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.0.4 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.0.5 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.0.6 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.0.7 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.0.8 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.0.9 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.1.0 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.1.0-BETA1 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.1.0-RC1 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.1.1 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.1.10 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.1.2 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.1.3 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.1.4 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.1.5 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.1.6 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.1.7 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.1.8 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.1.9 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.2.0 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.2.0-BETA1 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.2.0-RC1 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.2.0-RC2 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.2.1 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.2.10 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.2.11 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.2.12 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.2.13 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.2.14 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.2.2 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.2.3 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.2.4 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.2.5 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.2.6 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.2.7 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.2.8 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.2.9 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.3.0 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.3.0-BETA1 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.3.0-RC1 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.3.1 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.3.10 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.3.11 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.3.12 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.3.13 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.3.14 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.3.15 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.3.16 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.3.17 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.3.18 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.3.2 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.3.3 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.3.4 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.3.5 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.3.6 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.3.7 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.3.8 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.3.9 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.4.0 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.4.0-BETA1 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.4.0-BETA2 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.4.0-BETA3 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.4.0-BETA4 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.4.0-RC1 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.4.0-RC2 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.4.1 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.4.10 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.4.11 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.4.12 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.4.13 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.4.14 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.4.15 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.4.16 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.4.17 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.4.18 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.4.19 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.4.2 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.4.20 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.4.21 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.4.22 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.4.23 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.4.24 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.4.25 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.4.26 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.4.27 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.4.28 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.4.29 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.4.3 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.4.30 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.4.31 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.4.32 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.4.33 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.4.34 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.4.35 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.4.36 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.4.37 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.4.38 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.4.39 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.4.4 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.4.40 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.4.5 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.4.6 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.4.7 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.4.8 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v3.4.9 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.0.0 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.0.0-BETA1 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.0.0-BETA2 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.0.0-BETA3 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.0.0-BETA4 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.0.0-RC1 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.0.0-RC2 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.0.1 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.0.10 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.0.11 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.0.12 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.0.13 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.0.14 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.0.15 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.0.2 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.0.3 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.0.4 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.0.5 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.0.6 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.0.7 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.0.8 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.0.9 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.1.0 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.1.0-BETA1 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.1.0-BETA2 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.1.0-BETA3 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.1.1 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.1.10 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.1.11 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.1.12 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.1.2 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.1.3 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.1.4 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.1.5 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.1.6 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.1.7 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.1.8 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.1.9 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.2.0 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.2.0-BETA1 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.2.0-BETA2 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.2.0-RC1 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.2.1 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.2.10 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.2.11 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.2.12 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.2.2 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.2.3 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.2.4 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.2.5 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.2.6 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.2.7 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.2.8 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.2.9 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.3.0 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.3.0-BETA1 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.3.0-BETA2 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.3.0-RC1 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.3.1 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.3.10 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.3.11 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.3.2 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.3.3 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.3.4 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.3.5 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.3.6 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.3.7 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.3.8 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v4.3.9 conflicts with symfony/routing[v5.0.8].
- symfony/yaml 2.1.x-dev conflicts with symfony/routing[v5.0.8].
- symfony/yaml 2.2.x-dev conflicts with symfony/routing[v5.0.8].
- symfony/yaml 2.3.x-dev conflicts with symfony/routing[v5.0.8].
- symfony/yaml 2.4.x-dev conflicts with symfony/routing[v5.0.8].
- symfony/yaml 2.5.x-dev conflicts with symfony/routing[v5.0.8].
- symfony/yaml 2.6.x-dev conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.1.0 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.1.1 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.1.10 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.1.11 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.1.12 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.1.13 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.1.2 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.1.3 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.1.4 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.1.5 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.1.6 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.1.7 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.1.8 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.1.9 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.2.0 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.2.1 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.2.10 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.2.11 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.2.2 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.2.3 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.2.4 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.2.5 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.2.6 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.2.7 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.2.8 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.2.9 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.3.0 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.3.1 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.3.10 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.3.11 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.3.12 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.3.13 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.3.14 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.3.15 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.3.16 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.3.17 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.3.18 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.3.19 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.3.2 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.3.20 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.3.21 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.3.22 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.3.23 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.3.24 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.3.25 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.3.26 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.3.27 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.3.28 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.3.29 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.3.3 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.3.30 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.3.31 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.3.32 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.3.33 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.3.34 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.3.35 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.3.36 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.3.37 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.3.38 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.3.39 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.3.4 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.3.40 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.3.41 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.3.42 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.3.5 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.3.6 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.3.7 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.3.8 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.3.9 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.4.0 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.4.0-BETA1 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.4.0-BETA2 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.4.0-RC1 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.4.1 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.4.10 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.4.2 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.4.3 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.4.4 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.4.5 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.4.6 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.4.7 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.4.8 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.4.9 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.5.0 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.5.0-BETA1 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.5.0-BETA2 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.5.0-RC1 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.5.1 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.5.10 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.5.11 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.5.12 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.5.2 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.5.3 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.5.4 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.5.5 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.5.6 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.5.7 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.5.8 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.5.9 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.6.0 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.6.0-BETA1 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.6.0-BETA2 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.6.1 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.6.10 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.6.11 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.6.12 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.6.13 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.6.2 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.6.3 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.6.4 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.6.5 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.6.6 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.6.7 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.6.8 conflicts with symfony/routing[v5.0.8].
- symfony/yaml v2.6.9 conflicts with symfony/routing[v5.0.8].
- Installation request for symfony/routing (locked at v5.0.8) -> satisfiable by symfony/routing[v5.0.8].
- Installation request for knuckleswtf/scribe dev-master -> satisfiable by knuckleswtf/scribe[dev-master].
- Conclusion: don't install symfony/yaml v5.0.8|install symfony/yaml 2.1.x-dev|install symfony/yaml 2.2.x-dev|install symfony/yaml 2.3.x-dev|install symfony/yaml 2.4.x-dev|install symfony/yaml 2.5.x-dev|install symfony/yaml 2.6.x-dev|install symfony/yaml 2.7.x-dev|install symfony/yaml 2.8.x-dev|install symfony/yaml 3.0.x-dev|install symfony/yaml 3.1.x-dev|install symfony/yaml 3.2.x-dev|install symfony/yaml 3.3.x-dev|install symfony/yaml 3.4.x-dev|install symfony/yaml 4.0.x-dev|install symfony/yaml 4.1.x-dev|install symfony/yaml 4.2.x-dev|install symfony/yaml 4.3.x-dev|install symfony/yaml v2.1.0|install symfony/yaml v2.1.1|install symfony/yaml v2.1.10|install symfony/yaml v2.1.11|install symfony/yaml v2.1.12|install symfony/yaml v2.1.13|install symfony/yaml v2.1.2|install symfony/yaml v2.1.3|install symfony/yaml v2.1.4|install symfony/yaml v2.1.5|install symfony/yaml v2.1.6|install symfony/yaml v2.1.7|install symfony/yaml v2.1.8|install symfony/yaml v2.1.9|install symfony/yaml v2.2.0|install symfony/yaml v2.2.1|install symfony/yaml v2.2.10|install symfony/yaml v2.2.11|install symfony/yaml v2.2.2|install symfony/yaml v2.2.3|install symfony/yaml v2.2.4|install symfony/yaml v2.2.5|install symfony/yaml v2.2.6|install symfony/yaml v2.2.7|install symfony/yaml v2.2.8|install symfony/yaml v2.2.9|install symfony/yaml v2.3.0|install symfony/yaml v2.3.1|install symfony/yaml v2.3.10|install symfony/yaml v2.3.11|install symfony/yaml v2.3.12|install symfony/yaml v2.3.13|install symfony/yaml v2.3.14|install symfony/yaml v2.3.15|install symfony/yaml v2.3.16|install symfony/yaml v2.3.17|install symfony/yaml v2.3.18|install symfony/yaml v2.3.19|install symfony/yaml v2.3.2|install symfony/yaml v2.3.20|install symfony/yaml v2.3.21|install symfony/yaml v2.3.22|install symfony/yaml v2.3.23|install symfony/yaml v2.3.24|install symfony/yaml v2.3.25|install symfony/yaml v2.3.26|install symfony/yaml v2.3.27|install symfony/yaml v2.3.28|install symfony/yaml v2.3.29|install symfony/yaml v2.3.3|install symfony/yaml v2.3.30|install symfony/yaml v2.3.31|install symfony/yaml v2.3.32|install symfony/yaml v2.3.33|install symfony/yaml v2.3.34|install symfony/yaml v2.3.35|install symfony/yaml v2.3.36|install symfony/yaml v2.3.37|install symfony/yaml v2.3.38|install symfony/yaml v2.3.39|install symfony/yaml v2.3.4|install symfony/yaml v2.3.40|install symfony/yaml v2.3.41|install symfony/yaml v2.3.42|install symfony/yaml v2.3.5|install symfony/yaml v2.3.6|install symfony/yaml v2.3.7|install symfony/yaml v2.3.8|install symfony/yaml v2.3.9|install symfony/yaml v2.4.0|install symfony/yaml v2.4.0-BETA1|install symfony/yaml v2.4.0-BETA2|install symfony/yaml v2.4.0-RC1|install symfony/yaml v2.4.1|install symfony/yaml v2.4.10|install symfony/yaml v2.4.2|install symfony/yaml v2.4.3|install symfony/yaml v2.4.4|install symfony/yaml v2.4.5|install symfony/yaml v2.4.6|install symfony/yaml v2.4.7|install symfony/yaml v2.4.8|install symfony/yaml v2.4.9|install symfony/yaml v2.5.0|install symfony/yaml v2.5.0-BETA1|install symfony/yaml v2.5.0-BETA2|install symfony/yaml v2.5.0-RC1|install symfony/yaml v2.5.1|install symfony/yaml v2.5.10|install symfony/yaml v2.5.11|install symfony/yaml v2.5.12|install symfony/yaml v2.5.2|install symfony/yaml v2.5.3|install symfony/yaml v2.5.4|install symfony/yaml v2.5.5|install symfony/yaml v2.5.6|install symfony/yaml v2.5.7|install symfony/yaml v2.5.8|install symfony/yaml v2.5.9|install symfony/yaml v2.6.0|install symfony/yaml v2.6.0-BETA1|install symfony/yaml v2.6.0-BETA2|install symfony/yaml v2.6.1|install symfony/yaml v2.6.10|install symfony/yaml v2.6.11|install symfony/yaml v2.6.12|install symfony/yaml v2.6.13|install symfony/yaml v2.6.2|install symfony/yaml v2.6.3|install symfony/yaml v2.6.4|install symfony/yaml v2.6.5|install symfony/yaml v2.6.6|install symfony/yaml v2.6.7|install symfony/yaml v2.6.8|install symfony/yaml v2.6.9|install symfony/yaml v2.7.0|install symfony/yaml v2.7.0-BETA1|install symfony/yaml v2.7.0-BETA2|install symfony/yaml v2.7.1|install symfony/yaml v2.7.10|install symfony/yaml v2.7.11|install symfony/yaml v2.7.12|install symfony/yaml v2.7.13|install symfony/yaml v2.7.14|install symfony/yaml v2.7.15|install symfony/yaml v2.7.16|install symfony/yaml v2.7.17|install symfony/yaml v2.7.18|install symfony/yaml v2.7.19|install symfony/yaml v2.7.2|install symfony/yaml v2.7.20|install symfony/yaml v2.7.21|install symfony/yaml v2.7.22|install symfony/yaml v2.7.23|install symfony/yaml v2.7.24|install symfony/yaml v2.7.25|install symfony/yaml v2.7.26|install symfony/yaml v2.7.27|install symfony/yaml v2.7.28|install symfony/yaml v2.7.29|install symfony/yaml v2.7.3|install symfony/yaml v2.7.30|install symfony/yaml v2.7.31|install symfony/yaml v2.7.32|install symfony/yaml v2.7.33|install symfony/yaml v2.7.34|install symfony/yaml v2.7.35|install symfony/yaml v2.7.36|install symfony/yaml v2.7.37|install symfony/yaml v2.7.38|install symfony/yaml v2.7.39|install symfony/yaml v2.7.4|install symfony/yaml v2.7.40|install symfony/yaml v2.7.41|install symfony/yaml v2.7.42|install symfony/yaml v2.7.43|install symfony/yaml v2.7.44|install symfony/yaml v2.7.45|install symfony/yaml v2.7.46|install symfony/yaml v2.7.47|install symfony/yaml v2.7.48|install symfony/yaml v2.7.49|install symfony/yaml v2.7.5|install symfony/yaml v2.7.50|install symfony/yaml v2.7.51|install symfony/yaml v2.7.6|install symfony/yaml v2.7.7|install symfony/yaml v2.7.8|install symfony/yaml v2.7.9|install symfony/yaml v2.8.0|install symfony/yaml v2.8.0-BETA1|install symfony/yaml v2.8.1|install symfony/yaml v2.8.10|install symfony/yaml v2.8.11|install symfony/yaml v2.8.12|install symfony/yaml v2.8.13|install symfony/yaml v2.8.14|install symfony/yaml v2.8.15|install symfony/yaml v2.8.16|install symfony/yaml v2.8.17|install symfony/yaml v2.8.18|install symfony/yaml v2.8.19|install symfony/yaml v2.8.2|install symfony/yaml v2.8.20|install symfony/yaml v2.8.21|install symfony/yaml v2.8.22|install symfony/yaml v2.8.23|install symfony/yaml v2.8.24|install symfony/yaml v2.8.25|install symfony/yaml v2.8.26|install symfony/yaml v2.8.27|install symfony/yaml v2.8.28|install symfony/yaml v2.8.29|install symfony/yaml v2.8.3|install symfony/yaml v2.8.30|install symfony/yaml v2.8.31|install symfony/yaml v2.8.32|install symfony/yaml v2.8.33|install symfony/yaml v2.8.34|install symfony/yaml v2.8.35|install symfony/yaml v2.8.36|install symfony/yaml v2.8.37|install symfony/yaml v2.8.38|install symfony/yaml v2.8.39|install symfony/yaml v2.8.4|install symfony/yaml v2.8.40|install symfony/yaml v2.8.41|install symfony/yaml v2.8.42|install symfony/yaml v2.8.43|install symfony/yaml v2.8.44|install symfony/yaml v2.8.45|install symfony/yaml v2.8.46|install symfony/yaml v2.8.47|install symfony/yaml v2.8.48|install symfony/yaml v2.8.49|install symfony/yaml v2.8.5|install symfony/yaml v2.8.50|install symfony/yaml v2.8.52|install symfony/yaml v2.8.6|install symfony/yaml v2.8.7|install symfony/yaml v2.8.8|install symfony/yaml v2.8.9|install symfony/yaml v3.0.0|install symfony/yaml v3.0.0-BETA1|install symfony/yaml v3.0.1|install symfony/yaml v3.0.2|install symfony/yaml v3.0.3|install symfony/yaml v3.0.4|install symfony/yaml v3.0.5|install symfony/yaml v3.0.6|install symfony/yaml v3.0.7|install symfony/yaml v3.0.8|install symfony/yaml v3.0.9|install symfony/yaml v3.1.0|install symfony/yaml v3.1.0-BETA1|install symfony/yaml v3.1.0-RC1|install symfony/yaml v3.1.1|install symfony/yaml v3.1.10|install symfony/yaml v3.1.2|install symfony/yaml v3.1.3|install symfony/yaml v3.1.4|install symfony/yaml v3.1.5|install symfony/yaml v3.1.6|install symfony/yaml v3.1.7|install symfony/yaml v3.1.8|install symfony/yaml v3.1.9|install symfony/yaml v3.2.0|install symfony/yaml v3.2.0-BETA1|install symfony/yaml v3.2.0-RC1|install symfony/yaml v3.2.0-RC2|install symfony/yaml v3.2.1|install symfony/yaml v3.2.10|install symfony/yaml v3.2.11|install symfony/yaml v3.2.12|install symfony/yaml v3.2.13|install symfony/yaml v3.2.14|install symfony/yaml v3.2.2|install symfony/yaml v3.2.3|install symfony/yaml v3.2.4|install symfony/yaml v3.2.5|install symfony/yaml v3.2.6|install symfony/yaml v3.2.7|install symfony/yaml v3.2.8|install symfony/yaml v3.2.9|install symfony/yaml v3.3.0|install symfony/yaml v3.3.0-BETA1|install symfony/yaml v3.3.0-RC1|install symfony/yaml v3.3.1|install symfony/yaml v3.3.10|install symfony/yaml v3.3.11|install symfony/yaml v3.3.12|install symfony/yaml v3.3.13|install symfony/yaml v3.3.14|install symfony/yaml v3.3.15|install symfony/yaml v3.3.16|install symfony/yaml v3.3.17|install symfony/yaml v3.3.18|install symfony/yaml v3.3.2|install symfony/yaml v3.3.3|install symfony/yaml v3.3.4|install symfony/yaml v3.3.5|install symfony/yaml v3.3.6|install symfony/yaml v3.3.7|install symfony/yaml v3.3.8|install symfony/yaml v3.3.9|install symfony/yaml v3.4.0|install symfony/yaml v3.4.0-BETA1|install symfony/yaml v3.4.0-BETA2|install symfony/yaml v3.4.0-BETA3|install symfony/yaml v3.4.0-BETA4|install symfony/yaml v3.4.0-RC1|install symfony/yaml v3.4.0-RC2|install symfony/yaml v3.4.1|install symfony/yaml v3.4.10|install symfony/yaml v3.4.11|install symfony/yaml v3.4.12|install symfony/yaml v3.4.13|install symfony/yaml v3.4.14|install symfony/yaml v3.4.15|install symfony/yaml v3.4.16|install symfony/yaml v3.4.17|install symfony/yaml v3.4.18|install symfony/yaml v3.4.19|install symfony/yaml v3.4.2|install symfony/yaml v3.4.20|install symfony/yaml v3.4.21|install symfony/yaml v3.4.22|install symfony/yaml v3.4.23|install symfony/yaml v3.4.24|install symfony/yaml v3.4.25|install symfony/yaml v3.4.26|install symfony/yaml v3.4.27|install symfony/yaml v3.4.28|install symfony/yaml v3.4.29|install symfony/yaml v3.4.3|install symfony/yaml v3.4.30|install symfony/yaml v3.4.31|install symfony/yaml v3.4.32|install symfony/yaml v3.4.33|install symfony/yaml v3.4.34|install symfony/yaml v3.4.35|install symfony/yaml v3.4.36|install symfony/yaml v3.4.37|install symfony/yaml v3.4.38|install symfony/yaml v3.4.39|install symfony/yaml v3.4.4|install symfony/yaml v3.4.40|install symfony/yaml v3.4.5|install symfony/yaml v3.4.6|install symfony/yaml v3.4.7|install symfony/yaml v3.4.8|install symfony/yaml v3.4.9|install symfony/yaml v4.0.0|install symfony/yaml v4.0.0-BETA1|install symfony/yaml v4.0.0-BETA2|install symfony/yaml v4.0.0-BETA3|install symfony/yaml v4.0.0-BETA4|install symfony/yaml v4.0.0-RC1|install symfony/yaml v4.0.0-RC2|install symfony/yaml v4.0.1|install symfony/yaml v4.0.10|install symfony/yaml v4.0.11|install symfony/yaml v4.0.12|install symfony/yaml v4.0.13|install symfony/yaml v4.0.14|install symfony/yaml v4.0.15|install symfony/yaml v4.0.2|install symfony/yaml v4.0.3|install symfony/yaml v4.0.4|install symfony/yaml v4.0.5|install symfony/yaml v4.0.6|install symfony/yaml v4.0.7|install symfony/yaml v4.0.8|install symfony/yaml v4.0.9|install symfony/yaml v4.1.0|install symfony/yaml v4.1.0-BETA1|install symfony/yaml v4.1.0-BETA2|install symfony/yaml v4.1.0-BETA3|install symfony/yaml v4.1.1|install symfony/yaml v4.1.10|install symfony/yaml v4.1.11|install symfony/yaml v4.1.12|install symfony/yaml v4.1.2|install symfony/yaml v4.1.3|install symfony/yaml v4.1.4|install symfony/yaml v4.1.5|install symfony/yaml v4.1.6|install symfony/yaml v4.1.7|install symfony/yaml v4.1.8|install symfony/yaml v4.1.9|install symfony/yaml v4.2.0|install symfony/yaml v4.2.0-BETA1|install symfony/yaml v4.2.0-BETA2|install symfony/yaml v4.2.0-RC1|install symfony/yaml v4.2.1|install symfony/yaml v4.2.10|install symfony/yaml v4.2.11|install symfony/yaml v4.2.12|install symfony/yaml v4.2.2|install symfony/yaml v4.2.3|install symfony/yaml v4.2.4|install symfony/yaml v4.2.5|install symfony/yaml v4.2.6|install symfony/yaml v4.2.7|install symfony/yaml v4.2.8|install symfony/yaml v4.2.9|install symfony/yaml v4.3.0|install symfony/yaml v4.3.0-BETA1|install symfony/yaml v4.3.0-BETA2|install symfony/yaml v4.3.0-RC1|install symfony/yaml v4.3.1|install symfony/yaml v4.3.10|install symfony/yaml v4.3.11|install symfony/yaml v4.3.2|install symfony/yaml v4.3.3|install symfony/yaml v4.3.4|install symfony/yaml v4.3.5|install symfony/yaml v4.3.6|install symfony/yaml v4.3.7|install symfony/yaml v4.3.8|install symfony/yaml v4.3.9
- Conclusion: remove symfony/yaml v5.0.8|install symfony/yaml 2.1.x-dev|install symfony/yaml 2.2.x-dev|install symfony/yaml 2.3.x-dev|install symfony/yaml 2.4.x-dev|install symfony/yaml 2.5.x-dev|install symfony/yaml 2.6.x-dev|install symfony/yaml 2.7.x-dev|install symfony/yaml 2.8.x-dev|install symfony/yaml 3.0.x-dev|install symfony/yaml 3.1.x-dev|install symfony/yaml 3.2.x-dev|install symfony/yaml 3.3.x-dev|install symfony/yaml 3.4.x-dev|install symfony/yaml 4.0.x-dev|install symfony/yaml 4.1.x-dev|install symfony/yaml 4.2.x-dev|install symfony/yaml 4.3.x-dev|install symfony/yaml v2.1.0|install symfony/yaml v2.1.1|install symfony/yaml v2.1.10|install symfony/yaml v2.1.11|install symfony/yaml v2.1.12|install symfony/yaml v2.1.13|install symfony/yaml v2.1.2|install symfony/yaml v2.1.3|install symfony/yaml v2.1.4|install symfony/yaml v2.1.5|install symfony/yaml v2.1.6|install symfony/yaml v2.1.7|install symfony/yaml v2.1.8|install symfony/yaml v2.1.9|install symfony/yaml v2.2.0|install symfony/yaml v2.2.1|install symfony/yaml v2.2.10|install symfony/yaml v2.2.11|install symfony/yaml v2.2.2|install symfony/yaml v2.2.3|install symfony/yaml v2.2.4|install symfony/yaml v2.2.5|install symfony/yaml v2.2.6|install symfony/yaml v2.2.7|install symfony/yaml v2.2.8|install symfony/yaml v2.2.9|install symfony/yaml v2.3.0|install symfony/yaml v2.3.1|install symfony/yaml v2.3.10|install symfony/yaml v2.3.11|install symfony/yaml v2.3.12|install symfony/yaml v2.3.13|install symfony/yaml v2.3.14|install symfony/yaml v2.3.15|install symfony/yaml v2.3.16|install symfony/yaml v2.3.17|install symfony/yaml v2.3.18|install symfony/yaml v2.3.19|install symfony/yaml v2.3.2|install symfony/yaml v2.3.20|install symfony/yaml v2.3.21|install symfony/yaml v2.3.22|install symfony/yaml v2.3.23|install symfony/yaml v2.3.24|install symfony/yaml v2.3.25|install symfony/yaml v2.3.26|install symfony/yaml v2.3.27|install symfony/yaml v2.3.28|install symfony/yaml v2.3.29|install symfony/yaml v2.3.3|install symfony/yaml v2.3.30|install symfony/yaml v2.3.31|install symfony/yaml v2.3.32|install symfony/yaml v2.3.33|install symfony/yaml v2.3.34|install symfony/yaml v2.3.35|install symfony/yaml v2.3.36|install symfony/yaml v2.3.37|install symfony/yaml v2.3.38|install symfony/yaml v2.3.39|install symfony/yaml v2.3.4|install symfony/yaml v2.3.40|install symfony/yaml v2.3.41|install symfony/yaml v2.3.42|install symfony/yaml v2.3.5|install symfony/yaml v2.3.6|install symfony/yaml v2.3.7|install symfony/yaml v2.3.8|install symfony/yaml v2.3.9|install symfony/yaml v2.4.0|install symfony/yaml v2.4.0-BETA1|install symfony/yaml v2.4.0-BETA2|install symfony/yaml v2.4.0-RC1|install symfony/yaml v2.4.1|install symfony/yaml v2.4.10|install symfony/yaml v2.4.2|install symfony/yaml v2.4.3|install symfony/yaml v2.4.4|install symfony/yaml v2.4.5|install symfony/yaml v2.4.6|install symfony/yaml v2.4.7|install symfony/yaml v2.4.8|install symfony/yaml v2.4.9|install symfony/yaml v2.5.0|install symfony/yaml v2.5.0-BETA1|install symfony/yaml v2.5.0-BETA2|install symfony/yaml v2.5.0-RC1|install symfony/yaml v2.5.1|install symfony/yaml v2.5.10|install symfony/yaml v2.5.11|install symfony/yaml v2.5.12|install symfony/yaml v2.5.2|install symfony/yaml v2.5.3|install symfony/yaml v2.5.4|install symfony/yaml v2.5.5|install symfony/yaml v2.5.6|install symfony/yaml v2.5.7|install symfony/yaml v2.5.8|install symfony/yaml v2.5.9|install symfony/yaml v2.6.0|install symfony/yaml v2.6.0-BETA1|install symfony/yaml v2.6.0-BETA2|install symfony/yaml v2.6.1|install symfony/yaml v2.6.10|install symfony/yaml v2.6.11|install symfony/yaml v2.6.12|install symfony/yaml v2.6.13|install symfony/yaml v2.6.2|install symfony/yaml v2.6.3|install symfony/yaml v2.6.4|install symfony/yaml v2.6.5|install symfony/yaml v2.6.6|install symfony/yaml v2.6.7|install symfony/yaml v2.6.8|install symfony/yaml v2.6.9|install symfony/yaml v2.7.0|install symfony/yaml v2.7.0-BETA1|install symfony/yaml v2.7.0-BETA2|install symfony/yaml v2.7.1|install symfony/yaml v2.7.10|install symfony/yaml v2.7.11|install symfony/yaml v2.7.12|install symfony/yaml v2.7.13|install symfony/yaml v2.7.14|install symfony/yaml v2.7.15|install symfony/yaml v2.7.16|install symfony/yaml v2.7.17|install symfony/yaml v2.7.18|install symfony/yaml v2.7.19|install symfony/yaml v2.7.2|install symfony/yaml v2.7.20|install symfony/yaml v2.7.21|install symfony/yaml v2.7.22|install symfony/yaml v2.7.23|install symfony/yaml v2.7.24|install symfony/yaml v2.7.25|install symfony/yaml v2.7.26|install symfony/yaml v2.7.27|install symfony/yaml v2.7.28|install symfony/yaml v2.7.29|install symfony/yaml v2.7.3|install symfony/yaml v2.7.30|install symfony/yaml v2.7.31|install symfony/yaml v2.7.32|install symfony/yaml v2.7.33|install symfony/yaml v2.7.34|install symfony/yaml v2.7.35|install symfony/yaml v2.7.36|install symfony/yaml v2.7.37|install symfony/yaml v2.7.38|install symfony/yaml v2.7.39|install symfony/yaml v2.7.4|install symfony/yaml v2.7.40|install symfony/yaml v2.7.41|install symfony/yaml v2.7.42|install symfony/yaml v2.7.43|install symfony/yaml v2.7.44|install symfony/yaml v2.7.45|install symfony/yaml v2.7.46|install symfony/yaml v2.7.47|install symfony/yaml v2.7.48|install symfony/yaml v2.7.49|install symfony/yaml v2.7.5|install symfony/yaml v2.7.50|install symfony/yaml v2.7.51|install symfony/yaml v2.7.6|install symfony/yaml v2.7.7|install symfony/yaml v2.7.8|install symfony/yaml v2.7.9|install symfony/yaml v2.8.0|install symfony/yaml v2.8.0-BETA1|install symfony/yaml v2.8.1|install symfony/yaml v2.8.10|install symfony/yaml v2.8.11|install symfony/yaml v2.8.12|install symfony/yaml v2.8.13|install symfony/yaml v2.8.14|install symfony/yaml v2.8.15|install symfony/yaml v2.8.16|install symfony/yaml v2.8.17|install symfony/yaml v2.8.18|install symfony/yaml v2.8.19|install symfony/yaml v2.8.2|install symfony/yaml v2.8.20|install symfony/yaml v2.8.21|install symfony/yaml v2.8.22|install symfony/yaml v2.8.23|install symfony/yaml v2.8.24|install symfony/yaml v2.8.25|install symfony/yaml v2.8.26|install symfony/yaml v2.8.27|install symfony/yaml v2.8.28|install symfony/yaml v2.8.29|install symfony/yaml v2.8.3|install symfony/yaml v2.8.30|install symfony/yaml v2.8.31|install symfony/yaml v2.8.32|install symfony/yaml v2.8.33|install symfony/yaml v2.8.34|install symfony/yaml v2.8.35|install symfony/yaml v2.8.36|install symfony/yaml v2.8.37|install symfony/yaml v2.8.38|install symfony/yaml v2.8.39|install symfony/yaml v2.8.4|install symfony/yaml v2.8.40|install symfony/yaml v2.8.41|install symfony/yaml v2.8.42|install symfony/yaml v2.8.43|install symfony/yaml v2.8.44|install symfony/yaml v2.8.45|install symfony/yaml v2.8.46|install symfony/yaml v2.8.47|install symfony/yaml v2.8.48|install symfony/yaml v2.8.49|install symfony/yaml v2.8.5|install symfony/yaml v2.8.50|install symfony/yaml v2.8.52|install symfony/yaml v2.8.6|install symfony/yaml v2.8.7|install symfony/yaml v2.8.8|install symfony/yaml v2.8.9|install symfony/yaml v3.0.0|install symfony/yaml v3.0.0-BETA1|install symfony/yaml v3.0.1|install symfony/yaml v3.0.2|install symfony/yaml v3.0.3|install symfony/yaml v3.0.4|install symfony/yaml v3.0.5|install symfony/yaml v3.0.6|install symfony/yaml v3.0.7|install symfony/yaml v3.0.8|install symfony/yaml v3.0.9|install symfony/yaml v3.1.0|install symfony/yaml v3.1.0-BETA1|install symfony/yaml v3.1.0-RC1|install symfony/yaml v3.1.1|install symfony/yaml v3.1.10|install symfony/yaml v3.1.2|install symfony/yaml v3.1.3|install symfony/yaml v3.1.4|install symfony/yaml v3.1.5|install symfony/yaml v3.1.6|install symfony/yaml v3.1.7|install symfony/yaml v3.1.8|install symfony/yaml v3.1.9|install symfony/yaml v3.2.0|install symfony/yaml v3.2.0-BETA1|install symfony/yaml v3.2.0-RC1|install symfony/yaml v3.2.0-RC2|install symfony/yaml v3.2.1|install symfony/yaml v3.2.10|install symfony/yaml v3.2.11|install symfony/yaml v3.2.12|install symfony/yaml v3.2.13|install symfony/yaml v3.2.14|install symfony/yaml v3.2.2|install symfony/yaml v3.2.3|install symfony/yaml v3.2.4|install symfony/yaml v3.2.5|install symfony/yaml v3.2.6|install symfony/yaml v3.2.7|install symfony/yaml v3.2.8|install symfony/yaml v3.2.9|install symfony/yaml v3.3.0|install symfony/yaml v3.3.0-BETA1|install symfony/yaml v3.3.0-RC1|install symfony/yaml v3.3.1|install symfony/yaml v3.3.10|install symfony/yaml v3.3.11|install symfony/yaml v3.3.12|install symfony/yaml v3.3.13|install symfony/yaml v3.3.14|install symfony/yaml v3.3.15|install symfony/yaml v3.3.16|install symfony/yaml v3.3.17|install symfony/yaml v3.3.18|install symfony/yaml v3.3.2|install symfony/yaml v3.3.3|install symfony/yaml v3.3.4|install symfony/yaml v3.3.5|install symfony/yaml v3.3.6|install symfony/yaml v3.3.7|install symfony/yaml v3.3.8|install symfony/yaml v3.3.9|install symfony/yaml v3.4.0|install symfony/yaml v3.4.0-BETA1|install symfony/yaml v3.4.0-BETA2|install symfony/yaml v3.4.0-BETA3|install symfony/yaml v3.4.0-BETA4|install symfony/yaml v3.4.0-RC1|install symfony/yaml v3.4.0-RC2|install symfony/yaml v3.4.1|install symfony/yaml v3.4.10|install symfony/yaml v3.4.11|install symfony/yaml v3.4.12|install symfony/yaml v3.4.13|install symfony/yaml v3.4.14|install symfony/yaml v3.4.15|install symfony/yaml v3.4.16|install symfony/yaml v3.4.17|install symfony/yaml v3.4.18|install symfony/yaml v3.4.19|install symfony/yaml v3.4.2|install symfony/yaml v3.4.20|install symfony/yaml v3.4.21|install symfony/yaml v3.4.22|install symfony/yaml v3.4.23|install symfony/yaml v3.4.24|install symfony/yaml v3.4.25|install symfony/yaml v3.4.26|install symfony/yaml v3.4.27|install symfony/yaml v3.4.28|install symfony/yaml v3.4.29|install symfony/yaml v3.4.3|install symfony/yaml v3.4.30|install symfony/yaml v3.4.31|install symfony/yaml v3.4.32|install symfony/yaml v3.4.33|install symfony/yaml v3.4.34|install symfony/yaml v3.4.35|install symfony/yaml v3.4.36|install symfony/yaml v3.4.37|install symfony/yaml v3.4.38|install symfony/yaml v3.4.39|install symfony/yaml v3.4.4|install symfony/yaml v3.4.40|install symfony/yaml v3.4.5|install symfony/yaml v3.4.6|install symfony/yaml v3.4.7|install symfony/yaml v3.4.8|install symfony/yaml v3.4.9|install symfony/yaml v4.0.0|install symfony/yaml v4.0.0-BETA1|install symfony/yaml v4.0.0-BETA2|install symfony/yaml v4.0.0-BETA3|install symfony/yaml v4.0.0-BETA4|install symfony/yaml v4.0.0-RC1|install symfony/yaml v4.0.0-RC2|install symfony/yaml v4.0.1|install symfony/yaml v4.0.10|install symfony/yaml v4.0.11|install symfony/yaml v4.0.12|install symfony/yaml v4.0.13|install symfony/yaml v4.0.14|install symfony/yaml v4.0.15|install symfony/yaml v4.0.2|install symfony/yaml v4.0.3|install symfony/yaml v4.0.4|install symfony/yaml v4.0.5|install symfony/yaml v4.0.6|install symfony/yaml v4.0.7|install symfony/yaml v4.0.8|install symfony/yaml v4.0.9|install symfony/yaml v4.1.0|install symfony/yaml v4.1.0-BETA1|install symfony/yaml v4.1.0-BETA2|install symfony/yaml v4.1.0-BETA3|install symfony/yaml v4.1.1|install symfony/yaml v4.1.10|install symfony/yaml v4.1.11|install symfony/yaml v4.1.12|install symfony/yaml v4.1.2|install symfony/yaml v4.1.3|install symfony/yaml v4.1.4|install symfony/yaml v4.1.5|install symfony/yaml v4.1.6|install symfony/yaml v4.1.7|install symfony/yaml v4.1.8|install symfony/yaml v4.1.9|install symfony/yaml v4.2.0|install symfony/yaml v4.2.0-BETA1|install symfony/yaml v4.2.0-BETA2|install symfony/yaml v4.2.0-RC1|install symfony/yaml v4.2.1|install symfony/yaml v4.2.10|install symfony/yaml v4.2.11|install symfony/yaml v4.2.12|install symfony/yaml v4.2.2|install symfony/yaml v4.2.3|install symfony/yaml v4.2.4|install symfony/yaml v4.2.5|install symfony/yaml v4.2.6|install symfony/yaml v4.2.7|install symfony/yaml v4.2.8|install symfony/yaml v4.2.9|install symfony/yaml v4.3.0|install symfony/yaml v4.3.0-BETA1|install symfony/yaml v4.3.0-BETA2|install symfony/yaml v4.3.0-RC1|install symfony/yaml v4.3.1|install symfony/yaml v4.3.10|install symfony/yaml v4.3.11|install symfony/yaml v4.3.2|install symfony/yaml v4.3.3|install symfony/yaml v4.3.4|install symfony/yaml v4.3.5|install symfony/yaml v4.3.6|install symfony/yaml v4.3.7|install symfony/yaml v4.3.8|install symfony/yaml v4.3.9
- mnapoli/front-yaml 1.6.0 requires symfony/yaml ~2.1|^3.0|^4.0 -> satisfiable by symfony/yaml[2.1.x-dev, 2.2.x-dev, 2.3.x-dev, 2.4.x-dev, 2.5.x-dev, 2.6.x-dev, 2.7.x-dev, 2.8.x-dev, 3.0.x-dev, 3.1.x-dev, 3.2.x-dev, 3.3.x-dev, 3.4.x-dev, 4.0.x-dev, 4.1.x-dev, 4.2.x-dev, 4.3.x-dev, 4.4.x-dev, v2.1.0, v2.1.1, v2.1.10, v2.1.11, v2.1.12, v2.1.13, v2.1.2, v2.1.3, v2.1.4, v2.1.5, v2.1.6, v2.1.7, v2.1.8, v2.1.9, v2.2.0, v2.2.1, v2.2.10, v2.2.11, v2.2.2, v2.2.3, v2.2.4, v2.2.5, v2.2.6, v2.2.7, v2.2.8, v2.2.9, v2.3.0, v2.3.1, v2.3.10, v2.3.11, v2.3.12, v2.3.13, v2.3.14, v2.3.15, v2.3.16, v2.3.17, v2.3.18, v2.3.19, v2.3.2, v2.3.20, v2.3.21, v2.3.22, v2.3.23, v2.3.24, v2.3.25, v2.3.26, v2.3.27, v2.3.28, v2.3.29, v2.3.3, v2.3.30, v2.3.31, v2.3.32, v2.3.33, v2.3.34, v2.3.35, v2.3.36, v2.3.37, v2.3.38, v2.3.39, v2.3.4, v2.3.40, v2.3.41, v2.3.42, v2.3.5, v2.3.6, v2.3.7, v2.3.8, v2.3.9, v2.4.0, v2.4.0-BETA1, v2.4.0-BETA2, v2.4.0-RC1, v2.4.1, v2.4.10, v2.4.2, v2.4.3, v2.4.4, v2.4.5, v2.4.6, v2.4.7, v2.4.8, v2.4.9, v2.5.0, v2.5.0-BETA1, v2.5.0-BETA2, v2.5.0-RC1, v2.5.1, v2.5.10, v2.5.11, v2.5.12, v2.5.2, v2.5.3, v2.5.4, v2.5.5, v2.5.6, v2.5.7, v2.5.8, v2.5.9, v2.6.0, v2.6.0-BETA1, v2.6.0-BETA2, v2.6.1, v2.6.10, v2.6.11, v2.6.12, v2.6.13, v2.6.2, v2.6.3, v2.6.4, v2.6.5, v2.6.6, v2.6.7, v2.6.8, v2.6.9, v2.7.0, v2.7.0-BETA1, v2.7.0-BETA2, v2.7.1, v2.7.10, v2.7.11, v2.7.12, v2.7.13, v2.7.14, v2.7.15, v2.7.16, v2.7.17, v2.7.18, v2.7.19, v2.7.2, v2.7.20, v2.7.21, v2.7.22, v2.7.23, v2.7.24, v2.7.25, v2.7.26, v2.7.27, v2.7.28, v2.7.29, v2.7.3, v2.7.30, v2.7.31, v2.7.32, v2.7.33, v2.7.34, v2.7.35, v2.7.36, v2.7.37, v2.7.38, v2.7.39, v2.7.4, v2.7.40, v2.7.41, v2.7.42, v2.7.43, v2.7.44, v2.7.45, v2.7.46, v2.7.47, v2.7.48, v2.7.49, v2.7.5, v2.7.50, v2.7.51, v2.7.6, v2.7.7, v2.7.8, v2.7.9, v2.8.0, v2.8.0-BETA1, v2.8.1, v2.8.10, v2.8.11, v2.8.12, v2.8.13, v2.8.14, v2.8.15, v2.8.16, v2.8.17, v2.8.18, v2.8.19, v2.8.2, v2.8.20, v2.8.21, v2.8.22, v2.8.23, v2.8.24, v2.8.25, v2.8.26, v2.8.27, v2.8.28, v2.8.29, v2.8.3, v2.8.30, v2.8.31, v2.8.32, v2.8.33, v2.8.34, v2.8.35, v2.8.36, v2.8.37, v2.8.38, v2.8.39, v2.8.4, v2.8.40, v2.8.41, v2.8.42, v2.8.43, v2.8.44, v2.8.45, v2.8.46, v2.8.47, v2.8.48, v2.8.49, v2.8.5, v2.8.50, v2.8.52, v2.8.6, v2.8.7, v2.8.8, v2.8.9, v3.0.0, v3.0.0-BETA1, v3.0.1, v3.0.2, v3.0.3, v3.0.4, v3.0.5, v3.0.6, v3.0.7, v3.0.8, v3.0.9, v3.1.0, v3.1.0-BETA1, v3.1.0-RC1, v3.1.1, v3.1.10, v3.1.2, v3.1.3, v3.1.4, v3.1.5, v3.1.6, v3.1.7, v3.1.8, v3.1.9, v3.2.0, v3.2.0-BETA1, v3.2.0-RC1, v3.2.0-RC2, v3.2.1, v3.2.10, v3.2.11, v3.2.12, v3.2.13, v3.2.14, v3.2.2, v3.2.3, v3.2.4, v3.2.5, v3.2.6, v3.2.7, v3.2.8, v3.2.9, v3.3.0, v3.3.0-BETA1, v3.3.0-RC1, v3.3.1, v3.3.10, v3.3.11, v3.3.12, v3.3.13, v3.3.14, v3.3.15, v3.3.16, v3.3.17, v3.3.18, v3.3.2, v3.3.3, v3.3.4, v3.3.5, v3.3.6, v3.3.7, v3.3.8, v3.3.9, v3.4.0, v3.4.0-BETA1, v3.4.0-BETA2, v3.4.0-BETA3, v3.4.0-BETA4, v3.4.0-RC1, v3.4.0-RC2, v3.4.1, v3.4.10, v3.4.11, v3.4.12, v3.4.13, v3.4.14, v3.4.15, v3.4.16, v3.4.17, v3.4.18, v3.4.19, v3.4.2, v3.4.20, v3.4.21, v3.4.22, v3.4.23, v3.4.24, v3.4.25, v3.4.26, v3.4.27, v3.4.28, v3.4.29, v3.4.3, v3.4.30, v3.4.31, v3.4.32, v3.4.33, v3.4.34, v3.4.35, v3.4.36, v3.4.37, v3.4.38, v3.4.39, v3.4.4, v3.4.40, v3.4.5, v3.4.6, v3.4.7, v3.4.8, v3.4.9, v4.0.0, v4.0.0-BETA1, v4.0.0-BETA2, v4.0.0-BETA3, v4.0.0-BETA4, v4.0.0-RC1, v4.0.0-RC2, v4.0.1, v4.0.10, v4.0.11, v4.0.12, v4.0.13, v4.0.14, v4.0.15, v4.0.2, v4.0.3, v4.0.4, v4.0.5, v4.0.6, v4.0.7, v4.0.8, v4.0.9, v4.1.0, v4.1.0-BETA1, v4.1.0-BETA2, v4.1.0-BETA3, v4.1.1, v4.1.10, v4.1.11, v4.1.12, v4.1.2, v4.1.3, v4.1.4, v4.1.5, v4.1.6, v4.1.7, v4.1.8, v4.1.9, v4.2.0, v4.2.0-BETA1, v4.2.0-BETA2, v4.2.0-RC1, v4.2.1, v4.2.10, v4.2.11, v4.2.12, v4.2.2, v4.2.3, v4.2.4, v4.2.5, v4.2.6, v4.2.7, v4.2.8, v4.2.9, v4.3.0, v4.3.0-BETA1, v4.3.0-BETA2, v4.3.0-RC1, v4.3.1, v4.3.10, v4.3.11, v4.3.2, v4.3.3, v4.3.4, v4.3.5, v4.3.6, v4.3.7, v4.3.8, v4.3.9, v4.4.0, v4.4.0-BETA1, v4.4.0-BETA2, v4.4.0-RC1, v4.4.1, v4.4.2, v4.4.3, v4.4.4, v4.4.5, v4.4.6, v4.4.7, v4.4.8].
- Can only install one of: symfony/yaml[4.4.x-dev, v5.0.8].
- Can only install one of: symfony/yaml[v4.4.0, v5.0.8].
- Can only install one of: symfony/yaml[v4.4.0-BETA1, v5.0.8].
- Can only install one of: symfony/yaml[v4.4.0-BETA2, v5.0.8].
- Can only install one of: symfony/yaml[v4.4.0-RC1, v5.0.8].
- Can only install one of: symfony/yaml[v4.4.1, v5.0.8].
- Can only install one of: symfony/yaml[v4.4.2, v5.0.8].
- Can only install one of: symfony/yaml[v4.4.3, v5.0.8].
- Can only install one of: symfony/yaml[v4.4.4, v5.0.8].
- Can only install one of: symfony/yaml[v4.4.5, v5.0.8].
- Can only install one of: symfony/yaml[v4.4.6, v5.0.8].
- Can only install one of: symfony/yaml[v4.4.7, v5.0.8].
- Can only install one of: symfony/yaml[v4.4.8, v5.0.8].
- Installation request for symfony/yaml (locked at v5.0.8) -> satisfiable by symfony/yaml[v5.0.8].
Installation failed, reverting ./composer.json to its original content.
Is there anyway to customize markdown files(api documentation output) customization setting? or how can i customize all api endpoint parameters preview on api documentation files as bottom ?
Parameter | Type | Description |
---|---|---|
parameter_1 | integer | description..... |
parameter_2 | string | description..... |
Hello! thank you for this amazing component!
What happened?
Into my Lumen app I have this docblock inside of my controller
/**
* My endpoint description
*
* @header Authorization Bearer {token}
* @group Auth
* @responseFile 200 responses/my-response.json
When I run php artisan scribe:generate
all works like a charm, but into the generated docs it doesn't show the additional header of my endpoint:
My environment:
My Scribe config (minus the comments)
<?php
return [
'type' => 'static',
'static' => [
'output_path' => 'public/docs',
],
'laravel' => [
'add_routes' => true,
'url' => '/docs',
'middleware' => [],
],
'auth' => [
'enabled' => true,
'in' => 'bearer',
'name' => 'Authorization',
'use_value' => env('SCRIBE_AUTH_KEY'),
'extra_info' => 'You can retrieve your token by visiting your dashboard and clicking <b>Generate API token</b>.',
],
'intro_text' => <<<INTRO
Welcome to our API documentation!
<aside>As you scroll, you'll see code examples for working with the API in different programming languages in the dark area to the right (or as part of the content on mobile), and you can switch the programming language of the examples with the tabs in the top right (or from the nav menu at the top left on mobile).</aside>
INTRO
,
'example_languages' => [
'bash',
'javascript',
],
'base_url' => null,
'title' => null,
'postman' => [
'enabled' => true,
'description' => null,
'auth' => null,
],
'default_group' => 'Endpoints',
'logo' => false,
'router' => 'laravel',
'routes' => [
[
'match' => [
'domains' => ['*'],
'prefixes' => ['*'],
'versions' => ['v1'],
],
'include' => [
// 'users.index', 'healthcheck*'
],
'exclude' => [
// '/health', 'admin.*'
],
'apply' => [
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'response_calls' => [
'methods' => ['GET'],
'config' => [
'app.env' => 'documentation',
// 'app.debug' => false,
],
'cookies' => [
// 'name' => 'value'
],
'queryParams' => [
// 'key' => 'value',
],
'bodyParams' => [
// 'key' => 'value',
],
'fileParams' => [
// 'key' => '/home/me/image.png',
],
],
],
],
],
'fractal' => [
'serializer' => null,
],
'faker_seed' => null,
'strategies' => [
'metadata' => [
\Knuckles\Scribe\Extracting\Strategies\Metadata\GetFromDocBlocks::class,
],
'urlParameters' => [
\Knuckles\Scribe\Extracting\Strategies\UrlParameters\GetFromUrlParamTag::class,
],
'queryParameters' => [
\Knuckles\Scribe\Extracting\Strategies\QueryParameters\GetFromQueryParamTag::class,
],
'headers' => [
\Knuckles\Scribe\Extracting\Strategies\Headers\GetFromRouteRules::class,
],
'bodyParameters' => [
\Knuckles\Scribe\Extracting\Strategies\BodyParameters\GetFromFormRequest::class,
\Knuckles\Scribe\Extracting\Strategies\BodyParameters\GetFromBodyParamTag::class,
],
'responses' => [
\Knuckles\Scribe\Extracting\Strategies\Responses\UseTransformerTags::class,
\Knuckles\Scribe\Extracting\Strategies\Responses\UseResponseTag::class,
\Knuckles\Scribe\Extracting\Strategies\Responses\UseResponseFileTag::class,
\Knuckles\Scribe\Extracting\Strategies\Responses\UseApiResourceTags::class,
\Knuckles\Scribe\Extracting\Strategies\Responses\ResponseCalls::class,
],
'responseFields' => [
\Knuckles\Scribe\Extracting\Strategies\ResponseFields\GetFromResponseFieldTag::class,
],
],
'routeMatcher' => \Knuckles\Scribe\Matching\RouteMatcher::class,
];
Hi,
It is possible to change the css of the output documentation, using in scribe.php 'type' => 'static' ?
And if it is possible, what is the better way to do it ?
Best Regards...
Running php artisan scribe:generate
should generate docs folder in public/
The output of the command is
And no docs folder is generated. I migrated from Laravel API Documentation Generator The config file contains the same as apidoc.php. Using Laravel API Documentation Generator cause no problems at all with the same anotations. I found it strange that returning the array of parsed routes in GenerateDocumentation@processRoutes
at the third iteration (in my case ) generates the docs successfully. Also what are those numbers 368, 276 ?
/**
* Class RefreshTokenController
* @package App\Http\Controllers\V1\Auth
* @group Authentication
*/
class RefreshTokenController extends Controller
/**
* Refresh token.
*
* @header Authorization Bearer {token}
* @param \Illuminate\Http\Request $request
* @return \Symfony\Component\HttpFoundation\Response
*/
/**
* Class LogoutController
* @package App\Http\Controllers\V1\Auth
* @group Authentication
*/
class LogoutController extends Controller
/**
* Log out and blacklist token
*
* @authenticated
* @header Authorization Bearer {token}
* @param \Illuminate\Http\Request $request
* @return \Symfony\Component\HttpFoundation\Response
*/
public function __invoke(Request $request)
/**
* Class LoginController
* @package App\Http\Controllers\V1\Auth
* @group Authentication
*/
class LoginController extends Controller
{
/**
* Get Authentication Token
*
*
* @bodyParam code_login string Scanned login code. * Not required if email and password are present
* @bodyParam email string The email of the user. * Required if code_login is not passed
* @bodyParam password string The password for the user. * Required if code_login is not passed
* @param Request $request
* @return \Symfony\Component\HttpFoundation\Response
*/
vagrant@homestead:~/boutone/nova2$ php artisan scribe:generate
🔊 info Processed route: [GET] docs.json
🔊 info Processed route: [GET] api/user
🔊 info Writing source Markdown files to: resources/docs
🔊 info Wrote source Markdown files to: resources/docs
🔊 info Generating API HTML code
ErrorException
rmdir(/home/vagrant/boutone/nova2/public/vendor/scribe/images): Directory not empty
at vendor/league/flysystem/src/Adapter/Local.php:429
425| protected function deleteFileInfoObject(SplFileInfo $file)
426| {
427| switch ($file->getType()) {
428| case 'dir':
> 429| rmdir($file->getRealPath());
430| break;
431| case 'link':
432| unlink($file->getPathname());
433| break;
+22 vendor frames
23 artisan:37
Illuminate\Foundation\Console\Kernel::handle()
laravel
(on type mode all fine)Docs generated but with error above
Hi Shalva!, the command php artisan scribe:generate is stuck when has php 7.4 version,
Thanks for you work!
Hi guys,
Just checking in with the community. If you've got a moment to spare, what's your experience with Scribe been like so far? What do you like? What don't you like? What do you think needs to be better?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.