phpstan-mcp-mx 0.17.0 → 0.19.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 +17 -4
- package/README.md +85 -50
- package/dist/baseline.js +15 -11
- package/dist/baseline.js.map +1 -1
- package/dist/changed.js +11 -11
- package/dist/changed.js.map +1 -1
- package/dist/config.js +2 -2
- package/dist/config.js.map +1 -1
- package/dist/defaults.js +11 -11
- package/dist/defaults.js.map +1 -1
- package/dist/dumptype.d.ts +86 -0
- package/dist/dumptype.js +190 -0
- package/dist/dumptype.js.map +1 -0
- package/dist/failure.d.ts +1 -1
- package/dist/failure.js.map +1 -1
- package/dist/index.js +12 -12
- package/dist/index.js.map +1 -1
- package/dist/phpstan/output.js +2 -2
- package/dist/phpstan/output.js.map +1 -1
- package/dist/phpstan/parameters.js +10 -10
- package/dist/phpstan/parameters.js.map +1 -1
- package/dist/phpstan/process.js +2 -2
- package/dist/phpstan/process.js.map +1 -1
- package/dist/phpstan/queue.js +3 -3
- package/dist/phpstan/queue.js.map +1 -1
- package/dist/phpstan.d.ts +29 -2
- package/dist/phpstan.js +130 -45
- package/dist/phpstan.js.map +1 -1
- package/dist/project.js +12 -12
- package/dist/project.js.map +1 -1
- package/dist/report.js +31 -31
- package/dist/report.js.map +1 -1
- package/dist/roots.js +3 -3
- package/dist/roots.js.map +1 -1
- package/dist/runner.js +10 -10
- package/dist/runner.js.map +1 -1
- package/dist/server.js +3 -3
- package/dist/server.js.map +1 -1
- package/dist/tmpdir.js +4 -4
- package/dist/tmpdir.js.map +1 -1
- package/dist/tools/analysis.js +38 -38
- package/dist/tools/analysis.js.map +1 -1
- package/dist/tools/inspect.d.ts +2 -0
- package/dist/tools/inspect.js +161 -85
- package/dist/tools/inspect.js.map +1 -1
- package/dist/tools/prompts.js +165 -162
- package/dist/tools/prompts.js.map +1 -1
- package/dist/tools/shared.js +38 -38
- package/dist/tools/shared.js.map +1 -1
- package/dist/tools/writes.js +23 -23
- package/dist/tools/writes.js.map +1 -1
- package/dist/tools.js +2 -1
- package/dist/tools.js.map +1 -1
- package/dist/unmatched.js +31 -30
- package/dist/unmatched.js.map +1 -1
- package/dist/version.d.ts +17 -4
- package/dist/version.js +27 -4
- package/dist/version.js.map +1 -1
- package/package.json +1 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process.js","sourceRoot":"","sources":["../../src/phpstan/process.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"process.js","sourceRoot":"","sources":["../../src/phpstan/process.ts"],"names":[],"mappings":"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"}
|
package/dist/phpstan/queue.js
CHANGED
|
@@ -20,8 +20,8 @@ export function loadMaxParallel(env = process.env) {
|
|
|
20
20
|
return DEFAULT_MAX_PARALLEL;
|
|
21
21
|
const parsed = Number(configured);
|
|
22
22
|
if (!Number.isInteger(parsed) || parsed < 1) {
|
|
23
|
-
throw new PhpstanError(`${MAX_PARALLEL_ENV_VAR}
|
|
24
|
-
`
|
|
23
|
+
throw new PhpstanError(`${MAX_PARALLEL_ENV_VAR} is set to "${configured}", and that is not a whole number of 1 or more. ` +
|
|
24
|
+
`Leave it out for the default (${String(DEFAULT_MAX_PARALLEL)}).`);
|
|
25
25
|
}
|
|
26
26
|
return parsed;
|
|
27
27
|
}
|
|
@@ -52,7 +52,7 @@ export async function withSlot(task) {
|
|
|
52
52
|
/** Stopt vóór er iets gestart wordt als de aanroeper het verzoek al heeft afgebroken. */
|
|
53
53
|
export function throwIfAborted(project, signal) {
|
|
54
54
|
if (signal?.aborted === true) {
|
|
55
|
-
throw new PhpstanError(`
|
|
55
|
+
throw new PhpstanError(`The analysis of ${project} was not started: the request had already been cancelled.`);
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
58
|
/** Lopende analyses per projectpad, zodat aanroepen per project op volgorde gaan. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queue.js","sourceRoot":"","sources":["../../src/phpstan/queue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,sEAAsE;AACtE,MAAM,CAAC,MAAM,oBAAoB,GAAG,0BAA0B,CAAC;AAE/D;;;;;GAKG;AACH,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAE/B;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,MAAyB,OAAO,CAAC,GAAG;IAClE,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,UAAU,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;IACzF,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,EAAE;QAAE,OAAO,oBAAoB,CAAC;IAE/E,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IAClC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,YAAY,CACpB,GAAG,oBAAoB,
|
|
1
|
+
{"version":3,"file":"queue.js","sourceRoot":"","sources":["../../src/phpstan/queue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,sEAAsE;AACtE,MAAM,CAAC,MAAM,oBAAoB,GAAG,0BAA0B,CAAC;AAE/D;;;;;GAKG;AACH,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAE/B;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,MAAyB,OAAO,CAAC,GAAG;IAClE,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,UAAU,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;IACzF,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,EAAE;QAAE,OAAO,oBAAoB,CAAC;IAE/E,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IAClC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,YAAY,CACpB,GAAG,oBAAoB,eAAe,UAAU,kDAAkD;YAChG,iCAAiC,MAAM,CAAC,oBAAoB,CAAC,IAAI,CACpE,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,qEAAqE;AACrE,IAAI,OAAO,GAAG,CAAC,CAAC;AAEhB,MAAM,OAAO,GAAmB,EAAE,CAAC;AAEnC;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAI,IAAsB;IACtD,gFAAgF;IAChF,yDAAyD;IACzD,OAAO,OAAO,IAAI,eAAe,EAAE,EAAE,CAAC;QACpC,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO,IAAI,CAAC,CAAC;IACb,IAAI,CAAC;QACH,OAAO,MAAM,IAAI,EAAE,CAAC;IACtB,CAAC;YAAS,CAAC;QACT,OAAO,IAAI,CAAC,CAAC;QACb,uEAAuE;QACvE,OAAO,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC;IACtB,CAAC;AACH,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,cAAc,CAAC,OAAe,EAAE,MAA+B;IAC7E,IAAI,MAAM,EAAE,OAAO,KAAK,IAAI,EAAE,CAAC;QAC7B,MAAM,IAAI,YAAY,CAAC,mBAAmB,OAAO,2DAA2D,CAAC,CAAC;IAChH,CAAC;AACH,CAAC;AAED,qFAAqF;AACrF,MAAM,MAAM,GAAG,IAAI,GAAG,EAA4B,CAAC;AAEnD;;;GAGG;AACH,MAAM,UAAU,OAAO,CAAI,GAAW,EAAE,IAAsB;IAC5D,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IACtD,iFAAiF;IACjF,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAE3C,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACtB,KAAK,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;QAClB,sEAAsE;QACtE,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI;YAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
package/dist/phpstan.d.ts
CHANGED
|
@@ -77,8 +77,9 @@ export declare function generateBaseline(project: ResolvedProject, options: Gene
|
|
|
77
77
|
* Zet een bestand in de tijdelijke map van de omgeving waar PHPStan voor dit project
|
|
78
78
|
* draait, en geeft het pad dáár terug.
|
|
79
79
|
*
|
|
80
|
-
* Nodig voor `unmatched_ignores
|
|
81
|
-
* host ziet een container niet — alleen de
|
|
80
|
+
* Nodig voor `unmatched_ignores` (een tijdelijke config) en `inspect_type` (een kopie
|
|
81
|
+
* van het bestand): een bestand op de host ziet een container niet — alleen de
|
|
82
|
+
* projectmap is gemount. Het ín het project
|
|
82
83
|
* zetten zou wel werken, maar dan schrijft een read-only tool in de repository. Gemeten
|
|
83
84
|
* in een echte container: PHPStan leest geen config van stdin (`/dev/stdin` en
|
|
84
85
|
* `php://stdin` gelden voor PHPStan als "does not exist"), en `/tmp` van de container is
|
|
@@ -104,6 +105,32 @@ export declare function diagnose(project: ResolvedProject, options?: Pick<Analys
|
|
|
104
105
|
* overheen. Verschillende projecten draaien wél parallel.
|
|
105
106
|
*/
|
|
106
107
|
export declare function analyse(project: ResolvedProject, options?: AnalyseOptions): Promise<AnalysisResult>;
|
|
108
|
+
/** Een bewerkte versie van één bestand, voor PHPStans editor mode. */
|
|
109
|
+
export interface EditedFile {
|
|
110
|
+
/** Absoluut pad van het bestand in het project, zoals resolveWithin het gaf. */
|
|
111
|
+
readonly insteadOf: string;
|
|
112
|
+
/** Wat PHPStan in plaats van dat bestand leest. */
|
|
113
|
+
readonly content: string;
|
|
114
|
+
/** Bestandsnaam van de kopie in de tijdelijke map; hoort uniek te zijn per project en proces. */
|
|
115
|
+
readonly name: string;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Analyseert één bestand alsof het `edited.content` bevat, zonder het project aan te
|
|
119
|
+
* raken: PHPStans editor mode (`--tmp-file` en `--instead-of`) leest de kopie op de plek
|
|
120
|
+
* van het origineel en rapporteert onder het pad van het origineel.
|
|
121
|
+
*
|
|
122
|
+
* Het bestand gaat altijd ook als pad mee. Nagemeten op PHPStan 2.2.7: zonder dat weigert
|
|
123
|
+
* PHPStan een bestand buiten de `paths` uit de config ("not in analysed project files", met
|
|
124
|
+
* exit 0 en zonder JSON), en analyseert het anders het hele project. Mét het pad was het
|
|
125
|
+
* ook zonder resultcache binnen anderhalve seconde klaar. Editor mode schrijft de
|
|
126
|
+
* resultcache niet weg; hij gaat toch door de queue, want hij leest hem wel.
|
|
127
|
+
*
|
|
128
|
+
* De kopie komt in de tijdelijke map van het project, met een runner in die van díe
|
|
129
|
+
* omgeving — dezelfde weg als de config van `unmatched_ignores`. Op de host wordt hij na
|
|
130
|
+
* afloop weggegooid; in een runner blijft hij staan en overschrijft de volgende aanroep
|
|
131
|
+
* hem, zodat er per project en proces hoogstens één blijft liggen.
|
|
132
|
+
*/
|
|
133
|
+
export declare function analyseEdited(project: ResolvedProject, edited: EditedFile, options?: AnalyseOptions): Promise<AnalysisResult>;
|
|
107
134
|
/**
|
|
108
135
|
* Leest de standaard geheugenlimiet uit de omgeving. Een onbruikbare waarde wordt
|
|
109
136
|
* hier al geweigerd en niet aan PHPStan doorgegeven: die zou er per analyse op
|
package/dist/phpstan.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { mkdirSync, rmSync, writeFileSync } from 'node:fs';
|
|
2
|
+
import { join } from 'node:path';
|
|
1
3
|
import { fromConfig } from './config.js';
|
|
2
4
|
import { PROJECTS_ENV_VAR, ProjectDefaultsError, defaultsFor, isValidMemoryLimit } from './defaults.js';
|
|
3
5
|
import { ProjectError, resolveWithin } from './project.js';
|
|
@@ -8,6 +10,7 @@ import { execute } from './phpstan/process.js';
|
|
|
8
10
|
import { enqueue, throwIfAborted, withSlot } from './phpstan/queue.js';
|
|
9
11
|
import { summariseParameters } from './phpstan/parameters.js';
|
|
10
12
|
import { displayPath } from './report.js';
|
|
13
|
+
import { TmpDirError, projectTmpDir } from './tmpdir.js';
|
|
11
14
|
export { collectWarnings } from './phpstan/output.js';
|
|
12
15
|
export { carryOutKill, isReportableKillError, planKill } from './phpstan/process.js';
|
|
13
16
|
export { MAX_PARALLEL_ENV_VAR, loadMaxParallel } from './phpstan/queue.js';
|
|
@@ -39,8 +42,8 @@ export async function clearResultCache(project, options = {}) {
|
|
|
39
42
|
const execution = await runPhpstan(project, args, timeoutFor(project, options), options.signal);
|
|
40
43
|
const output = execution.stdout.trim();
|
|
41
44
|
if (execution.code !== 0 || output === '') {
|
|
42
|
-
throw new PhpstanError(`PHPStan
|
|
43
|
-
(execution.stderr.trim() || output || '
|
|
45
|
+
throw new PhpstanError(`PHPStan could not clear the result cache of ${project.path} (exit code ${execution.code ?? '?'}).\n\n` +
|
|
46
|
+
(execution.stderr.trim() || output || 'No output on stdout or stderr.'));
|
|
44
47
|
}
|
|
45
48
|
return { project: project.path, output };
|
|
46
49
|
}));
|
|
@@ -64,8 +67,8 @@ export async function generateBaseline(project, options) {
|
|
|
64
67
|
const output = condenseDetails(execution.stdout.trim() || execution.stderr.trim());
|
|
65
68
|
const match = /Baseline generated with (\d+) error/i.exec(output);
|
|
66
69
|
if (match === null) {
|
|
67
|
-
throw new PhpstanError(`PHPStan
|
|
68
|
-
(output === '' ? '
|
|
70
|
+
throw new PhpstanError(`PHPStan did not write a baseline in ${project.path}.\n\n` +
|
|
71
|
+
(output === '' ? 'No output on stdout or stderr.' : output));
|
|
69
72
|
}
|
|
70
73
|
return { project: project.path, file: options.file, errors: Number(match[1]), output };
|
|
71
74
|
}));
|
|
@@ -117,6 +120,11 @@ function vertaalArgs(args, project, runner) {
|
|
|
117
120
|
if (arg.startsWith('--generate-baseline=')) {
|
|
118
121
|
return `--generate-baseline=${naarOmgeving(runner, project, arg.slice('--generate-baseline='.length))}`;
|
|
119
122
|
}
|
|
123
|
+
if (arg.startsWith('--instead-of=')) {
|
|
124
|
+
return `--instead-of=${naarOmgeving(runner, project, arg.slice('--instead-of='.length))}`;
|
|
125
|
+
}
|
|
126
|
+
// `--tmp-file=` bewust niet: die kopie staat al in de omgeving (writeInRunner), en
|
|
127
|
+
// buiten het project, waar er niets te vertalen valt.
|
|
120
128
|
return arg.startsWith('-') ? arg : naarOmgeving(runner, project, arg);
|
|
121
129
|
});
|
|
122
130
|
}
|
|
@@ -133,8 +141,8 @@ function vertaalResultaat(result, project, runner) {
|
|
|
133
141
|
/** Weigert een project zonder PHPStan met de melding die zegt wat er wél kan. */
|
|
134
142
|
function requireBinary(project) {
|
|
135
143
|
if (project.binary === null) {
|
|
136
|
-
throw new PhpstanError(`PHPStan is
|
|
137
|
-
'
|
|
144
|
+
throw new PhpstanError(`PHPStan is not installed in ${project.path} (vendor/bin/phpstan is missing). ` +
|
|
145
|
+
'Run `composer install` there first.', 'phpstan_missing', { hint: 'Run `composer install` in this project.' });
|
|
138
146
|
}
|
|
139
147
|
return project.binary;
|
|
140
148
|
}
|
|
@@ -151,8 +159,9 @@ const WRITE_IN_RUNNER = 'd="${TMPDIR:-/tmp}"; f="$d/$2"; printf "%s" "$1" > "$f.
|
|
|
151
159
|
* Zet een bestand in de tijdelijke map van de omgeving waar PHPStan voor dit project
|
|
152
160
|
* draait, en geeft het pad dáár terug.
|
|
153
161
|
*
|
|
154
|
-
* Nodig voor `unmatched_ignores
|
|
155
|
-
* host ziet een container niet — alleen de
|
|
162
|
+
* Nodig voor `unmatched_ignores` (een tijdelijke config) en `inspect_type` (een kopie
|
|
163
|
+
* van het bestand): een bestand op de host ziet een container niet — alleen de
|
|
164
|
+
* projectmap is gemount. Het ín het project
|
|
156
165
|
* zetten zou wel werken, maar dan schrijft een read-only tool in de repository. Gemeten
|
|
157
166
|
* in een echte container: PHPStan leest geen config van stdin (`/dev/stdin` en
|
|
158
167
|
* `php://stdin` gelden voor PHPStan als "does not exist"), en `/tmp` van de container is
|
|
@@ -162,14 +171,14 @@ const WRITE_IN_RUNNER = 'd="${TMPDIR:-/tmp}"; f="$d/$2"; printf "%s" "$1" > "$f.
|
|
|
162
171
|
export async function writeInRunner(project, name, content, options = {}) {
|
|
163
172
|
const runner = runnerFor(project.path);
|
|
164
173
|
if (runner === null)
|
|
165
|
-
throw new Error('writeInRunner is
|
|
174
|
+
throw new Error('writeInRunner is only for a project with a runner');
|
|
166
175
|
const [file, ...prefix] = runner.command;
|
|
167
176
|
const execution = await execute(file, [...prefix, 'sh', '-c', WRITE_IN_RUNNER, 'sh', content, name], project.path, timeoutFor(project, options), options.signal);
|
|
168
177
|
const pad = execution.stdout.trim();
|
|
169
178
|
if (execution.spawnError !== null || execution.code !== 0 || !pad.startsWith('/')) {
|
|
170
|
-
const details = condenseDetails(execution.stderr.trim()) || '
|
|
171
|
-
throw new PhpstanError(`
|
|
172
|
-
`(exit code ${execution.code ?? '?'}): ${details}.
|
|
179
|
+
const details = condenseDetails(execution.stderr.trim()) || 'no output';
|
|
180
|
+
throw new PhpstanError(`A temporary file could not be written in the runner of ${project.path} ` +
|
|
181
|
+
`(exit code ${execution.code ?? '?'}): ${details}. This needs an \`sh\` in that runner.`, 'unsupported_with_runner', { exitCode: execution.code, hint: 'Check that the runner has an sh and a writable temp directory.' });
|
|
173
182
|
}
|
|
174
183
|
return pad;
|
|
175
184
|
}
|
|
@@ -189,15 +198,15 @@ export async function diagnose(project, options = {}) {
|
|
|
189
198
|
throwIfAborted(project.path, options.signal);
|
|
190
199
|
const execution = await runPhpstan(project, ['diagnose', '--no-ansi'], timeoutFor(project, options), options.signal);
|
|
191
200
|
if (execution.spawnError !== null) {
|
|
192
|
-
throw new PhpstanError(`PHPStan
|
|
201
|
+
throw new PhpstanError(`PHPStan could not be started in ${project.path}: ${execution.spawnError.message}`);
|
|
193
202
|
}
|
|
194
203
|
// Met dezelfde redenen als bij een analyse: zonder viel een timeout hier terug op
|
|
195
204
|
// phpstan_failed, en dan weet een aanroeper niet dat opnieuw met meer tijd helpt.
|
|
196
205
|
if (execution.signal !== null) {
|
|
197
206
|
const geannuleerd = execution.reason === 'geannuleerd';
|
|
198
207
|
throw new PhpstanError(geannuleerd
|
|
199
|
-
? `
|
|
200
|
-
: `
|
|
208
|
+
? `The diagnosis of ${project.path} was stopped because the request was cancelled.`
|
|
209
|
+
: `The diagnosis of ${project.path} was stopped (signal ${execution.signal}).`, geannuleerd ? 'cancelled' : 'timeout', geannuleerd ? {} : { hint: 'Raise timeoutSeconds.' });
|
|
201
210
|
}
|
|
202
211
|
// diagnose zet zijn rapport op stdout en alleen de configuratieregel op stderr.
|
|
203
212
|
// Een lege stdout betekent dus dat er iets anders mis is; dan is PHPStans eigen
|
|
@@ -209,11 +218,11 @@ export async function diagnose(project, options = {}) {
|
|
|
209
218
|
// tekst letterlijk "bootstrap failed" zei — gezien op een project zonder ext-redis.
|
|
210
219
|
const details = condenseDetails(execution.stderr.trim());
|
|
211
220
|
const bootstrap = /bootstrap failed|unable to bootstrap/i.test(details);
|
|
212
|
-
throw new PhpstanError(`PHPStan
|
|
213
|
-
(details || '
|
|
221
|
+
throw new PhpstanError(`PHPStan returned no diagnosis in ${project.path} (exit code ${execution.code ?? '?'}).\n\n` +
|
|
222
|
+
(details || 'No output on stdout or stderr.'), bootstrap ? 'bootstrap_failed' : 'phpstan_failed', {
|
|
214
223
|
exitCode: execution.code,
|
|
215
224
|
...(bootstrap
|
|
216
|
-
? { hint: `
|
|
225
|
+
? { hint: `The application does not start in this environment; with ${RUNNERS_ENV_VAR}, PHPStan runs where it does.` }
|
|
217
226
|
: {}),
|
|
218
227
|
});
|
|
219
228
|
}
|
|
@@ -237,7 +246,7 @@ async function effectiveParameters(project, timeoutMs, signal) {
|
|
|
237
246
|
if (execution.code !== 0 || execution.stdout.trim() === '') {
|
|
238
247
|
return {
|
|
239
248
|
parameters: null,
|
|
240
|
-
parametersProblem: `PHPStan
|
|
249
|
+
parametersProblem: `PHPStan could not report its configuration (exit code ${execution.code ?? '?'})` +
|
|
241
250
|
(toelichting === undefined ? '.' : `: ${toelichting.trim()}`),
|
|
242
251
|
};
|
|
243
252
|
}
|
|
@@ -250,7 +259,7 @@ async function effectiveParameters(project, timeoutMs, signal) {
|
|
|
250
259
|
catch (error) {
|
|
251
260
|
return {
|
|
252
261
|
parameters: null,
|
|
253
|
-
parametersProblem: `
|
|
262
|
+
parametersProblem: `PHPStan's configuration could not be read: ${error instanceof Error ? error.message : String(error)}`,
|
|
254
263
|
};
|
|
255
264
|
}
|
|
256
265
|
}
|
|
@@ -267,24 +276,75 @@ export async function analyse(project, options = {}) {
|
|
|
267
276
|
throwIfAborted(project.path, options.signal);
|
|
268
277
|
return enqueue(project.path, () => withSlot(() => run(project, options)));
|
|
269
278
|
}
|
|
270
|
-
|
|
279
|
+
/**
|
|
280
|
+
* Analyseert één bestand alsof het `edited.content` bevat, zonder het project aan te
|
|
281
|
+
* raken: PHPStans editor mode (`--tmp-file` en `--instead-of`) leest de kopie op de plek
|
|
282
|
+
* van het origineel en rapporteert onder het pad van het origineel.
|
|
283
|
+
*
|
|
284
|
+
* Het bestand gaat altijd ook als pad mee. Nagemeten op PHPStan 2.2.7: zonder dat weigert
|
|
285
|
+
* PHPStan een bestand buiten de `paths` uit de config ("not in analysed project files", met
|
|
286
|
+
* exit 0 en zonder JSON), en analyseert het anders het hele project. Mét het pad was het
|
|
287
|
+
* ook zonder resultcache binnen anderhalve seconde klaar. Editor mode schrijft de
|
|
288
|
+
* resultcache niet weg; hij gaat toch door de queue, want hij leest hem wel.
|
|
289
|
+
*
|
|
290
|
+
* De kopie komt in de tijdelijke map van het project, met een runner in die van díe
|
|
291
|
+
* omgeving — dezelfde weg als de config van `unmatched_ignores`. Op de host wordt hij na
|
|
292
|
+
* afloop weggegooid; in een runner blijft hij staan en overschrijft de volgende aanroep
|
|
293
|
+
* hem, zodat er per project en proces hoogstens één blijft liggen.
|
|
294
|
+
*/
|
|
295
|
+
export async function analyseEdited(project, edited, options = {}) {
|
|
296
|
+
requireRunnable(project);
|
|
297
|
+
throwIfAborted(project.path, options.signal);
|
|
298
|
+
return enqueue(project.path, () => withSlot(async () => {
|
|
299
|
+
throwIfAborted(project.path, options.signal);
|
|
300
|
+
const runner = runnerFor(project.path);
|
|
301
|
+
const tmpFile = runner === null
|
|
302
|
+
? writeOnHost(project, edited)
|
|
303
|
+
: await writeInRunner(project, edited.name, edited.content, options);
|
|
304
|
+
try {
|
|
305
|
+
return await run(project, { ...options, paths: [edited.insteadOf] }, [
|
|
306
|
+
`--tmp-file=${tmpFile}`,
|
|
307
|
+
`--instead-of=${edited.insteadOf}`,
|
|
308
|
+
]);
|
|
309
|
+
}
|
|
310
|
+
finally {
|
|
311
|
+
if (runner === null)
|
|
312
|
+
rmSync(tmpFile, { force: true });
|
|
313
|
+
}
|
|
314
|
+
}));
|
|
315
|
+
}
|
|
316
|
+
/** Zet de kopie in de tijdelijke map van het project op de host. */
|
|
317
|
+
function writeOnHost(project, edited) {
|
|
318
|
+
const dir = projectTmpDir(project.path);
|
|
319
|
+
const file = join(dir, edited.name);
|
|
320
|
+
try {
|
|
321
|
+
mkdirSync(dir, { recursive: true });
|
|
322
|
+
writeFileSync(file, edited.content);
|
|
323
|
+
}
|
|
324
|
+
catch (error) {
|
|
325
|
+
throw new TmpDirError(`The temporary copy ${file} could not be written: ` +
|
|
326
|
+
`${error instanceof Error ? error.message : String(error)}.`);
|
|
327
|
+
}
|
|
328
|
+
return file;
|
|
329
|
+
}
|
|
330
|
+
async function run(project, options, editor = []) {
|
|
271
331
|
const runner = runnerFor(project.path);
|
|
272
332
|
const timeoutMs = timeoutFor(project, options);
|
|
273
|
-
const args = buildArgs(project, options);
|
|
333
|
+
const args = buildArgs(project, options, editor);
|
|
274
334
|
// Nog een keer, want tussen de queue, het slot en dit punt kan er tijd zitten:
|
|
275
335
|
// PHPStan starten voor een verzoek dat niemand meer wil is pure verspilling.
|
|
276
336
|
throwIfAborted(project.path, options.signal);
|
|
277
337
|
const execution = await runPhpstan(project, args, timeoutMs, options.signal);
|
|
278
338
|
if (execution.spawnError !== null) {
|
|
279
|
-
throw new PhpstanError(`PHPStan
|
|
339
|
+
throw new PhpstanError(`PHPStan could not be started in ${project.path}: ${execution.spawnError.message}`);
|
|
280
340
|
}
|
|
281
341
|
if (execution.signal !== null) {
|
|
282
342
|
throw new PhpstanError(execution.reason === 'geannuleerd'
|
|
283
|
-
? `
|
|
284
|
-
: `
|
|
285
|
-
`(
|
|
343
|
+
? `The analysis of ${project.path} was stopped because the request was cancelled.`
|
|
344
|
+
: `The analysis of ${project.path} was stopped after ${Math.round(timeoutMs / 1000)}s ` +
|
|
345
|
+
`(signal ${execution.signal}). Analyse a smaller part of the project, or raise timeoutSeconds.`, execution.reason === 'geannuleerd' ? 'cancelled' : 'timeout', execution.reason === 'geannuleerd'
|
|
286
346
|
? {}
|
|
287
|
-
: { hint: '
|
|
347
|
+
: { hint: 'Analyse a smaller part, or raise timeoutSeconds.' });
|
|
288
348
|
}
|
|
289
349
|
// Eerst proberen te parsen, pas daarna naar de exit code kijken: PHPStan geeft
|
|
290
350
|
// ook exit code 1 als het gewoon fouten gevonden heeft, en meldt configuratie-
|
|
@@ -309,17 +369,18 @@ export function loadDefaultMemoryLimit(env = process.env) {
|
|
|
309
369
|
if (configured === undefined || configured === '')
|
|
310
370
|
return undefined;
|
|
311
371
|
if (!isValidMemoryLimit(configured)) {
|
|
312
|
-
throw new PhpstanError(`${MEMORY_LIMIT_ENV_VAR}
|
|
313
|
-
'
|
|
372
|
+
throw new PhpstanError(`${MEMORY_LIMIT_ENV_VAR} is set to "${configured}", and PHPStan does not accept that format. ` +
|
|
373
|
+
'Use a number with an optional K, M or G (e.g. "1G"), or -1 for no limit.');
|
|
314
374
|
}
|
|
315
375
|
return configured;
|
|
316
376
|
}
|
|
317
|
-
function buildArgs(project, options) {
|
|
377
|
+
function buildArgs(project, options, editor = []) {
|
|
318
378
|
return [
|
|
319
379
|
'analyse',
|
|
320
380
|
'--error-format=json',
|
|
321
381
|
...QUIET_FLAGS,
|
|
322
382
|
...flags(project, options),
|
|
383
|
+
...editor,
|
|
323
384
|
...targets(project, options),
|
|
324
385
|
];
|
|
325
386
|
}
|
|
@@ -352,7 +413,7 @@ function defaultConfig(project) {
|
|
|
352
413
|
catch (error) {
|
|
353
414
|
if (!(error instanceof ProjectError))
|
|
354
415
|
throw error;
|
|
355
|
-
throw new ProjectDefaultsError(`${PROJECTS_ENV_VAR}:
|
|
416
|
+
throw new ProjectDefaultsError(`${PROJECTS_ENV_VAR}: the config "${config}" for ${project.path} cannot be used. ${error.message}`);
|
|
356
417
|
}
|
|
357
418
|
}
|
|
358
419
|
/**
|
|
@@ -398,7 +459,7 @@ function targets(project, options) {
|
|
|
398
459
|
// duidelijke melding beter dan PHPStans eigen usage-tekst.
|
|
399
460
|
const paths = options.paths ?? [];
|
|
400
461
|
if (paths.length === 0 && project.config === null) {
|
|
401
|
-
throw new PhpstanError(`${project.path}
|
|
462
|
+
throw new PhpstanError(`${project.path} has no phpstan.neon(.dist). Pass paths explicitly, or create a config.`, 'config_missing', { hint: 'Pass paths, or create a phpstan.neon in the project.' });
|
|
402
463
|
}
|
|
403
464
|
return paths;
|
|
404
465
|
}
|
|
@@ -412,13 +473,37 @@ function targets(project, options) {
|
|
|
412
473
|
function describeFailure(project, execution) {
|
|
413
474
|
const details = condenseDetails(execution.stderr.trim() || execution.stdout.trim());
|
|
414
475
|
const gemeen = { exitCode: execution.code, ...oorzaakUit(details) };
|
|
476
|
+
// Nagemeten: een bestand onder `excludePaths` dat expliciet als pad meegaat, geeft
|
|
477
|
+
// deze tekst met exit 0 en zonder JSON. Zonder eigen tak viel het in unusable_output,
|
|
478
|
+
// met als advies de cache te legen — terwijl het bestand gewoon niet meedoet.
|
|
479
|
+
if (/no files found to analyse/i.test(details)) {
|
|
480
|
+
const hint = 'Check `paths` and `excludePaths` in the config (diagnose_project shows them), or pass another path.';
|
|
481
|
+
return {
|
|
482
|
+
message: `PHPStan found no files to analyse in ${project.path}: a path that was passed is excluded ` +
|
|
483
|
+
`by excludePaths in the config, or the config lists no files. ${hint}\n\n${details}`,
|
|
484
|
+
reason: 'nothing_to_analyse',
|
|
485
|
+
details: { ...gemeen, hint },
|
|
486
|
+
};
|
|
487
|
+
}
|
|
488
|
+
// De server bouwt de vlaggen zelf en een pad kan geen vlag zijn (resolveWithin), dus
|
|
489
|
+
// een onbekende optie betekent een PHPStan die ouder is dan wat deze tool nodig
|
|
490
|
+
// heeft — zoals `--tmp-file` voor inspect_type.
|
|
491
|
+
if (/option does not exist/i.test(details)) {
|
|
492
|
+
const hint = 'Update phpstan/phpstan in this project.';
|
|
493
|
+
return {
|
|
494
|
+
message: `PHPStan in ${project.path} does not know an option this server passes; that version is ` +
|
|
495
|
+
`probably too old for this tool. ${hint}\n\n${details}`,
|
|
496
|
+
reason: 'phpstan_failed',
|
|
497
|
+
details: { ...gemeen, hint },
|
|
498
|
+
};
|
|
499
|
+
}
|
|
415
500
|
// "Invalid memory limit format" bevat óók "memory limit", maar is een afgekeurde
|
|
416
501
|
// waarde en geen volgelopen geheugen. Eerst afvangen, anders krijgt het model de
|
|
417
502
|
// raad een limiet mee te geven die het net al meegaf.
|
|
418
503
|
if (/invalid memory limit/i.test(details)) {
|
|
419
|
-
const hint = `
|
|
504
|
+
const hint = `Check memoryLimit or ${MEMORY_LIMIT_ENV_VAR}.`;
|
|
420
505
|
return {
|
|
421
|
-
message: `PHPStan
|
|
506
|
+
message: `PHPStan did not accept the given memory limit in ${project.path}. ${hint}\n\n${details}`,
|
|
422
507
|
reason: 'invalid_setting',
|
|
423
508
|
details: { ...gemeen, hint },
|
|
424
509
|
};
|
|
@@ -426,9 +511,9 @@ function describeFailure(project, execution) {
|
|
|
426
511
|
// PHPStan meldt dit op twee manieren: PHP's eigen "Allowed memory size ...
|
|
427
512
|
// exhausted", en PHPStans eigen "reached configured PHP memory limit: 128M".
|
|
428
513
|
if (/allowed memory size|memory[_ ]limit/i.test(details)) {
|
|
429
|
-
const hint = '
|
|
514
|
+
const hint = 'Pass memoryLimit (e.g. "1G") or analyse a smaller part.';
|
|
430
515
|
return {
|
|
431
|
-
message: `PHPStan
|
|
516
|
+
message: `PHPStan ran into the PHP memory limit in ${project.path}. ${hint}\n\n${details}`,
|
|
432
517
|
reason: 'memory_limit',
|
|
433
518
|
details: { ...gemeen, hint },
|
|
434
519
|
};
|
|
@@ -444,16 +529,16 @@ function describeFailure(project, execution) {
|
|
|
444
529
|
// PHP-, PHPStan- en Larastan-versie liet zien als in een shell waar het wél werkte.
|
|
445
530
|
const bootstrap = /bootstrap failed|unable to bootstrap/i.test(details);
|
|
446
531
|
const hint = bootstrap
|
|
447
|
-
? '
|
|
448
|
-
'configs
|
|
449
|
-
'
|
|
450
|
-
: '
|
|
451
|
-
'
|
|
452
|
-
'clear_result_cache:
|
|
453
|
-
'
|
|
532
|
+
? 'Run diagnose_project on this project: it shows the PHP version, the extensions and the ' +
|
|
533
|
+
'configs involved, and that output is not truncated. If the application does not start ' +
|
|
534
|
+
'in this environment, a runner where it does is the next step.'
|
|
535
|
+
: 'Run diagnose_project if it is unclear why this project behaves differently. ' +
|
|
536
|
+
'If that shows nothing unusual and it worked before, clear the result cache with ' +
|
|
537
|
+
'clear_result_cache: a stale cache can make PHPStan crash with a message that ' +
|
|
538
|
+
'seems to make no sense.';
|
|
454
539
|
return {
|
|
455
|
-
message: `PHPStan
|
|
456
|
-
(details === '' ? '
|
|
540
|
+
message: `PHPStan returned no usable JSON in ${project.path} (exit code ${execution.code ?? '?'}).\n\n` +
|
|
541
|
+
(details === '' ? 'No output on stdout or stderr.' : details) +
|
|
457
542
|
`\n\n${hint}`,
|
|
458
543
|
reason: bootstrap ? 'bootstrap_failed' : 'unusable_output',
|
|
459
544
|
details: { ...gemeen, hint },
|
package/dist/phpstan.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"phpstan.js","sourceRoot":"","sources":["../src/phpstan.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"phpstan.js","sourceRoot":"","sources":["../src/phpstan.ts"],"names":[],"mappings":"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"}
|
package/dist/project.js
CHANGED
|
@@ -23,29 +23,29 @@ export class ProjectError extends ToolFailure {
|
|
|
23
23
|
export function resolveProject(argument, roots) {
|
|
24
24
|
const usable = roots.filter(isUsable);
|
|
25
25
|
if (usable.length === 0) {
|
|
26
|
-
throw new ProjectError(`
|
|
27
|
-
'
|
|
26
|
+
throw new ProjectError(`This server has no usable project directories. Set ${ROOTS_ENV_VAR} in the ` +
|
|
27
|
+
'MCP server configuration to the absolute paths that may be analysed.', 'no_roots_configured');
|
|
28
28
|
}
|
|
29
29
|
if (!isAbsolute(argument)) {
|
|
30
|
-
throw new ProjectError(`"${argument}" is
|
|
30
|
+
throw new ProjectError(`"${argument}" is not an absolute path. Pass the full path to the project directory.`, 'project_not_found');
|
|
31
31
|
}
|
|
32
32
|
let path;
|
|
33
33
|
try {
|
|
34
34
|
path = realpathSync.native(argument);
|
|
35
35
|
if (!statSync(path).isDirectory()) {
|
|
36
|
-
throw new ProjectError(`"${argument}" is
|
|
36
|
+
throw new ProjectError(`"${argument}" is not a directory.`);
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
catch (error) {
|
|
40
40
|
if (error instanceof ProjectError)
|
|
41
41
|
throw error;
|
|
42
|
-
throw new ProjectError(`"${argument}"
|
|
42
|
+
throw new ProjectError(`"${argument}" does not exist.`);
|
|
43
43
|
}
|
|
44
44
|
// De containment-check draait op het geresolvede pad, ná realpath: anders komt
|
|
45
45
|
// een ".."-pad of een symlink naar buiten de whitelist er alsnog doorheen.
|
|
46
46
|
if (!usable.some((root) => contains(root.path, path))) {
|
|
47
47
|
const allowed = usable.map((root) => ` - ${root.path}`).join('\n');
|
|
48
|
-
throw new ProjectError(`"${path}"
|
|
48
|
+
throw new ProjectError(`"${path}" is outside the allowed project directories. Anything under these is allowed:\n${allowed}`, 'project_outside_roots');
|
|
49
49
|
}
|
|
50
50
|
return describeProject(path);
|
|
51
51
|
}
|
|
@@ -84,7 +84,7 @@ function readDefaults(path) {
|
|
|
84
84
|
*/
|
|
85
85
|
export function resolveWithin(project, argument) {
|
|
86
86
|
if (argument.trim() === '') {
|
|
87
|
-
throw new ProjectError('
|
|
87
|
+
throw new ProjectError('Pass a path inside the project.');
|
|
88
88
|
}
|
|
89
89
|
const candidate = isAbsolute(argument) ? argument : join(project.path, argument);
|
|
90
90
|
let path;
|
|
@@ -92,12 +92,12 @@ export function resolveWithin(project, argument) {
|
|
|
92
92
|
path = realpathSync.native(candidate);
|
|
93
93
|
}
|
|
94
94
|
catch {
|
|
95
|
-
throw new ProjectError(`"${argument}"
|
|
95
|
+
throw new ProjectError(`"${argument}" does not exist in ${project.path}.`, 'path_not_found');
|
|
96
96
|
}
|
|
97
97
|
// Dezelfde volgorde als in resolveProject: pas ná realpath vergelijken, anders
|
|
98
98
|
// glipt een ".."-pad of een symlink er alsnog doorheen.
|
|
99
99
|
if (!contains(project.path, path)) {
|
|
100
|
-
throw new ProjectError(`"${argument}"
|
|
100
|
+
throw new ProjectError(`"${argument}" is outside the project ${project.path}.`, 'path_outside_project');
|
|
101
101
|
}
|
|
102
102
|
return path;
|
|
103
103
|
}
|
|
@@ -113,7 +113,7 @@ export function resolveWithin(project, argument) {
|
|
|
113
113
|
export function resolveNewWithin(project, argument) {
|
|
114
114
|
const naam = argument.trim();
|
|
115
115
|
if (naam === '') {
|
|
116
|
-
throw new ProjectError('
|
|
116
|
+
throw new ProjectError('Pass a file name inside the project.');
|
|
117
117
|
}
|
|
118
118
|
const candidate = isAbsolute(naam) ? naam : join(project.path, naam);
|
|
119
119
|
const parent = dirname(candidate);
|
|
@@ -122,10 +122,10 @@ export function resolveNewWithin(project, argument) {
|
|
|
122
122
|
resolvedParent = realpathSync.native(parent);
|
|
123
123
|
}
|
|
124
124
|
catch {
|
|
125
|
-
throw new ProjectError(`
|
|
125
|
+
throw new ProjectError(`The directory for "${argument}" does not exist in ${project.path}.`, 'path_not_found');
|
|
126
126
|
}
|
|
127
127
|
if (!contains(project.path, resolvedParent)) {
|
|
128
|
-
throw new ProjectError(`"${argument}"
|
|
128
|
+
throw new ProjectError(`"${argument}" is outside the project ${project.path}.`);
|
|
129
129
|
}
|
|
130
130
|
return join(resolvedParent, basename(candidate));
|
|
131
131
|
}
|