From be614418e0aeec497552e22da12b7430d1f9f621 Mon Sep 17 00:00:00 2001 From: Oskars Germovs Date: Fri, 13 Sep 2024 19:04:30 +0300 Subject: [PATCH 1/3] 1.) added: standartized package skeleton Signed-off-by: Oskars Germovs --- .editorconfig | 18 ++++++++++++++++++ .eslintrc.js | 20 ++++++++++++++++++++ .gitattributes | 16 ++++++++++++++++ .gitignore | 13 +++++++++++++ phpstan-baseline.neon | 2 ++ phpstan.neon.dist | 14 ++++++++++++++ phpunit.xml.dist | 17 +++++++++++++++++ 7 files changed, 100 insertions(+) create mode 100644 .editorconfig create mode 100644 .eslintrc.js create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 phpstan-baseline.neon create mode 100644 phpstan.neon.dist create mode 100644 phpunit.xml.dist diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..8f0de65 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,18 @@ +root = true + +[*] +charset = utf-8 +end_of_line = lf +indent_size = 4 +indent_style = space +insert_final_newline = true +trim_trailing_whitespace = true + +[*.md] +trim_trailing_whitespace = false + +[*.{yml,yaml}] +indent_size = 2 + +[docker-compose.yml] +indent_size = 4 diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000..782c426 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,20 @@ +module.exports = { + parser: '@typescript-eslint/parser', + parserOptions: { + ecmaVersion: 'esnext', + sourceType: 'module', + ecmaFeatures: { + jsx: true, + }, + }, + settings: { + react: { + version: 'detect', + }, + }, + extends: ['plugin:@typescript-eslint/recommended', 'prettier/@typescript-eslint', 'plugin:prettier/recommended'], + rules: { + // Place to specify ESLint rules. Can be used to overwrite rules specified from the extended configs + // e.g. "@typescript-eslint/explicit-function-return-type": "off", + }, +}; diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..da7c3a5 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,16 @@ +# Path-based git attributes +# https://www.kernel.org/pub/software/scm/git/docs/gitattributes.html + +# Ignore all test and documentation with "export-ignore". +/.github export-ignore +/.gitattributes export-ignore +/.gitignore export-ignore +/phpunit.xml.dist export-ignore +/art export-ignore +/docs export-ignore +/tests export-ignore +/.editorconfig export-ignore +/.php_cs.dist.php export-ignore +/phpstan* export-ignore +/CHANGELOG.md export-ignore +/CONTRIBUTING.md export-ignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6d197a5 --- /dev/null +++ b/.gitignore @@ -0,0 +1,13 @@ +vendor +composer.lock +.idea/ +.DS_Store +.phpunit.result.cache +node_modules/ +images/ +packages/* +build +.idea +.phpunit.cache +.phpunit.result.cache +.php-cs-fixer.cache diff --git a/phpstan-baseline.neon b/phpstan-baseline.neon new file mode 100644 index 0000000..364905f --- /dev/null +++ b/phpstan-baseline.neon @@ -0,0 +1,2 @@ +parameters: + ignoreErrors: diff --git a/phpstan.neon.dist b/phpstan.neon.dist new file mode 100644 index 0000000..788c98d --- /dev/null +++ b/phpstan.neon.dist @@ -0,0 +1,14 @@ +includes: + - ./vendor/larastan/larastan/extension.neon + - phpstan-baseline.neon + +parameters: + level: 9 + paths: + - src + - config + tmpDir: build/phpstan + checkOctaneCompatibility: true + + ignoreErrors: + - '#Unsafe usage of new static#' diff --git a/phpunit.xml.dist b/phpunit.xml.dist new file mode 100644 index 0000000..83fb5d5 --- /dev/null +++ b/phpunit.xml.dist @@ -0,0 +1,17 @@ + + + + + src/ + + + + + tests + + + From b565a6853f1293d5c670eeb6e41b21e5020d251e Mon Sep 17 00:00:00 2001 From: Oskars Germovs Date: Fri, 18 Oct 2024 19:48:09 +0300 Subject: [PATCH 2/3] 1.) added: DeferrableProvider 2.) added: standardization 3.) added: code format Signed-off-by: Oskars Germovs --- src/ScenariosServiceProvider.php | 30 ++++++++++++++++++++++++------ 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/src/ScenariosServiceProvider.php b/src/ScenariosServiceProvider.php index af3487a..64dd5bf 100755 --- a/src/ScenariosServiceProvider.php +++ b/src/ScenariosServiceProvider.php @@ -4,9 +4,10 @@ namespace SolumDeSignum\Scenarios; +use Illuminate\Contracts\Support\DeferrableProvider; use Illuminate\Support\ServiceProvider; -class ScenariosServiceProvider extends ServiceProvider +class ScenariosServiceProvider extends ServiceProvider implements DeferrableProvider { /** * Bootstrap the application events. @@ -15,12 +16,9 @@ class ScenariosServiceProvider extends ServiceProvider */ public function boot(): void { + // Publishing is only necessary when using the CLI. if ($this->app->runningInConsole()) { - $this->publishes([ - __DIR__ . '/../config/scenarios.php' => config_path('scenarios.php') - ], - 'config' - ); + $this->bootForConsole(); } } @@ -36,4 +34,24 @@ public function register(): void 'scenarios' ); } + + /** + * Get the services provided by the provider. + * + * @return array + */ + public function provides(): array + { + return parent::provides(); + } + + protected function bootForConsole(): void + { + // Publishing the configuration file. + $this->publishes([ + __DIR__ . '/../config/scenarios.php' => config_path('scenarios.php') + ], + 'config' + ); + } } From fc4bc69ac39745c7fbf1586558392865651d7275 Mon Sep 17 00:00:00 2001 From: Oskars Germovs Date: Fri, 18 Oct 2024 20:05:02 +0300 Subject: [PATCH 3/3] 1.) added: better names on publishing 2.) added: code format Signed-off-by: Oskars Germovs --- src/ScenariosServiceProvider.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ScenariosServiceProvider.php b/src/ScenariosServiceProvider.php index 64dd5bf..2989e46 100755 --- a/src/ScenariosServiceProvider.php +++ b/src/ScenariosServiceProvider.php @@ -51,7 +51,7 @@ protected function bootForConsole(): void $this->publishes([ __DIR__ . '/../config/scenarios.php' => config_path('scenarios.php') ], - 'config' + 'scenarios.config' ); } }