diff --git a/.editorconfig b/.editorconfig
index cd8eb86..7382bb8 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -11,5 +11,5 @@ end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
-[*.md]
-trim_trailing_whitespace = false
+[*.{yml,yaml}]
+indent_size = 2
diff --git a/composer.json b/composer.json
index 3dc32d1..d1fae7f 100644
--- a/composer.json
+++ b/composer.json
@@ -21,7 +21,7 @@
},
"require-dev": {
"codeigniter/coding-standard": "^1.1",
- "codeigniter4/codeigniter4": "dev-develop",
+ "codeigniter4/framework": "^4.2.3",
"fakerphp/faker": "^1.9",
"mockery/mockery": "^1.0",
"nexusphp/cs-config": "^3.1",
@@ -45,12 +45,6 @@
"Tests\\Support\\": "tests/_support"
}
},
- "repositories": [
- {
- "type": "vcs",
- "url": "https://github.com/codeigniter4/CodeIgniter4"
- }
- ],
"minimum-stability": "dev",
"prefer-stable": true,
"scripts": {
@@ -58,18 +52,21 @@
"bash -c \"if [ -f admin/setup.sh ]; then bash admin/setup.sh; fi\""
],
"analyze": "phpstan analyze",
+ "sa": "@analyze",
"ci": [
"Composer\\Config::disableProcessTimeout",
+ "@cs",
"@deduplicate",
"@analyze",
- "@test",
"@inspect",
- "@style"
+ "@test"
],
+ "cs": "php-cs-fixer fix --ansi --verbose --dry-run --diff",
+ "cs-fix": "php-cs-fixer fix --ansi --verbose --diff --using-cache=yes",
+ "style": "@cs-fix",
"deduplicate": "phpcpd app/ src/",
"inspect": "deptrac analyze --cache-file=build/deptrac.cache",
"mutate": "infection --threads=2 --skip-initial-tests --coverage=build/phpunit",
- "style": "php-cs-fixer fix --verbose --ansi --using-cache=no",
"test": "phpunit"
}
}
diff --git a/depfile.yaml b/depfile.yaml
deleted file mode 100644
index 23e144a..0000000
--- a/depfile.yaml
+++ /dev/null
@@ -1,155 +0,0 @@
-paths:
- - ./src
- - ./vendor/codeigniter4/codeigniter4/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:
diff --git a/deptrac.yaml b/deptrac.yaml
new file mode 100644
index 0000000..3b8c5ef
--- /dev/null
+++ b/deptrac.yaml
@@ -0,0 +1,156 @@
+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:
diff --git a/phpstan.neon.dist b/phpstan.neon.dist
index 4d2089e..60fc715 100644
--- a/phpstan.neon.dist
+++ b/phpstan.neon.dist
@@ -5,7 +5,7 @@ parameters:
- src
- tests
bootstrapFiles:
- - vendor/codeigniter4/codeigniter4/system/Test/bootstrap.php
+ - vendor/codeigniter4/framework/system/Test/bootstrap.php
excludePaths:
- src/Config/Routes.php
- src/Views/*
@@ -15,7 +15,7 @@ parameters:
- CodeIgniter\Entity\Entity
- Faker\Generator
scanDirectories:
- - vendor/codeigniter4/codeigniter4/system/Helpers
+ - vendor/codeigniter4/framework/system/Helpers
dynamicConstantNames:
- APP_NAMESPACE
- CI_DEBUG
diff --git a/phpunit.xml.dist b/phpunit.xml.dist
index a90a1f2..6204cc6 100644
--- a/phpunit.xml.dist
+++ b/phpunit.xml.dist
@@ -1,7 +1,7 @@
-
+
-
+