Compare commits

...

4 commits

Author SHA1 Message Date
a6603432a5
#1 [Ticket] Improve Makefile
Some checks failed
Quality Check / Check (push) Failing after 14s
2024-02-19 22:23:38 +01:00
8496de3c84
#1 [Ticket] Cleanup 2024-02-19 22:23:25 +01:00
2d8927af40
#1 [Ticket] Adding Twig CS Fixer 2024-02-19 22:23:07 +01:00
c86d85c99f
#1 [Ticket] Make Submodules track their Master branch 2024-02-19 16:54:47 +01:00
13 changed files with 362 additions and 128 deletions

3
.gitmodules vendored
View file

@ -1,9 +1,12 @@
[submodule "License"] [submodule "License"]
path = License path = License
url = git@git.euph.dev:Euph/License.git url = git@git.euph.dev:Euph/License.git
branch = master
[submodule "Code_of_Conduct"] [submodule "Code_of_Conduct"]
path = Code_of_Conduct path = Code_of_Conduct
url = git@git.euph.dev:Euph/Code_of_Conduct.git url = git@git.euph.dev:Euph/Code_of_Conduct.git
branch = master
[submodule "Code_Standards"] [submodule "Code_Standards"]
path = Code_Standards path = Code_Standards
url = git@git.euph.dev:Euph/Code_Standards.wiki.git url = git@git.euph.dev:Euph/Code_Standards.wiki.git
branch = master

@ -1 +1 @@
Subproject commit e39bf1b8cad84f838e1c1f8df1f299d223d4582a Subproject commit e3ffebf2f07f0190213520e0bbc10e589c449e7b

View file

@ -1,16 +0,0 @@
# Colors
COLOR_BASE=\033
COLOR_CLEAR=[0m
COLOR_BLUE=[34m
COLOR_GREEN=[32m
COLOR_YELLOW=[33m
COLOR_RED=[31m
CLEAR=${COLOR_BASE}${COLOR_CLEAR}
BLUE=${COLOR_BASE}${COLOR_BLUE}
GREEN=${COLOR_BASE}${COLOR_GREEN}
YELLOW=${COLOR_BASE}${COLOR_YELLOW}
RED=${COLOR_BASE}${COLOR_RED}
COLOR_HELP_GROUP=${COLOR_BLUE}
COLOR_HELP_COMMAND=${COLOR_GREEN}

4
app/.gitignore vendored
View file

@ -35,3 +35,7 @@ phpstan.dist.neon
# Encore Daemon # Encore Daemon
/npm-watch.pid /npm-watch.pid
###> vincentlanglet/twig-cs-fixer ###
/.twig-cs-fixer.cache
###< vincentlanglet/twig-cs-fixer ###

12
app/.twig-cs-fixer.php Normal file
View file

@ -0,0 +1,12 @@
<?php
$ruleset = new TwigCsFixer\Ruleset\Ruleset();
$ruleset->addStandard(new TwigCsFixer\Standard\Twig());
$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->setRuleset($ruleset);
$config->allowNonFixableRules();
return $config;

View file

@ -1,120 +1,59 @@
include .env.make ##|——[ General ]—————————————————————————————————————————————————————————————————————————|
help: ## Shops available commands
@bin/make/help.sh
##|--[ General ]---------------------------------------------------| check: ## Checks whether requirements are met
help: ## Shops available Commands @bin/make/check.sh
@grep -E '(^[a-zA-Z0-9_-]+:.*##.*$$)|(^##)' Makefile| \
awk 'BEGIN {FS = ":.*?## "}{printf "${COLOR_BASE}${COLOR_HELP_COMMAND}%-20s${CLEAR} %s\n", $$1, $$2}' | \
sed -e "s/\${COLOR_HELP_COMMAND}##/${COLOR_HELP_GROUP}/"
check: ## Checks whether Requirements are met
@printf "${BLUE}▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄\n"
@printf "█ Checking Requirements █\n"
@printf "▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀${CLEAR}\n"
@# Check Symfony CLI
@command -v symfony >/dev/null 2>&1 || \
{ \
printf >&2 "${RED}✘ Symfony CLI${YELLOW} is ${RED}not installed${YELLOW}! please install it from:\nhttps://symfony.com/download\n"; \
exit 1; \
}
@printf >&2 "${GREEN}✔ Symfony CLI${BLUE} is ${GREEN}installed${BLUE}!\n"
@# Check PHP
@command -v php >/dev/null 2>&1 || \
{ printf >&2 "${RED}✘ PHP${YELLOW} is ${RED}not installed${YELLOW}!\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}✘ Wrong PHP Version${YELLOW} is installed!\n Version ${RED}$${required_php_version}${YELLOW} is ${RED}required${YELLOW}.\n"; \
symfony local:php:list; \
exit 1; \
} && \
printf >&2 "${GREEN}✔ PHP${BLUE} Version ${GREEN}$${current_php_version}${BLUE} is ${GREEN}installed${BLUE}.\n"
@# Check Composer
@command -v composer >/dev/null 2>&1 || \
{ printf >&2 "${RED}✘ Composer${YELLOW} is ${RED}not installed${YELLOW}!\n"; exit 1;}
@# Check Composer Version
@current_composer_version=$$(composer --version | awk '{print $$3}' | cut -d '.' -f 1) && \
[ "$${current_composer_version}" = "2" ] || \
{ \
printf >&2 "${RED}✘ Wrong Composer Version${YELLOW} is installed!\n Version ${RED}2${YELLOW} is ${RED}required${YELLOW}.\n"; \
exit 1; \
} && \
printf >&2 "${GREEN}✔ Composer${BLUE} Version ${GREEN}$${current_composer_version}${BLUE} is ${GREEN}installed${BLUE}.\n"
@# Check Volta
@command -v volta >/dev/null 2>&1 || \
{ \
printf >&2 "${RED}✘ Volta${YELLOW} is ${RED}not installed${YELLOW}! \n"; \
exit 1; \
}
@printf >&2 "${GREEN}✔ Volta${BLUE} is ${GREEN}installed${BLUE}.\n"
@# Check Node
@command -v node >/dev/null 2>&1 || \
{ printf >&2 "${RED}✘ Node${YELLOW} is ${RED}not installed${YELLOW}!\n"; exit 1;}
@# Check Node Version
@required_node_version=$$(cat package.json | grep -oP '(?<="node": ")([0-9]*)(?=\.[0-9]*\.[0-9]")') && \
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}✘ Wrong Node Version${YELLOW} is installed!\n Version ${RED}$${required_node_version}${YELLOW} is ${RED}required${YELLOW}.\n"; \
exit 1; \
} && \
printf >&2 "${GREEN}✔ Node${BLUE} Version ${GREEN}$${current_node_version}${BLUE} is ${GREEN}installed${BLUE}.\n"
@# Check NPM
@command -v npm >/dev/null 2>&1 || \
{ \
printf >&2 "${RED}✘ NPM${YELLOW} is ${RED}not installed${YELLOW}!\n Install it via Volta.\n"; \
exit 1; \
}
@printf >&2 "${GREEN}✔ NPM${BLUE} is ${GREEN}installed${BLUE}.\n"
@printf >&2 "${RED}TODO:${YELLOW} check for Docker compose.\n"
##|--[ Local Server ]----------------------------------------------| ##|——[ Local Server ]————————————————————————————————————————————————————————————————————|
start: ## Starts the Local Instance up: ## Starts the Local Instance
@make stop @make down -s
make check @make check -s
docker compose up -d @docker compose up -d
symfony local:server:start -d --no-tls @symfony local:server:start -d --no-tls
bash -c '$(npm run watch)& echo $! > ./npm-watch.pid' @bash -c '$$(npm run watch >> var/log/encore.log)& echo $$! > ./npm-watch.pid'
stop: ## Stops the Local Instance down: ## Stops the Local Instance
ifneq (,$(wildcard ./npm-watch.pid)) ifneq (,$(wildcard ./npm-watch.pid))
@printf "${RED}Killing ${YELLOW}Encore${CLEAR}!\n" @printf "${RED}Killing ${YELLOW}Encore${CLEAR}!\n"
kill $$(cat ./npm-watch.pid) kill $$(cat ./npm-watch.pid)
@rm -rf ./npm-watch.pid @rm -rf ./npm-watch.pid
endif endif
symfony local:server:stop @symfony local:server:stop
docker compose down @docker compose down
fresh: ## Starts a Fresh Local Instance fresh: ## Starts a Fresh Local Instance
make stop @make down -s
symfony composer install @symfony composer install -s
npm i @npm i .s
make start @make up .s
make db-demo @make db-demo s
##|--[ Code Quality ]----------------------------------------------|
lint: ## Runs the Linters ##|——[ Code Quality ]————————————————————————————————————————————————————————————————————|
vendor/bin/php-cs-fixer fix --allow-risky=yes test: ## Runs all Unittests
npm run lint:fix vendor/bin/phpunit
php bin/console lint:twig
analyze: ## Runs Static Code Analysis analyze: ## Runs Static Code Analysis
vendor/bin/phpstan analyze vendor/bin/phpstan analyze
test: ## Runs all Unittests lint: ## Runs the Linters
vendor/bin/phpunit @make lint-php -s
@make lint-ts -s
@make lint-twig -s
##|--[ Data ]------------------------------------------------------| lint-php: ## Runs the PHP Linting
vendor/bin/php-cs-fixer fix --allow-risky=yes
lint-ts: ## Runs the Typescript Linting
npm run lint:fix
lint-twig: ## Runs Twig Linting
vendor/bin/twig-cs-fixer lint --fix
php bin/console lint:twig
##|——[ Data ]————————————————————————————————————————————————————————————————————————————|
db-demo: ## Writes the Demo Data to the Local Instance db-demo: ## Writes the Demo Data to the Local Instance
symofny console doctrine:database:drop --if-exists --force symofny console doctrine:database:drop --if-exists --force
symofny console doctrine:database:create symofny console doctrine:database:create

View file

@ -1,9 +1 @@
/*
* Welcome to your app's main JavaScript file!
*
* We recommend including the built version of this JavaScript file
* (and its CSS file) in your base layout (base.html.twig).
*/
// any CSS you import will output into a single css file (app.css in this case)
import './styles/app.scss'; import './styles/app.scss';

99
app/bin/make/check.sh Executable file
View file

@ -0,0 +1,99 @@
#!/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 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 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 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 | 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 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 | grep -oP '(?<="node": ")([0-9]*)(?=\.[0-9]*\.[0-9]")') && \
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"

42
app/bin/make/colors.sh Executable file
View file

@ -0,0 +1,42 @@
#!/bin/bash
# Colors
COLOR_MARKER='\033'
COLOR_START='['
COLOR_END='m'
COLOR_CLEAR='0'
COLOR_FG='3'
COLOR_BG='4'
COLOR_WHITE='8'
COLOR_BLACK='7'
COLOR_RED='1'
COLOR_GREEN='2'
COLOR_YELLOW='3'
COLOR_BLUE='4'
COLOR_MAGENTA='5'
COLOR_CYAN='6'
# Clear Color
CLEAR=${COLOR_MARKER}${COLOR_START}${COLOR_CLEAR}${COLOR_END}
# Set Foreground
WHITE_FG=${COLOR_MARKER}${COLOR_START}${COLOR_WHITE}${COLOR_WHITE}${COLOR_END}
BLACK_FG=${COLOR_MARKER}${COLOR_START}${COLOR_FG}${COLOR_BLACK}${COLOR_END}
RED_FG=${COLOR_MARKER}${COLOR_START}${COLOR_FG}${COLOR_RED}${COLOR_END}
YELLOW_FG=${COLOR_MARKER}${COLOR_START}${COLOR_FG}${COLOR_YELLOW}${COLOR_END}
GREEN_FG=${COLOR_MARKER}${COLOR_START}${COLOR_FG}${COLOR_GREEN}${COLOR_END}
CYAN_FG=${COLOR_MARKER}${COLOR_START}${COLOR_FG}${COLOR_CYAN}${COLOR_END}
BLUE_FG=${COLOR_MARKER}${COLOR_START}${COLOR_FG}${COLOR_BLUE}${COLOR_END}
MAGENTA_FG=${COLOR_MARKER}${COLOR_START}${COLOR_FG}${COLOR_MAGENTA}${COLOR_END}
# Set Background
WHITE_BG=${COLOR_MARKER}${COLOR_START}${COLOR_BG}${COLOR_WHITE}${COLOR_END}
BLACK_BG=${COLOR_MARKER}${COLOR_START}${COLOR_BG}${COLOR_BLACK}${COLOR_END}
RED_BG=${COLOR_MARKER}${COLOR_START}${COLOR_BG}${COLOR_RED}${COLOR_END}
YELLOW_BG=${COLOR_MARKER}${COLOR_START}${COLOR_BG}${COLOR_YELLOW}${COLOR_END}
GREEN_BG=${COLOR_MARKER}${COLOR_START}${COLOR_BG}${COLOR_GREEN}${COLOR_END}
CYAN_BG=${COLOR_MARKER}${COLOR_START}${COLOR_BG}${COLOR_CYAN}${COLOR_END}
BLUE_BG=${COLOR_MARKER}${COLOR_START}${COLOR_BG}${COLOR_BLUE}${COLOR_END}
MAGENTA_BG=${COLOR_MARKER}${COLOR_START}${COLOR_BG}${COLOR_MAGENTA}${COLOR_END}

11
app/bin/make/help.sh Executable file
View file

@ -0,0 +1,11 @@
#!/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}/"

View file

@ -88,6 +88,7 @@
"symfony/css-selector": "6.3.*", "symfony/css-selector": "6.3.*",
"symfony/debug-bundle": "6.3.*", "symfony/debug-bundle": "6.3.*",
"symfony/phpunit-bridge": "^7.0", "symfony/phpunit-bridge": "^7.0",
"symfony/web-profiler-bundle": "6.3.*" "symfony/web-profiler-bundle": "6.3.*",
"vincentlanglet/twig-cs-fixer": "^2.4"
} }
} }

140
app/composer.lock generated
View file

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically" "This file is @generated automatically"
], ],
"content-hash": "da2d735419ac40bad64d8d4693a99044", "content-hash": "2570c00daac6d35734750c2b68354551",
"packages": [ "packages": [
{ {
"name": "doctrine/cache", "name": "doctrine/cache",
@ -8212,6 +8212,144 @@
} }
], ],
"time": "2023-11-20T00:12:19+00:00" "time": "2023-11-20T00:12:19+00:00"
},
{
"name": "vincentlanglet/twig-cs-fixer",
"version": "2.4.4",
"source": {
"type": "git",
"url": "https://github.com/VincentLanglet/Twig-CS-Fixer.git",
"reference": "f9e76645b81df65d64d09d88ce05eaae34def8b6"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/VincentLanglet/Twig-CS-Fixer/zipball/f9e76645b81df65d64d09d88ce05eaae34def8b6",
"reference": "f9e76645b81df65d64d09d88ce05eaae34def8b6",
"shasum": ""
},
"require": {
"composer-runtime-api": "^2.0.0",
"ext-ctype": "*",
"ext-json": "*",
"php": ">=8.0",
"symfony/console": "^5.4.9 || ^6.0 || ^7.0",
"symfony/filesystem": "^5.4 || ^6.0 || ^7.0",
"symfony/finder": "^5.4 || ^6.0 || ^7.0",
"symfony/string": "^5.4 || ^6.0 || ^7.0",
"twig/twig": "^2.14.0 || ^3.0.5",
"webmozart/assert": "^1.10"
},
"require-dev": {
"dereuromark/composer-prefer-lowest": "^0.1.10",
"ergebnis/composer-normalize": "^2.29",
"friendsofphp/php-cs-fixer": "^3.13.0",
"icanhazstring/composer-unused": "^0.8.5",
"infection/infection": "^0.26.16 || ^0.27.0",
"maglnet/composer-require-checker": "^3.8 || ^4.3",
"phpstan/phpstan": "^1.9.1",
"phpstan/phpstan-phpunit": "^1.2.2",
"phpstan/phpstan-strict-rules": "^1.4.4",
"phpstan/phpstan-symfony": "^1.2.16",
"phpstan/phpstan-webmozart-assert": "^1.2.2",
"phpunit/phpunit": "^9.5.26 || ^10.0.9",
"psalm/plugin-phpunit": "^0.18.4",
"psalm/plugin-symfony": "^5.0.0",
"rector/rector": "^1.0.0",
"symfony/process": "^5.4 || ^6.0 || ^7.0",
"symfony/twig-bridge": "^5.4 || ^6.0 || ^7.0",
"symfony/ux-twig-component": "^2.2.0",
"twig/cache-extra": "^3.2",
"vimeo/psalm": "^5.2.0"
},
"bin": [
"bin/twig-cs-fixer"
],
"type": "coding-standard",
"autoload": {
"psr-4": {
"TwigCsFixer\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Vincent Langlet"
}
],
"description": "A tool to automatically fix Twig code style",
"homepage": "https://github.com/VincentLanglet/Twig-CS-Fixer",
"support": {
"issues": "https://github.com/VincentLanglet/Twig-CS-Fixer/issues",
"source": "https://github.com/VincentLanglet/Twig-CS-Fixer/tree/2.4.4"
},
"funding": [
{
"url": "https://github.com/VincentLanglet",
"type": "github"
}
],
"time": "2024-02-19T10:17:09+00:00"
},
{
"name": "webmozart/assert",
"version": "1.11.0",
"source": {
"type": "git",
"url": "https://github.com/webmozarts/assert.git",
"reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991",
"reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991",
"shasum": ""
},
"require": {
"ext-ctype": "*",
"php": "^7.2 || ^8.0"
},
"conflict": {
"phpstan/phpstan": "<0.12.20",
"vimeo/psalm": "<4.6.1 || 4.6.2"
},
"require-dev": {
"phpunit/phpunit": "^8.5.13"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.10-dev"
}
},
"autoload": {
"psr-4": {
"Webmozart\\Assert\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Bernhard Schussek",
"email": "bschussek@gmail.com"
}
],
"description": "Assertions to validate method input/output with nice error messages.",
"keywords": [
"assert",
"check",
"validate"
],
"support": {
"issues": "https://github.com/webmozarts/assert/issues",
"source": "https://github.com/webmozarts/assert/tree/1.11.0"
},
"time": "2022-06-03T18:03:27+00:00"
} }
], ],
"aliases": [], "aliases": [],

View file

@ -253,5 +253,14 @@
}, },
"twig/extra-bundle": { "twig/extra-bundle": {
"version": "v3.7.1" "version": "v3.7.1"
},
"vincentlanglet/twig-cs-fixer": {
"version": "2.4",
"recipe": {
"repo": "github.com/symfony/recipes-contrib",
"branch": "main",
"version": "0.6",
"ref": "e4da12a48e8138479bd24a675321bcfd84950266"
}
} }
} }