You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

157 lines
3.4 KiB
YAML

parameters:
paths:
- ./src/
- ./vendor/codeigniter4/framework/system/
exclude_files:
- '#.*test.*#i'
layers:
- name: Model
collectors:
- type: bool
must:
- type: className
regex: .*[A-Za-z]+Model$
must_not:
- type: directory
regex: vendor/.*
- name: Vendor Model
collectors:
- type: bool
must:
- type: className
regex: .*[A-Za-z]+Model$
- type: directory
regex: vendor/.*
- name: Controller
collectors:
- type: bool
must:
- type: className
regex: .*\/Controllers\/.*
must_not:
- type: directory
regex: vendor/.*
- name: Vendor Controller
collectors:
- type: bool
must:
- type: className
regex: .*\/Controllers\/.*
- type: directory
regex: vendor/.*
- name: Config
collectors:
- type: bool
must:
- type: directory
regex: src/Config/.*
must_not:
- type: className
regex: .*Services
- type: directory
regex: vendor/.*
- name: Vendor Config
collectors:
- type: bool
must:
- type: directory
regex: vendor/.*/Config/.*
must_not:
- type: className
regex: .*Services
- name: Entity
collectors:
- type: bool
must:
- type: directory
regex: src/Entities/.*
must_not:
- type: directory
regex: vendor/.*
- name: Vendor Entity
collectors:
- type: bool
must:
- type: directory
regex: vendor/.*/Entities/.*
- name: View
collectors:
- type: bool
must:
- type: directory
regex: src/Views/.*
must_not:
- type: directory
regex: vendor/.*
- name: Vendor View
collectors:
- type: bool
must:
- type: directory
regex: vendor/.*/Views/.*
- name: Service
collectors:
- type: className
regex: .*Services.*
ruleset:
Entity:
- Config
- Model
- Service
- Vendor Config
- Vendor Entity
- Vendor Model
Config:
- Service
- Vendor Config
Model:
- Config
- Entity
- Service
- Vendor Config
- Vendor Entity
- Vendor Model
Service:
- Config
- Vendor Config
# Ignore anything in the Vendor layers
Vendor Model:
- Config
- Service
- Vendor Config
- Vendor Controller
- Vendor Entity
- Vendor Model
- Vendor View
Vendor Controller:
- Service
- Vendor Config
- Vendor Controller
- Vendor Entity
- Vendor Model
- Vendor View
Vendor Config:
- Config
- Service
- Vendor Config
- Vendor Controller
- Vendor Entity
- Vendor Model
- Vendor View
Vendor Entity:
- Service
- Vendor Config
- Vendor Controller
- Vendor Entity
- Vendor Model
- Vendor View
Vendor View:
- Service
- Vendor Config
- Vendor Controller
- Vendor Entity
- Vendor Model
- Vendor View
skip_violations: