CodeIgniter4/deptrac.yaml

251 lines
5.8 KiB
YAML
Raw Normal View History

2022-05-05 17:31:05 +09:00
# Defines the layers for each framework
# component and their allowed interactions.
# The following components are exempt
# due to their global nature:
# - CLI & Commands
# - Config
# - Debug
# - Exception
# - Service
# - Validation\FormatRules
parameters:
paths:
- ./app
- ./system
exclude_files:
- '#.*test.*#i'
layers:
- name: API
collectors:
- type: className
regex: ^Codeigniter\\API\\.*
- name: Cache
collectors:
- type: className
regex: ^Codeigniter\\Cache\\.*
- name: Controller
collectors:
- type: className
regex: ^CodeIgniter\\Controller$
- name: Cookie
collectors:
- type: className
regex: ^Codeigniter\\Cookie\\.*
- name: Database
collectors:
- type: className
regex: ^Codeigniter\\Database\\.*
- name: Email
collectors:
- type: className
regex: ^Codeigniter\\Email\\.*
- name: Encryption
collectors:
- type: className
regex: ^Codeigniter\\Encryption\\.*
- name: Entity
collectors:
- type: className
regex: ^Codeigniter\\Entity\\.*
- name: Events
collectors:
- type: className
regex: ^Codeigniter\\Events\\.*
- name: Files
collectors:
- type: className
regex: ^Codeigniter\\Files\\.*
- name: Filters
collectors:
- type: bool
must:
- type: className
regex: ^Codeigniter\\Filters\\Filter.*
- name: Format
collectors:
- type: className
regex: ^Codeigniter\\Format\\.*
- name: Honeypot
collectors:
- type: className
regex: ^Codeigniter\\.*Honeypot.* # includes the Filter
- name: HTTP
collectors:
- type: bool
must:
- type: className
regex: ^Codeigniter\\HTTP\\.*
must_not:
- type: className
regex: (Exception|URI)
- name: I18n
collectors:
- type: className
regex: ^Codeigniter\\I18n\\.*
- name: Images
collectors:
- type: className
regex: ^Codeigniter\\Images\\.*
- name: Language
collectors:
- type: className
regex: ^Codeigniter\\Language\\.*
- name: Log
collectors:
- type: className
regex: ^Codeigniter\\Log\\.*
- name: Model
collectors:
- type: className
regex: ^Codeigniter\\.*Model$
- name: Modules
collectors:
- type: className
regex: ^Codeigniter\\Modules\\.*
- name: Pager
collectors:
- type: className
regex: ^Codeigniter\\Pager\\.*
- name: Publisher
collectors:
- type: className
regex: ^Codeigniter\\Publisher\\.*
- name: RESTful
collectors:
- type: className
regex: ^Codeigniter\\RESTful\\.*
- name: Router
collectors:
- type: className
regex: ^Codeigniter\\Router\\.*
- name: Security
collectors:
- type: className
regex: ^Codeigniter\\Security\\.*
- name: Session
collectors:
- type: className
regex: ^Codeigniter\\Session\\.*
- name: Throttle
collectors:
- type: className
regex: ^Codeigniter\\Throttle\\.*
- name: Typography
collectors:
- type: className
regex: ^Codeigniter\\Typography\\.*
- name: URI
collectors:
- type: className
regex: ^CodeIgniter\\HTTP\\URI$
- name: Validation
collectors:
- type: bool
must:
- type: className
regex: ^Codeigniter\\Validation\\.*
must_not:
- type: className
regex: ^Codeigniter\\Validation\\FormatRules$
- name: View
collectors:
- type: className
regex: ^Codeigniter\\View\\.*
ruleset:
API:
- Format
- HTTP
2022-11-13 23:12:14 +07:00
Cache:
- I18n
2022-05-05 17:31:05 +09:00
Controller:
- HTTP
- Validation
2022-11-14 16:54:30 +08:00
Cookie:
- I18n
2022-05-05 17:31:05 +09:00
Database:
- Entity
- Events
2022-11-18 15:12:53 +08:00
- I18n
2022-05-05 17:31:05 +09:00
Email:
- I18n
2022-05-05 17:31:05 +09:00
- Events
Entity:
- I18n
2022-11-16 15:30:44 +07:00
Files:
- I18n
2022-05-05 17:31:05 +09:00
Filters:
- HTTP
Honeypot:
- Filters
- HTTP
HTTP:
- Cookie
- Files
2022-11-16 15:30:44 +07:00
- I18n
2022-05-05 17:31:05 +09:00
- Security
- URI
Images:
- Files
2022-11-16 15:30:44 +07:00
- I18n
2022-05-05 17:31:05 +09:00
Model:
- Database
- I18n
- Pager
- Validation
Pager:
- URI
- View
Publisher:
- Files
- URI
RESTful:
- +API
- +Controller
Router:
- HTTP
Security:
- Cookie
2022-11-16 15:30:44 +07:00
- I18n
2022-05-05 17:31:05 +09:00
- Session
- HTTP
Session:
- Cookie
- HTTP
- Database
- I18n
2022-05-05 17:31:05 +09:00
Throttle:
- Cache
2022-11-16 15:30:44 +07:00
- I18n
2022-05-05 17:31:05 +09:00
Validation:
- HTTP
View:
- Cache
skip_violations:
# Individual class exemptions
CodeIgniter\Cache\PageCache:
- CodeIgniter\HTTP\CLIRequest
- CodeIgniter\HTTP\IncomingRequest
- CodeIgniter\HTTP\ResponseInterface
2022-05-05 17:31:05 +09:00
CodeIgniter\Entity\Cast\URICast:
- CodeIgniter\HTTP\URI
CodeIgniter\Log\Handlers\ChromeLoggerHandler:
- CodeIgniter\HTTP\ResponseInterface
CodeIgniter\View\Table:
- CodeIgniter\Database\BaseResult
CodeIgniter\View\Plugins:
- CodeIgniter\HTTP\URI
# BC changes that should be fixed
CodeIgniter\HTTP\ResponseTrait:
- CodeIgniter\Pager\PagerInterface
CodeIgniter\HTTP\ResponseInterface:
- CodeIgniter\Pager\PagerInterface
CodeIgniter\HTTP\Response:
- CodeIgniter\Pager\PagerInterface
CodeIgniter\HTTP\RedirectResponse:
- CodeIgniter\Pager\PagerInterface
CodeIgniter\HTTP\DownloadResponse:
- CodeIgniter\Pager\PagerInterface
CodeIgniter\Validation\Validation:
- CodeIgniter\View\RendererInterface