|
@ -6,15 +6,13 @@ jobs:
|
||||||
name: "Check"
|
name: "Check"
|
||||||
runs-on: "ubuntu-latest"
|
runs-on: "ubuntu-latest"
|
||||||
container:
|
container:
|
||||||
image: "git.euph.dev/actions/runner-php-8.2:latest"
|
image: "git.euph.dev/actions/runner-php-8.3:latest"
|
||||||
steps:
|
steps:
|
||||||
- name: "Checkout"
|
- name: "Checkout"
|
||||||
uses: "https://git.euph.dev/actions/checkout@v3"
|
uses: "https://git.euph.dev/actions/checkout@v3"
|
||||||
- name: "cd App"
|
|
||||||
run: cd app
|
|
||||||
- name: "composer install"
|
- name: "composer install"
|
||||||
run: |
|
run: |
|
||||||
composer check-platform-reqs
|
composer check-platform-reqs
|
||||||
composer install --no-scripts --audit
|
composer install --no-scripts --audit
|
||||||
- name: "npm install"
|
- name: "npm install"
|
||||||
run: "npm install"
|
run: "npm install --no-fund"
|
3
.gitignore
vendored
|
@ -1,3 +0,0 @@
|
||||||
.idea/
|
|
||||||
.phpunit.result.cache
|
|
||||||
.php-cs-fixer.cache
|
|
8
.idea/.gitignore
vendored
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
# Default ignored files
|
||||||
|
/shelf/
|
||||||
|
/workspace.xml
|
||||||
|
# Editor-based HTTP Client requests
|
||||||
|
/httpRequests/
|
||||||
|
# Datasource local storage ignored files
|
||||||
|
/dataSources/
|
||||||
|
/dataSources.local.xml
|
276
.idea/Website.iml
Normal file
|
@ -0,0 +1,276 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<module type="WEB_MODULE" version="4">
|
||||||
|
<component name="NewModuleRootManager">
|
||||||
|
<content url="file://$MODULE_DIR$">
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/spec" isTestSource="true" />
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/app/tests" isTestSource="true" />
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/app/tests" isTestSource="true" />
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/app/tests" isTestSource="true" packagePrefix="App\Tests\" />
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/app/backend" isTestSource="false" packagePrefix="App\" />
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/app/backend/fixtures" isTestSource="true" packagePrefix="DoctrineFixtures\" />
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/app/backend/src" isTestSource="false" packagePrefix="App\" />
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/app/backend/tests" isTestSource="true" />
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/app/backend/tests" isTestSource="true" packagePrefix="App\Tests\" />
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/app/fixtures" isTestSource="true" packagePrefix="DoctrineFixtures\" />
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/app/spec" isTestSource="true" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/clue/ndjson-react" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/composer" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/dama/doctrine-test-bundle" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/doctrine/cache" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/doctrine/collections" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/doctrine/data-fixtures" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/doctrine/dbal" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/doctrine/deprecations" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/doctrine/doctrine-bundle" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/doctrine/doctrine-fixtures-bundle" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/doctrine/doctrine-migrations-bundle" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/doctrine/event-manager" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/doctrine/inflector" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/doctrine/instantiator" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/doctrine/lexer" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/doctrine/migrations" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/doctrine/orm" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/doctrine/persistence" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/doctrine/sql-formatter" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/evenement/evenement" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/fidry/cpu-core-counter" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/friendsofphp/php-cs-fixer" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/masterminds/html5" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/monolog/monolog" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/myclabs/deep-copy" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/nikic/php-parser" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/phar-io/manifest" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/phar-io/version" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/phpstan/extension-installer" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/phpstan/phpstan" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/phpstan/phpstan-phpunit" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/phpunit/php-code-coverage" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/phpunit/php-file-iterator" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/phpunit/php-invoker" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/phpunit/php-text-template" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/phpunit/php-timer" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/phpunit/phpunit" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/psr/cache" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/psr/container" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/psr/event-dispatcher" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/psr/log" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/react/cache" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/react/child-process" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/react/dns" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/react/event-loop" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/react/promise" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/react/socket" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/react/stream" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/sebastian/cli-parser" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/sebastian/code-unit" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/sebastian/code-unit-reverse-lookup" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/sebastian/comparator" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/sebastian/complexity" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/sebastian/diff" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/sebastian/environment" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/sebastian/exporter" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/sebastian/global-state" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/sebastian/lines-of-code" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/sebastian/object-enumerator" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/sebastian/object-reflector" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/sebastian/recursion-context" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/sebastian/resource-operations" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/sebastian/type" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/sebastian/version" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/symfony/asset" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/symfony/browser-kit" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/symfony/cache" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/symfony/cache-contracts" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/symfony/config" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/symfony/console" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/symfony/css-selector" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/symfony/debug-bundle" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/symfony/dependency-injection" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/symfony/deprecation-contracts" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/symfony/doctrine-bridge" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/symfony/dom-crawler" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/symfony/dotenv" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/symfony/error-handler" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/symfony/event-dispatcher" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/symfony/event-dispatcher-contracts" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/symfony/filesystem" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/symfony/finder" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/symfony/flex" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/symfony/form" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/symfony/framework-bundle" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/symfony/http-foundation" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/symfony/http-kernel" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/symfony/monolog-bridge" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/symfony/monolog-bundle" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/symfony/options-resolver" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/symfony/phpunit-bridge" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/symfony/polyfill-intl-grapheme" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/symfony/polyfill-intl-icu" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/symfony/polyfill-intl-normalizer" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/symfony/polyfill-mbstring" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/symfony/polyfill-php83" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/symfony/polyfill-uuid" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/symfony/process" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/symfony/property-access" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/symfony/property-info" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/symfony/routing" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/symfony/runtime" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/symfony/service-contracts" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/symfony/stimulus-bundle" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/symfony/stopwatch" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/symfony/string" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/symfony/translation-contracts" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/symfony/twig-bridge" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/symfony/twig-bundle" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/symfony/uid" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/symfony/validator" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/symfony/var-dumper" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/symfony/var-exporter" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/symfony/web-profiler-bundle" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/symfony/webpack-encore-bundle" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/symfony/yaml" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/theseer/tokenizer" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/twig/extra-bundle" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/twig/twig" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/vincentlanglet/twig-cs-fixer" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/backend/vendor/webmozart/assert" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/clue/ndjson-react" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/composer" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/dama/doctrine-test-bundle" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/dflydev/dot-access-data" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/doctrine/cache" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/doctrine/collections" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/doctrine/common" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/doctrine/data-fixtures" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/doctrine/dbal" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/doctrine/deprecations" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/doctrine/doctrine-bundle" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/doctrine/doctrine-fixtures-bundle" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/doctrine/doctrine-migrations-bundle" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/doctrine/event-manager" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/doctrine/inflector" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/doctrine/instantiator" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/doctrine/lexer" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/doctrine/migrations" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/doctrine/orm" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/doctrine/persistence" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/doctrine/sql-formatter" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/evenement/evenement" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/fidry/cpu-core-counter" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/friendsofphp/php-cs-fixer" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/jms/metadata" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/league/commonmark" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/league/config" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/masterminds/html5" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/monolog/monolog" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/myclabs/deep-copy" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/nette/schema" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/nette/utils" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/nikic/php-parser" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/phar-io/manifest" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/phar-io/version" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/phpstan/extension-installer" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/phpstan/phpstan" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/phpstan/phpstan-phpunit" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/phpunit/php-code-coverage" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/phpunit/php-file-iterator" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/phpunit/php-invoker" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/phpunit/php-text-template" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/phpunit/php-timer" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/phpunit/phpunit" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/presta/sitemap-bundle" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/psr/cache" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/psr/container" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/psr/event-dispatcher" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/psr/log" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/react/cache" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/react/child-process" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/react/dns" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/react/event-loop" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/react/promise" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/react/socket" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/react/stream" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/sebastian/cli-parser" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/sebastian/code-unit" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/sebastian/code-unit-reverse-lookup" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/sebastian/comparator" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/sebastian/complexity" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/sebastian/diff" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/sebastian/environment" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/sebastian/exporter" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/sebastian/global-state" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/sebastian/lines-of-code" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/sebastian/object-enumerator" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/sebastian/object-reflector" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/sebastian/recursion-context" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/sebastian/resource-operations" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/sebastian/type" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/sebastian/version" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/symfony/apache-pack" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/symfony/asset" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/symfony/browser-kit" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/symfony/cache" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/symfony/cache-contracts" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/symfony/config" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/symfony/console" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/symfony/css-selector" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/symfony/debug-bundle" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/symfony/dependency-injection" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/symfony/deprecation-contracts" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/symfony/doctrine-bridge" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/symfony/dom-crawler" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/symfony/dotenv" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/symfony/error-handler" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/symfony/event-dispatcher" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/symfony/event-dispatcher-contracts" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/symfony/filesystem" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/symfony/finder" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/symfony/flex" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/symfony/form" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/symfony/framework-bundle" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/symfony/http-foundation" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/symfony/http-kernel" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/symfony/mime" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/symfony/monolog-bridge" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/symfony/monolog-bundle" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/symfony/options-resolver" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/symfony/phpunit-bridge" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/symfony/polyfill-intl-grapheme" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/symfony/polyfill-intl-icu" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/symfony/polyfill-intl-idn" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/symfony/polyfill-intl-normalizer" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/symfony/polyfill-mbstring" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/symfony/polyfill-php83" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/symfony/polyfill-uuid" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/symfony/process" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/symfony/property-access" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/symfony/property-info" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/symfony/routing" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/symfony/runtime" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/symfony/service-contracts" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/symfony/stimulus-bundle" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/symfony/stopwatch" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/symfony/string" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/symfony/translation-contracts" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/symfony/twig-bridge" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/symfony/twig-bundle" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/symfony/type-info" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/symfony/uid" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/symfony/validator" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/symfony/var-dumper" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/symfony/var-exporter" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/symfony/web-profiler-bundle" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/symfony/webpack-encore-bundle" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/symfony/yaml" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/theseer/tokenizer" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/twig/extra-bundle" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/twig/string-extra" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/twig/twig" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/vich/uploader-bundle" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/vincentlanglet/twig-cs-fixer" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/app/vendor/webmozart/assert" />
|
||||||
|
</content>
|
||||||
|
<orderEntry type="inheritedJdk" />
|
||||||
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
|
</component>
|
||||||
|
</module>
|
31
.idea/codeStyles/Project.xml
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
<component name="ProjectCodeStyleConfiguration">
|
||||||
|
<code_scheme name="Project" version="173">
|
||||||
|
<JSCodeStyleSettings version="0">
|
||||||
|
<option name="FORCE_SEMICOLON_STYLE" value="true" />
|
||||||
|
<option name="USE_DOUBLE_QUOTES" value="false" />
|
||||||
|
<option name="FORCE_QUOTE_STYlE" value="true" />
|
||||||
|
</JSCodeStyleSettings>
|
||||||
|
<TypeScriptCodeStyleSettings version="0">
|
||||||
|
<option name="FORCE_SEMICOLON_STYLE" value="true" />
|
||||||
|
<option name="USE_DOUBLE_QUOTES" value="false" />
|
||||||
|
<option name="FORCE_QUOTE_STYlE" value="true" />
|
||||||
|
</TypeScriptCodeStyleSettings>
|
||||||
|
<codeStyleSettings language="JAVA">
|
||||||
|
<option name="ALIGN_MULTILINE_BINARY_OPERATION" value="true" />
|
||||||
|
</codeStyleSettings>
|
||||||
|
<codeStyleSettings language="JavaScript">
|
||||||
|
<option name="INDENT_CASE_FROM_SWITCH" value="false" />
|
||||||
|
<option name="ALIGN_MULTILINE_PARAMETERS" value="false" />
|
||||||
|
<option name="ALIGN_MULTILINE_FOR" value="false" />
|
||||||
|
<option name="ARRAY_INITIALIZER_LBRACE_ON_NEXT_LINE" value="true" />
|
||||||
|
<option name="ARRAY_INITIALIZER_RBRACE_ON_NEXT_LINE" value="true" />
|
||||||
|
</codeStyleSettings>
|
||||||
|
<codeStyleSettings language="TypeScript">
|
||||||
|
<option name="INDENT_CASE_FROM_SWITCH" value="false" />
|
||||||
|
<option name="ALIGN_MULTILINE_PARAMETERS" value="false" />
|
||||||
|
<option name="ALIGN_MULTILINE_FOR" value="false" />
|
||||||
|
<option name="ARRAY_INITIALIZER_LBRACE_ON_NEXT_LINE" value="true" />
|
||||||
|
<option name="ARRAY_INITIALIZER_RBRACE_ON_NEXT_LINE" value="true" />
|
||||||
|
</codeStyleSettings>
|
||||||
|
</code_scheme>
|
||||||
|
</component>
|
5
.idea/codeStyles/codeStyleConfig.xml
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
<component name="ProjectCodeStyleConfiguration">
|
||||||
|
<state>
|
||||||
|
<option name="USE_PER_PROJECT_SETTINGS" value="true" />
|
||||||
|
</state>
|
||||||
|
</component>
|
18
.idea/codeception.xml
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="Codeception">
|
||||||
|
<option name="configurations">
|
||||||
|
<list>
|
||||||
|
<Configuration>
|
||||||
|
<option name="path" value="$PROJECT_DIR$/app/tests" />
|
||||||
|
</Configuration>
|
||||||
|
<Configuration>
|
||||||
|
<option name="path" value="$PROJECT_DIR$/backend/tests" />
|
||||||
|
</Configuration>
|
||||||
|
<Configuration>
|
||||||
|
<option name="path" value="$PROJECT_DIR$/tests" />
|
||||||
|
</Configuration>
|
||||||
|
</list>
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
|
</project>
|
3291
.idea/commandlinetools/Symfony_13_07_2024__10_29.xml
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified"
|
||||||
|
xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||||
|
<xs:element name="framework" type="frameworkType"/>
|
||||||
|
<xs:complexType name="commandType">
|
||||||
|
<xs:all>
|
||||||
|
<xs:element type="xs:string" name="name" minOccurs="1" maxOccurs="1"/>
|
||||||
|
<xs:element type="xs:string" name="params" minOccurs="0" maxOccurs="1"/>
|
||||||
|
<xs:element type="xs:string" name="help" minOccurs="0" maxOccurs="1"/>
|
||||||
|
<xs:element type="optionsBeforeType" name="optionsBefore" minOccurs="0" maxOccurs="1"/>
|
||||||
|
</xs:all>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:complexType name="frameworkType">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element type="xs:string" name="extraData" minOccurs="0" maxOccurs="1"/>
|
||||||
|
<xs:element type="commandType" name="command" maxOccurs="unbounded" minOccurs="0"/>
|
||||||
|
<xs:element type="xs:string" name="help" minOccurs="0" maxOccurs="1"/>
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute type="xs:string" name="name" use="required"/>
|
||||||
|
<xs:attribute type="xs:string" name="invoke" use="required"/>
|
||||||
|
<xs:attribute type="xs:string" name="alias" use="required"/>
|
||||||
|
<xs:attribute type="xs:boolean" name="enabled" use="required"/>
|
||||||
|
<xs:attribute type="xs:integer" name="version" use="required"/>
|
||||||
|
<xs:attribute type="xs:string" name="frameworkId" use="optional"/>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:complexType name="optionsBeforeType">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element type="optionType" name="option" maxOccurs="unbounded" minOccurs="0"/>
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:complexType name="optionType">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element type="xs:string" name="help" minOccurs="0" maxOccurs="1"/>
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute type="xs:string" name="name" use="required"/>
|
||||||
|
<xs:attribute type="xs:string" name="shortcut" use="optional"/>
|
||||||
|
<xs:attribute name="pattern" use="optional">
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:enumeration value="space"/>
|
||||||
|
<xs:enumeration value="equals"/>
|
||||||
|
<xs:enumeration value="unknown"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:attribute>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:schema>
|
6
.idea/jsLibraryMappings.xml
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="JavaScriptLibraryMappings">
|
||||||
|
<includedPredefinedLibrary name="Node.js Core" />
|
||||||
|
</component>
|
||||||
|
</project>
|
8
.idea/modules.xml
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ProjectModuleManager">
|
||||||
|
<modules>
|
||||||
|
<module fileurl="file://$PROJECT_DIR$/.idea/Website.iml" filepath="$PROJECT_DIR$/.idea/Website.iml" />
|
||||||
|
</modules>
|
||||||
|
</component>
|
||||||
|
</project>
|
406
.idea/php.xml
Normal file
|
@ -0,0 +1,406 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="MessDetectorOptionsConfiguration">
|
||||||
|
<option name="transferred" value="true" />
|
||||||
|
</component>
|
||||||
|
<component name="PHPCSFixerOptionsConfiguration">
|
||||||
|
<option name="transferred" value="true" />
|
||||||
|
</component>
|
||||||
|
<component name="PHPCodeSnifferOptionsConfiguration">
|
||||||
|
<option name="highlightLevel" value="WARNING" />
|
||||||
|
<option name="transferred" value="true" />
|
||||||
|
</component>
|
||||||
|
<component name="PhpCSFixer">
|
||||||
|
<phpcsfixer_settings>
|
||||||
|
<PhpCSFixerConfiguration standards="DoctrineAnnotation;PER;PER-CS;PER-CS1.0;PER-CS2.0;PHP54Migration;PHP56Migration;PHP70Migration;PHP71Migration;PHP73Migration;PHP74Migration;PHP80Migration;PHP81Migration;PHP82Migration;PHP83Migration;PHPUnit100Migration;PHPUnit30Migration;PHPUnit32Migration;PHPUnit35Migration;PHPUnit43Migration;PHPUnit48Migration;PHPUnit50Migration;PHPUnit52Migration;PHPUnit54Migration;PHPUnit55Migration;PHPUnit56Migration;PHPUnit57Migration;PHPUnit60Migration;PHPUnit75Migration;PHPUnit84Migration;PSR1;PSR12;PSR2;PhpCsFixer;Symfony" tool_path="$PROJECT_DIR$/app/vendor/bin/php-cs-fixer" />
|
||||||
|
</phpcsfixer_settings>
|
||||||
|
</component>
|
||||||
|
<component name="PhpIncludePathManager">
|
||||||
|
<include_path>
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/symfony/polyfill-uuid" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/symfony/uid" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/symfony/validator" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/symfony/twig-bundle" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/symfony/asset" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/symfony/webpack-encore-bundle" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/symfony/yaml" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/symfony/web-profiler-bundle" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/theseer/tokenizer" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/doctrine/cache" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/doctrine/event-manager" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/doctrine/persistence" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/doctrine/lexer" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/doctrine/instantiator" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/doctrine/inflector" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/doctrine/deprecations" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/doctrine/collections" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/doctrine/dbal" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/doctrine/sql-formatter" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/doctrine/orm" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/doctrine/doctrine-bundle" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/doctrine/data-fixtures" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/doctrine/doctrine-fixtures-bundle" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/doctrine/migrations" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/doctrine/doctrine-migrations-bundle" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/sebastian/diff" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/sebastian/version" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/sebastian/type" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/sebastian/resource-operations" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/sebastian/recursion-context" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/sebastian/object-reflector" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/sebastian/object-enumerator" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/sebastian/global-state" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/sebastian/exporter" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/sebastian/environment" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/sebastian/comparator" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/sebastian/code-unit" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/sebastian/cli-parser" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/sebastian/lines-of-code" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/sebastian/complexity" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/sebastian/code-unit-reverse-lookup" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/webmozart/assert" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/masterminds/html5" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/friendsofphp/php-cs-fixer" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/vincentlanglet/twig-cs-fixer" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/composer" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/psr/event-dispatcher" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/psr/log" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/psr/container" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/psr/cache" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/twig/twig" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/twig/extra-bundle" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/nikic/php-parser" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/monolog/monolog" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/myclabs/deep-copy" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/phar-io/version" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/phar-io/manifest" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/phpstan/phpstan" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/phpstan/extension-installer" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/phpstan/phpstan-phpunit" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/phpunit/php-timer" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/phpunit/php-text-template" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/phpunit/php-invoker" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/phpunit/php-file-iterator" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/phpunit/php-code-coverage" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/phpunit/phpunit" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/symfony/flex" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/symfony/runtime" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/symfony/polyfill-php83" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/symfony/polyfill-mbstring" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/symfony/deprecation-contracts" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/symfony/http-foundation" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/symfony/event-dispatcher-contracts" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/symfony/event-dispatcher" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/symfony/var-dumper" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/symfony/error-handler" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/symfony/service-contracts" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/symfony/doctrine-bridge" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/symfony/var-exporter" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/symfony/http-kernel" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/symfony/polyfill-intl-normalizer" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/symfony/polyfill-intl-grapheme" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/symfony/string" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/symfony/filesystem" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/symfony/config" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/symfony/dependency-injection" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/symfony/console" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/symfony/routing" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/symfony/finder" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/symfony/cache-contracts" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/symfony/cache" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/symfony/framework-bundle" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/symfony/stopwatch" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/symfony/process" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/symfony/options-resolver" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/symfony/dom-crawler" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/symfony/browser-kit" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/symfony/css-selector" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/symfony/translation-contracts" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/symfony/twig-bridge" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/symfony/debug-bundle" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/symfony/dotenv" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/symfony/property-info" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/symfony/property-access" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/symfony/polyfill-intl-icu" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/symfony/form" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/symfony/monolog-bridge" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/symfony/monolog-bundle" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/symfony/phpunit-bridge" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/symfony/stimulus-bundle" />
|
||||||
|
<path value="$PROJECT_DIR$/app/vendor/dama/doctrine-test-bundle" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/psr/log" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/psr/event-dispatcher" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/monolog/monolog" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/theseer/tokenizer" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/phpstan/phpstan-phpunit" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/phpstan/phpstan" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/webmozart/assert" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/phpstan/extension-installer" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/evenement/evenement" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/masterminds/html5" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/sebastian/complexity" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/clue/ndjson-react" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/sebastian/global-state" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/sebastian/object-reflector" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/sebastian/recursion-context" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/sebastian/cli-parser" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/sebastian/object-enumerator" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/sebastian/lines-of-code" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/sebastian/diff" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/sebastian/version" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/sebastian/type" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/sebastian/exporter" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/dama/doctrine-test-bundle" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/sebastian/comparator" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/sebastian/code-unit" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/sebastian/environment" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/sebastian/code-unit-reverse-lookup" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/sebastian/resource-operations" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/fidry/cpu-core-counter" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/friendsofphp/php-cs-fixer" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/twig/extra-bundle" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/twig/twig" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/phpunit/php-file-iterator" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/phpunit/php-timer" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/phpunit/php-invoker" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/phpunit/php-text-template" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/phpunit/phpunit" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/phpunit/php-code-coverage" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/doctrine/event-manager" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/doctrine/cache" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/doctrine/orm" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/doctrine/dbal" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/nikic/php-parser" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/doctrine/lexer" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/doctrine/deprecations" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/doctrine/doctrine-bundle" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/doctrine/sql-formatter" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/doctrine/collections" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/doctrine/data-fixtures" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/doctrine/instantiator" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/doctrine/migrations" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/doctrine/persistence" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/doctrine/doctrine-fixtures-bundle" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/doctrine/doctrine-migrations-bundle" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/doctrine/inflector" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/react/cache" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/react/stream" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/react/child-process" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/react/promise" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/react/dns" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/react/event-loop" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/react/socket" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/myclabs/deep-copy" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/phar-io/version" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/symfony/dependency-injection" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/phar-io/manifest" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/symfony/deprecation-contracts" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/symfony/polyfill-php83" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/symfony/validator" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/symfony/dom-crawler" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/symfony/browser-kit" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/symfony/property-access" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/symfony/css-selector" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/symfony/event-dispatcher-contracts" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/symfony/monolog-bundle" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/symfony/yaml" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/symfony/polyfill-intl-grapheme" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/vincentlanglet/twig-cs-fixer" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/symfony/cache" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/symfony/polyfill-intl-icu" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/symfony/doctrine-bridge" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/symfony/options-resolver" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/symfony/webpack-encore-bundle" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/symfony/twig-bundle" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/symfony/http-kernel" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/symfony/runtime" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/symfony/finder" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/symfony/phpunit-bridge" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/symfony/var-exporter" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/symfony/polyfill-uuid" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/symfony/string" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/symfony/web-profiler-bundle" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/symfony/var-dumper" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/symfony/service-contracts" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/symfony/uid" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/symfony/debug-bundle" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/symfony/event-dispatcher" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/symfony/routing" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/symfony/flex" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/symfony/error-handler" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/symfony/property-info" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/symfony/stimulus-bundle" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/symfony/cache-contracts" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/symfony/framework-bundle" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/symfony/console" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/symfony/polyfill-intl-normalizer" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/symfony/process" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/symfony/twig-bridge" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/symfony/filesystem" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/symfony/form" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/symfony/dotenv" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/symfony/asset" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/symfony/polyfill-mbstring" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/symfony/translation-contracts" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/symfony/monolog-bridge" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/symfony/config" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/composer" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/symfony/http-foundation" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/symfony/stopwatch" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/psr/cache" />
|
||||||
|
<path value="$PROJECT_DIR$/backend/vendor/psr/container" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/sebastian/lines-of-code" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/sebastian/cli-parser" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/sebastian/code-unit" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/sebastian/comparator" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/masterminds/html5" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/webmozart/assert" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/sebastian/code-unit-reverse-lookup" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/sebastian/complexity" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/vincentlanglet/twig-cs-fixer" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/friendsofphp/php-cs-fixer" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/composer" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/psr/log" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/psr/event-dispatcher" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/jms/metadata" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/dama/doctrine-test-bundle" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/clue/ndjson-react" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/psr/cache" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/psr/container" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/vich/uploader-bundle" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/twig/string-extra" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/twig/extra-bundle" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/twig/twig" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/nikic/php-parser" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/nette/schema" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/nette/utils" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/fidry/cpu-core-counter" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/react/cache" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/react/promise" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/react/stream" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/react/event-loop" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/league/config" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/react/child-process" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/react/socket" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/react/dns" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/monolog/monolog" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/dflydev/dot-access-data" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/presta/sitemap-bundle" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/league/commonmark" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/phpstan/phpstan" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/phar-io/manifest" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/phar-io/version" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/myclabs/deep-copy" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/phpunit/php-text-template" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/phpunit/php-timer" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/phpstan/phpstan-phpunit" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/phpstan/extension-installer" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/phpunit/phpunit" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/phpunit/php-code-coverage" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/phpunit/php-file-iterator" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/phpunit/php-invoker" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/routing" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/deprecation-contracts" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/runtime" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/flex" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/event-dispatcher-contracts" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/http-foundation" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-php83" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-mbstring" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/filesystem" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/finder" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/var-dumper" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/event-dispatcher" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/config" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/error-handler" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/service-contracts" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/var-exporter" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/cache" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/cache-contracts" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/dependency-injection" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/http-kernel" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-intl-grapheme" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/framework-bundle" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-intl-normalizer" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/doctrine-bridge" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/process" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/stopwatch" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/console" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/string" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/dom-crawler" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/browser-kit" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/apache-pack" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/options-resolver" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/debug-bundle" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/twig-bridge" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/translation-contracts" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/css-selector" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/property-access" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/property-info" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/type-info" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/dotenv" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/monolog-bundle" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/form" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/monolog-bridge" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-intl-icu" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-uuid" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/stimulus-bundle" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-intl-idn" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/phpunit-bridge" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/asset" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/validator" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/twig-bundle" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/uid" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/mime" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/web-profiler-bundle" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/yaml" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/symfony/webpack-encore-bundle" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/theseer/tokenizer" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/doctrine/deprecations" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/doctrine/sql-formatter" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/doctrine/persistence" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/doctrine/event-manager" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/doctrine/common" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/doctrine/instantiator" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/doctrine/lexer" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/doctrine/cache" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/doctrine/data-fixtures" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/doctrine/doctrine-bundle" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/doctrine/collections" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/doctrine/inflector" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/doctrine/migrations" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/doctrine/doctrine-migrations-bundle" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/doctrine/dbal" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/doctrine/doctrine-fixtures-bundle" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/sebastian/version" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/sebastian/diff" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/evenement/evenement" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/doctrine/orm" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/sebastian/object-reflector" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/sebastian/recursion-context" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/sebastian/resource-operations" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/sebastian/type" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/sebastian/environment" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/sebastian/exporter" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/sebastian/global-state" />
|
||||||
|
<path value="$PROJECT_DIR$/vendor/sebastian/object-enumerator" />
|
||||||
|
</include_path>
|
||||||
|
</component>
|
||||||
|
<component name="PhpProjectSharedConfiguration" php_language_level="8.2" />
|
||||||
|
<component name="PhpStan">
|
||||||
|
<PhpStan_settings>
|
||||||
|
<PhpStanConfiguration tool_path="$PROJECT_DIR$/app/vendor/bin/phpstan" />
|
||||||
|
</PhpStan_settings>
|
||||||
|
</component>
|
||||||
|
<component name="PhpStanOptionsConfiguration">
|
||||||
|
<option name="transferred" value="true" />
|
||||||
|
</component>
|
||||||
|
<component name="PhpUnit">
|
||||||
|
<phpunit_settings>
|
||||||
|
<PhpUnitSettings configuration_file_path="$PROJECT_DIR$/app/phpunit.xml" custom_loader_path="$PROJECT_DIR$/app/vendor/autoload.php" use_configuration_file="true" />
|
||||||
|
</phpunit_settings>
|
||||||
|
</component>
|
||||||
|
<component name="PsalmOptionsConfiguration">
|
||||||
|
<option name="transferred" value="true" />
|
||||||
|
</component>
|
||||||
|
</project>
|
31
.idea/phpspec.xml
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="PHPSpec">
|
||||||
|
<suites>
|
||||||
|
<PhpSpecSuiteConfiguration>
|
||||||
|
<option name="myPath" value="$PROJECT_DIR$" />
|
||||||
|
</PhpSpecSuiteConfiguration>
|
||||||
|
<PhpSpecSuiteConfiguration>
|
||||||
|
<option name="myPath" value="$PROJECT_DIR$/app" />
|
||||||
|
</PhpSpecSuiteConfiguration>
|
||||||
|
<PhpSpecSuiteConfiguration>
|
||||||
|
<option name="myPath" value="$PROJECT_DIR$/app" />
|
||||||
|
</PhpSpecSuiteConfiguration>
|
||||||
|
<PhpSpecSuiteConfiguration>
|
||||||
|
<option name="myPath" value="$PROJECT_DIR$/app" />
|
||||||
|
</PhpSpecSuiteConfiguration>
|
||||||
|
<PhpSpecSuiteConfiguration>
|
||||||
|
<option name="myPath" value="$PROJECT_DIR$/backend" />
|
||||||
|
</PhpSpecSuiteConfiguration>
|
||||||
|
<PhpSpecSuiteConfiguration>
|
||||||
|
<option name="myPath" value="$PROJECT_DIR$/backend" />
|
||||||
|
</PhpSpecSuiteConfiguration>
|
||||||
|
<PhpSpecSuiteConfiguration>
|
||||||
|
<option name="myPath" value="$PROJECT_DIR$/backend" />
|
||||||
|
</PhpSpecSuiteConfiguration>
|
||||||
|
<PhpSpecSuiteConfiguration>
|
||||||
|
<option name="myPath" value="$PROJECT_DIR$" />
|
||||||
|
</PhpSpecSuiteConfiguration>
|
||||||
|
</suites>
|
||||||
|
</component>
|
||||||
|
</project>
|
12
.idea/phpunit.xml
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="PHPUnit">
|
||||||
|
<option name="directories">
|
||||||
|
<list>
|
||||||
|
<option value="$PROJECT_DIR$/app/tests" />
|
||||||
|
<option value="$PROJECT_DIR$/backend/tests" />
|
||||||
|
<option value="$PROJECT_DIR$/tests" />
|
||||||
|
</list>
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
|
</project>
|
6
.idea/vcs.xml
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="VcsDirectoryMappings">
|
||||||
|
<mapping directory="" vcs="Git" />
|
||||||
|
</component>
|
||||||
|
</project>
|
4
.idea/watcherTasks.xml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ProjectTasksOptions" suppressed-tasks="SCSS" />
|
||||||
|
</project>
|
4
app/.env
|
@ -1,10 +1,8 @@
|
||||||
###> symfony/framework-bundle ###
|
###> symfony/framework-bundle ###
|
||||||
APP_ENV=dev
|
APP_ENV=dev
|
||||||
APP_SECRET=3a451032bf2c8c9a639dfb642ce825d0
|
APP_SECRET=6d06c4db3a2052db7e13ad3cec58a28d
|
||||||
###< symfony/framework-bundle ###
|
###< symfony/framework-bundle ###
|
||||||
|
|
||||||
###> doctrine/doctrine-bundle ###
|
###> doctrine/doctrine-bundle ###
|
||||||
DATABASE_URL="mysql://root:empty@127.0.0.1:3306/app?serverVersion=8.0.32&charset=utf8mb4"
|
DATABASE_URL="mysql://root:empty@127.0.0.1:3306/app?serverVersion=8.0.32&charset=utf8mb4"
|
||||||
###< doctrine/doctrine-bundle ###
|
###< doctrine/doctrine-bundle ###
|
||||||
|
|
||||||
TEST_TOKEN=
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
# define your env variables for the test env here
|
||||||
KERNEL_CLASS='App\Kernel'
|
KERNEL_CLASS='App\Kernel'
|
||||||
APP_SECRET='$ecretf0rt3st'
|
APP_SECRET='$ecretf0rt3st'
|
||||||
SYMFONY_DEPRECATIONS_HELPER=999999
|
SYMFONY_DEPRECATIONS_HELPER=999999
|
||||||
|
|
23
app/.gitignore
vendored
|
@ -1,5 +1,4 @@
|
||||||
###> symfony/framework-bundle ###
|
###> symfony/framework-bundle ###
|
||||||
/.env.local
|
|
||||||
/.env.local.php
|
/.env.local.php
|
||||||
/.env.*.local
|
/.env.*.local
|
||||||
/config/secrets/prod/prod.decrypt.private.php
|
/config/secrets/prod/prod.decrypt.private.php
|
||||||
|
@ -8,6 +7,10 @@
|
||||||
/vendor/
|
/vendor/
|
||||||
###< symfony/framework-bundle ###
|
###< symfony/framework-bundle ###
|
||||||
|
|
||||||
|
###> friendsofphp/php-cs-fixer ###
|
||||||
|
/.php-cs-fixer.cache
|
||||||
|
###< friendsofphp/php-cs-fixer ###
|
||||||
|
|
||||||
###> symfony/webpack-encore-bundle ###
|
###> symfony/webpack-encore-bundle ###
|
||||||
/node_modules/
|
/node_modules/
|
||||||
/public/build/
|
/public/build/
|
||||||
|
@ -15,27 +18,19 @@ npm-debug.log
|
||||||
yarn-error.log
|
yarn-error.log
|
||||||
###< symfony/webpack-encore-bundle ###
|
###< symfony/webpack-encore-bundle ###
|
||||||
|
|
||||||
###> phpstan/phpstan ###
|
|
||||||
phpstan.dist.neon
|
|
||||||
###< phpstan/phpstan ###
|
|
||||||
|
|
||||||
###> friendsofphp/php-cs-fixer ###
|
|
||||||
/.php-cs-fixer.cache
|
|
||||||
###< friendsofphp/php-cs-fixer ###
|
|
||||||
|
|
||||||
###> phpunit/phpunit ###
|
###> phpunit/phpunit ###
|
||||||
/phpunit.dist.xml
|
/phpunit.xml
|
||||||
.phpunit.result.cache
|
.phpunit.result.cache
|
||||||
###< phpunit/phpunit ###
|
###< phpunit/phpunit ###
|
||||||
|
|
||||||
###> symfony/phpunit-bridge ###
|
###> symfony/phpunit-bridge ###
|
||||||
.phpunit.result.cache
|
.phpunit.result.cache
|
||||||
/phpunit.dist.xml
|
/phpunit.xml
|
||||||
###< symfony/phpunit-bridge ###
|
###< symfony/phpunit-bridge ###
|
||||||
|
|
||||||
# Encore Daemon
|
|
||||||
/npm-watch.pid
|
|
||||||
|
|
||||||
###> vincentlanglet/twig-cs-fixer ###
|
###> vincentlanglet/twig-cs-fixer ###
|
||||||
/.twig-cs-fixer.cache
|
/.twig-cs-fixer.cache
|
||||||
###< vincentlanglet/twig-cs-fixer ###
|
###< vincentlanglet/twig-cs-fixer ###
|
||||||
|
|
||||||
|
.idea/
|
||||||
|
.vscode/
|
||||||
|
|
0
.gitmodules → app/.gitmodules
vendored
|
@ -1,12 +1,11 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
$finder = (new PhpCsFixer\Finder())
|
$finder = PhpCsFixer\Finder::create()
|
||||||
->in(__DIR__ . '/src')
|
->in(__DIR__ . '/backend')
|
||||||
->in(__DIR__ . '/tests')
|
->in(__DIR__ . '/tests');
|
||||||
;
|
|
||||||
|
|
||||||
return (new PhpCsFixer\Config())
|
$config = new PhpCsFixer\Config();
|
||||||
->setRules([
|
return $config->setRules([
|
||||||
//Symfony
|
//Symfony
|
||||||
'@Symfony' => true,
|
'@Symfony' => true,
|
||||||
'@Symfony:risky' => true,
|
'@Symfony:risky' => true,
|
||||||
|
@ -17,46 +16,28 @@ return (new PhpCsFixer\Config())
|
||||||
'@PHP80Migration' => true,
|
'@PHP80Migration' => true,
|
||||||
'@PHP80Migration:risky' => true,
|
'@PHP80Migration:risky' => true,
|
||||||
|
|
||||||
##PHPUnit Version Migration
|
//PHPUnit Version Migration
|
||||||
'@PHPUnit84Migration:risky' => true,
|
'@PHPUnit84Migration:risky' => true,
|
||||||
|
|
||||||
//General
|
//General
|
||||||
'array_indentation' => true,
|
'array_indentation' => true,
|
||||||
'compact_nullable_typehint' => true,
|
'compact_nullable_typehint' => true,
|
||||||
'concat_space' => [
|
'concat_space' => ['spacing' => 'one'],
|
||||||
'spacing' => 'one'
|
|
||||||
],
|
|
||||||
'method_chaining_indentation' => true,
|
'method_chaining_indentation' => true,
|
||||||
'multiline_whitespace_before_semicolons' => [
|
'multiline_whitespace_before_semicolons' => ['strategy' => 'new_line_for_chained_calls'],
|
||||||
'strategy' => 'new_line_for_chained_calls'
|
'ordered_imports' => ['imports_order' => ['class', 'function', 'const']],
|
||||||
],
|
|
||||||
'ordered_imports' => [
|
|
||||||
'imports_order' => [
|
|
||||||
'class',
|
|
||||||
'function',
|
|
||||||
'const'
|
|
||||||
]
|
|
||||||
],
|
|
||||||
'phpdoc_order' => true,
|
'phpdoc_order' => true,
|
||||||
'visibility_required' => [
|
'visibility_required' => ['elements' => ['property', 'method', 'const']],
|
||||||
'elements' => [
|
|
||||||
'property',
|
|
||||||
'method',
|
|
||||||
'const'
|
|
||||||
]
|
|
||||||
],
|
|
||||||
'yoda_style' => false,
|
'yoda_style' => false,
|
||||||
'octal_notation' => false,
|
'octal_notation' => false,
|
||||||
'php_unit_test_case_static_method_calls' => [
|
'php_unit_test_case_static_method_calls' => ['call_type' => 'this'],
|
||||||
'call_type' => 'this'
|
|
||||||
],
|
|
||||||
'global_namespace_import' => [
|
'global_namespace_import' => [
|
||||||
'import_classes' => true,
|
'import_classes' => true,
|
||||||
'import_constants' => true,
|
'import_constants' => true,
|
||||||
'import_functions' => true
|
'import_functions' => true,
|
||||||
],
|
],
|
||||||
'no_superfluous_phpdoc_tags' => [
|
'no_superfluous_phpdoc_tags' => [
|
||||||
'allow_mixed' => true,
|
'allow_mixed' => true,
|
||||||
'remove_inheritdoc' => true
|
'remove_inheritdoc' => true,
|
||||||
]
|
],
|
||||||
])->setFinder($finder);
|
])->setFinder($finder);
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
8.2
|
8.3
|
||||||
|
|
|
@ -1,3 +0,0 @@
|
||||||
*.*
|
|
||||||
!*.css
|
|
||||||
!*.scss
|
|
|
@ -3,7 +3,6 @@
|
||||||
$ruleset = new TwigCsFixer\Ruleset\Ruleset();
|
$ruleset = new TwigCsFixer\Ruleset\Ruleset();
|
||||||
$ruleset->addStandard(new TwigCsFixer\Standard\Twig());
|
$ruleset->addStandard(new TwigCsFixer\Standard\Twig());
|
||||||
$ruleset->addRule(new TwigCsFixer\Rules\Whitespace\EmptyLinesRule());
|
$ruleset->addRule(new TwigCsFixer\Rules\Whitespace\EmptyLinesRule());
|
||||||
$ruleset->addRule(new TwigCsFixer\Rules\Variable\VariableNameRule(TwigCsFixer\Rules\Variable\VariableNameRule::CAMEL_CASE));
|
|
||||||
|
|
||||||
$config = new TwigCsFixer\Config\Config();
|
$config = new TwigCsFixer\Config\Config();
|
||||||
$config->setRuleset($ruleset);
|
$config->setRuleset($ruleset);
|
||||||
|
|
89
app/Justfile
Normal file
|
@ -0,0 +1,89 @@
|
||||||
|
_default:
|
||||||
|
@bin/just/choose.sh {{ source_file() }} choose
|
||||||
|
|
||||||
|
mod backend
|
||||||
|
mod frontend
|
||||||
|
|
||||||
|
alias i := install
|
||||||
|
alias start := up
|
||||||
|
alias stop := halt
|
||||||
|
alias clean := fresh
|
||||||
|
|
||||||
|
# Checks whether the requriements are met
|
||||||
|
[group('main')]
|
||||||
|
check:
|
||||||
|
#!/bin/bash
|
||||||
|
source bin/just/colors.sh
|
||||||
|
source bin/just/check.sh
|
||||||
|
printf "${BLUE_BG}${BLACK_FG} Checking Justfile Requirements ${CLEAR}\n"
|
||||||
|
check_cmd "jq" "jq"
|
||||||
|
check_cmd "fzf" "fzf"
|
||||||
|
check_cmd "screen" "screen"
|
||||||
|
check_cmd "grep" "grep"
|
||||||
|
check_cmd "printf" "Printf"
|
||||||
|
check_cmd "sed" "sed"
|
||||||
|
check_cmd "awk" "awk"
|
||||||
|
check_cmd "cut" "cut"
|
||||||
|
check_cmd "highlight" "highlight"
|
||||||
|
if ((error > 0 )); then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo ""
|
||||||
|
just backend::check
|
||||||
|
just frontend::check
|
||||||
|
|
||||||
|
# Installs the dependencies
|
||||||
|
[group('main')]
|
||||||
|
install:
|
||||||
|
-@just backend::install
|
||||||
|
-@just frontend::install
|
||||||
|
|
||||||
|
# Starts the local Development Setup
|
||||||
|
[group('main')]
|
||||||
|
up: halt check
|
||||||
|
-@just backend::up
|
||||||
|
-@just frontend::up
|
||||||
|
|
||||||
|
# Stops the local Development Setup
|
||||||
|
[group('main')]
|
||||||
|
halt:
|
||||||
|
-@just backend::halt
|
||||||
|
-@just frontend::halt
|
||||||
|
|
||||||
|
# Starts the local Development Setup Fresh, with no Cache and the reseted test Data
|
||||||
|
[group('main')]
|
||||||
|
fresh: halt install up
|
||||||
|
@just backend::demo-data
|
||||||
|
|
||||||
|
linter_options := "All\nPHP\nTS\nSCSS\nTwig"
|
||||||
|
# Lints all Files, or if specified only a specifc Set
|
||||||
|
[group('utility')]
|
||||||
|
lint linter="":
|
||||||
|
#!/bin/bash
|
||||||
|
chosen_linter=$(
|
||||||
|
printf "{{ linter_options }}" |\
|
||||||
|
fzf --header="Which linters should be run?" --height 7 -i -q "{{ linter }}" -1
|
||||||
|
)
|
||||||
|
case "$chosen_linter" in
|
||||||
|
*All*) \
|
||||||
|
just frontend::lint all && just backend::lint;;
|
||||||
|
*PHP*) just backend::lint ;;
|
||||||
|
*TS*) just frontend::lint TS ;;
|
||||||
|
*SCSS*) just frontend::lint all SCSS ;;
|
||||||
|
*Twig*) just frontend::lint TWIG ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# Runs the Static Code Analysis
|
||||||
|
[group('utility')]
|
||||||
|
stan:
|
||||||
|
@just backend::stan
|
||||||
|
|
||||||
|
# Runs all Tests, or if specified only a specific Suite
|
||||||
|
[group('utility')]
|
||||||
|
test:
|
||||||
|
@just backend::test
|
||||||
|
|
||||||
|
# Create and Execute Migrations
|
||||||
|
[group('utility')]
|
||||||
|
migration:
|
||||||
|
@just backend::migration
|
91
app/Makefile
|
@ -1,91 +0,0 @@
|
||||||
##|——[ General ]—————————————————————————————————————————————————————————————————————————|
|
|
||||||
help: ## Shops available commands
|
|
||||||
@bin/make/help.sh
|
|
||||||
|
|
||||||
check: ## Checks whether requirements are met
|
|
||||||
@bin/make/check.sh
|
|
||||||
|
|
||||||
|
|
||||||
##|——[ Local Server ]————————————————————————————————————————————————————————————————————|
|
|
||||||
up: ## Starts the Local Instance
|
|
||||||
@make down -s
|
|
||||||
@make check -s
|
|
||||||
@docker compose up -d
|
|
||||||
@symfony local:server:start -d --no-tls
|
|
||||||
@bash -c '$$(npm run watch >> var/log/encore.log)& echo $$! > ./npm-watch.pid'
|
|
||||||
|
|
||||||
down: ## Stops the Local Instance
|
|
||||||
ifneq (,$(wildcard ./npm-watch.pid))
|
|
||||||
@printf "${RED}Killing ${YELLOW}Encore${CLEAR}!\n"
|
|
||||||
@- kill $$(cat ./npm-watch.pid)
|
|
||||||
@rm -rf ./npm-watch.pid
|
|
||||||
endif
|
|
||||||
@symfony local:server:stop
|
|
||||||
@docker compose down
|
|
||||||
|
|
||||||
fresh: ## Starts a Fresh Local Instance
|
|
||||||
@make down -s
|
|
||||||
@symfony composer install
|
|
||||||
@npm i
|
|
||||||
@make up -s
|
|
||||||
@make db-demo -s
|
|
||||||
|
|
||||||
|
|
||||||
##|——[ Code Quality ]————————————————————————————————————————————————————————————————————|
|
|
||||||
test: ## Runs all Unittests
|
|
||||||
@docker compose up -d
|
|
||||||
@symfony console doctrine:database:drop --if-exists --force --env=test
|
|
||||||
@symfony console doctrine:database:create --env=test
|
|
||||||
@symfony console doctrine:migrations:migrate -n --env=test
|
|
||||||
@symfony console doctrine:fixtures:load -n --env=test
|
|
||||||
@symfony console cache:clear --env=test
|
|
||||||
vendor/bin/phpunit
|
|
||||||
|
|
||||||
analyze: ## Runs Static Code Analysis
|
|
||||||
vendor/bin/phpstan analyze
|
|
||||||
|
|
||||||
lint: ## Runs the Linters
|
|
||||||
@make lint-php -s
|
|
||||||
@make lint-ts -s
|
|
||||||
@make lint-twig -s
|
|
||||||
@make lint-scss -s
|
|
||||||
|
|
||||||
##|——[ Testing ]—————————————————————————————————————————————————————————————————————————|
|
|
||||||
test-unit: ## Runs the Unit tests
|
|
||||||
vendor/bin/phpunit --testsuite Unit
|
|
||||||
|
|
||||||
test-integration: ## Runs the Integration tests
|
|
||||||
@symfony console doctrine:fixtures:load -n --env=test
|
|
||||||
vendor/bin/phpunit --testsuite Integration
|
|
||||||
|
|
||||||
test-web: ## Runs the Web tests
|
|
||||||
@symfony console doctrine:fixtures:load -n --env=test
|
|
||||||
vendor/bin/phpunit --testsuite Web
|
|
||||||
|
|
||||||
##|——[ Linting ]—————————————————————————————————————————————————————————————————————————|
|
|
||||||
lint-php: ## Runs the PHP Linting
|
|
||||||
vendor/bin/php-cs-fixer fix --allow-risky=yes
|
|
||||||
|
|
||||||
lint-ts: ## Runs the Typescript Linting
|
|
||||||
npm run lint:ts:fix
|
|
||||||
|
|
||||||
lint-twig: ## Runs Twig Linting
|
|
||||||
vendor/bin/twig-cs-fixer lint --fix
|
|
||||||
php bin/console lint:twig
|
|
||||||
|
|
||||||
lint-scss: ## Runs Twig Linting
|
|
||||||
npm run lint:scss:fix
|
|
||||||
|
|
||||||
##|——[ Data ]————————————————————————————————————————————————————————————————————————————|
|
|
||||||
db-demo: ## Writes the Demo Data to the Local Instance
|
|
||||||
symfony console doctrine:database:drop --if-exists --force
|
|
||||||
symfony console doctrine:database:create
|
|
||||||
symfony console doctrine:migrations:migrate -n
|
|
||||||
symfony console doctrine:fixtures:load -n
|
|
||||||
symfony console cache:clear
|
|
||||||
|
|
||||||
db-migration-gen: ## Generates a Migration
|
|
||||||
symfony console doctrine:migration:diff
|
|
||||||
|
|
||||||
db-migration-do: ## Does the Migration
|
|
||||||
symfony console doctrine:migration:migrate
|
|
15
app/api.yaml
|
@ -1,15 +0,0 @@
|
||||||
openapi: 3.0.3
|
|
||||||
info:
|
|
||||||
title: Api
|
|
||||||
version: 1.0.0
|
|
||||||
paths:
|
|
||||||
/test:
|
|
||||||
get:
|
|
||||||
summary: Lorem
|
|
||||||
description: Lorem Ipsum
|
|
||||||
responses:
|
|
||||||
200:
|
|
||||||
description: OK
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,2 +0,0 @@
|
||||||
import '@styles/app.scss';
|
|
||||||
import '@packages/stimulus';
|
|
|
@ -1,7 +0,0 @@
|
||||||
import {Controller} from '@hotwired/stimulus';
|
|
||||||
|
|
||||||
export default class extends Controller {
|
|
||||||
connect(): void {
|
|
||||||
this.element.textContent = 'Hello Stimulus! Edit me in assets/controllers/hello_controller.js';
|
|
||||||
}
|
|
||||||
}
|
|
BIN
app/assets/icons/favicon/android-chrome-192x192.png
Normal file
After Width: | Height: | Size: 2.7 KiB |
BIN
app/assets/icons/favicon/android-chrome-512x512.png
Normal file
After Width: | Height: | Size: 8.2 KiB |
BIN
app/assets/icons/favicon/apple-touch-icon.png
Normal file
After Width: | Height: | Size: 2.3 KiB |
9
app/assets/icons/favicon/browserconfig.xml
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<browserconfig>
|
||||||
|
<msapplication>
|
||||||
|
<tile>
|
||||||
|
<square150x150logo src="/mstile-150x150.png"/>
|
||||||
|
<TileColor>#000000</TileColor>
|
||||||
|
</tile>
|
||||||
|
</msapplication>
|
||||||
|
</browserconfig>
|
BIN
app/assets/icons/favicon/favicon-16x16.png
Normal file
After Width: | Height: | Size: 611 B |
BIN
app/assets/icons/favicon/favicon-32x32.png
Normal file
After Width: | Height: | Size: 798 B |
BIN
app/assets/icons/favicon/favicon.ico
Normal file
After Width: | Height: | Size: 15 KiB |
12
app/assets/icons/favicon/icon.svg
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="256" height="256">
|
||||||
|
<path
|
||||||
|
d="M49.87 76.493c-28.61 28.61-28.61 74.992 0 103.598L125.78 256l89.538-90.112c13.89-13.89 19.517-56.259-2.294-80.364l-.666 9.344a72.955 72.955 0 0 1-15.98 40.592l-67.158 67.159a37.34 37.34 0 0 1 0-52.808l25.405-25.405c26.553-26.547 26.553-69.596 0-96.149L126.363 0Zm23.485 70.006a30.029 30.029 0 0 1 0-42.47l53.264-53.254 2.99 2.99a31.928 31.928 0 0 1 0 45.153l-51.917 51.917z"
|
||||||
|
style="stroke-width:5.12"
|
||||||
|
/>
|
||||||
|
<style>
|
||||||
|
path { fill: #000 }
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
path{ fill: #fff }
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 658 B |
BIN
app/assets/icons/favicon/mstile-144x144.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
BIN
app/assets/icons/favicon/mstile-150x150.png
Normal file
After Width: | Height: | Size: 2.6 KiB |
BIN
app/assets/icons/favicon/mstile-310x150.png
Normal file
After Width: | Height: | Size: 2.9 KiB |
BIN
app/assets/icons/favicon/mstile-310x310.png
Normal file
After Width: | Height: | Size: 6.1 KiB |
BIN
app/assets/icons/favicon/mstile-70x70.png
Normal file
After Width: | Height: | Size: 1.8 KiB |
29
app/assets/icons/favicon/safari-pinned-tab.svg
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
<?xml version="1.0" standalone="no"?>
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
|
||||||
|
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
||||||
|
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="700.000000pt" height="700.000000pt" viewBox="0 0 700.000000 700.000000"
|
||||||
|
preserveAspectRatio="xMidYMid meet">
|
||||||
|
<metadata>
|
||||||
|
Created by potrace 1.14, written by Peter Selinger 2001-2017
|
||||||
|
</metadata>
|
||||||
|
<g transform="translate(0.000000,700.000000) scale(0.100000,-0.100000)"
|
||||||
|
fill="#000000" stroke="none">
|
||||||
|
<path d="M2349 5893 c-1156 -1158 -1168 -1171 -1293 -1380 -80 -135 -198 -421
|
||||||
|
-220 -533 -2 -14 -11 -56 -19 -95 -9 -38 -18 -94 -21 -122 -3 -29 -9 -77 -12
|
||||||
|
-105 -12 -102 -7 -287 11 -433 42 -338 201 -712 414 -975 25 -30 50 -61 56
|
||||||
|
-68 5 -7 497 -501 1092 -1098 l1082 -1084 172 173 c977 982 2292 2307 2309
|
||||||
|
2327 136 155 254 464 286 750 2 19 6 55 9 79 7 55 7 274 0 365 -17 221 -83
|
||||||
|
464 -177 651 -70 141 -213 339 -214 299 -1 -27 -14 -199 -19 -264 -14 -149
|
||||||
|
-40 -283 -81 -415 -14 -44 -29 -89 -33 -100 -73 -184 -123 -282 -220 -430 -59
|
||||||
|
-92 -143 -179 -1000 -1038 l-936 -938 -44 48 c-74 81 -134 181 -196 326 -16
|
||||||
|
36 -40 138 -52 222 -15 99 -4 284 23 375 9 29 17 61 19 71 4 20 38 99 67 154
|
||||||
|
63 121 125 191 530 598 229 230 441 448 471 485 214 262 356 592 405 937 9 68
|
||||||
|
9 417 -1 485 -32 225 -109 455 -214 645 -118 213 -167 271 -642 748 l-446 448
|
||||||
|
-1106 -1108z m1302 -495 c54 -79 112 -213 125 -288 3 -14 7 -32 10 -40 11 -29
|
||||||
|
14 -213 4 -283 -21 -142 -89 -300 -178 -413 -33 -42 -1428 -1444 -1475 -1482
|
||||||
|
-14 -12 -25 -4 -89 61 -96 97 -122 129 -168 207 -33 55 -91 189 -89 205 0 3
|
||||||
|
-5 31 -12 63 -27 134 -7 321 51 463 58 142 87 175 878 966 l756 756 74 -78
|
||||||
|
c40 -43 91 -104 113 -137z"/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.6 KiB |
19
app/assets/icons/favicon/site.webmanifest
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
{
|
||||||
|
"name": "",
|
||||||
|
"short_name": "",
|
||||||
|
"icons": [
|
||||||
|
{
|
||||||
|
"src": "/android-chrome-192x192.png",
|
||||||
|
"sizes": "192x192",
|
||||||
|
"type": "image/png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"src": "/android-chrome-512x512.png",
|
||||||
|
"sizes": "512x512",
|
||||||
|
"type": "image/png"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"theme_color": "#ffffff",
|
||||||
|
"background_color": "#ffffff",
|
||||||
|
"display": "standalone"
|
||||||
|
}
|
1
app/assets/images/.gitkeep
Normal file
|
@ -0,0 +1 @@
|
||||||
|
a
|
|
@ -1,8 +0,0 @@
|
||||||
import {startStimulusApp} from '@symfony/stimulus-bridge';
|
|
||||||
import {Application} from '@hotwired/stimulus';
|
|
||||||
|
|
||||||
export const app: Application = startStimulusApp(require.context(
|
|
||||||
'@symfony/stimulus-bridge/lazy-controller-loader!@controllers',
|
|
||||||
true,
|
|
||||||
/\.[jt]sx?$/
|
|
||||||
));
|
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"extends": "stylelint-config-standard",
|
"extends": "stylelint-config-standard-scss",
|
||||||
"plugins": [
|
"plugins": [
|
||||||
"stylelint-scss"
|
"stylelint-scss"
|
||||||
],
|
],
|
|
@ -1,3 +1 @@
|
||||||
:root {
|
// This is the Main style file
|
||||||
$gitKeep: true;
|
|
||||||
}
|
|
||||||
|
|
34
app/backend/TestController.php
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace App;
|
||||||
|
|
||||||
|
use Symfony\Component\HttpFoundation\Request;
|
||||||
|
use Symfony\Component\HttpFoundation\Response;
|
||||||
|
use Symfony\Component\HttpKernel\Attribute\AsController;
|
||||||
|
use Symfony\Component\Routing\Annotation\Route;
|
||||||
|
use Twig\Environment;
|
||||||
|
|
||||||
|
#[AsController]
|
||||||
|
#[Route(
|
||||||
|
path: '/',
|
||||||
|
name: 'test',
|
||||||
|
methods: [Request::METHOD_GET]
|
||||||
|
)]
|
||||||
|
final readonly class TestController
|
||||||
|
{
|
||||||
|
public function __construct(
|
||||||
|
private Environment $twig,
|
||||||
|
) {
|
||||||
|
}
|
||||||
|
|
||||||
|
public function __invoke(Request $request): Response
|
||||||
|
{
|
||||||
|
return new Response(
|
||||||
|
$this->twig->render(
|
||||||
|
'base.html.twig'
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
115
app/backend/mod.just
Normal file
|
@ -0,0 +1,115 @@
|
||||||
|
__default:
|
||||||
|
@../bin/just/choose.sh {{ source_file() }} choose
|
||||||
|
|
||||||
|
# Checks whether the requriements are met
|
||||||
|
[group('main')]
|
||||||
|
check:
|
||||||
|
#!/bin/bash
|
||||||
|
source ../bin/just/colors.sh
|
||||||
|
source ../bin/just/check.sh
|
||||||
|
printf "${BLUE_BG}${BLACK_FG} Checking Backend Requirements ${CLEAR}\n"
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
check_cmd "php" "Php"
|
||||||
|
check_cmd "composer" "Composer"
|
||||||
|
current_composer_version=$(composer --version 2>/dev/null | awk '{print $3}' | cut -d '.' -f 1)
|
||||||
|
if [ "${current_composer_version}" = "2" ]; then
|
||||||
|
printf >&2 "${GREEN_FG}✔ Composer${BLUE_FG} Version ${GREEN_FG}${current_composer_version}${BLUE_FG} is ${GREEN_FG}installed${BLUE_FG}.\n"
|
||||||
|
else
|
||||||
|
printf >&2 "${RED_FG}✘ Wrong Composer Version${YELLOW_FG} is installed!\n Version ${RED_FG}2${YELLOW_FG} is ${RED_FG}required${YELLOW_FG}.\n"
|
||||||
|
error = 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
check_cmd "symfony" "Symfony cli"
|
||||||
|
required_php_version=$(cat .php-version)
|
||||||
|
current_php_version=$(symfony php -r "echo PHP_MAJOR_VERSION.'.'.PHP_MINOR_VERSION;")
|
||||||
|
if [ "${current_php_version}" = "${required_php_version}" ]; then
|
||||||
|
printf >&2 "${GREEN_FG}✔ PHP${BLUE_FG} Version ${GREEN_FG}${current_php_version}${BLUE_FG} is ${GREEN_FG}installed${BLUE_FG}.\n"
|
||||||
|
else
|
||||||
|
printf >&2 "${RED_FG}✘ Wrong PHP Version${YELLOW_FG} is installed!\n Version ${RED_FG}${required_php_version}${YELLOW_FG} is ${RED_FG}required${YELLOW_FG}.\n"
|
||||||
|
symfony local:php:list
|
||||||
|
error = 1
|
||||||
|
fi
|
||||||
|
check "[ $(php -m | grep -c PDO) -eq 1 ]" "Php PDO"
|
||||||
|
check "[ $(php -m | grep -c pdo_mysql) -eq 1 ]" "Php Mysql PDO"
|
||||||
|
|
||||||
|
check_cmd "docker" "Docker"
|
||||||
|
check "$(docker compose version >/dev/null 2>&1)" "Docker Compose"
|
||||||
|
|
||||||
|
if ((error > 0 )); then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# Installs the dependencies
|
||||||
|
[group('main')]
|
||||||
|
install:
|
||||||
|
cd .. && composer install
|
||||||
|
|
||||||
|
# Starts the local Development Setup
|
||||||
|
[group('main')]
|
||||||
|
up:
|
||||||
|
-@cd .. && docker compose up -d
|
||||||
|
-@cd .. && symfony local:server:start -d --no-tls
|
||||||
|
|
||||||
|
# Stops the local Development Setup
|
||||||
|
[group('main')]
|
||||||
|
halt:
|
||||||
|
-@cd .. && symfony local:server:stop
|
||||||
|
-@cd .. && docker compose down
|
||||||
|
|
||||||
|
suite_options := "All\nUnit\nIntegration\nWeb"
|
||||||
|
# Runs all Tests, or if specified only a specific Suite
|
||||||
|
[group('utility')]
|
||||||
|
test suite="":
|
||||||
|
#!/bin/bash
|
||||||
|
chosen_suite=$(
|
||||||
|
printf "{{ suite_options }}" |\
|
||||||
|
fzf --header="which tests should be run?" --height 7 -i -q "{{ suite }}" -1
|
||||||
|
)
|
||||||
|
if [ "$chosen_suite" != "All" ]; then
|
||||||
|
suite_arg="--testsuite $chosen_suite"
|
||||||
|
fi
|
||||||
|
cd ..
|
||||||
|
symfony console doctrine:database:drop --if-exists --force --env=test
|
||||||
|
symfony console doctrine:database:create --env=test
|
||||||
|
symfony console doctrine:schema:update --force --complete --env=test
|
||||||
|
symfony console doctrine:fixtures:load -n --env=test
|
||||||
|
symfony console cache:clear --env=test
|
||||||
|
vendor/bin/phpunit $suite_arg
|
||||||
|
|
||||||
|
# Lints the PHP Backend Code
|
||||||
|
[group('utility')]
|
||||||
|
lint:
|
||||||
|
@cd .. && vendor/bin/php-cs-fixer fix --allow-risky=yes
|
||||||
|
|
||||||
|
# Runs the Static Code Analysis
|
||||||
|
[group('utility')]
|
||||||
|
stan:
|
||||||
|
@cd .. && vendor/bin/phpstan analyze --memory-limit=2G
|
||||||
|
|
||||||
|
migration_options := "Generate\nExecute\n"
|
||||||
|
# Create and Execute Migrations
|
||||||
|
[group('utility')]
|
||||||
|
migration migration="":
|
||||||
|
#!/bin/bash
|
||||||
|
chosen_migration=$(
|
||||||
|
printf "{{ migration_options }}" |\
|
||||||
|
fzf --header="Which migration action to perform?" --height 7 -i -q "{{ migration }}" -1
|
||||||
|
)
|
||||||
|
cd ..
|
||||||
|
case "$chosen_migration" in
|
||||||
|
*Generate*) symfony console doctrine:migrations:diff ;;
|
||||||
|
*Execute*) symfony console doctrine:migrations:migrate ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# Sets up a Fresh Data Set
|
||||||
|
[group('utility')]
|
||||||
|
demo-data:
|
||||||
|
#!/bin/bash
|
||||||
|
cd ..
|
||||||
|
symfony console doctrine:database:drop --if-exists --force
|
||||||
|
symfony console doctrine:database:create
|
||||||
|
symfony console doctrine:migrations:migrate -n
|
||||||
|
symfony console doctrine:fixtures:load -n
|
||||||
|
symfony console cache:clear
|
80
app/bin/deploy.sh
Executable file
|
@ -0,0 +1,80 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# ---------------------------------------------------------------------------------------------------------------------
|
||||||
|
# 1. testing for important env vars to be set
|
||||||
|
[[ -z "$SYMFONY_DECRYPTION_SECRET" ]] && echo "SYMFONY_DECRYPTION_SECRET missing" && exit 1;
|
||||||
|
[[ -z "$WEBROOT" ]] && echo "WEBROOT missing" && exit 1;
|
||||||
|
[[ -f ~/.bash_profile ]] && source ~/.bash_profile
|
||||||
|
|
||||||
|
# ---------------------------------------------------------------------------------------------------------------------
|
||||||
|
# 2. syncing persistent shared data into new release and making sure folder structure exists
|
||||||
|
touch ./public/maintenance.flag
|
||||||
|
|
||||||
|
mkdir -p ../../shared/log
|
||||||
|
mkdir -p ../../shared/sessions
|
||||||
|
mkdir -p ../../shared/images
|
||||||
|
mkdir -p ../../shared/videos
|
||||||
|
mkdir -p ../../shared/assets
|
||||||
|
|
||||||
|
mkdir -p ./var
|
||||||
|
mkdir -p ./public/assets
|
||||||
|
|
||||||
|
ln -sf ../../shared/log ./var/log
|
||||||
|
ln -sf ../../shared/sessions ./var/sessions
|
||||||
|
ln -sf ../../shared/images ./public/assets/images
|
||||||
|
ln -sf ../../shared/videos ./public/assets/videos
|
||||||
|
ln -sf ../../shared/assets ./public/assets/assets
|
||||||
|
# ---------------------------------------------------------------------------------------------------------------------
|
||||||
|
# 3. Update robots.txt
|
||||||
|
echo "Sitemap: $WEBROOT/sitemap.xml" >> ./public/robots.txt
|
||||||
|
|
||||||
|
# ---------------------------------------------------------------------------------------------------------------------
|
||||||
|
# 4. decrypt secret vault into local prod environment
|
||||||
|
php ./bin/console secrets:decrypt-to-local --force
|
||||||
|
rm -rf ./config/secrets/prod/
|
||||||
|
|
||||||
|
# ---------------------------------------------------------------------------------------------------------------------
|
||||||
|
# 5. move temp folder to release-x folder with the next higher number
|
||||||
|
# and delete the release-x folder with the lowest number
|
||||||
|
cd ..
|
||||||
|
# Set the release folder prefix and initialize counter
|
||||||
|
prefix="release-"
|
||||||
|
counter=0
|
||||||
|
# Loop through all the folders with the given prefix and find the highest numbered release folder
|
||||||
|
for folder in $prefix*; do
|
||||||
|
if [[ -d $folder ]]; then
|
||||||
|
num=${folder#$prefix}
|
||||||
|
if [[ $num =~ ^[0-9]+$ && $num -gt $counter ]]; then
|
||||||
|
counter=$num
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
# Rename the "temp" folder to the next highest release folder
|
||||||
|
new_release="$prefix$((counter+1))"
|
||||||
|
mv temp "$new_release"
|
||||||
|
|
||||||
|
# ---------------------------------------------------------------------------------------------------------------------
|
||||||
|
# 6. symlink new release
|
||||||
|
ln -sfn $new_release latest
|
||||||
|
cd $new_release
|
||||||
|
|
||||||
|
# ---------------------------------------------------------------------------------------------------------------------
|
||||||
|
# 7. run migrations and update plugins/apps
|
||||||
|
php ./bin/console doctrine:migrations:migrate -n
|
||||||
|
|
||||||
|
# ---------------------------------------------------------------------------------------------------------------------
|
||||||
|
# 8. clean up and end maintenance mode
|
||||||
|
php ./bin/console cache:clear
|
||||||
|
rm -f ./public/maintenance.flag
|
||||||
|
|
||||||
|
# ---------------------------------------------------------------------------------------------------------------------
|
||||||
|
# 9. Clear the Webcache
|
||||||
|
~/bin/cachetool.phar opcache:reset
|
||||||
|
|
||||||
|
# ---------------------------------------------------------------------------------------------------------------------
|
||||||
|
# 10. remove all but the last four releases (including the one just created)
|
||||||
|
# We do this after the deployment in order to reduce the chance of deleted folders reappearing because of old processes
|
||||||
|
# still using them.
|
||||||
|
ls -d ../release-* | sort -t- -k2n | head -n -4 | xargs --no-run-if-empty rm -rf
|
13
app/bin/just/check.sh
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
#!/bin/bash
|
||||||
|
check() {
|
||||||
|
if $1; then
|
||||||
|
printf >&2 "${GREEN_FG}✔ $2${BLUE_FG} is ${GREEN_FG}installed${BLUE_FG}.\n"
|
||||||
|
else
|
||||||
|
printf >&2 "${RED_FG}✘ $2${YELLOW_FG} is ${RED_FG}not installed${YELLOW_FG}! \n"
|
||||||
|
error=1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
check_cmd() {
|
||||||
|
check "$(command -v $1 >/dev/null 2>&1)" $2
|
||||||
|
}
|
43
app/bin/just/choose.sh
Executable file
|
@ -0,0 +1,43 @@
|
||||||
|
#!/bin/bash
|
||||||
|
justfile=$1
|
||||||
|
action=$2
|
||||||
|
content=$3
|
||||||
|
|
||||||
|
function preview() {
|
||||||
|
source "$(dirname ${BASH_SOURCE[0]})/colors.sh"
|
||||||
|
recipe=$(choose_truncate $content)
|
||||||
|
if [[ -z "$recipe" ]] || echo $recipe | grep -q "^\["; then
|
||||||
|
printf "${RED_FG}Select this to Exit${CLEAR}"
|
||||||
|
elif [[ "$content" == *" ..." ]]; then
|
||||||
|
just_wrapper --list $recipe | highlight --out-format xterm256 --syntax conf
|
||||||
|
else
|
||||||
|
just_wrapper --show $recipe | highlight --out-format xterm256 --syntax sh
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
function choose() {
|
||||||
|
script_path="$(pwd)/${BASH_SOURCE[0]}"
|
||||||
|
choice=$( choose_truncate $(choose_list | fzf --tac --cycle --preview "$script_path $justfile preview {}" ))
|
||||||
|
if [[ -z "$choice" ]] || echo $choice | grep -q "^\["; then
|
||||||
|
exit
|
||||||
|
else
|
||||||
|
just_wrapper $choice
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
function just_wrapper() {
|
||||||
|
just --justfile $justfile $@
|
||||||
|
}
|
||||||
|
function choose_truncate() {
|
||||||
|
echo $1 | cut -d ' ' -f1
|
||||||
|
}
|
||||||
|
function choose_list() {
|
||||||
|
just_wrapper -l --no-aliases --list-heading="" | awk '{$1=$1};1'
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$action" in
|
||||||
|
*choose) choose;;
|
||||||
|
*preview) preview;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/bin/bash
|
#!/bin/sh
|
||||||
|
|
||||||
# Colors
|
# Colors
|
||||||
COLOR_MARKER='\033'
|
COLOR_MARKER='\033'
|
||||||
|
@ -9,11 +9,8 @@ COLOR_CLEAR='0'
|
||||||
COLOR_FG='3'
|
COLOR_FG='3'
|
||||||
COLOR_BG='4'
|
COLOR_BG='4'
|
||||||
|
|
||||||
COLOR_WHITE='9'
|
COLOR_WHITE='8'
|
||||||
COLOR_LIGHT_GRAY='8'
|
|
||||||
COLOR_GRAY='7'
|
|
||||||
COLOR_BLACK='0'
|
COLOR_BLACK='0'
|
||||||
|
|
||||||
COLOR_RED='1'
|
COLOR_RED='1'
|
||||||
COLOR_GREEN='2'
|
COLOR_GREEN='2'
|
||||||
COLOR_YELLOW='3'
|
COLOR_YELLOW='3'
|
|
@ -1,117 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
source bin/make/colors.sh
|
|
||||||
|
|
||||||
printf "${BLUE_BG} ${CLEAR}\n"
|
|
||||||
printf "${BLUE_BG}${BLACK_FG} Checking Requirements ${CLEAR}\n"
|
|
||||||
printf "${BLUE_BG} ${CLEAR}\n"
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Check PHP
|
|
||||||
command -v php >/dev/null 2>&1 || \
|
|
||||||
{ \
|
|
||||||
printf >&2 "${RED_FG}✘ PHP${YELLOW_FG} is ${RED_FG}not installed${YELLOW_FG}!\n"; \
|
|
||||||
exit 1; \
|
|
||||||
}
|
|
||||||
|
|
||||||
# Check PHP Version
|
|
||||||
required_php_version=$(cat .php-version) && \
|
|
||||||
current_php_version=$(symfony php -r "echo PHP_MAJOR_VERSION.'.'.PHP_MINOR_VERSION;") && \
|
|
||||||
[ "${current_php_version}" = "${required_php_version}" ] || \
|
|
||||||
{ \
|
|
||||||
printf >&2 "${RED_FG}✘ Wrong PHP Version${YELLOW_FG} is installed!\n Version ${RED_FG}${required_php_version}${YELLOW_FG} is ${RED_FG}required${YELLOW_FG}.\n"; \
|
|
||||||
symfony local:php:list; \
|
|
||||||
exit 1; \
|
|
||||||
} && \
|
|
||||||
printf >&2 "${GREEN_FG}✔ PHP${BLUE_FG} Version ${GREEN_FG}${current_php_version}${BLUE_FG} is ${GREEN_FG}installed${BLUE_FG}.\n"
|
|
||||||
|
|
||||||
# Check PHP PDO_MYSQL
|
|
||||||
php -m | grep -i pdo_mysql >/dev/null 2>&1 || \
|
|
||||||
{ \
|
|
||||||
printf >&2 "${RED_FG}✘ PHP PDO_MYSQL${YELLOW_FG} is ${RED_FG}not installed${YELLOW_FG}!\n"; \
|
|
||||||
exit 1; \
|
|
||||||
}
|
|
||||||
printf >&2 "${GREEN_FG}✔ PHP MySQL PDO${BLUE_FG} is ${GREEN_FG}installed${BLUE_FG}.\n"
|
|
||||||
|
|
||||||
# Check Composer
|
|
||||||
command -v composer >/dev/null 2>&1 || \
|
|
||||||
{ \
|
|
||||||
printf >&2 "${RED_FG}✘ Composer${YELLOW_FG} is ${RED_FG}not installed${YELLOW_FG}!\n"; \
|
|
||||||
exit 1; \
|
|
||||||
}
|
|
||||||
|
|
||||||
# Check Composer Version
|
|
||||||
current_composer_version=$(composer --version 2> /dev/null | awk '{print $3}' | cut -d '.' -f 1) && \
|
|
||||||
[ "${current_composer_version}" = "2" ] || \
|
|
||||||
{ \
|
|
||||||
printf >&2 "${RED_FG}✘ Wrong Composer Version${YELLOW_FG} is installed!\n Version ${RED_FG}2${YELLOW_FG} is ${RED_FG}required${YELLOW_FG}.\n"; \
|
|
||||||
exit 1; \
|
|
||||||
} && \
|
|
||||||
printf >&2 "${GREEN_FG}✔ Composer${BLUE_FG} Version ${GREEN_FG}${current_composer_version}${BLUE_FG} is ${GREEN_FG}installed${BLUE_FG}.\n"
|
|
||||||
|
|
||||||
# Check Symfony CLI
|
|
||||||
command -v symfony >/dev/null 2>&1 || \
|
|
||||||
{ \
|
|
||||||
printf >&2 "${RED_FG}✘ Symfony CLI${YELLOW_FG} is ${RED_FG}not installed${YELLOW_FG}! please install it from:\nhttps://symfony.com/download\n"; \
|
|
||||||
exit 1; \
|
|
||||||
}
|
|
||||||
printf >&2 "${GREEN_FG}✔ Symfony CLI${BLUE_FG} is ${GREEN_FG}installed${BLUE_FG}!\n"
|
|
||||||
|
|
||||||
# Check JQ
|
|
||||||
command -v jq >/dev/null 2>&1 || \
|
|
||||||
{ \
|
|
||||||
printf >&2 "${RED_FG}✘ JQ${YELLOW_FG} is ${RED_FG}not installed${YELLOW_FG}!"; \
|
|
||||||
exit 1; \
|
|
||||||
}
|
|
||||||
printf >&2 "${GREEN_FG}✔ JQ${BLUE_FG} is ${GREEN_FG}installed${BLUE_FG}!\n"
|
|
||||||
|
|
||||||
# Check Volta
|
|
||||||
command -v volta >/dev/null 2>&1 || \
|
|
||||||
{ \
|
|
||||||
printf >&2 "${RED_FG}✘ Volta${YELLOW_FG} is ${RED_FG}not installed${YELLOW_FG}! \n"; \
|
|
||||||
exit 1; \
|
|
||||||
}
|
|
||||||
printf >&2 "${GREEN_FG}✔ Volta${BLUE_FG} is ${GREEN_FG}installed${BLUE_FG}.\n"
|
|
||||||
|
|
||||||
# Check Node
|
|
||||||
command -v node >/dev/null 2>&1 || \
|
|
||||||
{ \
|
|
||||||
printf >&2 "${RED_FG}✘ Node${YELLOW_FG} is ${RED_FG}not installed${YELLOW_FG}!\n"; \
|
|
||||||
exit 1; \
|
|
||||||
}
|
|
||||||
|
|
||||||
# Check Node Version
|
|
||||||
required_node_version=$(cat package.json | jq .volta.node | cut -c 2- | cut -d '.' -f 1) && \
|
|
||||||
current_major_node_version=$(node -v | cut -c 2- | cut -d '.' -f 1) && \
|
|
||||||
current_node_version=$(node -v | cut -c 2-) && \
|
|
||||||
[ "${current_major_node_version}" = "${required_node_version}" ] || \
|
|
||||||
{ \
|
|
||||||
printf >&2 "${RED_FG}✘ Wrong Node Version${YELLOW_FG} is installed!\n Version ${RED_FG}${required_node_version}${YELLOW_FG} is ${RED_FG}required${YELLOW_FG}.\n"; \
|
|
||||||
exit 1; \
|
|
||||||
} && \
|
|
||||||
printf >&2 "${GREEN_FG}✔ Node${BLUE_FG} Version ${GREEN_FG}${current_node_version}${BLUE_FG} is ${GREEN_FG}installed${BLUE_FG}.\n"
|
|
||||||
|
|
||||||
# Check NPM
|
|
||||||
command -v npm >/dev/null 2>&1 || \
|
|
||||||
{ \
|
|
||||||
printf >&2 "${RED_FG}✘ NPM${YELLOW_FG} is ${RED_FG}not installed${YELLOW_FG}!\n Install it via Volta.\n"; \
|
|
||||||
exit 1; \
|
|
||||||
}
|
|
||||||
printf >&2 "${GREEN_FG}✔ NPM${BLUE_FG} is ${GREEN_FG}installed${BLUE_FG}.\n"
|
|
||||||
|
|
||||||
# Check for Docker
|
|
||||||
command -v docker >/dev/null 2>&1 || \
|
|
||||||
{ \
|
|
||||||
printf >&2 "${RED_FG}✘ Docker${YELLOW_FG} is ${RED_FG}not installed${YELLOW_FG}!\n"; \
|
|
||||||
exit 1; \
|
|
||||||
}
|
|
||||||
printf >&2 "${GREEN_FG}✔ Docker${BLUE_FG} is ${GREEN_FG}installed${BLUE_FG}.\n"
|
|
||||||
|
|
||||||
# Check for Docker Compose
|
|
||||||
! docker compose version >/dev/null 2>&1 && \
|
|
||||||
{ \
|
|
||||||
printf >&2 "${RED_FG}✘ Docker Compose${YELLOW_FG} is ${RED_FG}not installed${YELLOW_FG}!\n"; \
|
|
||||||
exit 1; \
|
|
||||||
}
|
|
||||||
printf >&2 "${GREEN_FG}✔ Docker Compose${BLUE_FG} is ${GREEN_FG}installed${BLUE_FG}.\n"
|
|
|
@ -1,11 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
source bin/make/colors.sh
|
|
||||||
|
|
||||||
COLOR_HELP_GROUP=${COLOR_START}${COLOR_FG}${COLOR_BLUE}${COLOR_END}
|
|
||||||
COLOR_HELP_COMMAND=${COLOR_START}${COLOR_FG}${COLOR_GREEN}${COLOR_END}
|
|
||||||
COLOR_HELP_COMMAND_DESCRIPTION=${CLEAR}
|
|
||||||
|
|
||||||
grep -E '(^[a-zA-Z0-9_-]+:.*##.*$$)|(^##)' Makefile \
|
|
||||||
| awk "BEGIN {FS = \":.*?## \"}{printf \"${COLOR_MARKER}${COLOR_HELP_COMMAND}%-20s${COLOR_HELP_COMMAND_DESCRIPTION} %s\n\", \$1, \$2}" \
|
|
||||||
| sed -e "s/\\${COLOR_HELP_COMMAND}##/${COLOR_HELP_GROUP}/"
|
|
|
@ -6,13 +6,9 @@ if (!ini_get('date.timezone')) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (is_file(dirname(__DIR__).'/vendor/phpunit/phpunit/phpunit')) {
|
if (is_file(dirname(__DIR__).'/vendor/phpunit/phpunit/phpunit')) {
|
||||||
if (PHP_VERSION_ID >= 80000) {
|
|
||||||
require dirname(__DIR__).'/vendor/phpunit/phpunit/phpunit';
|
|
||||||
} else {
|
|
||||||
define('PHPUNIT_COMPOSER_INSTALL', dirname(__DIR__).'/vendor/autoload.php');
|
define('PHPUNIT_COMPOSER_INSTALL', dirname(__DIR__).'/vendor/autoload.php');
|
||||||
require PHPUNIT_COMPOSER_INSTALL;
|
require PHPUNIT_COMPOSER_INSTALL;
|
||||||
PHPUnit\TextUI\Command::main();
|
PHPUnit\TextUI\Command::main();
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
if (!is_file(dirname(__DIR__).'/vendor/symfony/phpunit-bridge/bin/simple-phpunit.php')) {
|
if (!is_file(dirname(__DIR__).'/vendor/symfony/phpunit-bridge/bin/simple-phpunit.php')) {
|
||||||
echo "Unable to find the `simple-phpunit.php` script in `vendor/symfony/phpunit-bridge/bin/`.\n";
|
echo "Unable to find the `simple-phpunit.php` script in `vendor/symfony/phpunit-bridge/bin/`.\n";
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
version: '3'
|
version: '3'
|
||||||
|
|
||||||
services:
|
services:
|
||||||
database:
|
mysql:
|
||||||
image: docker.io/library/mysql:8.0
|
container_name: 'euph-website_mysql'
|
||||||
|
image: 'mysql:8.0'
|
||||||
ports:
|
ports:
|
||||||
- '3306:3306'
|
- '3306:3306'
|
||||||
volumes:
|
volumes:
|
||||||
|
|
|
@ -4,30 +4,36 @@
|
||||||
"minimum-stability": "stable",
|
"minimum-stability": "stable",
|
||||||
"prefer-stable": true,
|
"prefer-stable": true,
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=8.1",
|
"php": ">=8.2",
|
||||||
"ext-ctype": "*",
|
"ext-ctype": "*",
|
||||||
|
"ext-dom": "*",
|
||||||
"ext-iconv": "*",
|
"ext-iconv": "*",
|
||||||
"doctrine/doctrine-bundle": "^2.12",
|
"ext-simplexml": "*",
|
||||||
|
"doctrine/doctrine-bundle": "^2.11",
|
||||||
"doctrine/doctrine-migrations-bundle": "^3.3",
|
"doctrine/doctrine-migrations-bundle": "^3.3",
|
||||||
"doctrine/orm": "^3.0",
|
"doctrine/orm": "^2.17",
|
||||||
"symfony/asset": "6.4.*",
|
"league/commonmark": "^2.4",
|
||||||
"symfony/console": "6.4.*",
|
"presta/sitemap-bundle": "^4.1",
|
||||||
"symfony/dotenv": "6.4.*",
|
"symfony/apache-pack": "^1.0",
|
||||||
|
"symfony/asset": "7.1.*",
|
||||||
|
"symfony/console": "7.1.*",
|
||||||
|
"symfony/dotenv": "7.1.*",
|
||||||
|
"symfony/finder": "7.1.*",
|
||||||
"symfony/flex": "^2",
|
"symfony/flex": "^2",
|
||||||
"symfony/form": "6.4.*",
|
"symfony/form": "7.1.*",
|
||||||
"symfony/framework-bundle": "6.4.*",
|
"symfony/framework-bundle": "7.1.*",
|
||||||
"symfony/monolog-bundle": "^3.10",
|
"symfony/monolog-bundle": "^3.0",
|
||||||
"symfony/runtime": "6.4.*",
|
"symfony/runtime": "7.1.*",
|
||||||
"symfony/stimulus-bundle": "^2.12",
|
"symfony/stimulus-bundle": "^2.12",
|
||||||
"symfony/stopwatch": "6.4.*",
|
"symfony/twig-bundle": "7.1.*",
|
||||||
"symfony/twig-bundle": "6.4.*",
|
"symfony/uid": "7.1.*",
|
||||||
"symfony/uid": "6.4.*",
|
"symfony/validator": "7.1.*",
|
||||||
"symfony/validator": "6.4.*",
|
|
||||||
"symfony/webpack-encore-bundle": "^2.1",
|
"symfony/webpack-encore-bundle": "^2.1",
|
||||||
"symfony/yaml": "6.4.*",
|
"symfony/yaml": "7.1.*",
|
||||||
"twig/extra-bundle": "^2.12|^3.0",
|
"twig/extra-bundle": "^3.8",
|
||||||
"twig/twig": "^2.12|^3.0",
|
"twig/string-extra": "^3.8",
|
||||||
"webmozart/assert": "*"
|
"vich/uploader-bundle": "^2.3",
|
||||||
|
"webmozart/assert": "^1.11"
|
||||||
},
|
},
|
||||||
"config": {
|
"config": {
|
||||||
"allow-plugins": {
|
"allow-plugins": {
|
||||||
|
@ -40,7 +46,7 @@
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
"psr-4": {
|
"psr-4": {
|
||||||
"App\\": "src/"
|
"App\\": "backend/"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"autoload-dev": {
|
"autoload-dev": {
|
||||||
|
@ -76,22 +82,23 @@
|
||||||
"extra": {
|
"extra": {
|
||||||
"symfony": {
|
"symfony": {
|
||||||
"allow-contrib": false,
|
"allow-contrib": false,
|
||||||
"require": "6.4.*"
|
"require": "7.1.*"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"dama/doctrine-test-bundle": "^8.0",
|
"dama/doctrine-test-bundle": "^8.0",
|
||||||
"doctrine/doctrine-fixtures-bundle": "^3.5",
|
"doctrine/doctrine-fixtures-bundle": "^3.5",
|
||||||
"friendsofphp/php-cs-fixer": "^3.49",
|
"friendsofphp/php-cs-fixer": "^3.35",
|
||||||
"phpstan/extension-installer": "^1.3",
|
"phpstan/extension-installer": "^1.3",
|
||||||
"phpstan/phpstan": "^1.10",
|
"phpstan/phpstan": "^1.10",
|
||||||
"phpstan/phpstan-phpunit": "^1.3",
|
"phpstan/phpstan-phpunit": "^1.3",
|
||||||
"phpunit/phpunit": "^9.6",
|
"phpunit/phpunit": "^9.5",
|
||||||
"symfony/browser-kit": "6.4.*",
|
"symfony/browser-kit": "7.1.*",
|
||||||
"symfony/css-selector": "6.4.*",
|
"symfony/css-selector": "7.1.*",
|
||||||
"symfony/debug-bundle": "6.4.*",
|
"symfony/debug-bundle": "7.1.*",
|
||||||
"symfony/phpunit-bridge": "^7.0",
|
"symfony/phpunit-bridge": "^6.3",
|
||||||
"symfony/web-profiler-bundle": "6.4.*",
|
"symfony/stopwatch": "7.1.*",
|
||||||
|
"symfony/web-profiler-bundle": "7.1.*",
|
||||||
"vincentlanglet/twig-cs-fixer": "^2.4"
|
"vincentlanglet/twig-cs-fixer": "^2.4"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
3689
app/composer.lock
generated
|
@ -1,13 +1,10 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
declare(strict_types=1);
|
|
||||||
|
|
||||||
return [
|
return [
|
||||||
Symfony\Bundle\FrameworkBundle\FrameworkBundle::class => ['all' => true],
|
Symfony\Bundle\FrameworkBundle\FrameworkBundle::class => ['all' => true],
|
||||||
Symfony\WebpackEncoreBundle\WebpackEncoreBundle::class => ['all' => true],
|
Symfony\WebpackEncoreBundle\WebpackEncoreBundle::class => ['all' => true],
|
||||||
Symfony\UX\StimulusBundle\StimulusBundle::class => ['all' => true],
|
|
||||||
Symfony\Bundle\TwigBundle\TwigBundle::class => ['all' => true],
|
Symfony\Bundle\TwigBundle\TwigBundle::class => ['all' => true],
|
||||||
Twig\Extra\TwigExtraBundle\TwigExtraBundle::class => ['all' => true],
|
Symfony\UX\StimulusBundle\StimulusBundle::class => ['all' => true],
|
||||||
Doctrine\Bundle\DoctrineBundle\DoctrineBundle::class => ['all' => true],
|
Doctrine\Bundle\DoctrineBundle\DoctrineBundle::class => ['all' => true],
|
||||||
Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle::class => ['all' => true],
|
Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle::class => ['all' => true],
|
||||||
Symfony\Bundle\WebProfilerBundle\WebProfilerBundle::class => ['dev' => true, 'test' => true],
|
Symfony\Bundle\WebProfilerBundle\WebProfilerBundle::class => ['dev' => true, 'test' => true],
|
||||||
|
@ -15,4 +12,7 @@ return [
|
||||||
Symfony\Bundle\DebugBundle\DebugBundle::class => ['dev' => true],
|
Symfony\Bundle\DebugBundle\DebugBundle::class => ['dev' => true],
|
||||||
Doctrine\Bundle\FixturesBundle\DoctrineFixturesBundle::class => ['dev' => true, 'test' => true],
|
Doctrine\Bundle\FixturesBundle\DoctrineFixturesBundle::class => ['dev' => true, 'test' => true],
|
||||||
DAMA\DoctrineTestBundle\DAMADoctrineTestBundle::class => ['test' => true],
|
DAMA\DoctrineTestBundle\DAMADoctrineTestBundle::class => ['test' => true],
|
||||||
|
Vich\UploaderBundle\VichUploaderBundle::class => ['all' => true],
|
||||||
|
Twig\Extra\TwigExtraBundle\TwigExtraBundle::class => ['all' => true],
|
||||||
|
Presta\SitemapBundle\PrestaSitemapBundle::class => ['all' => true],
|
||||||
];
|
];
|
||||||
|
|
|
@ -1,11 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
declare(strict_types=1);
|
|
||||||
|
|
||||||
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
|
|
||||||
|
|
||||||
return static function (ContainerConfigurator $containerConfigurator): void {
|
|
||||||
$containerConfigurator->extension('framework', [
|
|
||||||
'cache' => null,
|
|
||||||
]);
|
|
||||||
};
|
|
19
app/config/packages/cache.yaml
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
framework:
|
||||||
|
cache:
|
||||||
|
# Unique name of your app: used to compute stable namespaces for cache keys.
|
||||||
|
#prefix_seed: your_vendor_name/app_name
|
||||||
|
|
||||||
|
# The "app" cache stores to the filesystem by default.
|
||||||
|
# The data in this cache should persist between deploys.
|
||||||
|
# Other options include:
|
||||||
|
|
||||||
|
# Redis
|
||||||
|
#app: cache.adapter.redis
|
||||||
|
#default_redis_provider: redis://localhost
|
||||||
|
|
||||||
|
# APCu (not recommended with heavy random-write workloads as memory fragmentation can cause perf issues)
|
||||||
|
#app: cache.adapter.apcu
|
||||||
|
|
||||||
|
# Namespaced pools use the above "app" backend by default
|
||||||
|
#pools:
|
||||||
|
#my.dedicated.cache: null
|
|
@ -1,15 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
declare(strict_types=1);
|
|
||||||
|
|
||||||
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
|
|
||||||
|
|
||||||
return static function (ContainerConfigurator $containerConfigurator): void {
|
|
||||||
if ($containerConfigurator->env() === 'test') {
|
|
||||||
$containerConfigurator->extension('dama_doctrine_test', [
|
|
||||||
'enable_static_connection' => true,
|
|
||||||
'enable_static_meta_data_cache' => true,
|
|
||||||
'enable_static_query_cache' => true,
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
};
|
|
5
app/config/packages/dama_doctrine_test_bundle.yaml
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
when@test:
|
||||||
|
dama_doctrine_test:
|
||||||
|
enable_static_connection: true
|
||||||
|
enable_static_meta_data_cache: true
|
||||||
|
enable_static_query_cache: true
|
|
@ -1,13 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
declare(strict_types=1);
|
|
||||||
|
|
||||||
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
|
|
||||||
|
|
||||||
return static function (ContainerConfigurator $containerConfigurator): void {
|
|
||||||
if ($containerConfigurator->env() === 'dev') {
|
|
||||||
$containerConfigurator->extension('debug', [
|
|
||||||
'dump_destination' => 'tcp://%env(VAR_DUMPER_SERVER)%',
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
};
|
|
5
app/config/packages/debug.yaml
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
when@dev:
|
||||||
|
debug:
|
||||||
|
# Forwards VarDumper Data clones to a centralized server allowing to inspect dumps on CLI or in your browser.
|
||||||
|
# See the "server:dump" command to start a new server.
|
||||||
|
dump_destination: "tcp://%env(VAR_DUMPER_SERVER)%"
|
|
@ -1,71 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
declare(strict_types=1);
|
|
||||||
|
|
||||||
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
|
|
||||||
|
|
||||||
return static function (ContainerConfigurator $containerConfigurator): void {
|
|
||||||
$containerConfigurator->extension('doctrine', [
|
|
||||||
'dbal' => [
|
|
||||||
'url' => '%env(resolve:DATABASE_URL)%',
|
|
||||||
'profiling_collect_backtrace' => '%kernel.debug%',
|
|
||||||
],
|
|
||||||
'orm' => [
|
|
||||||
'auto_generate_proxy_classes' => true,
|
|
||||||
'enable_lazy_ghost_objects' => true,
|
|
||||||
'report_fields_where_declared' => true,
|
|
||||||
'validate_xml_mapping' => true,
|
|
||||||
'naming_strategy' => 'doctrine.orm.naming_strategy.underscore_number_aware',
|
|
||||||
'auto_mapping' => true,
|
|
||||||
'mappings' => [
|
|
||||||
'App' => [
|
|
||||||
'type' => 'attribute',
|
|
||||||
'is_bundle' => false,
|
|
||||||
'dir' => '%kernel.project_dir%/src',
|
|
||||||
'prefix' => 'App',
|
|
||||||
'alias' => 'App',
|
|
||||||
],
|
|
||||||
],
|
|
||||||
],
|
|
||||||
]);
|
|
||||||
if ($containerConfigurator->env() === 'test') {
|
|
||||||
$containerConfigurator->extension('doctrine', [
|
|
||||||
'dbal' => [
|
|
||||||
'connections' => [
|
|
||||||
'default' => [
|
|
||||||
'dbname_suffix' => '%env(TEST_TOKEN)%',
|
|
||||||
'use_savepoints' => true,
|
|
||||||
],
|
|
||||||
],
|
|
||||||
],
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
if ($containerConfigurator->env() === 'prod') {
|
|
||||||
$containerConfigurator->extension('doctrine', [
|
|
||||||
'orm' => [
|
|
||||||
'auto_generate_proxy_classes' => false,
|
|
||||||
'proxy_dir' => '%kernel.build_dir%/doctrine/orm/Proxies',
|
|
||||||
'query_cache_driver' => [
|
|
||||||
'type' => 'pool',
|
|
||||||
'pool' => 'doctrine.system_cache_pool',
|
|
||||||
],
|
|
||||||
'result_cache_driver' => [
|
|
||||||
'type' => 'pool',
|
|
||||||
'pool' => 'doctrine.result_cache_pool',
|
|
||||||
],
|
|
||||||
],
|
|
||||||
]);
|
|
||||||
$containerConfigurator->extension('framework', [
|
|
||||||
'cache' => [
|
|
||||||
'pools' => [
|
|
||||||
'doctrine.result_cache_pool' => [
|
|
||||||
'adapter' => 'cache.app',
|
|
||||||
],
|
|
||||||
'doctrine.system_cache_pool' => [
|
|
||||||
'adapter' => 'cache.system',
|
|
||||||
],
|
|
||||||
],
|
|
||||||
],
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
};
|
|
47
app/config/packages/doctrine.yaml
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
doctrine:
|
||||||
|
dbal:
|
||||||
|
url: '%env(resolve:DATABASE_URL)%'
|
||||||
|
profiling_collect_backtrace: '%kernel.debug%'
|
||||||
|
orm:
|
||||||
|
auto_generate_proxy_classes: true
|
||||||
|
enable_lazy_ghost_objects: true
|
||||||
|
report_fields_where_declared: true
|
||||||
|
validate_xml_mapping: true
|
||||||
|
naming_strategy: doctrine.orm.naming_strategy.underscore_number_aware
|
||||||
|
auto_mapping: true
|
||||||
|
mappings:
|
||||||
|
App:
|
||||||
|
type: attribute
|
||||||
|
is_bundle: false
|
||||||
|
dir: '%kernel.project_dir%/backend'
|
||||||
|
prefix: 'App'
|
||||||
|
alias: App
|
||||||
|
|
||||||
|
when@test:
|
||||||
|
doctrine:
|
||||||
|
dbal:
|
||||||
|
# "TEST_TOKEN" is typically set by ParaTest
|
||||||
|
connections:
|
||||||
|
default:
|
||||||
|
dbname_suffix: '%env(TEST_TOKEN)%'
|
||||||
|
use_savepoints: true
|
||||||
|
|
||||||
|
when@prod:
|
||||||
|
doctrine:
|
||||||
|
orm:
|
||||||
|
auto_generate_proxy_classes: false
|
||||||
|
proxy_dir: '%kernel.build_dir%/doctrine/orm/Proxies'
|
||||||
|
query_cache_driver:
|
||||||
|
type: pool
|
||||||
|
pool: doctrine.system_cache_pool
|
||||||
|
result_cache_driver:
|
||||||
|
type: pool
|
||||||
|
pool: doctrine.result_cache_pool
|
||||||
|
|
||||||
|
framework:
|
||||||
|
cache:
|
||||||
|
pools:
|
||||||
|
doctrine.result_cache_pool:
|
||||||
|
adapter: cache.app
|
||||||
|
doctrine.system_cache_pool:
|
||||||
|
adapter: cache.system
|
|
@ -1,14 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
declare(strict_types=1);
|
|
||||||
|
|
||||||
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
|
|
||||||
|
|
||||||
return static function (ContainerConfigurator $containerConfigurator): void {
|
|
||||||
$containerConfigurator->extension('doctrine_migrations', [
|
|
||||||
'migrations_paths' => [
|
|
||||||
'DoctrineMigrations' => '%kernel.project_dir%/migrations',
|
|
||||||
],
|
|
||||||
'enable_profiler' => false,
|
|
||||||
]);
|
|
||||||
};
|
|
6
app/config/packages/doctrine_migrations.yaml
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
doctrine_migrations:
|
||||||
|
migrations_paths:
|
||||||
|
# namespace is arbitrary but should be different from App\Migrations
|
||||||
|
# as migrations classes should NOT be autoloaded
|
||||||
|
'DoctrineMigrations': '%kernel.project_dir%/migrations'
|
||||||
|
enable_profiler: false
|
|
@ -1,37 +1,28 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
declare(strict_types=1);
|
|
||||||
|
|
||||||
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
|
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
|
||||||
|
use Symfony\Config\FrameworkConfig;
|
||||||
|
|
||||||
return static function (ContainerConfigurator $containerConfigurator): void {
|
return static function (FrameworkConfig $framework, ContainerConfigurator $container): void {
|
||||||
$containerConfigurator->extension('framework', [
|
|
||||||
'secret' => '%env(APP_SECRET)%',
|
$framework->secret('%env(APP_SECRET)%');
|
||||||
'http_method_override' => false,
|
$framework->httpMethodOverride(false);
|
||||||
'handle_all_throwables' => true,
|
$framework->handleAllThrowables(true);
|
||||||
'session' => [
|
|
||||||
'handler_id' => null,
|
$framework->session()
|
||||||
'cookie_secure' => 'auto',
|
->handlerId(null)
|
||||||
'cookie_samesite' => 'lax',
|
->cookieSecure("auto")
|
||||||
'storage_factory_id' => 'session.storage.factory.native',
|
->cookieSamesite("lax")
|
||||||
],
|
->storageFactoryId("session.storage.factory.native");
|
||||||
'php_errors' => [
|
|
||||||
'log' => true,
|
$framework->phpErrors(["log" => true]);
|
||||||
],
|
|
||||||
]);
|
if ($container->env() === "test") {
|
||||||
if ($containerConfigurator->env() === 'test') {
|
$framework->test(true);
|
||||||
$containerConfigurator->extension('framework', [
|
$framework->session()->storageFactoryId("session.storage.factory.mock_file");
|
||||||
'test' => true,
|
|
||||||
'session' => [
|
|
||||||
'storage_factory_id' => 'session.storage.factory.mock_file',
|
|
||||||
],
|
|
||||||
]);
|
|
||||||
}
|
}
|
||||||
if ($containerConfigurator->env() === 'prod') {
|
|
||||||
$containerConfigurator->extension('framework', [
|
if ($container->env() === "prod") {
|
||||||
'session' => [
|
$framework->session()->handlerId('file://%kernel.project_dir%/var/sessions');
|
||||||
'handler_id' => 'file://%kernel_project_dir%/var/sessions',
|
|
||||||
],
|
|
||||||
]);
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,96 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
declare(strict_types=1);
|
|
||||||
|
|
||||||
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
|
|
||||||
|
|
||||||
return static function (ContainerConfigurator $containerConfigurator): void {
|
|
||||||
$containerConfigurator->extension('monolog', [
|
|
||||||
'channels' => [
|
|
||||||
'deprecation',
|
|
||||||
],
|
|
||||||
]);
|
|
||||||
if ($containerConfigurator->env() === 'dev') {
|
|
||||||
$containerConfigurator->extension('monolog', [
|
|
||||||
'handlers' => [
|
|
||||||
'main' => [
|
|
||||||
'type' => 'stream',
|
|
||||||
'path' => '%kernel.logs_dir%/%kernel.environment%.log',
|
|
||||||
'level' => 'debug',
|
|
||||||
'channels' => [
|
|
||||||
'!event',
|
|
||||||
],
|
|
||||||
],
|
|
||||||
'console' => [
|
|
||||||
'type' => 'console',
|
|
||||||
'process_psr_3_messages' => false,
|
|
||||||
'channels' => [
|
|
||||||
'!event',
|
|
||||||
'!doctrine',
|
|
||||||
'!console',
|
|
||||||
],
|
|
||||||
],
|
|
||||||
],
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
if ($containerConfigurator->env() === 'test') {
|
|
||||||
$containerConfigurator->extension('monolog', [
|
|
||||||
'handlers' => [
|
|
||||||
'main' => [
|
|
||||||
'type' => 'fingers_crossed',
|
|
||||||
'action_level' => 'error',
|
|
||||||
'handler' => 'nested',
|
|
||||||
'excluded_http_codes' => [
|
|
||||||
404,
|
|
||||||
405,
|
|
||||||
],
|
|
||||||
'channels' => [
|
|
||||||
'!event',
|
|
||||||
],
|
|
||||||
],
|
|
||||||
'nested' => [
|
|
||||||
'type' => 'stream',
|
|
||||||
'path' => '%kernel.logs_dir%/%kernel.environment%.log',
|
|
||||||
'level' => 'debug',
|
|
||||||
],
|
|
||||||
],
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
if ($containerConfigurator->env() === 'prod') {
|
|
||||||
$containerConfigurator->extension('monolog', [
|
|
||||||
'handlers' => [
|
|
||||||
'main' => [
|
|
||||||
'type' => 'fingers_crossed',
|
|
||||||
'action_level' => 'error',
|
|
||||||
'handler' => 'nested',
|
|
||||||
'excluded_http_codes' => [
|
|
||||||
404,
|
|
||||||
405,
|
|
||||||
],
|
|
||||||
'buffer_size' => 50,
|
|
||||||
],
|
|
||||||
'nested' => [
|
|
||||||
'type' => 'stream',
|
|
||||||
'path' => '%kernel.logs_dir%/%kernel.environment%.log',
|
|
||||||
'level' => 'debug',
|
|
||||||
'formatter' => 'monolog.formatter.json',
|
|
||||||
],
|
|
||||||
'console' => [
|
|
||||||
'type' => 'console',
|
|
||||||
'process_psr_3_messages' => false,
|
|
||||||
'channels' => [
|
|
||||||
'!event',
|
|
||||||
'!doctrine',
|
|
||||||
],
|
|
||||||
],
|
|
||||||
'deprecation' => [
|
|
||||||
'type' => 'stream',
|
|
||||||
'channels' => [
|
|
||||||
'deprecation',
|
|
||||||
],
|
|
||||||
'path' => '%kernel.logs_dir%/%kernel.environment%.log',
|
|
||||||
],
|
|
||||||
],
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
};
|
|
53
app/config/packages/monolog.yaml
Normal file
|
@ -0,0 +1,53 @@
|
||||||
|
monolog:
|
||||||
|
channels:
|
||||||
|
- deprecation # Deprecations are logged in the dedicated "deprecation" channel when it exists
|
||||||
|
|
||||||
|
when@dev:
|
||||||
|
monolog:
|
||||||
|
handlers:
|
||||||
|
main:
|
||||||
|
type: stream
|
||||||
|
path: "%kernel.logs_dir%/%kernel.environment%.log"
|
||||||
|
level: debug
|
||||||
|
channels: [ "!event" ]
|
||||||
|
console:
|
||||||
|
type: console
|
||||||
|
process_psr_3_messages: false
|
||||||
|
channels: [ "!event", "!doctrine", "!console" ]
|
||||||
|
|
||||||
|
when@test:
|
||||||
|
monolog:
|
||||||
|
handlers:
|
||||||
|
main:
|
||||||
|
type: fingers_crossed
|
||||||
|
action_level: error
|
||||||
|
handler: nested
|
||||||
|
excluded_http_codes: [ 404, 405 ]
|
||||||
|
channels: [ "!event" ]
|
||||||
|
nested:
|
||||||
|
type: stream
|
||||||
|
path: "%kernel.logs_dir%/%kernel.environment%.log"
|
||||||
|
level: debug
|
||||||
|
|
||||||
|
when@prod:
|
||||||
|
monolog:
|
||||||
|
handlers:
|
||||||
|
main:
|
||||||
|
type: fingers_crossed
|
||||||
|
action_level: error
|
||||||
|
handler: nested
|
||||||
|
excluded_http_codes: [ 404, 405 ]
|
||||||
|
buffer_size: 50 # How many messages should be saved? Prevent memory leaks
|
||||||
|
nested:
|
||||||
|
type: stream
|
||||||
|
path: "%kernel.logs_dir%/%kernel.environment%.log"
|
||||||
|
level: debug
|
||||||
|
formatter: monolog.formatter.json
|
||||||
|
console:
|
||||||
|
type: console
|
||||||
|
process_psr_3_messages: false
|
||||||
|
channels: [ "!event", "!doctrine" ]
|
||||||
|
deprecation:
|
||||||
|
type: stream
|
||||||
|
channels: [ deprecation ]
|
||||||
|
path: "%kernel.logs_dir%/%kernel.environment%.log"
|
2
app/config/packages/presta_sitemap.yaml
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
presta_sitemap:
|
||||||
|
default_section: default
|
|
@ -1,20 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
declare(strict_types=1);
|
|
||||||
|
|
||||||
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
|
|
||||||
|
|
||||||
return static function (ContainerConfigurator $containerConfigurator): void {
|
|
||||||
$containerConfigurator->extension('framework', [
|
|
||||||
'router' => [
|
|
||||||
'utf8' => true,
|
|
||||||
],
|
|
||||||
]);
|
|
||||||
if ($containerConfigurator->env() === 'prod') {
|
|
||||||
$containerConfigurator->extension('framework', [
|
|
||||||
'router' => [
|
|
||||||
'strict_requirements' => null,
|
|
||||||
],
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
};
|
|
12
app/config/packages/routing.yaml
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
framework:
|
||||||
|
router:
|
||||||
|
utf8: true
|
||||||
|
|
||||||
|
# Configure how to generate URLs in non-HTTP contexts, such as CLI commands.
|
||||||
|
# See https://symfony.com/doc/current/routing.html#generating-urls-in-commands
|
||||||
|
#default_uri: http://localhost
|
||||||
|
|
||||||
|
when@prod:
|
||||||
|
framework:
|
||||||
|
router:
|
||||||
|
strict_requirements: null
|
|
@ -1,16 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
declare(strict_types=1);
|
|
||||||
|
|
||||||
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
|
|
||||||
|
|
||||||
return static function (ContainerConfigurator $containerConfigurator): void {
|
|
||||||
$containerConfigurator->extension('twig', [
|
|
||||||
'default_path' => '%kernel.project_dir%/templates',
|
|
||||||
]);
|
|
||||||
if ($containerConfigurator->env() === 'test') {
|
|
||||||
$containerConfigurator->extension('twig', [
|
|
||||||
'strict_variables' => true,
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
};
|
|
6
app/config/packages/twig.yaml
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
twig:
|
||||||
|
default_path: '%kernel.project_dir%/templates'
|
||||||
|
|
||||||
|
when@test:
|
||||||
|
twig:
|
||||||
|
strict_variables: true
|
|
@ -1,14 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
declare(strict_types=1);
|
|
||||||
|
|
||||||
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
|
|
||||||
|
|
||||||
return static function (ContainerConfigurator $containerConfigurator): void {
|
|
||||||
$containerConfigurator->extension('framework', [
|
|
||||||
'uid' => [
|
|
||||||
'default_uuid_version' => 7,
|
|
||||||
'time_based_uuid_version' => 7,
|
|
||||||
],
|
|
||||||
]);
|
|
||||||
};
|
|
4
app/config/packages/uid.yaml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
framework:
|
||||||
|
uid:
|
||||||
|
default_uuid_version: 7
|
||||||
|
time_based_uuid_version: 7
|
|
@ -1,20 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
declare(strict_types=1);
|
|
||||||
|
|
||||||
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
|
|
||||||
|
|
||||||
return static function (ContainerConfigurator $containerConfigurator): void {
|
|
||||||
$containerConfigurator->extension('framework', [
|
|
||||||
'validation' => [
|
|
||||||
'email_validation_mode' => 'html5',
|
|
||||||
],
|
|
||||||
]);
|
|
||||||
if ($containerConfigurator->env() === 'test') {
|
|
||||||
$containerConfigurator->extension('framework', [
|
|
||||||
'validation' => [
|
|
||||||
'not_compromised_password' => false,
|
|
||||||
],
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
};
|
|
13
app/config/packages/validator.yaml
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
framework:
|
||||||
|
validation:
|
||||||
|
email_validation_mode: html5
|
||||||
|
|
||||||
|
# Enables validator auto-mapping support.
|
||||||
|
# For instance, basic validation constraints will be inferred from Doctrine's metadata.
|
||||||
|
#auto_mapping:
|
||||||
|
# App\Entity\: []
|
||||||
|
|
||||||
|
when@test:
|
||||||
|
framework:
|
||||||
|
validation:
|
||||||
|
not_compromised_password: false
|
81
app/config/packages/vich_uploader.yaml
Normal file
|
@ -0,0 +1,81 @@
|
||||||
|
vich_uploader:
|
||||||
|
db_driver: orm
|
||||||
|
|
||||||
|
metadata:
|
||||||
|
type: attribute
|
||||||
|
|
||||||
|
mappings:
|
||||||
|
job_overview_picture:
|
||||||
|
uri_prefix: /assets/images/jobs/overview-picture
|
||||||
|
upload_destination: '%kernel.project_dir%/public/assets/images/jobs/overview-picture'
|
||||||
|
namer: Vich\UploaderBundle\Naming\SmartUniqueNamer
|
||||||
|
inject_on_load: false
|
||||||
|
delete_on_update: true
|
||||||
|
delete_on_remove: true
|
||||||
|
job_banner:
|
||||||
|
uri_prefix: /assets/images/jobs/banner
|
||||||
|
upload_destination: '%kernel.project_dir%/public/assets/images/jobs/banner'
|
||||||
|
namer: Vich\UploaderBundle\Naming\SmartUniqueNamer
|
||||||
|
inject_on_load: false
|
||||||
|
delete_on_update: true
|
||||||
|
delete_on_remove: true
|
||||||
|
job_video:
|
||||||
|
uri_prefix: /assets/videos/jobs
|
||||||
|
upload_destination: '%kernel.project_dir%/public/assets/videos/jobs'
|
||||||
|
namer: Vich\UploaderBundle\Naming\SmartUniqueNamer
|
||||||
|
inject_on_load: false
|
||||||
|
delete_on_update: true
|
||||||
|
delete_on_remove: true
|
||||||
|
job_video-thumbnail:
|
||||||
|
uri_prefix: /assets/videos/jobs/thumbnails
|
||||||
|
upload_destination: '%kernel.project_dir%/public/assets/videos/jobs/thumbnails'
|
||||||
|
namer: Vich\UploaderBundle\Naming\SmartUniqueNamer
|
||||||
|
inject_on_load: false
|
||||||
|
delete_on_update: true
|
||||||
|
delete_on_remove: true
|
||||||
|
event_video:
|
||||||
|
uri_prefix: /assets/videos/events
|
||||||
|
upload_destination: '%kernel.project_dir%/public/assets/videos/events'
|
||||||
|
namer: Vich\UploaderBundle\Naming\SmartUniqueNamer
|
||||||
|
inject_on_load: false
|
||||||
|
delete_on_update: true
|
||||||
|
delete_on_remove: true
|
||||||
|
event_video-thumbnail:
|
||||||
|
uri_prefix: /assets/videos/events/thumbnails
|
||||||
|
upload_destination: '%kernel.project_dir%/public/assets/videos/events/thumbnails'
|
||||||
|
namer: Vich\UploaderBundle\Naming\SmartUniqueNamer
|
||||||
|
inject_on_load: false
|
||||||
|
delete_on_update: true
|
||||||
|
delete_on_remove: true
|
||||||
|
asset:
|
||||||
|
uri_prefix: /assets/assets
|
||||||
|
upload_destination: '%kernel.project_dir%/public/assets/assets'
|
||||||
|
namer: Vich\UploaderBundle\Naming\SmartUniqueNamer
|
||||||
|
inject_on_load: false
|
||||||
|
delete_on_update: true
|
||||||
|
delete_on_remove: true
|
||||||
|
|
||||||
|
when@test:
|
||||||
|
vich_uploader:
|
||||||
|
mappings:
|
||||||
|
job_overview_picture:
|
||||||
|
delete_on_update: false
|
||||||
|
delete_on_remove: false
|
||||||
|
job_banner:
|
||||||
|
delete_on_update: false
|
||||||
|
delete_on_remove: false
|
||||||
|
job_video-thumbnail:
|
||||||
|
delete_on_update: false
|
||||||
|
delete_on_remove: false
|
||||||
|
job_video:
|
||||||
|
delete_on_update: false
|
||||||
|
delete_on_remove: false
|
||||||
|
event_video-thumbnail:
|
||||||
|
delete_on_update: false
|
||||||
|
delete_on_remove: false
|
||||||
|
event_video:
|
||||||
|
delete_on_update: false
|
||||||
|
delete_on_remove: false
|
||||||
|
asset:
|
||||||
|
delete_on_update: false
|
||||||
|
delete_on_remove: false
|
|
@ -1,31 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
declare(strict_types=1);
|
|
||||||
|
|
||||||
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
|
|
||||||
|
|
||||||
return static function (ContainerConfigurator $containerConfigurator): void {
|
|
||||||
if ($containerConfigurator->env() === 'dev') {
|
|
||||||
$containerConfigurator->extension('web_profiler', [
|
|
||||||
'toolbar' => true,
|
|
||||||
'intercept_redirects' => false,
|
|
||||||
]);
|
|
||||||
$containerConfigurator->extension('framework', [
|
|
||||||
'profiler' => [
|
|
||||||
'only_exceptions' => false,
|
|
||||||
'collect_serializer_data' => true,
|
|
||||||
],
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
if ($containerConfigurator->env() === 'test') {
|
|
||||||
$containerConfigurator->extension('web_profiler', [
|
|
||||||
'toolbar' => false,
|
|
||||||
'intercept_redirects' => false,
|
|
||||||
]);
|
|
||||||
$containerConfigurator->extension('framework', [
|
|
||||||
'profiler' => [
|
|
||||||
'collect' => false,
|
|
||||||
],
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
};
|
|
17
app/config/packages/web_profiler.yaml
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
when@dev:
|
||||||
|
web_profiler:
|
||||||
|
toolbar: true
|
||||||
|
intercept_redirects: false
|
||||||
|
|
||||||
|
framework:
|
||||||
|
profiler:
|
||||||
|
only_exceptions: false
|
||||||
|
collect_serializer_data: true
|
||||||
|
|
||||||
|
when@test:
|
||||||
|
web_profiler:
|
||||||
|
toolbar: false
|
||||||
|
intercept_redirects: false
|
||||||
|
|
||||||
|
framework:
|
||||||
|
profiler: { collect: false }
|
|
@ -1,20 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
declare(strict_types=1);
|
|
||||||
|
|
||||||
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
|
|
||||||
|
|
||||||
return static function (ContainerConfigurator $containerConfigurator): void {
|
|
||||||
$containerConfigurator->extension('webpack_encore', [
|
|
||||||
'output_path' => '%kernel.project_dir%/public/build',
|
|
||||||
'script_attributes' => [
|
|
||||||
'defer' => true,
|
|
||||||
],
|
|
||||||
]);
|
|
||||||
|
|
||||||
$containerConfigurator->extension('framework', [
|
|
||||||
'assets' => [
|
|
||||||
'json_manifest_path' => '%kernel.project_dir%/public/build/manifest.json',
|
|
||||||
],
|
|
||||||
]);
|
|
||||||
};
|
|
45
app/config/packages/webpack_encore.yaml
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
webpack_encore:
|
||||||
|
# The path where Encore is building the assets - i.e. Encore.setOutputPath()
|
||||||
|
output_path: '%kernel.project_dir%/public/build'
|
||||||
|
# If multiple builds are defined (as shown below), you can disable the default build:
|
||||||
|
# output_path: false
|
||||||
|
|
||||||
|
# Set attributes that will be rendered on all script and link tags
|
||||||
|
script_attributes:
|
||||||
|
defer: true
|
||||||
|
# Uncomment (also under link_attributes) if using Turbo Drive
|
||||||
|
# https://turbo.hotwired.dev/handbook/drive#reloading-when-assets-change
|
||||||
|
# 'data-turbo-track': reload
|
||||||
|
# link_attributes:
|
||||||
|
# Uncomment if using Turbo Drive
|
||||||
|
# 'data-turbo-track': reload
|
||||||
|
|
||||||
|
# If using Encore.enableIntegrityHashes() and need the crossorigin attribute (default: false, or use 'anonymous' or 'use-credentials')
|
||||||
|
# crossorigin: 'anonymous'
|
||||||
|
|
||||||
|
# Preload all rendered script and link tags automatically via the HTTP/2 Link header
|
||||||
|
# preload: true
|
||||||
|
|
||||||
|
# Throw an exception if the entrypoints.json file is missing or an entry is missing from the data
|
||||||
|
# strict_mode: false
|
||||||
|
|
||||||
|
# If you have multiple builds:
|
||||||
|
# builds:
|
||||||
|
# frontend: '%kernel.project_dir%/public/frontend/build'
|
||||||
|
|
||||||
|
# pass the build name as the 3rd argument to the Twig functions
|
||||||
|
# {{ encore_entry_script_tags('entry1', null, 'frontend') }}
|
||||||
|
|
||||||
|
framework:
|
||||||
|
assets:
|
||||||
|
json_manifest_path: '%kernel.project_dir%/public/build/manifest.json'
|
||||||
|
|
||||||
|
#when@prod:
|
||||||
|
# webpack_encore:
|
||||||
|
# # Cache the entrypoints.json (rebuild Symfony's cache when entrypoints.json changes)
|
||||||
|
# # Available in version 1.2
|
||||||
|
# cache: true
|
||||||
|
|
||||||
|
#when@test:
|
||||||
|
# webpack_encore:
|
||||||
|
# strict_mode: false
|
|
@ -1,7 +1,5 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
declare(strict_types=1);
|
if (file_exists(dirname(__DIR__).'/var/cache/prod/App_KernelProdContainer.preload.php')) {
|
||||||
|
require dirname(__DIR__).'/var/cache/prod/App_KernelProdContainer.preload.php';
|
||||||
if (file_exists(dirname(__DIR__) . '/var/cache/prod/App_KernelProdContainer.preload.php')) {
|
|
||||||
require dirname(__DIR__) . '/var/cache/prod/App_KernelProdContainer.preload.php';
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
declare(strict_types=1);
|
|
||||||
|
|
||||||
use Symfony\Component\Routing\Loader\Configurator\RoutingConfigurator;
|
|
||||||
|
|
||||||
return function (RoutingConfigurator $routes): void {
|
|
||||||
$routes->import('../src/*', 'attribute');
|
|
||||||
};
|
|
8
app/config/routes.yaml
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
controllers:
|
||||||
|
resource:
|
||||||
|
path: ../backend/
|
||||||
|
namespace: App
|
||||||
|
type: attribute
|
||||||
|
|
||||||
|
presta_sitemap:
|
||||||
|
resource: "@PrestaSitemapBundle/config/routing.yml"
|
|
@ -1,13 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
declare(strict_types=1);
|
|
||||||
|
|
||||||
use Symfony\Component\Routing\Loader\Configurator\RoutingConfigurator;
|
|
||||||
|
|
||||||
return static function (RoutingConfigurator $routingConfigurator): void {
|
|
||||||
if ($routingConfigurator->env() === 'dev') {
|
|
||||||
$routingConfigurator->import('@FrameworkBundle/Resources/config/routing/errors.xml')
|
|
||||||
->prefix('/_error')
|
|
||||||
;
|
|
||||||
}
|
|
||||||
};
|
|
4
app/config/routes/framework.yaml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
when@dev:
|
||||||
|
_errors:
|
||||||
|
resource: '@FrameworkBundle/Resources/config/routing/errors.xml'
|
||||||
|
prefix: /_error
|
|
@ -1,16 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
declare(strict_types=1);
|
|
||||||
|
|
||||||
use Symfony\Component\Routing\Loader\Configurator\RoutingConfigurator;
|
|
||||||
|
|
||||||
return static function (RoutingConfigurator $routingConfigurator): void {
|
|
||||||
if ($routingConfigurator->env() === 'dev') {
|
|
||||||
$routingConfigurator->import('@WebProfilerBundle/Resources/config/routing/wdt.xml')
|
|
||||||
->prefix('/_wdt')
|
|
||||||
;
|
|
||||||
$routingConfigurator->import('@WebProfilerBundle/Resources/config/routing/profiler.xml')
|
|
||||||
->prefix('/_profiler')
|
|
||||||
;
|
|
||||||
}
|
|
||||||
};
|
|
8
app/config/routes/web_profiler.yaml
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
when@dev:
|
||||||
|
web_profiler_wdt:
|
||||||
|
resource: '@WebProfilerBundle/Resources/config/routing/wdt.xml'
|
||||||
|
prefix: /_wdt
|
||||||
|
|
||||||
|
web_profiler_profiler:
|
||||||
|
resource: '@WebProfilerBundle/Resources/config/routing/profiler.xml'
|
||||||
|
prefix: /_profiler
|
|
@ -2,9 +2,16 @@
|
||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
|
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
|
||||||
|
|
||||||
return function (ContainerConfigurator $container): void {
|
use App\Markdown\CommonMarkMarkdownParserAdapter;
|
||||||
|
use App\Markdown\MarkdownParserInterface;
|
||||||
|
use App\Security\User;
|
||||||
|
use App\StaticData\StaticDataService;
|
||||||
|
use League\CommonMark\CommonMarkConverter;
|
||||||
|
use League\CommonMark\MarkdownConverter;
|
||||||
|
|
||||||
|
return function(ContainerConfigurator $container): void {
|
||||||
$services = $container->services()
|
$services = $container->services()
|
||||||
->defaults()
|
->defaults()
|
||||||
->autowire()
|
->autowire()
|
||||||
|
@ -12,7 +19,11 @@ return function (ContainerConfigurator $container): void {
|
||||||
;
|
;
|
||||||
|
|
||||||
$services
|
$services
|
||||||
->load('App\\', '../src/')
|
->load('App\\', '../backend/')
|
||||||
->exclude('../src/{DependencyInjection,Entity,Kernel.php}')
|
->exclude('../backend/{DependencyInjection,Entity,Kernel.php}')
|
||||||
;
|
;
|
||||||
|
|
||||||
|
$services->set(CommonMarkConverter::class);
|
||||||
|
$services->alias(MarkdownConverter::class, CommonMarkConverter::class);
|
||||||
|
$services->alias(MarkdownParserInterface::class, CommonMarkMarkdownParserAdapter::class);
|
||||||
};
|
};
|
||||||
|
|
|
@ -4,8 +4,8 @@ declare(strict_types=1);
|
||||||
|
|
||||||
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
|
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
|
||||||
|
|
||||||
return function (ContainerConfigurator $container): void {
|
return static function (ContainerConfigurator $containerConfigurator): void {
|
||||||
$services = $container->services()
|
$services = $containerConfigurator->services()
|
||||||
->defaults()
|
->defaults()
|
||||||
->autowire()
|
->autowire()
|
||||||
->autoconfigure()
|
->autoconfigure()
|
||||||
|
|
|
@ -4,8 +4,8 @@ declare(strict_types=1);
|
||||||
|
|
||||||
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
|
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
|
||||||
|
|
||||||
return function (ContainerConfigurator $container): void {
|
return static function (ContainerConfigurator $containerConfigurator): void {
|
||||||
$services = $container->services()
|
$services = $containerConfigurator->services()
|
||||||
->defaults()
|
->defaults()
|
||||||
->autowire()
|
->autowire()
|
||||||
->autoconfigure()
|
->autoconfigure()
|
||||||
|
|