Revert "Merge branch 'dev' into main"
Cascade Main -> Dev / Cascade main -> dev (push) Has been cancelled
Sync Workflows to Repos / sync (push) Has been cancelled

This reverts commit 11d19e304b, reversing
changes made to 4d89767b6b.
This commit is contained in:
2026-07-10 16:26:01 -05:00
parent 11d19e304b
commit 842b93cdf6
74 changed files with 995 additions and 3329 deletions
+28 -16
View File
@@ -1,20 +1,32 @@
# Copyright (C) 2026 Moko Consulting <hello@mokoconsulting.tech>
# SPDX-License-Identifier: GPL-3.0-or-later
# FILE INFORMATION
# DEFGROUP: Config.StaticAnalysis
# INGROUP: Development
# BRIEF: PHPStan configuration for Joomla extension static analysis
#
# PHPStan configuration for Joomla extension repositories.
# Extends the base MokoStandards config and adds Joomla framework class stubs
# so PHPStan can resolve Factory, CMSApplication, User, Table, etc.
# without requiring a full Joomla installation.
parameters:
level: 5
paths:
- src
scanDirectories:
# Joomla framework stubs (if available)
- vendor/joomla
ignoreErrors:
# Joomla service-container architecture: Factory/Container returns mixed
- '#Call to an undefined method Joomla\\CMS\\Application\\.*::get#i'
- '#Call to method .* on an unknown class Joomla\\Cms\\Extension\\.*#'
# Joomla MVC pattern: Table::getInstance returns Table|bool
- '#Method Joomla\\CMS\\Table\\Table::getInstance#'
level: 5
paths:
- src
excludePaths:
- vendor
- node_modules
# Joomla framework stubs — resolved via the enterprise package from vendor/
stubFiles:
- vendor/mokoconsulting-tech/enterprise/templates/stubs/joomla.php
# Suppress errors that are structural in Joomla's service-container architecture
ignoreErrors:
# Joomla's service-based dependency injection returns mixed from getApplication()
- '#Cannot call method .+ on Joomla\\CMS\\Application\\CMSApplication\|null#'
# Factory::getX() patterns are safe at runtime even when nullable in stubs
- '#Call to static method [a-zA-Z]+\(\) on an interface#'
reportUnmatchedIgnoredErrors: false
checkMissingIterableValueType: false
checkGenericClassInNonGenericObjectType: false