Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
f98a223
Merge branch 'main' into develop
jbourdin May 3, 2026
0f254c2
chore(deps): remove unused stimulus-bundle and ux-turbo, refresh deps
jbourdin May 3, 2026
10d3019
chore(deps): remove unused symfony/amazon-sqs-messenger
jbourdin May 3, 2026
f5ba306
chore(infra): add Twig-CS-Fixer for template style enforcement
jbourdin May 3, 2026
725c20c
chore(infra): restore declare(strict_types) + license header in bundl…
jbourdin May 3, 2026
53bfd3c
Merge pull request #508 from jbourdin/chore/remove-unused-stimulus-turbo
jbourdin May 3, 2026
0496d69
test(deck): add BannedCardImageResolver, BannedCardEnricher, AdminBan…
jbourdin May 3, 2026
b87c335
test(deck): add BannedCardSeedData, command, repo + form tests
jbourdin May 3, 2026
aa11a4d
Merge pull request #509 from jbourdin/test/banned-card-coverage-backfill
jbourdin May 3, 2026
e546b40
test(deck): cover sprite subsystem + register tests/Form & tests/Sent…
jbourdin May 3, 2026
4457a25
Merge pull request #510 from jbourdin/test/coverage-backfill-second-pass
jbourdin May 3, 2026
ee2f0b2
test(api): backfill admin Page + MenuCategory controller coverage
jbourdin May 3, 2026
b852875
Merge pull request #511 from jbourdin/test/admin-controller-coverage
jbourdin May 3, 2026
41547d1
test(deck): cover PdfDecklistGenerator + PdfLabelGenerator (319 LOC a…
jbourdin May 3, 2026
05fb6d2
test(api): cover AdminTechnical actions, DeckShow PDF routes, mosaic …
jbourdin May 3, 2026
7ce1ada
Merge pull request #512 from jbourdin/test/pdf-generators-coverage
jbourdin May 3, 2026
a25fec1
Merge pull request #513 from jbourdin/test/medium-coverage-batch
jbourdin May 3, 2026
a84a57e
fix(deck): render format + latestSet at the right spot in deck forms
jbourdin May 3, 2026
b8663f1
Merge pull request #514 from jbourdin/fix/deck-form-field-order
jbourdin May 3, 2026
8bb218e
docs(changelog): add 1.9.4 release notes
jbourdin May 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,9 @@ jobs:
- name: PHP-CS-Fixer (dry-run)
run: php vendor/bin/php-cs-fixer fix --dry-run --diff

- name: Twig-CS-Fixer (dry-run)
run: php vendor/bin/twig-cs-fixer lint templates/

- name: PHPStan
run: php vendor/bin/phpstan analyse --memory-limit=512M
env:
Expand Down
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,10 @@ yarn-error.log
/.php-cs-fixer.cache
###< friendsofphp/php-cs-fixer ###

###> vincentlanglet/twig-cs-fixer ###
/.twig-cs-fixer.cache
###< vincentlanglet/twig-cs-fixer ###

# IDE
.idea/
.vscode/
Expand Down
20 changes: 20 additions & 0 deletions .twig-cs-fixer.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<?php

declare(strict_types=1);

/*
* This file is part of the Expanded Decks project.
*
* (c) Expanded Decks contributors
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/

$finder = new TwigCsFixer\File\Finder();
$finder->in(__DIR__.'/templates');

$config = new TwigCsFixer\Config\Config();
$config->setFinder($finder);

return $config;
3 changes: 3 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,7 @@ Run **before every commit/push**:

```bash
make cs-fix # Fix code style (PHP-CS-Fixer)
make twig-cs-fix # Fix Twig template style (Twig-CS-Fixer)
make eslint-fix # Fix ESLint issues (TS/JS)
make stylelint-fix # Fix SCSS/CSS style issues
make phpstan # Static analysis
Expand Down Expand Up @@ -272,6 +273,8 @@ When creating new features or backlog items, create a GitHub issue with the feat
| `make test.front` | Vitest frontend tests | Before every commit (frontend changes) |
| `make coverage` | PHPUnit with pcov coverage report | When coverage data is needed |
| `make cs-check` | PHP-CS-Fixer dry-run (no changes) | CI / review only |
| `make twig-cs-fix` | Twig-CS-Fixer — auto-fix template style | Before every commit (Twig changes) |
| `make twig-cs-check` | Twig-CS-Fixer dry-run (no changes) | CI / review only |
| `make eslint` | ESLint on `assets/` (check only) | CI / review only |
| `make eslint-fix` | ESLint on `assets/` with auto-fix | Before every commit (frontend changes) |
| `make stylelint` | Lint SCSS and CSS files | Before every commit (frontend changes) |
Expand Down
10 changes: 9 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ assets.watch: ## Build frontend assets and watch for changes
## —— Quality —————————————————————————————————————————————————————————

.PHONY: lint-all
lint-all: lint-yaml lint-i18n cs-fix eslint-fix stylelint-fix lint-container phpstan ## Run all linters and fixers
lint-all: lint-yaml lint-i18n cs-fix twig-cs-fix eslint-fix stylelint-fix lint-container phpstan ## Run all linters and fixers

.PHONY: test
test: ## Run test suite
Expand Down Expand Up @@ -152,6 +152,14 @@ cs-fix test.phpcs.fix: ## Fix code style with PHP-CS-Fixer
cs-check test.phpcs: ## Check code style (dry-run)
symfony php vendor/bin/php-cs-fixer fix --dry-run --diff

.PHONY: twig-cs-fix
twig-cs-fix: ## Fix Twig template style with Twig-CS-Fixer
symfony php vendor/bin/twig-cs-fixer lint --fix templates/

.PHONY: twig-cs-check
twig-cs-check: ## Check Twig template style (dry-run)
symfony php vendor/bin/twig-cs-fixer lint templates/

.PHONY: lint-i18n
lint-i18n: ## Validate translation files (syntax + content)
symfony console lint:xliff translations/
Expand Down
32 changes: 15 additions & 17 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,20 +23,19 @@
"phpdocumentor/reflection-docblock": "^6.0.3",
"phpstan/phpdoc-parser": "^2.3.2",
"sentry/sentry-symfony": "^5.10",
"symfony/amazon-sqs-messenger": "^8.0.6",
"symfony/asset": "^8.0.8",
"symfony/asset-mapper": "^8.0.8",
"symfony/console": "^8.0.8",
"symfony/asset-mapper": "^8.0.9",
"symfony/console": "^8.0.9",
"symfony/doctrine-messenger": "^8.0.6",
"symfony/dotenv": "^8.0.8",
"symfony/dotenv": "^8.0.9",
"symfony/expression-language": "^8.0.8",
"symfony/flex": "^2.10",
"symfony/form": "^8.0.8",
"symfony/framework-bundle": "^8.0.8",
"symfony/http-client": "^8.0.8",
"symfony/form": "^8.0.9",
"symfony/framework-bundle": "^8.0.9",
"symfony/http-client": "^8.0.9",
"symfony/intl": "^8.0.8",
"symfony/mailer": "^8.0.8",
"symfony/mime": "^8.0.8",
"symfony/mime": "^8.0.9",
"symfony/monolog-bundle": "^3.0|^4.0.2",
"symfony/notifier": "^8.0.8",
"symfony/process": "^8.0.8",
Expand All @@ -45,16 +44,14 @@
"symfony/runtime": "^8.0.8",
"symfony/security-bundle": "^8.0.8",
"symfony/serializer": "^8.0.8",
"symfony/stimulus-bundle": "^2.35",
"symfony/string": "^8.0.8",
"symfony/translation": "^8.0.8",
"symfony/twig-bundle": "^8.0.8",
"symfony/uid": "^8.0.8",
"symfony/ux-turbo": "^2.35",
"symfony/validator": "^8.0.8",
"symfony/uid": "^8.0.9",
"symfony/validator": "^8.0.9",
"symfony/web-link": "^8.0.8",
"symfony/webpack-encore-bundle": "^2.4",
"symfony/workflow": "^8.0.8",
"symfony/workflow": "^8.0.9",
"symfony/yaml": "^8.0.8",
"twig/extra-bundle": "^2.12|^3.24",
"twig/twig": "^2.12|^3.24"
Expand Down Expand Up @@ -119,15 +116,16 @@
"require-dev": {
"doctrine/doctrine-fixtures-bundle": "^4.3.1",
"friendsofphp/php-cs-fixer": "^3.95.1",
"phpstan/phpstan": "^2.1.51",
"phpstan/phpstan": "^2.1.54",
"phpstan/phpstan-doctrine": "^2.0.21",
"phpstan/phpstan-symfony": "^2.0.15",
"phpunit/phpunit": "^13.1.7",
"phpunit/phpunit": "^13.1.8",
"symfony/browser-kit": "^8.0.8",
"symfony/css-selector": "^8.0.8",
"symfony/css-selector": "^8.0.9",
"symfony/debug-bundle": "^8.0.8",
"symfony/maker-bundle": "^1.67",
"symfony/stopwatch": "^8.0.8",
"symfony/web-profiler-bundle": "^8.0.8"
"symfony/web-profiler-bundle": "^8.0.9",
"vincentlanglet/twig-cs-fixer": "^3.14"
}
}
Loading
Loading