-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathphpstan.neon
More file actions
37 lines (35 loc) · 2.16 KB
/
Copy pathphpstan.neon
File metadata and controls
37 lines (35 loc) · 2.16 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
# Pipelinq — Conduction PHPStan config.
#
# The shared base is the single source of truth. Everything here is either the
# app's own tracked debt or an ignore naming a symbol that exists in no other
# fleet app. Anything you are tempted to add that another app would also need
# belongs in the base, not here.
includes:
- vendor/conduction/hydra-gates/quality-config/phpstan-base.neon
# Per-app tracked lint debt (auto-generated via `phpstan --generate-baseline`).
- phpstan-baseline.neon
parameters:
# App-specific only. The base already sets level, paths, bootstrapFiles,
# excludePaths, scanDirectories and every fleet-wide ignore.
scanDirectories:
# Declaration-only stubs for OpenRegister/Talk contracts (soft runtime
# dependencies, resolved only when those apps are installed). Scanned —
# never analysed, never autoloaded at runtime (PSR-4 maps only
# OCA\Pipelinq\ -> lib/); the real classes win whenever OpenRegister is
# enabled.
#
# These 34 stub files were already in the repo and already covered every
# unresolved class, but this line was missing, so phpstan never read them.
# phpstan REFUSES to ignoreErrors the "extends/implements unknown class"
# category ("cannot be ignored, use excludePaths instead"), so the contract
# has to be resolvable — there is no suppression route for these.
- tests/Stubs
ignoreErrors:
# ObjectService is not on the analysis path, so PHPStan cannot verify its named
# parameters. These three are real — they are how OpenRegister sanctions a
# system-context (CLI / repair-step) read+write, where there is no session and
# RBAC would otherwise fail closed. See Repair\NormaliseTicketTitle.
- '#Unknown parameter \$(_rbac|_multitenancy|currentUser) in call to method OCA\\OpenRegister\\Service\\ObjectService::#'
# RemoveRetiredAvgJobs unregisters deleted job classes by bare class name;
# the deleted classes are no longer class-string<IJob> for static analysis (ADR-047 Phase-3)
- '#Parameter \#1 \$job of method OCP\\BackgroundJob\\IJobList::remove\(\) expects#'