Files
firefly-iii/mago.toml
2026-03-18 05:26:50 +01:00

78 lines
2.6 KiB
TOML

# Welcome to Mago!
# For full documentation, see https://mago.carthage.software/tools/overview
php-version = "8.5.0"
[source]
workspace = "."
paths = ["app/", "database/factories/", "database/migrations/", "database/seeders/", "tests/", "resources/lang/en_US"]
includes = ["vendor"]
excludes = []
[formatter]
print-width = 160
tab-width = 4
use-tabs = false
trailing-comma = false
method-chain-breaking-style = "same_line"
preserve-breaking-array-like = true
align-assignment-like = true
null-type-hint = "null_pipe"
sort-class-methods = true
[linter]
integrations = ["symfony", "laravel", "phpunit"]
excludes = ["app/Providers/AppServiceProvider.php"] # Additionally excluded from linter only
[linter.rules]
halstead = { effort-threshold = 250000, volume-threshold = 200000, difficulty-threshold = 1000, enabled = true } # way too high
cyclomatic-complexity = { enabled = true, threshold = 255 } # way too high
kan-defect = { enabled = true, threshold = 20 } # way too high
too-many-properties = { enabled = true, threshold = 25 } # way too high
no-request-all = { enabled = true }
prefer-view-array = { enabled = false } # to be continued.
assertion-style = { enabled = false }
no-boolean-flag-parameter = { enabled = false }
prefer-static-closure = { enabled = false }
no-literal-password = { enabled = false }
too-many-enum-cases = { enabled = false }
tagged-fixme = { enabled = false }
excessive-parameter-list = { enabled = false }
prefer-first-class-callable={ enabled = false }
prefer-arrow-function = { enabled = false }
ambiguous-function-call = { enabled = false } # very specific rule.
literal-named-argument = { enabled = false } # insanely specific.
prefer-early-continue = { enabled = false } # does NOT improve readability.
middleware-in-routes = { enabled = false } # I like to do this.
too-many-methods = { enabled = false, threshold = 100 } # arbitrary nonsense.
tagged-todo = { enabled = false } # weird rule
[analyzer]
find-unused-definitions = true
find-unused-expressions = true
analyze-dead-code = false
memoize-properties = true
allow-possibly-undefined-array-keys = true
check-throws = true
check-missing-override = false
find-unused-parameters = false
strict-list-index-checks = false
no-boolean-literal-comparison = false
check-missing-type-hints = false
register-super-globals = true
# deze mag iedereen
[[guard.perimeter.rules]]
namespace = "FireflyIII\\"
permit = ["Carbon\\Carbon"]
# guard rules
[[guard.perimeter.rules]]
namespace = "FireflyIII\\Services"
permit = ["@self", "@native","FireflyIII\\Models"]
[[guard.perimeter.rules]]
namespace = "FireflyIII\\Transformers"
permit = ["@self", "@native","FireflyIII\\Models"]