-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathcomposer.json
More file actions
124 lines (124 loc) · 7.55 KB
/
Copy pathcomposer.json
File metadata and controls
124 lines (124 loc) · 7.55 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
{
"name": "conductionnl/integriq",
"description": "Gateway and Service bus funtionality",
"license": "EUPL-1.2",
"authors": [
{
"name": "Conduction b.v.",
"email": "info@conduction.nl",
"homepage": "https://conduction.nl"
}
],
"autoload": {
"psr-4": {
"OCA\\Integriq\\": "lib/"
}
},
"autoload-dev": {
"psr-4": {
"OCA\\Integriq\\Tests\\": "tests/"
}
},
"scripts": {
"post-install-cmd": [
"@composer bin all install --ansi",
"git config core.hooksPath .githooks || true"
],
"post-update-cmd": [
"@composer bin all update --ansi"
],
"lint": "find . -name \\*.php -not -path './vendor/*' -not -path './vendor-bin/*' -not -path './build/*' -print0 | xargs -0 -n1 php -l",
"cs:check": "php-cs-fixer fix --dry-run --diff",
"cs:fix": "php-cs-fixer fix",
"phpcs": "./vendor/bin/phpcs --standard=phpcs.xml",
"phpcs:fix": "./vendor/bin/phpcbf --standard=phpcs.xml",
"phpcs:output": "./vendor/bin/phpcs --standard=phpcs.xml --report=json lib/ 2>/dev/null | tail -1 > phpcs-output.json",
"phpmd": "E=0; ./vendor/bin/phpmd lib text phpmd.xml --baseline-file phpmd.baseline.xml || E=$?; ./vendor/bin/phpmd lib text vendor/conduction/hydra-gates/quality-config/phpmd-unusedparams.xml --baseline-file phpmd.baseline.xml || E=$?; exit $E",
"phpmetrics": "./vendor/bin/phpmetrics --report-html=phpmetrics lib/",
"phpmetrics:violations": "./vendor/bin/phpmetrics --violations-xml=phpmetrics/violations.xml lib/",
"psalm": "./vendor/bin/psalm --threads=1 --no-cache",
"test:unit": "./vendor/bin/phpunit --colors=always --no-coverage",
"test:all": "./vendor/bin/phpunit --colors=always --no-coverage",
"openapi": "generate-spec",
"phpstan": "./vendor/bin/phpstan analyse --memory-limit=1G",
"check": "E=0; for CMD in lint phpcs psalm test:unit; do echo; echo \"=== $CMD ===\"; composer $CMD || E=1; done; echo; if [ $E -eq 0 ]; then echo \"ALL CHECKS PASSED\"; else echo \"SOME CHECKS FAILED (see above)\"; fi; exit $E",
"check:full": "E=0; for CMD in lint phpcs psalm phpstan test:all; do echo; echo \"=== $CMD ===\"; composer $CMD || E=1; done; echo; if [ $E -eq 0 ]; then echo \"ALL CHECKS PASSED\"; else echo \"SOME CHECKS FAILED (see above)\"; fi; exit $E",
"check:strict": "E=0; for CMD in check:no-legacy-types check:routes lint phpcs phpmd psalm phpstan test:all; do echo; echo \"=== $CMD ===\"; composer $CMD || E=1; done; echo; if [ $E -eq 0 ]; then echo \"ALL CHECKS PASSED\"; else echo \"SOME CHECKS FAILED (see above)\"; fi; exit $E",
"check:routes": "php tests/scripts/check-routes.php",
"check:no-legacy-types": "if grep -rEn 'use OCA\\\\\\\\Integriq\\\\\\\\Db\\\\\\\\(Source|Consumer|Endpoint|Event|EventMessage|EventSubscription|Job|JobLog|Mapping|Rule|Synchronization|SynchronizationContract|SynchronizationContractLog|SynchronizationLog|CallLog|SourceMapper|ConsumerMapper|EndpointMapper|EventMapper|EventMessageMapper|EventSubscriptionMapper|JobMapper|JobLogMapper|MappingMapper|RuleMapper|SynchronizationMapper|SynchronizationContractMapper|SynchronizationContractLogMapper|SynchronizationLogMapper|CallLogMapper)( |;|\\\\\\\\)' lib/ tests/ 2>/dev/null; then echo 'FAIL: deleted OCA\\\\Integriq\\\\Db\\\\* type import found above. The 15 entity + 15 mapper classes were deleted in chain C; use \\\\OCA\\\\OpenRegister\\\\Service\\\\ObjectService with register/schema named parameters instead.'; exit 1; else echo 'check:no-legacy-types: PASS'; fi",
"fix": [
"@cs:fix"
],
"test:coverage": "./vendor/bin/phpunit --coverage-html=coverage/html --coverage-clover=coverage/clover.xml --colors=always",
"coverage:check": "php tests/scripts/check-coverage.php",
"quality:phpcs-score": "./vendor/bin/phpcs --standard=phpcs.xml --report=json lib/ | php -r \"\\$json = json_decode(file_get_contents('php://stdin'), true); \\$errors = \\$json['totals']['errors'] ?? 0; \\$warnings = \\$json['totals']['warnings'] ?? 0; \\$score = 1000 - \\$errors - (\\$warnings / 2); echo 'PHPCS Score: ' . \\$score . ' (Errors: ' . \\$errors . ', Warnings: ' . \\$warnings . ')' . PHP_EOL;\"",
"quality:phpmd-score": "phpmd lib/ json phpmd.xml | php -r \"\\$input = file_get_contents('php://stdin'); \\$json = json_decode(\\$input, true); \\$violations = count(\\$json['files'] ?? []); \\$score = 1000 - (\\$violations * 10); echo 'PHPMD Score: ' . \\$score . ' (Violations: ' . \\$violations . ')' . PHP_EOL;\" || echo 'PHPMD not available'",
"quality:psalm-score": "./vendor/bin/psalm --output-format=json --no-cache | php -r \"\\$input = file_get_contents('php://stdin'); \\$json = json_decode(\\$input, true); \\$errors = count(\\$json ?? []); \\$score = 1000 - (\\$errors * 5); echo 'Psalm Score: ' . \\$score . ' (Errors: ' . \\$errors . ')' . PHP_EOL;\" || echo 'Psalm not available'",
"quality:phpstan-score": "./vendor/bin/phpstan analyse --memory-limit=1G --error-format=json --no-progress | php -r \"\\$input = file_get_contents('php://stdin'); \\$json = json_decode(\\$input, true); \\$errors = \\$json['totals']['file_errors'] ?? 0; \\$score = 1000 - (\\$errors * 5); echo 'PHPStan Score: ' . \\$score . ' (Errors: ' . \\$errors . ')' . PHP_EOL;\" || echo 'PHPStan not available'",
"quality:score": [
"@quality:phpcs-score",
"@quality:phpmd-score",
"@quality:psalm-score",
"@quality:phpstan-score"
]
},
"require": {
"php": "^8.3",
"ext-dom": "*",
"ext-libxml": "*",
"ext-simplexml": "*",
"adbario/php-dot-notation": "^3.3",
"bamarni/composer-bin-plugin": "^1.8",
"elasticsearch/elasticsearch": "^v9.5.0",
"guzzlehttp/guzzle": "^7.12.1",
"jwadhams/json-logic-php": "^1.5",
"php-soap/ext-soap-engine": "^1.7",
"php-soap/psr18-transport": "^1.7",
"react/async": "^4.3",
"react/event-loop": "^1.5",
"react/promise": "^3.2",
"symfony/console": "^7.4",
"symfony/css-selector": "^7.2",
"symfony/dom-crawler": "^7.2",
"symfony/expression-language": "^6.4",
"symfony/http-foundation": "^7.4.13",
"symfony/http-kernel": "^6.4",
"symfony/options-resolver": "^7.0",
"symfony/uid": "^6.4",
"symfony/var-exporter": "^7.2.5",
"symfony/yaml": "^6.4.40",
"twig/twig": "^3.27.0",
"web-token/jwt-library": "^4.2.1"
},
"require-dev": {
"conduction/coding-standard": "^1.0",
"conduction/hydra-gates": "^1.8.2",
"cyclonedx/cyclonedx-php-composer": "^6.2",
"nextcloud/ocp": "^34.0",
"phpcsstandards/phpcsextra": "^1.5",
"phpmd/phpmd": "^2.15",
"phpmetrics/phpmetrics": "^2.8",
"phpstan/phpstan": "^2.0",
"phpunit/phpunit": "^10.5",
"roave/security-advisories": "dev-latest",
"squizlabs/php_codesniffer": "^3.9",
"vimeo/psalm": "^5.26"
},
"config": {
"allow-plugins": {
"bamarni/composer-bin-plugin": true,
"php-http/discovery": true,
"cyclonedx/cyclonedx-php-composer": true,
"phpro/grumphp": true,
"dealerdirect/phpcodesniffer-composer-installer": true
},
"audit": {
"abandoned": "report"
},
"optimize-autoloader": true,
"sort-packages": true,
"platform": {
"php": "8.3"
}
}
}