Skip to content

Commit

Permalink
feat(documentator): New package (#96)
Browse files Browse the repository at this point in the history
  • Loading branch information
LastDragon-ru authored Aug 25, 2023
2 parents 6687343 + 6df7bdf commit cfbcd41
Show file tree
Hide file tree
Showing 92 changed files with 4,347 additions and 16 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -28,3 +28,4 @@ Thumbs.db
# Project
composer.lock
Vagrant.yml
bootstrap
7 changes: 6 additions & 1 deletion .markdownlint.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -251,5 +251,10 @@ MD052: true
MD053:
# Ignored definitions
ignored_definitions: [
"//"
"//",
"include:document-list",
"include:example",
"include:exec",
"include:file",
"include:package-list",
]
2 changes: 1 addition & 1 deletion .release-it/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,7 @@ module.exports = {
plugins: {
'@release-it/bumper': {
out: {
file: 'packages/*/metadata.json',
file: ['metadata.json', 'packages/*/metadata.json'],
},
},
'@release-it/conventional-changelog': {
Expand Down
38 changes: 38 additions & 0 deletions artisan
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
#!/usr/bin/env php
<?php

use Illuminate\Contracts\Console\Kernel as ConsoleKernelContract;
use Illuminate\Contracts\Debug\ExceptionHandler as ExceptionHandlerContract;
use Illuminate\Foundation\Application;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
use Symfony\Component\Console\Input\ArgvInput;
use Symfony\Component\Console\Output\ConsoleOutput;

# Debug
define('LARAVEL_START', microtime(true));

// Auto Loader
require __DIR__.'/vendor/autoload.php';

// Boot
$app = new Application(__DIR__);

$app->singleton(
ConsoleKernelContract::class,
ConsoleKernel::class,
);
$app->singleton(
ExceptionHandlerContract::class,
ExceptionHandler::class
);

// Run
$input = new ArgvInput();
$kernel = $app->make(ConsoleKernelContract::class);
$status = $kernel->handle($input, new ConsoleOutput());

// Shutdown
$kernel->terminate($input, $status);

exit($status);
14 changes: 10 additions & 4 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@
"guzzlehttp/psr7": "^1.9.1|^2.4.5",
"http-interop/http-factory-guzzle": "^1.0.0",
"laravel/framework": "^9.21.0|^10.0.0",
"league/commonmark": "^2.4",
"nuwave/lighthouse": "^6.5.0",
"opis/json-schema": "^2.3.0",
"phpdocumentor/type-resolver": "^1.7",
Expand All @@ -55,6 +56,7 @@
"symfony/finder": "^6.3.0",
"symfony/http-foundation": "^6.3.0",
"symfony/mime": "^6.3.0",
"symfony/process": "^6.3.0",
"symfony/property-access": "^6.3.0",
"symfony/property-info": "^6.3.0",
"symfony/psr-http-message-bridge": "^2.0.0",
Expand Down Expand Up @@ -100,7 +102,8 @@
"LastDragon_ru\\LaraASP\\Spa\\": "packages/spa/src/",
"LastDragon_ru\\LaraASP\\GraphQL\\": "packages/graphql/src/",
"LastDragon_ru\\LaraASP\\GraphQLPrinter\\": "packages/graphql-printer/src/",
"LastDragon_ru\\LaraASP\\Serializer\\": "packages/serializer/src/"
"LastDragon_ru\\LaraASP\\Serializer\\": "packages/serializer/src/",
"LastDragon_ru\\LaraASP\\Documentator\\": "packages/documentator/src/"
},
"exclude-from-classmap": [
"packages/core/src/**Test.php",
Expand All @@ -112,7 +115,8 @@
"packages/spa/src/**Test.php",
"packages/graphql/src/**Test.php",
"packages/graphql-printer/src/**Test.php",
"packages/serializer/src/**Test.php"
"packages/serializer/src/**Test.php",
"packages/documentator/src/**Test.php"
]
},
"autoload-dev": {
Expand All @@ -128,7 +132,8 @@
"LastDragon_ru\\LaraASP\\Spa\\Provider",
"LastDragon_ru\\LaraASP\\GraphQL\\Provider",
"LastDragon_ru\\LaraASP\\Queue\\Provider",
"LastDragon_ru\\LaraASP\\Serializer\\Provider"
"LastDragon_ru\\LaraASP\\Serializer\\Provider",
"LastDragon_ru\\LaraASP\\Documentator\\Provider"
]
}
},
Expand Down Expand Up @@ -178,6 +183,7 @@
"lastdragon-ru/lara-asp-spa": "self.version",
"lastdragon-ru/lara-asp-graphql": "self.version",
"lastdragon-ru/lara-asp-graphql-printer": "self.version",
"lastdragon-ru/lara-asp-serializer": "self.version"
"lastdragon-ru/lara-asp-serializer": "self.version",
"lastdragon-ru/lara-asp-documentator": "self.version"
}
}
164 changes: 164 additions & 0 deletions config/app.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,164 @@
<?php

use Illuminate\Support\Facades\Facade;
use Illuminate\Support\ServiceProvider;
use LastDragon_ru\LaraASP\Documentator\Provider as DocumentatorProvider;
use LastDragon_ru\LaraASP\Serializer\Provider as SerializerProvider;

return [
/*
|--------------------------------------------------------------------------
| Application Name
|--------------------------------------------------------------------------
|
| This value is the name of your application. This value is used when the
| framework needs to place the application's name in a notification or
| any other location as required by the application or its packages.
|
*/
'name' => env('APP_NAME', 'LaraAsp'),

/*
|--------------------------------------------------------------------------
| Application Environment
|--------------------------------------------------------------------------
|
| This value determines the "environment" your application is currently
| running in. This may determine how you prefer to configure various
| services the application utilizes. Set this in your ".env" file.
|
*/
'env' => env('APP_ENV', 'production'),

/*
|--------------------------------------------------------------------------
| Application Debug Mode
|--------------------------------------------------------------------------
|
| When your application is in debug mode, detailed error messages with
| stack traces will be shown on every error that occurs within your
| application. If disabled, a simple generic error page is shown.
|
*/
'debug' => (bool) env('APP_DEBUG', false),

/*
|--------------------------------------------------------------------------
| Application URL
|--------------------------------------------------------------------------
|
| This URL is used by the console to properly generate URLs when using
| the Artisan command line tool. You should set this to the root of
| your application so that it is used when running Artisan tasks.
|
*/
'url' => env('APP_URL', 'http://localhost'),
'asset_url' => env('ASSET_URL'),

/*
|--------------------------------------------------------------------------
| Application Timezone
|--------------------------------------------------------------------------
|
| Here you may specify the default timezone for your application, which
| will be used by the PHP date and date-time functions. We have gone
| ahead and set this to a sensible default for you out of the box.
|
*/
'timezone' => 'UTC',

/*
|--------------------------------------------------------------------------
| Application Locale Configuration
|--------------------------------------------------------------------------
|
| The application locale determines the default locale that will be used
| by the translation service provider. You are free to set this value
| to any of the locales which will be supported by the application.
|
*/
'locale' => 'en',

/*
|--------------------------------------------------------------------------
| Application Fallback Locale
|--------------------------------------------------------------------------
|
| The fallback locale determines the locale to use when the current one
| is not available. You may change the value to correspond to any of
| the language folders that are provided through your application.
|
*/
'fallback_locale' => 'en',

/*
|--------------------------------------------------------------------------
| Faker Locale
|--------------------------------------------------------------------------
|
| This locale will be used by the Faker PHP library when generating fake
| data for your database seeds. For example, this will be used to get
| localized telephone numbers, street address information and more.
|
*/
'faker_locale' => 'en_US',

/*
|--------------------------------------------------------------------------
| Encryption Key
|--------------------------------------------------------------------------
|
| This key is used by the Illuminate encrypter service and should be set
| to a random, 32 character string, otherwise these encrypted strings
| will not be safe. Please do this before deploying an application!
|
*/
'key' => env('APP_KEY'),
'cipher' => 'AES-256-CBC',

/*
|--------------------------------------------------------------------------
| Maintenance Mode Driver
|--------------------------------------------------------------------------
|
| These configuration options determine the driver used to determine and
| manage Laravel's "maintenance mode" status. The "cache" driver will
| allow maintenance mode to be controlled across multiple machines.
|
| Supported drivers: "file", "cache"
|
*/
'maintenance' => [
'driver' => 'file',
// 'store' => 'redis',
],

/*
|--------------------------------------------------------------------------
| Autoloaded Service Providers
|--------------------------------------------------------------------------
|
| The service providers listed here will be automatically loaded on the
| request to your application. Feel free to add your own services to
| this array to grant expanded functionality to your applications.
|
*/
'providers' => ServiceProvider::defaultProviders()->merge([
SerializerProvider::class,
DocumentatorProvider::class,
])->toArray(),

/*
|--------------------------------------------------------------------------
| Class Aliases
|--------------------------------------------------------------------------
|
| This array of class aliases will be registered when this application
| is started. However, feel free to register as many as you wish as
| the aliases are "lazy" loaded so they don't hinder performance.
|
*/
'aliases' => Facade::defaultAliases()->merge([
// 'Example' => App\Facades\Example::class,
])->toArray(),
];
32 changes: 32 additions & 0 deletions config/view.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
<?php

return [
/*
|--------------------------------------------------------------------------
| View Storage Paths
|--------------------------------------------------------------------------
|
| Most templating systems load templates from disk. Here you may specify
| an array of paths that should be checked for your views. Of course
| the usual Laravel view path has already been registered for you.
|
*/
'paths' => [
resource_path('views'),
],

/*
|--------------------------------------------------------------------------
| Compiled View Path
|--------------------------------------------------------------------------
|
| This option determines where all the compiled Blade templates will be
| stored for your application. Typically, this is within the storage
| directory. However, as usual, you are free to change this value.
|
*/
'compiled' => env(
'VIEW_COMPILED_PATH',
realpath(storage_path('framework/views')),
),
];
Loading

0 comments on commit cfbcd41

Please sign in to comment.