From 65ebd4f72e9f871ddd835e08d1a426d71c021387 Mon Sep 17 00:00:00 2001 From: Denny Septian Panggabean <97607754+ddevsr@users.noreply.github.com> Date: Tue, 19 Aug 2025 17:44:55 +0700 Subject: [PATCH 1/2] refactor: change qossmic/deptrac-shim has abanddoned refactor: replace className to classLike refactor: change to classNameRegex Update deptrac.yaml Update deptrac.yaml Update deptrac.yaml --- .github/workflows/test-deptrac.yml | 2 +- deptrac.yaml | 72 +++++++++++++++--------------- 2 files changed, 37 insertions(+), 37 deletions(-) diff --git a/.github/workflows/test-deptrac.yml b/.github/workflows/test-deptrac.yml index 7ce0052a2732..f8bcc03ed2b7 100644 --- a/.github/workflows/test-deptrac.yml +++ b/.github/workflows/test-deptrac.yml @@ -80,7 +80,7 @@ jobs: - name: Run architectural inspection run: | - composer require --dev qossmic/deptrac-shim + composer require --dev deptrac/deptrac vendor/bin/deptrac analyze --cache-file=build/deptrac.cache env: GITHUB_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/deptrac.yaml b/deptrac.yaml index 178de9a74fd7..5ea19eede96f 100644 --- a/deptrac.yaml +++ b/deptrac.yaml @@ -8,7 +8,7 @@ # - Exception # - Service # - Validation\FormatRules -parameters: +deptrac: paths: - ./app - ./system @@ -17,147 +17,147 @@ parameters: layers: - name: API collectors: - - type: className + - type: classNameRegex regex: ^Codeigniter\\API\\.* - name: Cache collectors: - - type: className + - type: classNameRegex regex: ^Codeigniter\\Cache\\.* - name: Controller collectors: - - type: className + - type: classNameRegex regex: ^CodeIgniter\\Controller$ - name: Cookie collectors: - - type: className + - type: classNameRegex regex: ^Codeigniter\\Cookie\\.* - name: Database collectors: - - type: className + - type: classNameRegex regex: ^Codeigniter\\Database\\.* - name: DataCaster collectors: - - type: className + - type: classNameRegex regex: ^Codeigniter\\DataCaster\\.* - name: DataConverter collectors: - - type: className + - type: classNameRegex regex: ^Codeigniter\\DataConverter\\.* - name: Email collectors: - - type: className + - type: classNameRegex regex: ^Codeigniter\\Email\\.* - name: Encryption collectors: - - type: className + - type: classNameRegex regex: ^Codeigniter\\Encryption\\.* - name: Entity collectors: - - type: className + - type: classNameRegex regex: ^Codeigniter\\Entity\\.* - name: Events collectors: - - type: className + - type: classNameRegex regex: ^Codeigniter\\Events\\.* - name: Files collectors: - - type: className + - type: classNameRegex regex: ^Codeigniter\\Files\\.* - name: Filters collectors: - type: bool must: - - type: className + - type: classNameRegex regex: ^Codeigniter\\Filters\\Filter.* - name: Format collectors: - - type: className + - type: classNameRegex regex: ^Codeigniter\\Format\\.* - name: Honeypot collectors: - - type: className + - type: classNameRegex regex: ^Codeigniter\\.*Honeypot.* # includes the Filter - name: HTTP collectors: - type: bool must: - - type: className + - type: classNameRegex regex: ^Codeigniter\\HTTP\\.* must_not: - - type: className + - type: classNameRegex regex: (Exception|URI) - name: I18n collectors: - - type: className + - type: classNameRegex regex: ^Codeigniter\\I18n\\.* - name: Images collectors: - - type: className + - type: classNameRegex regex: ^Codeigniter\\Images\\.* - name: Language collectors: - - type: className + - type: classNameRegex regex: ^Codeigniter\\Language\\.* - name: Log collectors: - - type: className + - type: classNameRegex regex: ^Codeigniter\\Log\\.* - name: Model collectors: - - type: className + - type: classNameRegex regex: ^Codeigniter\\.*Model$ - name: Modules collectors: - - type: className + - type: classNameRegex regex: ^Codeigniter\\Modules\\.* - name: Pager collectors: - - type: className + - type: classNameRegex regex: ^Codeigniter\\Pager\\.* - name: Publisher collectors: - - type: className + - type: classNameRegex regex: ^Codeigniter\\Publisher\\.* - name: RESTful collectors: - - type: className + - type: classNameRegex regex: ^Codeigniter\\RESTful\\.* - name: Router collectors: - - type: className + - type: classNameRegex regex: ^Codeigniter\\Router\\.* - name: Security collectors: - - type: className + - type: classNameRegex regex: ^Codeigniter\\Security\\.* - name: Session collectors: - - type: className + - type: classNameRegex regex: ^Codeigniter\\Session\\.* - name: Throttle collectors: - - type: className + - type: classNameRegex regex: ^Codeigniter\\Throttle\\.* - name: Typography collectors: - - type: className + - type: classNameRegex regex: ^Codeigniter\\Typography\\.* - name: URI collectors: - - type: className + - type: classNameRegex regex: ^CodeIgniter\\HTTP\\URI$ - name: Validation collectors: - type: bool must: - - type: className + - type: classNameRegex regex: ^Codeigniter\\Validation\\.* must_not: - - type: className + - type: classNameRegex regex: ^Codeigniter\\Validation\\FormatRules$ - name: View collectors: - - type: className + - type: classNameRegex regex: ^Codeigniter\\View\\.* ruleset: API: From ab356474ccfff51a7dabd7ab774be1f30369cd4d Mon Sep 17 00:00:00 2001 From: Denny Septian Panggabean Date: Thu, 4 Sep 2025 14:01:00 +0700 Subject: [PATCH 2/2] fix: layers correctness & case sensitive yaml style yaml style try try try try --- deptrac.yaml | 71 ++++++++++++++++++++++++++-------------------------- 1 file changed, 36 insertions(+), 35 deletions(-) diff --git a/deptrac.yaml b/deptrac.yaml index 5ea19eede96f..7f5687af4bca 100644 --- a/deptrac.yaml +++ b/deptrac.yaml @@ -18,147 +18,148 @@ deptrac: - name: API collectors: - type: classNameRegex - regex: ^Codeigniter\\API\\.* + value: '/^CodeIgniter\\API\\.*$/' - name: Cache collectors: - type: classNameRegex - regex: ^Codeigniter\\Cache\\.* + value: '/^CodeIgniter\\Cache\\.*$/' - name: Controller collectors: - type: classNameRegex - regex: ^CodeIgniter\\Controller$ + value: '/^CodeIgniter\\Controller$/' - name: Cookie collectors: - type: classNameRegex - regex: ^Codeigniter\\Cookie\\.* + value: '/^CodeIgniter\\Cookie\\.*$/' - name: Database collectors: - type: classNameRegex - regex: ^Codeigniter\\Database\\.* + value: '/^CodeIgniter\\Database\\.*$/' - name: DataCaster collectors: - type: classNameRegex - regex: ^Codeigniter\\DataCaster\\.* + value: '/^CodeIgniter\\DataCaster\\.*$/' - name: DataConverter collectors: - type: classNameRegex - regex: ^Codeigniter\\DataConverter\\.* + value: '/^CodeIgniter\\DataConverter\\.*$/' - name: Email collectors: - type: classNameRegex - regex: ^Codeigniter\\Email\\.* + value: '/^CodeIgniter\\Email\\.*$/' - name: Encryption collectors: - type: classNameRegex - regex: ^Codeigniter\\Encryption\\.* + value: '/^CodeIgniter\\Encryption\\.*$/' - name: Entity collectors: - type: classNameRegex - regex: ^Codeigniter\\Entity\\.* + value: '/^CodeIgniter\\Entity\\.*$/' - name: Events collectors: - type: classNameRegex - regex: ^Codeigniter\\Events\\.* + value: '/^CodeIgniter\\Events\\.*$/' - name: Files collectors: - type: classNameRegex - regex: ^Codeigniter\\Files\\.* + value: '/^CodeIgniter\\Files\\.*$/' - name: Filters collectors: - type: bool must: - type: classNameRegex - regex: ^Codeigniter\\Filters\\Filter.* + value: '/^CodeIgniter\\Filters\\Filter.*$/' - name: Format collectors: - type: classNameRegex - regex: ^Codeigniter\\Format\\.* + value: '/^CodeIgniter\\Format\\.*$/' - name: Honeypot collectors: - type: classNameRegex - regex: ^Codeigniter\\.*Honeypot.* # includes the Filter + # includes the Filter + value: '/^CodeIgniter\\.*Honeypot.*$/' - name: HTTP collectors: - type: bool must: - type: classNameRegex - regex: ^Codeigniter\\HTTP\\.* + value: '/^CodeIgniter\\HTTP\\.*$/' must_not: - type: classNameRegex - regex: (Exception|URI) + value: '(Exception|URI)' - name: I18n collectors: - type: classNameRegex - regex: ^Codeigniter\\I18n\\.* + value: '/^CodeIgniter\\I18n\\.*$/' - name: Images collectors: - type: classNameRegex - regex: ^Codeigniter\\Images\\.* + value: '/^CodeIgniter\\Images\\.*$/' - name: Language collectors: - type: classNameRegex - regex: ^Codeigniter\\Language\\.* + value: '/^CodeIgniter\\Language\\.*$/' - name: Log collectors: - type: classNameRegex - regex: ^Codeigniter\\Log\\.* + value: '/^CodeIgniter\\Log\\.*$/' - name: Model collectors: - type: classNameRegex - regex: ^Codeigniter\\.*Model$ + value: '/^CodeIgniter\\.*Model$/' - name: Modules collectors: - type: classNameRegex - regex: ^Codeigniter\\Modules\\.* + value: '/^CodeIgniter\\Modules\\.*$/' - name: Pager collectors: - type: classNameRegex - regex: ^Codeigniter\\Pager\\.* + value: '/^CodeIgniter\\Pager\\.*$/' - name: Publisher collectors: - type: classNameRegex - regex: ^Codeigniter\\Publisher\\.* + value: '/^CodeIgniter\\Publisher\\.*$/' - name: RESTful collectors: - type: classNameRegex - regex: ^Codeigniter\\RESTful\\.* + value: '/^CodeIgniter\\RESTful\\.*$/' - name: Router collectors: - type: classNameRegex - regex: ^Codeigniter\\Router\\.* + value: '/^CodeIgniter\\Router\\.*$/' - name: Security collectors: - type: classNameRegex - regex: ^Codeigniter\\Security\\.* + value: '/^CodeIgniter\\Security\\.*$/' - name: Session collectors: - type: classNameRegex - regex: ^Codeigniter\\Session\\.* + value: '/^CodeIgniter\\Session\\.*$/' - name: Throttle collectors: - type: classNameRegex - regex: ^Codeigniter\\Throttle\\.* + value: '/^CodeIgniter\\Throttle\\.*$/' - name: Typography collectors: - type: classNameRegex - regex: ^Codeigniter\\Typography\\.* + value: '/^CodeIgniter\\Typography\\.*$/' - name: URI collectors: - type: classNameRegex - regex: ^CodeIgniter\\HTTP\\URI$ + value: '/^CodeIgniter\\HTTP\\URI$/' - name: Validation collectors: - type: bool must: - type: classNameRegex - regex: ^Codeigniter\\Validation\\.* + value: '/^CodeIgniter\\Validation\\.*$/' must_not: - type: classNameRegex - regex: ^Codeigniter\\Validation\\FormatRules$ + value: '/^CodeIgniter\\Validation\\FormatRules$/' - name: View collectors: - type: classNameRegex - regex: ^Codeigniter\\View\\.* + value: '/^CodeIgniter\\View\\.*$/' ruleset: API: - Format