From f26eaba7beccf2ff7b6730e3cdccdd10ffcc6c40 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sun, 17 Mar 2024 08:54:30 +0100 Subject: [PATCH 1/3] deptrac instalation --- .gitignore | 5 +++++ composer.json | 1 + composer.lock | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++- deptrac.yaml | 30 +++++++++++++++++++++++++++ importmap.php | 3 +++ symfony.lock | 12 +++++++++++ 6 files changed, 107 insertions(+), 1 deletion(-) create mode 100644 deptrac.yaml diff --git a/.gitignore b/.gitignore index c51e38625..59a6ae8d2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ +.idea /public/build/fonts/glyphicons-* /public/build/images/glyphicons-* @@ -22,3 +23,7 @@ /public/assets/ /assets/vendor ###< symfony/asset-mapper ### + +###> qossmic/deptrac-shim ### +/.deptrac.cache +###< qossmic/deptrac-shim ### diff --git a/composer.json b/composer.json index 69a0f9ead..8966b6905 100644 --- a/composer.json +++ b/composer.json @@ -56,6 +56,7 @@ "phpstan/phpstan": "^1.2", "phpstan/phpstan-doctrine": "^1.3", "phpstan/phpstan-symfony": "^1.2", + "qossmic/deptrac-shim": "^1.0", "symfony/browser-kit": "^7.0", "symfony/css-selector": "^7.0", "symfony/debug-bundle": "^7.0", diff --git a/composer.lock b/composer.lock index 221ca001d..99d1d64a6 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "0b3c251bfee5cd3e7eb00c85999b13ce", + "content-hash": "272755586a701b25e7e43ebc5ff798c9", "packages": [ { "name": "composer/semver", @@ -8508,6 +8508,61 @@ }, "time": "2024-01-10T21:54:42+00:00" }, + { + "name": "qossmic/deptrac-shim", + "version": "1.0.2", + "source": { + "type": "git", + "url": "https://github.com/qossmic/deptrac-shim.git", + "reference": "3179a2c4978654add865309e3c280ef3d60f0043" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/qossmic/deptrac-shim/zipball/3179a2c4978654add865309e3c280ef3d60f0043", + "reference": "3179a2c4978654add865309e3c280ef3d60f0043", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-tokenizer": "*", + "ext-zlib": "*", + "php": "^8.1" + }, + "replace": { + "qossmic/deptrac": "self.version" + }, + "suggest": { + "ext-dom": "For using the JUnit output formatter" + }, + "bin": [ + "deptrac" + ], + "type": "library", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Tim Glabisch" + }, + { + "name": "Simon Mönch", + "email": "simon.moench@qossmic.com" + }, + { + "name": "Denis Brumann", + "email": "denis.brumann@qossmic.com", + "role": "maintainer" + } + ], + "description": "deptrac phar distribution", + "support": { + "issues": "https://github.com/qossmic/deptrac-shim/issues", + "source": "https://github.com/qossmic/deptrac-shim/tree/1.0.2" + }, + "time": "2022-12-02T11:47:53+00:00" + }, { "name": "symfony/browser-kit", "version": "v7.0.3", diff --git a/deptrac.yaml b/deptrac.yaml new file mode 100644 index 000000000..a96bbd0ee --- /dev/null +++ b/deptrac.yaml @@ -0,0 +1,30 @@ +parameters: + paths: + - ./src + exclude_files: + - '#.*test.*#' + layers: + - + name: Controller + collectors: + - + type: className + regex: .*Controller.* + - + name: Repository + collectors: + - + type: className + regex: .*Repository.* + - + name: Service + collectors: + - + type: className + regex: .*Service.* + ruleset: + Controller: + - Service + Service: + - Repository + Repository: diff --git a/importmap.php b/importmap.php index d8931af23..16d0c0b06 100644 --- a/importmap.php +++ b/importmap.php @@ -112,4 +112,7 @@ 'bootstrap-tagsinput' => [ 'version' => '0.7.1', ], + '@symfony/ux-live-component' => [ + 'path' => './vendor/symfony/ux-live-component/assets/dist/live_controller.js', + ], ]; diff --git a/symfony.lock b/symfony.lock index 2c32e8a58..dc09c408a 100644 --- a/symfony.lock +++ b/symfony.lock @@ -149,6 +149,18 @@ "psr/log": { "version": "1.1.4" }, + "qossmic/deptrac-shim": { + "version": "1.0", + "recipe": { + "repo": "github.com/symfony/recipes-contrib", + "branch": "main", + "version": "0.19", + "ref": "3c3daab46226c37fc14e10faf81df737a3039d96" + }, + "files": [ + "deptrac.yaml" + ] + }, "symfony/apache-pack": { "version": "1.0", "recipe": { From 42de6f022ca5dc91f7f1fdf78420538e40f95d12 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sun, 17 Mar 2024 11:31:02 +0100 Subject: [PATCH 2/3] deptrac layers --- deptrac.yaml | 41 ++++++++++++++++++++++++----------------- 1 file changed, 24 insertions(+), 17 deletions(-) diff --git a/deptrac.yaml b/deptrac.yaml index a96bbd0ee..236d2d222 100644 --- a/deptrac.yaml +++ b/deptrac.yaml @@ -1,30 +1,37 @@ +imports: + - deptrac.baseline.yaml parameters: paths: - ./src exclude_files: - '#.*test.*#' layers: - - - name: Controller + - name: Controller collectors: - - - type: className - regex: .*Controller.* - - - name: Repository + - type: className + regex: App\\Controller.* + - name: Command collectors: - - - type: className - regex: .*Repository.* - - - name: Service + - type: className + regex: App\\Command.* + - name: Persistence collectors: - - - type: className - regex: .*Service.* + - type: className + regex: App\\(Entity|Repository|Pagination).* + - name: Service + collectors: + - type: className + regex: App\\(Event|EventSubscriber|Form|Security|Utils).* ruleset: Controller: - Service + Command: + - Service Service: - - Repository - Repository: + - Persistence + Persistence: + formatters: + graphviz: + hidden_layers: [] + groups: [] + point_to_groups: false From ff9f3db5ee733b17d0b5ff7a623dd54f2d549e3b Mon Sep 17 00:00:00 2001 From: Your Name Date: Sun, 17 Mar 2024 11:31:34 +0100 Subject: [PATCH 3/3] deptrac baseline --- deptrac.baseline.yaml | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 deptrac.baseline.yaml diff --git a/deptrac.baseline.yaml b/deptrac.baseline.yaml new file mode 100644 index 000000000..ae9c04366 --- /dev/null +++ b/deptrac.baseline.yaml @@ -0,0 +1,25 @@ +deptrac: + skip_violations: + App\Command\AddUserCommand: + - App\Entity\User + - App\Repository\UserRepository + App\Command\DeleteUserCommand: + - App\Entity\User + - App\Repository\UserRepository + App\Command\ListUsersCommand: + - App\Entity\User + - App\Repository\UserRepository + App\Controller\Admin\BlogController: + - App\Entity\Post + - App\Entity\User + - App\Repository\PostRepository + App\Controller\BlogController: + - App\Entity\Comment + - App\Entity\Post + - App\Entity\User + - App\Repository\PostRepository + - App\Repository\TagRepository + App\Controller\SecurityController: + - App\Entity\User + App\Controller\UserController: + - App\Entity\User