phpstan-mcp-mx 0.28.2 → 0.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,25 @@
3
3
  All notable changes per version. Generated by semantic-release from the commit
4
4
  history since 0.10.0; the versions before that were written by hand.
5
5
 
6
+ # [0.29.0](https://codeberg.org/MartijnSchimmel/phpstan-mcp-mx/compare/v0.28.3...v0.29.0) (2026-09-14)
7
+
8
+
9
+ ### Features
10
+
11
+ * report which findings PHPStan does not allow ignoring ([faf61c5](https://codeberg.org/MartijnSchimmel/phpstan-mcp-mx/commit/faf61c5b2a8d4ab6a117453031a8ff4c72a74760))
12
+
13
+
14
+ ### Performance Improvements
15
+
16
+ * skip PHPStan's restart without Xdebug ([58d13de](https://codeberg.org/MartijnSchimmel/phpstan-mcp-mx/commit/58d13dee62d4b5bf89aae8f6f4b00913d68c0361))
17
+
18
+ ## [0.28.3](https://codeberg.org/MartijnSchimmel/phpstan-mcp-mx/compare/v0.28.2...v0.28.3) (2026-09-14)
19
+
20
+
21
+ ### Bug Fixes
22
+
23
+ * stop show_finding from reporting shifted lines and a false "no variable" ([9807a7a](https://codeberg.org/MartijnSchimmel/phpstan-mcp-mx/commit/9807a7a342ba64dbf8ae54fb8b9f91e448be1349))
24
+
6
25
  ## [0.28.2](https://codeberg.org/MartijnSchimmel/phpstan-mcp-mx/compare/v0.28.1...v0.28.2) (2026-09-14)
7
26
 
8
27
 
package/README.md CHANGED
@@ -368,6 +368,12 @@ container or WSL. The project key may be written in your platform's form
368
368
  (`C:\Users\you\admin` or `C:/Users/you/admin`, with or without a trailing slash); it is
369
369
  compared after resolving symlinks, just like the `project` argument itself.
370
370
 
371
+ On the host, the server starts PHPStan with `XDEBUG_MODE=off`: otherwise PHPStan restarts
372
+ itself without Xdebug on every call, which cost 1.3 seconds per call on a machine with Xdebug
373
+ enabled. That variable does not reach a container through `docker exec`. If Xdebug is
374
+ installed in there, add it to the command yourself:
375
+ `["docker", "exec", "-e", "XDEBUG_MODE=off", "-w", "/var/www/html", "admin-app"]`.
376
+
371
377
  **The command comes from the server configuration, never from a tool call.** Like the roots,
372
378
  this is something a human sets once: a model only picks a project, and whether an
373
379
  environment belongs to it is already decided. If a caller could pass in the command, the
@@ -651,11 +657,15 @@ Types right before line 42:
651
657
  - $order->total: int
652
658
  ```
653
659
 
660
+ A finding on the line that PHPStan does not allow ignoring says so, as in an analysis.
661
+
654
662
  The types and the findings come from one run, the same way as `inspect_type`, so the project
655
663
  is not changed. Without `expressions`, the variables and property chains on the line are
656
664
  used, except what only comes into existence there: the target of an assignment, the variables
657
- of a `foreach … as`, and the parameters of a closure. On a line without any variable PHPStan
658
- is not started, and you get only the code. When the file does not parse with the inserted
665
+ of a `foreach … as`, and the parameters of a closure. When that leaves nothing, PHPStan is not
666
+ started and you get only the code, with the reason: no variable at all, or only variables that
667
+ come into existence on that line (which it names). A line number in a message is the one in
668
+ your file, not in the copy with the inserted lines. When the file does not parse with the inserted
659
669
  lines, the line probably does not start a statement (inside a multi-line array or method
660
670
  chain); the answer says so instead of guessing another line.
661
671
 
@@ -919,8 +929,8 @@ rather than existing and refusing every call. All other tools stay read-only.
919
929
 
920
930
  Otherwise the same `paths`, `level`, `config` and `memoryLimit` as an analysis. The response
921
931
  says what still needs to happen, because a baseline that isn't included anywhere does
922
- nothing. If the config already includes it, it says that instead (`included: true`, empty
923
- `advice`):
932
+ nothing. If the config already includes it, it says that instead (`included: true`, and no
933
+ include in `advice`):
924
934
 
925
935
  ```
926
936
  5 error(s) written to phpstan-baseline.neon.
@@ -931,6 +941,24 @@ includes:
931
941
  - phpstan-baseline.neon
932
942
  ```
933
943
 
944
+ Errors PHPStan does not allow ignoring never go into a baseline, and stay reported even once
945
+ it is included. The response counts and names them under `unignorable` (the first ten, with
946
+ `omitted` for the rest), with advice to fix them at the source. PHPStan itself only says
947
+ "Some errors could not be put into baseline"; the server runs it with `-vv`, which is the only
948
+ way it names them.
949
+
950
+ ```
951
+ 1 error(s) written to phpstan-baseline.neon.
952
+
953
+ The config already includes it, so from now on these errors are no longer reported.
954
+
955
+ 2 error(s) cannot be ignored, so PHPStan left them out of the baseline and they are still reported (see unignorable; analyse_project marks them with ignorable: false). Fix them at the source.
956
+
957
+ Not in the baseline, because PHPStan does not allow ignoring them:
958
+ src/test.php: Cannot use [] for reading.
959
+ src/test.php: The (unset) cast is no longer supported in PHP 8.0 and later.
960
+ ```
961
+
934
962
  ### `prune_baseline` (only with write access)
935
963
 
936
964
  Cleans up the baseline without hiding anything new: entries that no longer match anything are
@@ -1054,6 +1082,16 @@ src/Support/Filters/DealFilters.php
1054
1082
  42 argument.type Parameter #1 $id expects int, string given.
1055
1083
  ```
1056
1084
 
1085
+ A finding PHPStan does not allow ignoring gets an extra line, and `ignorable: false` in the
1086
+ structured result. These are errors PHP itself would reject (`cast.unset`,
1087
+ `offsetAccess.noDim`), parse errors, and broken or stale ignores: neither `@phpstan-ignore` nor
1088
+ a baseline hides them. On every other finding the field is left out.
1089
+
1090
+ ```
1091
+ 5 cast.unset The (unset) cast is no longer supported in PHP 8.0 and later.
1092
+ cannot be ignored: neither @phpstan-ignore nor a baseline hides this, so fix it
1093
+ ```
1094
+
1057
1095
  A message that occurs more than once gets its own line under the counts, because the same
1058
1096
  message in several places often has one cause:
1059
1097
 
@@ -90,6 +90,12 @@ export declare function insertProbes(source: string, line: number, expressions:
90
90
  * het oorspronkelijke bestand, anders wijzen ze een of meer regels te ver.
91
91
  */
92
92
  export declare function readProbes(project: string, file: string, probe: Probe, result: AnalysisResult): TypeReport;
93
+ /**
94
+ * Het regelnummer in het oorspronkelijke bestand bij regel `at` van de kopie. Een ingevoegde
95
+ * regel hoort bij de gevraagde regel; alles erna staat zoveel regels lager als er dumps zijn.
96
+ * Gedeeld met `show_finding`, dat ook de regelnummers in de meldingen terugrekent.
97
+ */
98
+ export declare function originalLine(probe: Probe, at: number): number;
93
99
  /**
94
100
  * Waarom een parse-fout geen types oplevert. Met het voorbehoud erbij: de fout kan ook in het
95
101
  * bestand zelf zitten, en dan ligt het niet aan de regel. Gedeeld met `show_finding`, dat
package/dist/dumptype.js CHANGED
@@ -115,7 +115,7 @@ export function readProbes(project, file, probe, result) {
115
115
  const onProbe = at !== null && at >= first && at < first + inserted;
116
116
  if (finding.identifier === 'phpstan.parse') {
117
117
  parseErrors.push({
118
- line: at === null ? null : onProbe ? probe.target : at >= first + inserted ? at - inserted : at,
118
+ line: at === null ? null : originalLine(probe, at),
119
119
  inserted: onProbe,
120
120
  // PHPStan zet het (verschoven) regelnummer ook in de tekst; dat staat nu in `line`.
121
121
  message: finding.message.replace(/ on line \d+$/, ''),
@@ -155,6 +155,18 @@ export function readProbes(project, file, probe, result) {
155
155
  },
156
156
  };
157
157
  }
158
+ /**
159
+ * Het regelnummer in het oorspronkelijke bestand bij regel `at` van de kopie. Een ingevoegde
160
+ * regel hoort bij de gevraagde regel; alles erna staat zoveel regels lager als er dumps zijn.
161
+ * Gedeeld met `show_finding`, dat ook de regelnummers in de meldingen terugrekent.
162
+ */
163
+ export function originalLine(probe, at) {
164
+ const inserted = probe.expressions.length;
165
+ if (at < probe.line) {
166
+ return at;
167
+ }
168
+ return at < probe.line + inserted ? probe.target : at - inserted;
169
+ }
158
170
  /**
159
171
  * Waarom een parse-fout geen types oplevert. Met het voorbehoud erbij: de fout kan ook in het
160
172
  * bestand zelf zitten, en dan ligt het niet aan de regel. Gedeeld met `show_finding`, dat
@@ -1 +1 @@
1
- {"version":3,"file":"dumptype.js","sourceRoot":"","sources":["../src/dumptype.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dumptype.js","sourceRoot":"","sources":["../src/dumptype.ts"],"names":[],"mappings":"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"}
package/dist/finding.d.ts CHANGED
@@ -18,6 +18,8 @@ export interface LineFinding {
18
18
  readonly message: string;
19
19
  readonly identifier: string | null;
20
20
  readonly tip: string | null;
21
+ /** Alleen als PHPStan deze fout niet laat negeren, zoals in het rapport. */
22
+ readonly ignorable?: false;
21
23
  }
22
24
  /** Het antwoord van `show_finding`. */
23
25
  export interface FindingView {
@@ -49,8 +51,8 @@ export interface FindingView {
49
51
  * maar de types niet zien; die komen uit hetzelfde mechanisme als `inspect_type`, een kopie
50
52
  * in editor mode, en dezelfde run levert de bevindingen op die regel.
51
53
  *
52
- * Staat er op de regel geen variabele, dan start PHPStan niet: er valt niets te dumpen, en de
53
- * melding had het model al. Is de regel geen begin van een statement, dan geeft PHPStan een
54
+ * Staat er op de regel niets om te dumpen (geen variabele, of alleen variabelen die daar pas
55
+ * ontstaan), dan start PHPStan niet: de melding had het model al. De uitleg zegt welk van de twee. Is de regel geen begin van een statement, dan geeft PHPStan een
54
56
  * parse-fout; die wordt benoemd, en er wordt niet naar een andere regel gegokt.
55
57
  */
56
58
  export declare function showFinding(project: ResolvedProject, request: FindingRequest, options?: Pick<AnalyseOptions, 'config' | 'memoryLimit' | 'timeoutMs' | 'signal'>): Promise<FindingView>;
@@ -63,5 +65,11 @@ export declare function showFinding(project: ResolvedProject, request: FindingRe
63
65
  * mee; tussen dubbele quotes wel, want daar wordt een variabele ingevuld.
64
66
  */
65
67
  export declare function variablesOn(line: string): string[];
68
+ /**
69
+ * De variabelen die pas op deze regel ontstaan, en die `variablesOn` dus overslaat. Voor de
70
+ * uitleg als er daarna niets te dumpen overblijft: bij `->filter(fn (Tariff $t) => $t->from)`
71
+ * zei die eerst "no variable on this line", terwijl `$t` er gewoon staat.
72
+ */
73
+ export declare function introducedOn(line: string): string[];
66
74
  /** Schrijft de bevinding uit als tekst voor het model. */
67
75
  export declare function renderFinding(view: FindingView): string;
package/dist/finding.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import { readFileSync, statSync } from 'node:fs';
2
- import { MAX_EXPRESSIONS, explainParseFailure, insertProbes, readProbes } from './dumptype.js';
2
+ import { MAX_EXPRESSIONS, explainParseFailure, insertProbes, originalLine, readProbes } from './dumptype.js';
3
3
  import { PhpstanError, analyseEdited, tmpCopyName } from './phpstan.js';
4
4
  import { resolveWithin } from './project.js';
5
- import { displayPath } from './report.js';
5
+ import { NOT_IGNORABLE, displayPath } from './report.js';
6
6
  /** Hoeveel regels er standaard voor en na de regel getoond worden. */
7
7
  export const DEFAULT_CONTEXT = 5;
8
8
  /** Meer is geen context meer maar het bestand; dat hoort bij een tool die het bestand leest. */
@@ -17,8 +17,8 @@ const MAX_LINE_CHARS = 300;
17
17
  * maar de types niet zien; die komen uit hetzelfde mechanisme als `inspect_type`, een kopie
18
18
  * in editor mode, en dezelfde run levert de bevindingen op die regel.
19
19
  *
20
- * Staat er op de regel geen variabele, dan start PHPStan niet: er valt niets te dumpen, en de
21
- * melding had het model al. Is de regel geen begin van een statement, dan geeft PHPStan een
20
+ * Staat er op de regel niets om te dumpen (geen variabele, of alleen variabelen die daar pas
21
+ * ontstaan), dan start PHPStan niet: de melding had het model al. De uitleg zegt welk van de twee. Is de regel geen begin van een statement, dan geeft PHPStan een
22
22
  * parse-fout; die wordt benoemd, en er wordt niet naar een andere regel gegokt.
23
23
  */
24
24
  export async function showFinding(project, request, options = {}) {
@@ -48,7 +48,7 @@ export async function showFinding(project, request, options = {}) {
48
48
  ...base,
49
49
  findings: null,
50
50
  types: [],
51
- typesProblem: 'There is no variable on this line, so PHPStan was not started. Pass expressions to see their types.',
51
+ typesProblem: nothingToProbe(introducedOn(lines[request.line - 1] ?? '')),
52
52
  parseErrors: [],
53
53
  generalErrors: [],
54
54
  warnings: [],
@@ -62,7 +62,12 @@ export async function showFinding(project, request, options = {}) {
62
62
  const verschoven = request.line + probe.expressions.length;
63
63
  const findings = result.findings
64
64
  .filter((finding) => finding.file === file && finding.line === verschoven && finding.identifier !== 'phpstan.parse')
65
- .map((finding) => ({ message: finding.message, identifier: finding.identifier, tip: finding.tip }));
65
+ .map((finding) => ({
66
+ message: withOriginalLines(finding.message, probe),
67
+ identifier: finding.identifier,
68
+ tip: finding.tip,
69
+ ...(finding.ignorable ? {} : { ignorable: false }),
70
+ }));
66
71
  // Dezelfde uitleg als inspect_type, met het voorbehoud: dit stond hier eerst stellig als "de
67
72
  // regel begint geen statement", terwijl de fout ook in het bestand zelf kan zitten.
68
73
  if (report.parseErrors.length > 0) {
@@ -97,17 +102,41 @@ export async function showFinding(project, request, options = {}) {
97
102
  * mee; tussen dubbele quotes wel, want daar wordt een variabele ingevuld.
98
103
  */
99
104
  export function variablesOn(line) {
100
- const code = line
101
- .replace(/'(?:[^'\\]|\\.)*'/g, "''")
102
- .replace(/\/\*.*?\*\//g, '')
103
- .replace(/(?:\/\/|#(?!\[)).*$/, '');
105
+ const code = withoutStringsAndComments(line);
106
+ const nieuw = new Set(introducedIn(code));
107
+ const gevonden = [];
108
+ // `(?!\w)` vóór de lookahead op `(`: anders maakt backtracking van `$a->foo()` een `$a->fo`.
109
+ // Niet na `::`: `self::$x` is een statische property, geen lokale variabele.
110
+ for (const match of code.matchAll(/(?<!::)\$\w+(?:\s*\??->\s*\w+(?!\w)(?!\s*\())*/g)) {
111
+ const expressie = match[0].replace(/\s+/g, '');
112
+ const variabele = /^\$\w+/.exec(expressie)?.[0] ?? '';
113
+ if (expressie === '$this' || nieuw.has(variabele) || gevonden.includes(expressie)) {
114
+ continue;
115
+ }
116
+ gevonden.push(expressie);
117
+ }
118
+ return gevonden.slice(0, MAX_EXPRESSIONS);
119
+ }
120
+ /**
121
+ * De variabelen die pas op deze regel ontstaan, en die `variablesOn` dus overslaat. Voor de
122
+ * uitleg als er daarna niets te dumpen overblijft: bij `->filter(fn (Tariff $t) => $t->from)`
123
+ * zei die eerst "no variable on this line", terwijl `$t` er gewoon staat.
124
+ */
125
+ export function introducedOn(line) {
126
+ return [...introducedIn(withoutStringsAndComments(line))];
127
+ }
128
+ /** Het doel van een toewijzing, de variabelen van een `foreach … as` en de parameters van een closure. */
129
+ function introducedIn(code) {
104
130
  const nieuw = new Set();
105
131
  for (const match of code.matchAll(/(\$\w+)\s*(?:=(?![=>])|\?\?=)/g)) {
106
132
  // `??=` laat een bestaande waarde staan, maar de variabele hoeft nog niet te bestaan.
107
133
  nieuw.add(match[1] ?? '');
108
134
  }
109
135
  for (const match of code.matchAll(/\bas\s+(?:&?\s*(\$\w+)\s*=>\s*)?&?\s*(\$\w+)/g)) {
110
- nieuw.add(match[1] ?? '');
136
+ // Zonder sleutel is de eerste groep leeg; die hoort niet als "variabele" in een melding.
137
+ if (match[1] !== undefined) {
138
+ nieuw.add(match[1]);
139
+ }
111
140
  nieuw.add(match[2] ?? '');
112
141
  }
113
142
  for (const match of code.matchAll(/\b(?:fn|function)\s*&?\s*\(([^)]*)\)/g)) {
@@ -115,18 +144,36 @@ export function variablesOn(line) {
115
144
  nieuw.add(parameter[0]);
116
145
  }
117
146
  }
118
- const gevonden = [];
119
- // `(?!\w)` vóór de lookahead op `(`: anders maakt backtracking van `$a->foo()` een `$a->fo`.
120
- // Niet na `::`: `self::$x` is een statische property, geen lokale variabele.
121
- for (const match of code.matchAll(/(?<!::)\$\w+(?:\s*\??->\s*\w+(?!\w)(?!\s*\())*/g)) {
122
- const expressie = match[0].replace(/\s+/g, '');
123
- const variabele = /^\$\w+/.exec(expressie)?.[0] ?? '';
124
- if (expressie === '$this' || nieuw.has(variabele) || gevonden.includes(expressie)) {
125
- continue;
126
- }
127
- gevonden.push(expressie);
147
+ return nieuw;
148
+ }
149
+ /** Een tekst tussen enkele quotes en commentaar tellen niet mee; tussen dubbele quotes wel. */
150
+ function withoutStringsAndComments(line) {
151
+ return line
152
+ .replace(/'(?:[^'\\]|\\.)*'/g, "''")
153
+ .replace(/\/\*.*?\*\//g, '')
154
+ .replace(/(?:\/\/|#(?!\[)).*$/, '');
155
+ }
156
+ /**
157
+ * Waarom PHPStan niet gestart is. "No variable" alleen als dat ook waar is: staan er wel
158
+ * variabelen die pas op de regel ontstaan, dan noemt de uitleg die, anders leest het model
159
+ * een melding die het met eigen ogen tegengesproken ziet.
160
+ */
161
+ function nothingToProbe(introduced) {
162
+ if (introduced.length === 0) {
163
+ return 'There is no variable on this line, so PHPStan was not started. Pass expressions to see their types.';
128
164
  }
129
- return gevonden.slice(0, MAX_EXPRESSIONS);
165
+ return (`The variables on this line (${introduced.join(', ')}) only come into existence on it, as closure parameters, ` +
166
+ 'assignment targets or foreach variables, so they have no type before it and PHPStan was not started. ' +
167
+ 'Pass expressions to see the types of other values.');
168
+ }
169
+ /**
170
+ * Een melding met de regelnummers van het bestand in plaats van die van de kopie. PHPStan zet
171
+ * soms het regelnummer in de tekst ("No error with identifier X is reported on line N."), en
172
+ * in de kopie staat alles vanaf het invoegpunt lager: nagemeten meldde `show_finding` op regel
173
+ * 257 met drie dumps "on line 260".
174
+ */
175
+ function withOriginalLines(message, probe) {
176
+ return message.replace(/\bon line (\d+)\b/g, (_, line) => `on line ${String(originalLine(probe, Number(line)))}`);
130
177
  }
131
178
  /** Schrijft de bevinding uit als tekst voor het model. */
132
179
  export function renderFinding(view) {
@@ -154,6 +201,9 @@ export function renderFinding(view) {
154
201
  if (finding.tip !== null) {
155
202
  lines.push(` tip: ${finding.tip}`);
156
203
  }
204
+ if (finding.ignorable === false) {
205
+ lines.push(` ${NOT_IGNORABLE}`);
206
+ }
157
207
  }
158
208
  }
159
209
  }
@@ -1 +1 @@
1
- {"version":3,"file":"finding.js","sourceRoot":"","sources":["../src/finding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"finding.js","sourceRoot":"","sources":["../src/finding.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ declare const outputSchema: z.ZodObject<{
10
10
  line: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
11
11
  identifier: z.ZodOptional<z.ZodNullable<z.ZodString>>;
12
12
  tip: z.ZodOptional<z.ZodNullable<z.ZodString>>;
13
+ ignorable: z.ZodOptional<z.ZodBoolean>;
13
14
  }, z.core.$strip>>;
14
15
  }, z.core.$strip>>;
15
16
  errors: z.ZodArray<z.ZodString>;
@@ -61,6 +62,12 @@ export interface Finding {
61
62
  readonly identifier: string | null;
62
63
  /** PHPStans eigen hint bij deze fout, als die er is. */
63
64
  readonly tip: string | null;
65
+ /**
66
+ * Of PHPStan toestaat deze fout te negeren (`canBeIgnored()`). Niet bij een fout die PHP zelf
67
+ * zou weigeren (`cast.unset`, `offsetAccess.noDim`), een parse-fout, of een kapotte of
68
+ * verouderde ignore: die gaan niet in een baseline, en een `@phpstan-ignore` erop werkt niet.
69
+ */
70
+ readonly ignorable: boolean;
64
71
  }
65
72
  /** Uitkomst van een geslaagde analyse ook als er fouten gevonden zijn. */
66
73
  export interface AnalysisResult {
@@ -77,6 +84,31 @@ export interface AnalysisResult {
77
84
  readonly generalErrors: number;
78
85
  };
79
86
  }
87
+ /** Een fout die PHPStan niet in een baseline wilde zetten, zoals `-vv` hem noemt. */
88
+ export interface UnignorableError {
89
+ /** Absoluut pad zoals PHPStan het schrijft; met een runner dat in de omgeving. */
90
+ readonly file: string;
91
+ readonly message: string;
92
+ }
93
+ /**
94
+ * Haalt uit de uitvoer van `--generate-baseline -vv` de fouten die er niet in konden. Per
95
+ * fout staat er de kop, de melding, het pad en een lege regel (nagemeten op PHPStan 2.2.8):
96
+ *
97
+ * Unignorable errors could not be added to the baseline:
98
+ * Cannot use [] for reading.
99
+ * /pad/naar/A.php
100
+ *
101
+ * De laatste regel van een blok is het pad; wat ertussen staat de melding, zodat een melding
102
+ * over meer regels heel blijft. Een blok zonder die twee blijft in de tekst staan: iets wat
103
+ * er anders uitziet dan verwacht stil weglaten, is wat `collectWarnings` ook niet doet.
104
+ *
105
+ * Moet vóór `condenseDetails`: die ontdubbelt identieke regels, en dan verdwijnt de kop van
106
+ * elk blok na het eerste, en het pad bij een tweede fout in hetzelfde bestand.
107
+ */
108
+ export declare function splitUnignorable(stdout: string): {
109
+ rest: string;
110
+ errors: UnignorableError[];
111
+ };
80
112
  /** Hoeveel tekens een foutdetail hoogstens beslaat. */
81
113
  export declare const MAX_DETAIL_CHARS = 2000;
82
114
  /**
@@ -4,6 +4,7 @@ const findingSchema = z.object({
4
4
  line: z.number().nullable().optional(),
5
5
  identifier: z.string().nullable().optional(),
6
6
  tip: z.string().nullable().optional(),
7
+ ignorable: z.boolean().optional(),
7
8
  });
8
9
  const outputSchema = z.object({
9
10
  totals: z.object({ errors: z.number(), file_errors: z.number() }),
@@ -100,6 +101,8 @@ const XDEBUG_NOTE_MAX_REGELS = 8;
100
101
  * stderr met `--debug` (nagemeten: zonder die vlag niet), en zegt niets over de analyse:
101
102
  * alleen dat een debugger niet stopt, en die hangt hier niemand aan. Zonder dit stond hij bij
102
103
  * elke analyse van één bestand als waarschuwing in het antwoord, op elke machine met Xdebug.
104
+ * Sinds `XDEBUG_MODE=off` (`execute`) herstart PHPStan op de host niet meer en staat de melding
105
+ * er daar niet; in een runner, waar die variabele niet aankomt, nog wel.
103
106
  *
104
107
  * Een blok, geen patroon per regel: Symfony breekt de tekst af op de breedte van de terminal,
105
108
  * en de losse regels ertussen ("The process was restarted and it will not") zijn te algemeen
@@ -127,6 +130,9 @@ export function toResult(project, output, stderr) {
127
130
  message: message.message,
128
131
  identifier: message.identifier ?? null,
129
132
  tip: message.tip ?? null,
133
+ // Ontbreekt het veld, dan geldt wat de server tot nu toe aannam: te negeren. Nagemeten
134
+ // schrijft PHPStan (2.2.8) het bij elke bevinding; ontbreken is vooral de vorm van een fixture.
135
+ ignorable: message.ignorable ?? true,
130
136
  });
131
137
  }
132
138
  }
@@ -139,6 +145,50 @@ export function toResult(project, output, stderr) {
139
145
  totals: { fileErrors: output.totals.file_errors, generalErrors: output.totals.errors },
140
146
  };
141
147
  }
148
+ /** De kop die PHPStan met `-vv` boven élke fout zet die niet in de baseline kan. */
149
+ const ONNEGEERBAAR_KOP = /^Unignorable errors could not be added to the baseline:$/i;
150
+ /**
151
+ * Haalt uit de uitvoer van `--generate-baseline -vv` de fouten die er niet in konden. Per
152
+ * fout staat er de kop, de melding, het pad en een lege regel (nagemeten op PHPStan 2.2.8):
153
+ *
154
+ * Unignorable errors could not be added to the baseline:
155
+ * Cannot use [] for reading.
156
+ * /pad/naar/A.php
157
+ *
158
+ * De laatste regel van een blok is het pad; wat ertussen staat de melding, zodat een melding
159
+ * over meer regels heel blijft. Een blok zonder die twee blijft in de tekst staan: iets wat
160
+ * er anders uitziet dan verwacht stil weglaten, is wat `collectWarnings` ook niet doet.
161
+ *
162
+ * Moet vóór `condenseDetails`: die ontdubbelt identieke regels, en dan verdwijnt de kop van
163
+ * elk blok na het eerste, en het pad bij een tweede fout in hetzelfde bestand.
164
+ */
165
+ export function splitUnignorable(stdout) {
166
+ const regels = stdout.split(/\r?\n/);
167
+ const rest = [];
168
+ const errors = [];
169
+ for (let i = 0; i < regels.length; i++) {
170
+ const regel = regels[i] ?? '';
171
+ if (!ONNEGEERBAAR_KOP.test(regel.trim())) {
172
+ rest.push(regel);
173
+ continue;
174
+ }
175
+ let eind = i + 1;
176
+ while (eind < regels.length && (regels[eind] ?? '').trim() !== '' && !ONNEGEERBAAR_KOP.test((regels[eind] ?? '').trim())) {
177
+ eind++;
178
+ }
179
+ const blok = regels.slice(i + 1, eind).map((r) => r.trim());
180
+ const file = blok.at(-1);
181
+ if (blok.length < 2 || file === undefined) {
182
+ rest.push(...regels.slice(i, eind));
183
+ }
184
+ else {
185
+ errors.push({ file, message: blok.slice(0, -1).join('\n') });
186
+ }
187
+ // De lege regel na het blok hoort erbij; de kop van een volgend blok niet.
188
+ i = eind < regels.length && (regels[eind] ?? '').trim() === '' ? eind : eind - 1;
189
+ }
190
+ return { rest: rest.join('\n'), errors };
191
+ }
142
192
  /** Hoeveel tekens een foutdetail hoogstens beslaat. */
143
193
  export const MAX_DETAIL_CHARS = 2000;
144
194
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/phpstan/output.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/phpstan/output.ts"],"names":[],"mappings":"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"}
@@ -40,9 +40,17 @@ export function execute(binary, args, cwd, timeoutMs, signal) {
40
40
  // niet, dus zonder deze regel is zo'n project onanalyseerbaar en de server
41
41
  // erft die agent-variabelen juist altijd, want de client start hem.
42
42
  //
43
+ // XDEBUG_MODE=off scheelt een herstart. Zonder `--xdebug`, en dat geeft de server
44
+ // nooit mee, zet PHPStan Xdebug uit door zichzelf opnieuw te starten
45
+ // (composer/xdebug-handler); die slaat de herstart over als de mode al off is.
46
+ // Nagemeten met Herd (Xdebug 3.5, mode debug,develop): 1,3 s per aanroep, van
47
+ // 3,6 naar 2,3 s voor één bestand op lasouris-lease-admin, en koud 14,8 naar
48
+ // 13,3 s, met dezelfde bevindingen. Een eigen XDEBUG_MODE overschrijven verandert
49
+ // niets aan de uitkomst: zonder `--xdebug` draait PHPStan toch zonder Xdebug.
50
+ //
43
51
  // De tmpdir-variabelen komen uit de projectroot (die is hier de cwd), zodat
44
52
  // elk project zijn eigen resultcache houdt.
45
- env: { ...process.env, PAO_DISABLE: '1', ...tmpDirEnv(cwd) },
53
+ env: { ...process.env, PAO_DISABLE: '1', XDEBUG_MODE: 'off', ...tmpDirEnv(cwd) },
46
54
  });
47
55
  const stdout = [];
48
56
  const stderr = [];