phpstan-mcp-mx 0.23.0 → 0.24.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/dist/unmatched.js CHANGED
@@ -5,7 +5,7 @@ import { readIncludedBaselines } from './baseline.js';
5
5
  import { PhpstanError, analyse, writeInRunner } from './phpstan.js';
6
6
  import { resolveWithin } from './project.js';
7
7
  import { DEFAULT_LIMIT, MAX_LIMIT, displayPath, limitMessages } from './report.js';
8
- import { naarOmgeving, runnerFor } from './runner.js';
8
+ import { naarHost, naarOmgeving, runnerFor } from './runner.js';
9
9
  import { TmpDirError, projectTmpDir } from './tmpdir.js';
10
10
  /** Naam van de tijdelijke config, in de tijdelijke map van het project. */
11
11
  const CONFIG_NAME = 'unmatched-ignores.neon';
@@ -13,6 +13,11 @@ const CONFIG_NAME = 'unmatched-ignores.neon';
13
13
  const SUMMARY_ROWS = 15;
14
14
  /** Hoe lang een patroon mag zijn in het antwoord; een baseline-regex kan lang uitvallen. */
15
15
  const MAX_PATTERN_CHARS = 300;
16
+ /**
17
+ * Hoeveel verouderde inline ignores het antwoord hoogstens noemt. Geen paginering zoals bij de
18
+ * baseline: het zijn er hoogstens zoveel als er in de code staan, en elk is maar een regel.
19
+ */
20
+ const MAX_INLINE = 100;
16
21
  /**
17
22
  * Draait een volledige analyse met `reportUnmatchedIgnoredErrors` aan en levert de
18
23
  * negeerregels die niets meer doen.
@@ -34,16 +39,24 @@ export async function findUnmatchedIgnores(project, options = {}, window = {}) {
34
39
  `${project.path} has no phpstan.neon(.dist); without a config there are no ignore rules to check.`,
35
40
  ]);
36
41
  }
42
+ const result = await analyseUnmatched(project, project.config, options);
43
+ return buildUnmatchedReport(project.path, result, baselines, window);
44
+ }
45
+ /**
46
+ * De analyse zelf, met `reportUnmatchedIgnoredErrors` aan: de ruwe uitslag, zonder rapport.
47
+ * Apart omdat `prune_baseline` dezelfde run nodig heeft, met de volledige patronen in
48
+ * plaats van de ingekorte uit het rapport.
49
+ */
50
+ export async function analyseUnmatched(project, configName, options = {}) {
37
51
  // Met een runner draait PHPStan in een omgeving die de tijdelijke map van de host niet
38
52
  // ziet; dan komt de config in de tijdelijke map van díe omgeving, met het include-pad
39
53
  // zoals het daar heet. Ín het project zetten zou ook werken, maar dan schrijft een
40
54
  // read-only tool in de repository.
41
55
  const runner = runnerFor(project.path);
42
56
  const config = runner === null
43
- ? writeUnmatchedConfig(project, project.config)
44
- : await writeInRunner(project, `${CONFIG_PREFIX}-${projectHash(project.path)}.neon`, unmatchedConfig(naarOmgeving(runner, project.path, resolveWithin(project, project.config))), options);
45
- const result = await analyse(project, { ...options, config });
46
- return buildUnmatchedReport(project.path, result, baselines, window);
57
+ ? writeUnmatchedConfig(project, configName)
58
+ : await writeInRunner(project, `${CONFIG_PREFIX}-${projectHash(project.path)}.neon`, unmatchedConfig(naarOmgeving(runner, project.path, resolveWithin(project, configName))), options);
59
+ return analyse(project, { ...options, config });
47
60
  }
48
61
  /** Begin van de naam van de tijdelijke config in de omgeving van een runner. */
49
62
  const CONFIG_PREFIX = 'phpstan-mcp-unmatched';
@@ -105,8 +118,12 @@ function writeUnmatchedConfig(project, configName) {
105
118
  }
106
119
  /** Eindigt de melding van een regel die niets meer matcht. */
107
120
  const UNMATCHED_SUFFIX = ' was not matched in reported errors.';
108
- /** Eindigt de melding van een regel die minder vaak voorkomt dan zijn `count`. */
109
- const COUNT_SUFFIX = / is expected to occur (\d+) times?, but occurred only (\d+) times?\.$/;
121
+ /**
122
+ * Eindigt de melding van een regel waarvan `count` niet klopt. Met "only" komt de fout minder
123
+ * vaak voor; zonder "only" vaker ("expected to occur 1 time, but occurred 2 times", nagemeten
124
+ * op `shared`), en dan is de extra keer gewoon een bevinding, geen verouderde regel.
125
+ */
126
+ const COUNT_SUFFIX = / is expected to occur (\d+) times?, but occurred (?:only )?(\d+) times?\.$/;
110
127
  /** Een algemeen patroon, zonder pad: dat komt als algemene fout en niet bij een bestand. */
111
128
  const GENERAL_UNMATCHED = /^Ignored error pattern (.+) was not matched in reported errors\.$/s;
112
129
  /**
@@ -116,11 +133,21 @@ const GENERAL_UNMATCHED = /^Ignored error pattern (.+) was not matched in report
116
133
  * met identifier `ignore.unmatched` of bij een te hoog `count` `ignore.count`.
117
134
  * Een patroon zonder pad komt als algemene fout. Of een regel uit de baseline komt,
118
135
  * zegt PHPStan niet; dat volgt uit identifier en pad tegen de baseline zelf.
136
+ *
137
+ * Een inline ignore die niets meer doet, komt ook als bevinding (zie `readStaleInline`) en
138
+ * telde eerst als gewone bevinding: dan meldde `otherFindings` wat een nieuwe baseline zou
139
+ * verstoppen, terwijl PHPStan die juist niet in een baseline zet.
119
140
  */
120
141
  export function buildUnmatchedReport(project, result, baselines, window = {}, notices = []) {
121
142
  const stale = [];
143
+ const inline = [];
122
144
  let otherFindings = 0;
123
145
  for (const finding of result.findings) {
146
+ const ignore = readStaleInline(finding);
147
+ if (ignore !== null) {
148
+ inline.push({ path: displayPath(project, ignore.file), line: ignore.line, identifier: ignore.identifier });
149
+ continue;
150
+ }
124
151
  const entry = toStale(project, finding, baselines);
125
152
  if (entry === null) {
126
153
  otherFindings++;
@@ -129,18 +156,19 @@ export function buildUnmatchedReport(project, result, baselines, window = {}, no
129
156
  stale.push(entry);
130
157
  }
131
158
  }
159
+ inline.sort((a, b) => a.path.localeCompare(b.path) || (a.line ?? 0) - (b.line ?? 0) || (a.identifier ?? '').localeCompare(b.identifier ?? ''));
132
160
  stale.sort((a, b) => a.path.localeCompare(b.path) ||
133
161
  (a.identifier ?? '').localeCompare(b.identifier ?? '') ||
134
162
  a.pattern.localeCompare(b.pattern));
135
163
  const generalPatterns = [];
136
164
  const otherErrors = [];
137
165
  for (const error of result.generalErrors) {
138
- const match = GENERAL_UNMATCHED.exec(error);
139
- if (match?.[1] === undefined) {
166
+ const pattern = unmatchedGeneralPattern(error);
167
+ if (pattern === null) {
140
168
  otherErrors.push(error);
141
169
  }
142
170
  else {
143
- generalPatterns.push(shorten(match[1]));
171
+ generalPatterns.push(shorten(pattern));
144
172
  }
145
173
  }
146
174
  const limit = clamp(window.limit ?? DEFAULT_LIMIT, 1, MAX_LIMIT);
@@ -163,15 +191,23 @@ export function buildUnmatchedReport(project, result, baselines, window = {}, no
163
191
  countTooHigh: stale.filter((entry) => entry.kind === 'countTooHigh').length,
164
192
  inBaseline: stale.filter((entry) => entry.inBaseline === true).length,
165
193
  general: generalPatterns.length,
194
+ inline: inline.length,
195
+ inlineWithoutIdentifier: inline.filter((ignore) => ignore.identifier === null).length,
166
196
  otherFindings,
167
197
  },
168
198
  byPath: tally(stale),
169
199
  entries,
170
200
  general: general.kept,
201
+ inline: inline.slice(0, MAX_INLINE),
171
202
  generalErrors: generalErrors.kept,
172
203
  warnings: warnings.kept,
173
204
  notices: allNotices,
174
- omitted: { general: general.omitted, generalErrors: generalErrors.omitted, warnings: warnings.omitted },
205
+ omitted: {
206
+ general: general.omitted,
207
+ inline: Math.max(inline.length - MAX_INLINE, 0),
208
+ generalErrors: generalErrors.omitted,
209
+ warnings: warnings.omitted,
210
+ },
175
211
  page: {
176
212
  offset,
177
213
  limit,
@@ -181,14 +217,53 @@ export function buildUnmatchedReport(project, result, baselines, window = {}, no
181
217
  },
182
218
  };
183
219
  }
220
+ /** De melding bij een inline ignore die een identifier noemt waarvoor op die regel niets gemeld wordt. */
221
+ const INLINE_IDENTIFIER = /^No error with identifier (\S+) is reported on line \d+\.$/;
222
+ /**
223
+ * Leest een bevinding als inline ignore die niets meer onderdrukt, of null.
224
+ *
225
+ * Nagemeten op PHPStan 2.2: `ignore.unmatchedLine` ("No error to ignore is reported on line N.")
226
+ * bij een ignore zonder identifier, en `ignore.unmatchedIdentifier` per identifier die op zijn
227
+ * regel niets vond, ook als de andere identifiers in hetzelfde commentaar nog wél iets doen. Beide
228
+ * alleen met `reportUnmatchedIgnoredErrors` aan (de standaard, maar veel projecten zetten hem uit),
229
+ * en met als regel die waar de ignore óp werkt. PHPStan zet ze niet in een gegenereerde baseline.
230
+ *
231
+ * `ignore.noComment`, `ignore.allLineErrors` en `ignore.parseError` horen hier niet bij: dat is
232
+ * een ignore die tegen de regels van de config ingaat of niet te lezen is, geen verouderde, en
233
+ * blijft dus een bevinding.
234
+ */
235
+ export function readStaleInline(finding) {
236
+ if (finding.identifier === 'ignore.unmatchedLine') {
237
+ return { file: finding.file, line: finding.line, identifier: null };
238
+ }
239
+ // Een melding die we niet kunnen lezen, blijft een bevinding: identifier null zou beweren dat
240
+ // het een ignore zonder identifier is, en dat is de breedste soort.
241
+ const named = finding.identifier === 'ignore.unmatchedIdentifier' ? INLINE_IDENTIFIER.exec(finding.message) : null;
242
+ return named?.[1] === undefined ? null : { file: finding.file, line: finding.line, identifier: named[1] };
243
+ }
244
+ /** Het patroon van een algemene fout over een regel zonder pad die niets meer matcht, of null. */
245
+ export function unmatchedGeneralPattern(error) {
246
+ return GENERAL_UNMATCHED.exec(error)?.[1] ?? null;
247
+ }
184
248
  /** Een bevinding als verouderde negeerregel, of null als het een gewone bevinding is. */
185
249
  function toStale(project, finding, baselines) {
186
- const kind = finding.identifier === 'ignore.unmatched'
187
- ? 'unmatched'
188
- : finding.identifier === 'ignore.count'
189
- ? 'countTooHigh'
190
- : null;
191
- if (kind === null) {
250
+ const rule = readStaleRule(finding, project);
251
+ if (rule === null || rule.kind === 'countTooLow') {
252
+ return null;
253
+ }
254
+ return {
255
+ path: displayPath(project, rule.file),
256
+ identifier: rule.identifier,
257
+ pattern: shorten(rule.pattern),
258
+ kind: rule.kind,
259
+ expected: rule.expected,
260
+ occurred: rule.occurred,
261
+ inBaseline: inBaseline(relative(project, rule.file), rule.identifier, baselines),
262
+ };
263
+ }
264
+ /** Leest één bevinding als verouderde negeerregel, of null als het een gewone bevinding is. */
265
+ export function readStaleRule(finding, project) {
266
+ if (finding.identifier !== 'ignore.unmatched' && finding.identifier !== 'ignore.count') {
192
267
  return null;
193
268
  }
194
269
  // Op de láátste " in path " knippen is betrouwbaarder dan de hele melding met één
@@ -199,19 +274,37 @@ function toStale(project, finding, baselines) {
199
274
  const at = finding.message.lastIndexOf(marker);
200
275
  const head = at === -1 ? finding.message : finding.message.slice(0, at);
201
276
  const tail = at === -1 ? '' : finding.message.slice(at + marker.length);
202
- const counts = kind === 'countTooHigh' ? COUNT_SUFFIX.exec(tail) : null;
277
+ const counts = finding.identifier === 'ignore.count' ? COUNT_SUFFIX.exec(tail) : null;
278
+ const expected = counts?.[1] === undefined ? null : Number(counts[1]);
279
+ const occurred = finding.identifier === 'ignore.unmatched' ? 0 : counts?.[2] === undefined ? null : Number(counts[2]);
203
280
  const named = /^(?:Ignored error pattern )?(.*?)(?: \(([\w.-]+)\))?$/s.exec(at === -1 ? head.replace(UNMATCHED_SUFFIX, '') : head);
204
- const identifier = named?.[2] ?? null;
205
281
  return {
206
- path: displayPath(project, finding.file),
207
- identifier,
208
- pattern: shorten(named?.[1] ?? head),
209
- kind,
210
- expected: counts?.[1] === undefined ? null : Number(counts[1]),
211
- occurred: kind === 'unmatched' ? 0 : counts?.[2] === undefined ? null : Number(counts[2]),
212
- inBaseline: inBaseline(relative(project, finding.file), identifier, baselines),
282
+ file: ignoredPath(tail, finding.file, project),
283
+ identifier: named?.[2] ?? null,
284
+ pattern: named?.[1] ?? head,
285
+ kind: finding.identifier === 'ignore.unmatched'
286
+ ? 'unmatched'
287
+ : expected !== null && occurred !== null && occurred > expected
288
+ ? 'countTooLow'
289
+ : 'countTooHigh',
290
+ expected,
291
+ occurred,
213
292
  };
214
293
  }
294
+ /**
295
+ * Het pad van de negeerregel, uit de melding zelf. Niet `finding.file`: bij een fout in een
296
+ * trait is dat het trait-bestand met `(in context of class …)` erachter, terwijl de regel op
297
+ * het bestand van de klasse staat (nagemeten op `shared`, vier regels die zo onvindbaar waren).
298
+ * Met een runner is het pad in de melding dat in de container.
299
+ */
300
+ function ignoredPath(tail, fallback, project) {
301
+ const path = tail.replace(UNMATCHED_SUFFIX, '').replace(COUNT_SUFFIX, '');
302
+ if (tail === '' || path === tail) {
303
+ return fallback;
304
+ }
305
+ const runner = runnerFor(project);
306
+ return runner === null ? path : naarHost(runner, project, path);
307
+ }
215
308
  /**
216
309
  * Of een regel met dit pad en deze identifier in een geïncludeerde baseline staat.
217
310
  * Meerdere baseline-regels kunnen pad en identifier delen (met een ander patroon);
@@ -255,12 +348,18 @@ export function renderUnmatched(report) {
255
348
  lines.push('');
256
349
  }
257
350
  const { totals } = report;
258
- if (report.page.total === 0 && totals.general === 0) {
351
+ const rulesStale = report.page.total > 0 || totals.general > 0;
352
+ if (!rulesStale && totals.inline === 0) {
259
353
  lines.push(report.baselineFiles.length > 0
260
354
  ? `All ignore rules still match; nothing in ${report.baselineFiles.join(', ')} is stale.`
261
355
  : 'No stale ignore rules.');
262
356
  return lines.join('\n');
263
357
  }
358
+ if (!rulesStale) {
359
+ lines.push(report.baselineFiles.length > 0
360
+ ? `Nothing in ${report.baselineFiles.join(', ')} or in ignoreErrors of the config is stale.`
361
+ : 'Nothing in ignoreErrors of the config is stale.');
362
+ }
264
363
  if (report.page.total > 0) {
265
364
  const kop = [`${totals.unmatched} ignore rule(s) no longer match anything`];
266
365
  if (totals.countTooHigh > 0) {
@@ -298,16 +397,52 @@ export function renderUnmatched(report) {
298
397
  lines.push(`- (${report.omitted.general} more not shown)`);
299
398
  }
300
399
  }
301
- lines.push('', 'What you can do:', '- A rule that no longer matches anything belongs to an error that has been fixed; it can go.', '- For a count that is too high, lower `count` to what still occurs.', totals.otherFindings > 0
302
- ? `- generate_baseline does both in one go, but also writes the ${totals.otherFindings} current ` +
303
- 'finding(s) into it. Fix those first, or you hide them in the baseline.'
304
- : '- generate_baseline does both in one go, if writing is enabled on this server.');
400
+ if (totals.inline > 0) {
401
+ lines.push('', ...renderInline(report));
402
+ }
403
+ lines.push('', 'What you can do:');
404
+ if (rulesStale) {
405
+ lines.push('- A rule that no longer matches anything belongs to an error that has been fixed; it can go.', '- For a count that is too high, lower `count` to what still occurs.', '- prune_baseline does both for the baseline and adds nothing, if writing is enabled on this server.', totals.otherFindings > 0
406
+ ? `- generate_baseline cleans up as well, but also writes the ${totals.otherFindings} current ` +
407
+ 'finding(s) into it. Fix those first, or you hide them in the baseline.'
408
+ : '- generate_baseline cleans up as well; with no current findings it hides nothing new.');
409
+ }
410
+ if (totals.inline > 0) {
411
+ lines.push('- Remove a stale inline ignore from the code; when the comment names several identifiers, remove only the stale one.' +
412
+ (totals.inlineWithoutIdentifier > 0
413
+ ? ` Start with the ${totals.inlineWithoutIdentifier} without an identifier: they would hide every new error on their line.`
414
+ : ''), '- prune_baseline and generate_baseline leave inline ignores alone: they are in the code, not in a baseline.');
415
+ }
305
416
  if (report.page.hasMore) {
306
417
  const to = report.page.offset + report.page.returned;
307
418
  lines.push('', `${report.page.total - to} more rule(s). Call the same tool again with offset=${to} for the rest.`);
308
419
  }
309
420
  return lines.join('\n');
310
421
  }
422
+ /** De verouderde inline ignores, per bestand de regels. */
423
+ function renderInline(report) {
424
+ const { totals } = report;
425
+ const lines = [
426
+ `${totals.inline} inline @phpstan-ignore comment(s) no longer suppress anything` +
427
+ (totals.inlineWithoutIdentifier > 0 ? ` (${totals.inlineWithoutIdentifier} without an identifier):` : ':'),
428
+ ];
429
+ let current = null;
430
+ for (const ignore of report.inline) {
431
+ if (ignore.path !== current) {
432
+ current = ignore.path;
433
+ lines.push('', current);
434
+ }
435
+ const wat = ignore.identifier === null ? 'no identifier: ignores every error on the line, and there is none' : `nothing reported as ${ignore.identifier}`;
436
+ lines.push(` line ${ignore.line === null ? '?' : String(ignore.line)} ${wat}`);
437
+ }
438
+ if (report.omitted.inline > 0) {
439
+ lines.push(` (${report.omitted.inline} more not shown)`);
440
+ }
441
+ // Nagemeten: `// @phpstan-ignore-next-line` op regel 43 meldt PHPStan als regel 44.
442
+ lines.push('', 'The line is the one the ignore applies to. For a comment on a line of its own (-next-line, or @phpstan-ignore ' +
443
+ 'above a statement), the comment is on the line above it.');
444
+ return lines;
445
+ }
311
446
  /** De bestanden met de meeste verouderde regels eerst, bij gelijk aantal alfabetisch. */
312
447
  function tally(entries) {
313
448
  const counts = new Map();
@@ -1 +1 @@
1
- {"version":3,"file":"unmatched.js","sourceRoot":"","sources":["../src/unmatched.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"unmatched.js","sourceRoot":"","sources":["../src/unmatched.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "phpstan-mcp-mx",
3
- "version": "0.23.0",
3
+ "version": "0.24.0",
4
4
  "description": "MCP server that exposes PHPStan as tools, for several PHP projects at once",
5
5
  "keywords": [
6
6
  "mcp",