2026-02-04 23:31:53 +01:00
|
|
|
{
|
|
|
|
|
"name": "mintyphp/mintyphp",
|
|
|
|
|
"description": "A refreshingly different PHP web framework that is easy to learn",
|
|
|
|
|
"license": "MIT",
|
|
|
|
|
"authors": [
|
|
|
|
|
{
|
|
|
|
|
"name": "Maurits van der Schee",
|
|
|
|
|
"email": "maurits@vdschee.nl",
|
|
|
|
|
"homepage": "https://www.tqdev.com"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"require": {
|
|
|
|
|
"php": "^8.5",
|
|
|
|
|
"mintyphp/core": "*",
|
add composer-unused, comprehensive docs, and project restructure
- Add icanhazstring/composer-unused as dev dependency for dependency hygiene checks
- Add German documentation (docs/) covering architecture, conventions, workflows, and developer checklists
- Add API layer (ApiAuth, ApiBootstrap, ApiResponse), audit, scheduler, custom fields, and SSO services
- Add Microsoft OIDC SSO, API token management, and user lifecycle features
- Add swagger-ui vendor integration and OpenAPI spec
- Add production Docker setup and bin/ scripts
- Update composer dependencies, config, templates, and frontend assets throughout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 15:27:35 +01:00
|
|
|
"phpmailer/phpmailer": "^7.0",
|
|
|
|
|
"dompdf/dompdf": "^3.1",
|
|
|
|
|
"endroid/qr-code": "^6.0",
|
2026-04-01 19:41:56 +02:00
|
|
|
"league/commonmark": "^2.8",
|
|
|
|
|
"opis/json-schema": "^2.6"
|
2026-02-04 23:31:53 +01:00
|
|
|
},
|
|
|
|
|
"require-dev": {
|
|
|
|
|
"mintyphp/tools": "*",
|
|
|
|
|
"mintyphp/debugger": "*",
|
|
|
|
|
"phpunit/phpunit": "*",
|
2026-04-14 09:02:43 +02:00
|
|
|
"phpstan/phpstan": "^2.1",
|
2026-03-05 11:17:42 +01:00
|
|
|
"icanhazstring/composer-unused": "^0.9.6",
|
2026-04-14 09:02:43 +02:00
|
|
|
"friendsofphp/php-cs-fixer": "^3.66",
|
|
|
|
|
"tomasvotruba/unused-public": "^2.2"
|
2026-02-04 23:31:53 +01:00
|
|
|
},
|
|
|
|
|
"autoload-dev": {
|
|
|
|
|
"psr-4": {
|
refactor(audit): extract audit domain into self-contained module
Move the entire audit subsystem (system audit, API audit, import audit,
user lifecycle audit, frontend telemetry) from core into modules/audit/.
Core decoupling via interface-based injection:
- AuditRecorderInterface replaces SystemAuditService in 10+ core services
- UserLifecycleAuditInterface / ImportAuditInterface for specialized flows
- NullAuditRecorder fallback when audit module is disabled
- ApiBootstrap/ApiResponse use null-safe callable resolvers
Module structure (modules/audit/):
- Manifest with routes, permissions, scheduler jobs, authorization policy
- 9 services, 8 repositories, 6 domain enums, 4 job handlers
- 33 page files, 4 JS files, 8 test files, migration scripts, i18n
Core cleanup:
- OperationsAuthorizationPolicy, UiCapabilityMap, PermissionService
surgically cleaned of audit-specific constants
- Sidebar template cleared of hardcoded audit navigation
- AuditModuleIsolationContractTest ensures no future core→module coupling
All quality gates pass: 1346 tests (19,276 assertions), PHPStan level 5
clean, architecture contracts verified.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 21:12:49 +01:00
|
|
|
"MintyPHP\\Tests\\": "tests/",
|
2026-04-02 17:48:27 +02:00
|
|
|
"MintyPHP\\Tests\\Module\\Audit\\": "modules/audit/tests/Module/Audit/",
|
|
|
|
|
"MintyPHP\\Tests\\Module\\Helpdesk\\": "modules/helpdesk/tests/Module/Helpdesk/"
|
2026-02-04 23:31:53 +01:00
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"autoload": {
|
|
|
|
|
"psr-4": {
|
2026-04-13 23:20:05 +02:00
|
|
|
"MintyPHP\\": "core/",
|
2026-04-02 17:48:27 +02:00
|
|
|
"MintyPHP\\Module\\Audit\\": "modules/audit/lib/Module/Audit/",
|
|
|
|
|
"MintyPHP\\Module\\Helpdesk\\": "modules/helpdesk/lib/Module/Helpdesk/"
|
2026-02-04 23:31:53 +01:00
|
|
|
}
|
2026-03-05 11:17:42 +01:00
|
|
|
},
|
|
|
|
|
"scripts": {
|
2026-04-01 16:38:58 +02:00
|
|
|
"cs:check": "php-cs-fixer fix --config=tools/php-cs-fixer/.php-cs-fixer.dist.php --dry-run --diff --verbose",
|
|
|
|
|
"cs:fix": "php-cs-fixer fix --config=tools/php-cs-fixer/.php-cs-fixer.dist.php --verbose"
|
2026-02-04 23:31:53 +01:00
|
|
|
}
|
|
|
|
|
}
|