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":"prompts.js","sourceRoot":"","sources":["../../src/tools/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,iDAAiD,CAAC;AAE9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGjD;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,MAAiB,EAAE,KAAa;IAC9D,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACpC,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACnC,sBAAsB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACtC,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAClC,qBAAqB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACvC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,KAAa,EAAE,KAAa,EAAE,OAAgB;IAC5E,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC1C,OAAO,gBAAgB,CAAC,KAAK,CAAC;SAC3B,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;SAC9B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,OAAO,CAAC;SAClC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AAChH,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,eAAe,CACtB,KAAa,EACb,WAAmB,EACnB,OAA6E;IAE7E,MAAM,QAAQ,GAAG,CAAC,KAAyB,EAAE,OAAgD,EAAE,EAAE,CAC/F,eAAe,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;IACrE,OAAO,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,CAAC;AACnG,CAAC;AAED,MAAM,mBAAmB,GAAG,
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/tools/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,iDAAiD,CAAC;AAE9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGjD;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,MAAiB,EAAE,KAAa;IAC9D,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACpC,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACnC,sBAAsB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACtC,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAClC,qBAAqB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACvC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,KAAa,EAAE,KAAa,EAAE,OAAgB;IAC5E,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC1C,OAAO,gBAAgB,CAAC,KAAK,CAAC;SAC3B,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;SAC9B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,OAAO,CAAC;SAClC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AAChH,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,eAAe,CACtB,KAAa,EACb,WAAmB,EACnB,OAA6E;IAE7E,MAAM,QAAQ,GAAG,CAAC,KAAyB,EAAE,OAAgD,EAAE,EAAE,CAC/F,eAAe,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;IACrE,OAAO,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,CAAC;AACnG,CAAC;AAED,MAAM,mBAAmB,GAAG,2EAA2E,CAAC;AAExG,qFAAqF;AACrF,SAAS,OAAO,CAAC,OAA2B,EAAE,GAAW;IACvD,OAAO,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,EAAE;QAC5C,CAAC,CAAC,qDAAqD,GAAG,GAAG;QAC7D,CAAC,CAAC,uBAAuB,OAAO,GAAG,CAAC;AACxC,CAAC;AAED,+FAA+F;AAC/F,SAAS,oBAAoB,CAAC,MAAiB,EAAE,KAAa;IAC5D,MAAM,CAAC,cAAc,CACnB,uBAAuB,EACvB;QACE,KAAK,EAAE,qCAAqC;QAC5C,WAAW,EACT,iFAAiF;QACnF,UAAU,EAAE;YACV,OAAO,EAAE,eAAe,CAAC,KAAK,EAAE,mBAAmB,CAAC;YACpD,8EAA8E;YAC9E,uEAAuE;YACvE,sEAAsE;YACtE,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,iFAAiF,CAAC;SAC/F;KACF,EACD,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE;QACpB,MAAM,OAAO,GAAG,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,EAAE,CAAC;QAClD,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE;wBACP,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE;4BACJ,OAAO,CAAC,OAAO,EAAE,iBAAiB,CAAC;4BACnC,EAAE;4BACF,sBAAsB;4BACtB,OAAO;gCACL,CAAC,CAAC,yDAAyD,IAAI,gCAAgC;gCAC/F,CAAC,CAAC,mFAAmF;4BACvF,OAAO;gCACL,CAAC,CAAC,sCAAsC,IAAI,0CAA0C;gCACtF,CAAC,CAAC,8EAA8E;4BAClF,OAAO;gCACL,CAAC,CAAC,iFAAiF;gCACnF,CAAC,CAAC,mEAAmE;4BACvE,4EAA4E;4BAC5E,2EAA2E;4BAC3E,iFAAiF;4BACjF,gFAAgF;4BAChF,gEAAgE;4BAChE,gFAAgF;4BAChF,+EAA+E;4BAC/E,gFAAgF;4BAChF,+BAA+B;4BAC/B,kFAAkF;4BAClF,gFAAgF;4BAChF,4CAA4C;4BAC5C,OAAO;gCACL,CAAC,CAAC,qFAAqF;gCACvF,CAAC,CAAC,kFAAkF;4BACtF,OAAO;gCACL,CAAC,CAAC,mFAAmF;gCACrF,CAAC,CAAC,gFAAgF;4BACpF,OAAO;gCACL,CAAC,CAAC,+EAA+E;gCACjF,CAAC,CAAC,8DAA8D;4BAClE,yDAAyD;4BACzD,EAAE;4BACF,8EAA8E;4BAC9E,oBAAoB;yBACrB,CAAC,IAAI,CAAC,IAAI,CAAC;qBACb;iBACF;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,mBAAmB,CAAC,MAAiB,EAAE,KAAa;IAC3D,MAAM,CAAC,cAAc,CACnB,qBAAqB,EACrB;QACE,KAAK,EAAE,kCAAkC;QACzC,WAAW,EACT,iFAAiF;YACjF,6EAA6E;QAC/E,UAAU,EAAE;YACV,OAAO,EAAE,eAAe,CAAC,KAAK,EAAE,mBAAmB,CAAC;YACpD,KAAK,EAAE,CAAC;iBACL,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,0DAA0D,CAAC;SACxE;KACF,EACD,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QACvB,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE;wBACJ,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC;wBAC1B,EAAE;wBACF,oEAAoE;wBACpE,6EAA6E;wBAC7E,mFAAmF;wBACnF,iFAAiF;wBACjF,kFAAkF;wBAClF,6EAA6E;wBAC7E,iFAAiF;wBACjF,kEAAkE;wBAClE,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE;4BACjC,CAAC,CAAC,2FAA2F;4BAC7F,CAAC,CAAC,yCAAyC,KAAK,+BAA+B;wBACjF,kFAAkF;wBAClF,+EAA+E;wBAC/E,yEAAyE;wBACzE,+EAA+E;wBAC/E,4EAA4E;wBAC5E,mEAAmE;wBACnE,+EAA+E;wBAC/E,kFAAkF;wBAClF,wBAAwB;wBACxB,EAAE;wBACF,kFAAkF;wBAClF,+EAA+E;wBAC/E,sEAAsE;wBACtE,kFAAkF;wBAClF,iFAAiF;wBACjF,iCAAiC;qBAClC,CAAC,IAAI,CAAC,IAAI,CAAC;iBACb;aACF;SACF;KACF,CAAC,CACH,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,sBAAsB,CAAC,MAAiB,EAAE,KAAa;IAC9D,MAAM,CAAC,cAAc,CACnB,yBAAyB,EACzB;QACE,KAAK,EAAE,qBAAqB;QAC5B,WAAW,EACT,iFAAiF;YACjF,gFAAgF;QAClF,UAAU,EAAE,EAAE,OAAO,EAAE,eAAe,CAAC,KAAK,EAAE,mBAAmB,CAAC,EAAE;KACrE,EACD,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QAChB,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE;wBACJ,OAAO,CAAC,OAAO,EAAE,iCAAiC,CAAC;wBACnD,EAAE;wBACF,8EAA8E;wBAC9E,+EAA+E;wBAC/E,kBAAkB;wBAClB,EAAE;wBACF,mFAAmF;wBACnF,kFAAkF;wBAClF,UAAU;wBACV,qEAAqE;wBACrE,2DAA2D;wBAC3D,+EAA+E;wBAC/E,+BAA+B;wBAC/B,oFAAoF;wBACpF,oCAAoC;wBACpC,iFAAiF;wBACjF,qFAAqF;wBACrF,0BAA0B;wBAC1B,oFAAoF;wBACpF,qFAAqF;wBACrF,mFAAmF;wBACnF,YAAY;wBACZ,iFAAiF;wBACjF,2CAA2C;wBAC3C,kFAAkF;wBAClF,iFAAiF;wBACjF,gFAAgF;wBAChF,wEAAwE;wBACxE,mEAAmE;wBACnE,kFAAkF;wBAClF,8DAA8D;wBAC9D,gFAAgF;wBAChF,+EAA+E;wBAC/E,+EAA+E;wBAC/E,+EAA+E;wBAC/E,wDAAwD;wBACxD,EAAE;wBACF,iFAAiF;wBACjF,6EAA6E;wBAC7E,OAAO;qBACR,CAAC,IAAI,CAAC,IAAI,CAAC;iBACb;aACF;SACF;KACF,CAAC,CACH,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,kBAAkB,CAAC,MAAiB,EAAE,KAAa;IAC1D,MAAM,CAAC,cAAc,CACnB,wBAAwB,EACxB;QACE,KAAK,EAAE,yBAAyB;QAChC,WAAW,EACT,wFAAwF;YACxF,4EAA4E;QAC9E,UAAU,EAAE;YACV,OAAO,EAAE,eAAe,CAAC,KAAK,EAAE,mBAAmB,CAAC;YACpD,UAAU,EAAE,CAAC;iBACV,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,6FAA6F,CAAC;SAC3G;KACF,EACD,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE;QAC1B,MAAM,OAAO,GAAG,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,EAAE,CAAC;QAC9D,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE;wBACP,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE;4BACJ,OAAO,CAAC,OAAO,EAAE,oBAAoB,CAAC;4BACtC,EAAE;4BACF,4EAA4E;4BAC5E,2DAA2D;4BAC3D,EAAE;4BACF,GAAG,CAAC,OAAO;gCACT,CAAC,CAAC;oCACE,gDAAgD,UAAU,uBAAuB;oCACjF,sFAAsF;iCACvF;gCACH,CAAC,CAAC;oCACE,oFAAoF;oCACpF,8EAA8E;oCAC9E,8EAA8E;oCAC9E,wEAAwE;oCACxE,mFAAmF;oCACnF,kBAAkB;iCACnB,CAAC;4BACN,kFAAkF;4BAClF,+EAA+E;4BAC/E,gCAAgC;4BAChC,wEAAwE;4BACxE,4EAA4E;4BAC5E,+EAA+E;4BAC/E,+EAA+E;4BAC/E,0EAA0E;4BAC1E,+EAA+E;4BAC/E,kFAAkF;4BAClF,kFAAkF;4BAClF,2BAA2B;4BAC3B,6EAA6E;4BAC7E,2DAA2D;yBAC5D,CAAC,IAAI,CAAC,IAAI,CAAC;qBACb;iBACF;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,qBAAqB,CAAC,MAAiB,EAAE,KAAa;IAC7D,MAAM,CAAC,cAAc,CACnB,0BAA0B,EAC1B;QACE,KAAK,EAAE,sBAAsB;QAC7B,WAAW,EACT,2EAA2E;YAC3E,yEAAyE;QAC3E,UAAU,EAAE;YACV,QAAQ,EAAE,eAAe,CAAC,KAAK,EAAE,2DAA2D,CAAC;YAC7F,QAAQ,EAAE,eAAe,CACvB,KAAK,EACL,4DAA4D,EAC5D,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC,UAAU,CAAC,CACzC;SACF;KACF,EACD,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE;QACzB,MAAM,KAAK,GAAG,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,EAAE,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,EAAE,CAAC;QACrG,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE;wBACP,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE;4BACJ,KAAK;gCACH,CAAC,CAAC,WAAW,QAAQ,SAAS,QAAQ,GAAG;gCACzC,CAAC,CAAC,0EAA0E;4BAC9E,EAAE;4BACF,4EAA4E;4BAC5E,iFAAiF;4BACjF,mFAAmF;4BACnF,kFAAkF;4BAClF,gFAAgF;4BAChF,0BAA0B;4BAC1B,oFAAoF;4BACpF,iFAAiF;4BACjF,4DAA4D;4BAC5D,gFAAgF;4BAChF,4EAA4E;4BAC5E,0EAA0E;4BAC1E,iFAAiF;4BACjF,oCAAoC;4BACpC,EAAE;4BACF,kFAAkF;4BAClF,mFAAmF;4BACnF,2EAA2E;4BAC3E,kFAAkF;4BAClF,uBAAuB;yBACxB,CAAC,IAAI,CAAC,IAAI,CAAC;qBACb;iBACF;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
|
package/dist/tools/shared.js
CHANGED
|
@@ -18,27 +18,27 @@ export function nullable(schema) {
|
|
|
18
18
|
}
|
|
19
19
|
export const projectArgument = z
|
|
20
20
|
.string()
|
|
21
|
-
.describe('
|
|
21
|
+
.describe('Absolute path to the project root, as returned by list_projects');
|
|
22
22
|
export const analysisShape = {
|
|
23
23
|
project: z.string(),
|
|
24
24
|
totals: z.object({ fileErrors: z.number(), generalErrors: z.number() }),
|
|
25
25
|
generalErrors: z
|
|
26
26
|
.array(z.string())
|
|
27
|
-
.describe('
|
|
27
|
+
.describe('Errors not tied to a file, such as a crash or a configuration error'),
|
|
28
28
|
warnings: z
|
|
29
29
|
.array(z.string())
|
|
30
|
-
.describe('
|
|
31
|
-
'
|
|
30
|
+
.describe('What PHPStan reported alongside the result. If this contains "Result is incomplete", ' +
|
|
31
|
+
'the analysis does not cover the whole project and a clean result proves nothing'),
|
|
32
32
|
instructions: z
|
|
33
33
|
.array(z.string())
|
|
34
|
-
.describe('
|
|
34
|
+
.describe("PHPStan's own guidance for reading the findings"),
|
|
35
35
|
notices: z
|
|
36
36
|
.array(z.string())
|
|
37
|
-
.describe('
|
|
38
|
-
'
|
|
37
|
+
.describe('Notices from this server itself, such as an included baseline — PHPStan then only ' +
|
|
38
|
+
'reports what is new'),
|
|
39
39
|
omitted: z
|
|
40
40
|
.object({ warnings: z.number(), generalErrors: z.number() })
|
|
41
|
-
.describe('
|
|
41
|
+
.describe('How many messages were left out because there were too many'),
|
|
42
42
|
summary: z
|
|
43
43
|
.object({
|
|
44
44
|
filesWithFindings: z.number(),
|
|
@@ -46,12 +46,12 @@ export const analysisShape = {
|
|
|
46
46
|
byIdentifier: z.array(z.object({
|
|
47
47
|
identifier: z.string(),
|
|
48
48
|
count: z.number(),
|
|
49
|
-
docs: nullable(z.string()).describe('
|
|
49
|
+
docs: nullable(z.string()).describe('Explanation of this kind of error on phpstan.org'),
|
|
50
50
|
})),
|
|
51
51
|
})
|
|
52
|
-
.describe('
|
|
52
|
+
.describe('Counts over all findings, including those outside this page'),
|
|
53
53
|
findings: z.array(z.object({
|
|
54
|
-
file: z.string().describe('
|
|
54
|
+
file: z.string().describe('Path relative to the project root'),
|
|
55
55
|
line: nullable(z.number()),
|
|
56
56
|
message: z.string(),
|
|
57
57
|
identifier: nullable(z.string()),
|
|
@@ -59,8 +59,8 @@ export const analysisShape = {
|
|
|
59
59
|
onChangedLine: z
|
|
60
60
|
.boolean()
|
|
61
61
|
.optional()
|
|
62
|
-
.describe('
|
|
63
|
-
'
|
|
62
|
+
.describe('Only for analyse_changed: whether the finding is on a line that is part of the change. ' +
|
|
63
|
+
'False does not mean it was already there — a changed signature affects its callers'),
|
|
64
64
|
})),
|
|
65
65
|
page: z
|
|
66
66
|
.object({
|
|
@@ -70,41 +70,41 @@ export const analysisShape = {
|
|
|
70
70
|
total: z.number(),
|
|
71
71
|
hasMore: z.boolean(),
|
|
72
72
|
})
|
|
73
|
-
.describe('
|
|
74
|
-
filter: nullable(z.array(z.string())).describe('
|
|
75
|
-
runId: nullable(z.string()).describe('
|
|
73
|
+
.describe('Which part of the findings this response contains'),
|
|
74
|
+
filter: nullable(z.array(z.string())).describe('The identifiers this page is limited to, or null if it is not filtered'),
|
|
75
|
+
runId: nullable(z.string()).describe('Pass this for the next page so it comes from the same result; null if nothing was analysed'),
|
|
76
76
|
changedLines: nullable(z.object({
|
|
77
77
|
onChangedLine: z.number(),
|
|
78
78
|
elsewhere: z.number(),
|
|
79
79
|
onlyChangedLines: z.boolean(),
|
|
80
|
-
})).describe('
|
|
81
|
-
'null
|
|
80
|
+
})).describe('How many findings are on a changed line, over all findings; ' +
|
|
81
|
+
'null if there is no change to compare against'),
|
|
82
82
|
};
|
|
83
83
|
export const configArgument = z
|
|
84
84
|
.string()
|
|
85
85
|
.optional()
|
|
86
|
-
.describe('
|
|
87
|
-
'
|
|
86
|
+
.describe('A different config file than PHPStan would pick itself, e.g. "phpstan-strict.neon". ' +
|
|
87
|
+
'Must be inside the project');
|
|
88
88
|
export const windowShape = {
|
|
89
89
|
identifiers: z
|
|
90
90
|
.array(z.string())
|
|
91
91
|
.optional()
|
|
92
|
-
.describe('
|
|
93
|
-
'"missingType"
|
|
94
|
-
offset: z.number().int().min(0).optional().describe('
|
|
92
|
+
.describe('Limit the findings to these identifiers, e.g. ["argument.type"]. ' +
|
|
93
|
+
'"missingType" matches the whole group. The summary still counts everything'),
|
|
94
|
+
offset: z.number().int().min(0).optional().describe('Skip the first N findings'),
|
|
95
95
|
limit: z
|
|
96
96
|
.number()
|
|
97
97
|
.int()
|
|
98
98
|
.min(1)
|
|
99
99
|
.max(MAX_LIMIT)
|
|
100
100
|
.optional()
|
|
101
|
-
.describe(`
|
|
101
|
+
.describe(`How many findings this response contains (default ${String(DEFAULT_LIMIT)})`),
|
|
102
102
|
runId: z
|
|
103
103
|
.string()
|
|
104
104
|
.optional()
|
|
105
|
-
.describe('
|
|
106
|
-
'
|
|
107
|
-
'onlyChangedLines
|
|
105
|
+
.describe('The runId from an earlier response: this page then comes from that result instead of ' +
|
|
106
|
+
'a new analysis, so the totals stay the same. Only offset, limit, identifiers and ' +
|
|
107
|
+
'onlyChangedLines may differ'),
|
|
108
108
|
};
|
|
109
109
|
/**
|
|
110
110
|
* Zet de gedeelde argumenten om in AnalyseOptions. `config` gaat door resolveWithin:
|
|
@@ -158,8 +158,8 @@ export async function runAnalysis(server, roots, project, plan, window, signal,
|
|
|
158
158
|
// Geen fout: dat kost het model een ronde om te ontdekken wat het toch al kan
|
|
159
159
|
// doen. Wel hardop, want de tellingen kunnen nu afwijken van eerdere pagina's.
|
|
160
160
|
fallback =
|
|
161
|
-
`runId "${reuse.runId}" is
|
|
162
|
-
'
|
|
161
|
+
`runId "${reuse.runId}" is unknown, expired or belongs to different arguments; ` +
|
|
162
|
+
'this is a new analysis, so the counts may differ from earlier pages.';
|
|
163
163
|
}
|
|
164
164
|
const chosen = await plan(resolved);
|
|
165
165
|
if ('nothingToDo' in chosen) {
|
|
@@ -179,7 +179,7 @@ export async function runAnalysis(server, roots, project, plan, window, signal,
|
|
|
179
179
|
content: [
|
|
180
180
|
{
|
|
181
181
|
type: 'text',
|
|
182
|
-
text: extra.length === 0 ? chosen.nothingToDo : `${chosen.nothingToDo}\n\
|
|
182
|
+
text: extra.length === 0 ? chosen.nothingToDo : `${chosen.nothingToDo}\n\nNote:\n${extra.join('\n')}`,
|
|
183
183
|
},
|
|
184
184
|
],
|
|
185
185
|
structuredContent: { ...empty, runId: null },
|
|
@@ -187,17 +187,17 @@ export async function runAnalysis(server, roots, project, plan, window, signal,
|
|
|
187
187
|
}
|
|
188
188
|
// Het signaal komt uit het MCP-verzoek zelf: annuleert de client, dan wordt de
|
|
189
189
|
// procesgroep opgeruimd in plaats van dat PHPStan doorrekent voor niemand.
|
|
190
|
-
log(server, 'debug', {
|
|
190
|
+
log(server, 'debug', { event: 'analysis started', project: resolved.path });
|
|
191
191
|
const result = await analyse(resolved, {
|
|
192
192
|
...chosen.options,
|
|
193
193
|
...(signal === undefined ? {} : { signal }),
|
|
194
194
|
});
|
|
195
195
|
log(server, 'info', {
|
|
196
|
-
|
|
196
|
+
event: 'analysis finished',
|
|
197
197
|
project: resolved.path,
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
198
|
+
findings: result.totals.fileErrors,
|
|
199
|
+
warnings: result.warnings.length,
|
|
200
|
+
durationMs: Date.now() - begin,
|
|
201
201
|
});
|
|
202
202
|
const notices = [...collectNotices(resolved), ...(chosen.notices ?? [])];
|
|
203
203
|
const runId = reuse.runs.put({
|
|
@@ -226,9 +226,9 @@ export async function runAnalysis(server, roots, project, plan, window, signal,
|
|
|
226
226
|
*/
|
|
227
227
|
function fromStoredRun(server, stored, window) {
|
|
228
228
|
const seconden = Math.max(0, Math.round((Date.now() - stored.createdAt) / 1000));
|
|
229
|
-
const herkomst = `
|
|
230
|
-
'
|
|
231
|
-
log(server, 'debug', {
|
|
229
|
+
const herkomst = `This page comes from the analysis of ${String(seconden)}s ago (runId ${stored.id}); ` +
|
|
230
|
+
'anything changed in the code since then is not included.';
|
|
231
|
+
log(server, 'debug', { event: 'page from earlier analysis', project: stored.project, runId: stored.id });
|
|
232
232
|
const report = buildReport(stored.result, window, [...stored.notices, herkomst], stored.onChangedLine);
|
|
233
233
|
const heading = stored.heading === undefined ? '' : `${stored.heading}\n\n`;
|
|
234
234
|
return {
|
package/dist/tools/shared.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/tools/shared.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/tools/shared.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/writes.js
CHANGED
|
@@ -21,12 +21,12 @@ export function writesAllowed(env = process.env) {
|
|
|
21
21
|
/** Hangt `clear_result_cache` aan de server. Verandert wel iets, maar niet aan de broncode. */
|
|
22
22
|
export function registerClearResultCache(server, roots) {
|
|
23
23
|
server.registerTool('clear_result_cache', {
|
|
24
|
-
title: '
|
|
25
|
-
description: '
|
|
26
|
-
'
|
|
27
|
-
'
|
|
28
|
-
|
|
29
|
-
'
|
|
24
|
+
title: 'Clear result cache',
|
|
25
|
+
description: "Clears PHPStan's result cache, so the next analysis recomputes everything. " +
|
|
26
|
+
'Use this when a result does not match the code — for example after a change to an ' +
|
|
27
|
+
'extension or an included config. Note: by default this cache is not in the project ' +
|
|
28
|
+
"but in the system's temp directory, and it is then shared with every other project " +
|
|
29
|
+
'that does not set its own tmpDir. The response names the directory that was cleared.',
|
|
30
30
|
inputSchema: {
|
|
31
31
|
project: projectArgument,
|
|
32
32
|
config: configArgument,
|
|
@@ -44,7 +44,7 @@ export function registerClearResultCache(server, roots) {
|
|
|
44
44
|
});
|
|
45
45
|
// Juist deze twee zijn het melden waard: ze veranderen iets, en dan is een
|
|
46
46
|
// logregel het enige spoor dat er iets gebeurd is.
|
|
47
|
-
log(server, 'info', {
|
|
47
|
+
log(server, 'info', { event: 'result cache cleared', project: resolved.path });
|
|
48
48
|
return {
|
|
49
49
|
content: [{ type: 'text', text: cleared.output }],
|
|
50
50
|
structuredContent: { ...cleared },
|
|
@@ -60,32 +60,32 @@ const DEFAULT_BASELINE = 'phpstan-baseline.neon';
|
|
|
60
60
|
/** Hangt `generate_baseline` aan de server. Alleen aanroepen als schrijven aanstaat. */
|
|
61
61
|
export function registerGenerateBaseline(server, roots) {
|
|
62
62
|
server.registerTool('generate_baseline', {
|
|
63
|
-
title: '
|
|
64
|
-
description: '
|
|
65
|
-
'
|
|
66
|
-
'
|
|
67
|
-
'
|
|
68
|
-
'
|
|
63
|
+
title: 'Generate baseline',
|
|
64
|
+
description: 'Puts all current errors into a baseline file, so a following analysis only reports ' +
|
|
65
|
+
'what is new. Meant for getting an existing project under PHPStan, not for getting ' +
|
|
66
|
+
'rid of errors: whatever goes in here is no longer reported afterwards. Overwrites an ' +
|
|
67
|
+
'existing baseline. The file still has to be included in the config before it has ' +
|
|
68
|
+
'any effect.',
|
|
69
69
|
inputSchema: {
|
|
70
70
|
project: projectArgument,
|
|
71
71
|
file: z
|
|
72
72
|
.string()
|
|
73
73
|
.optional()
|
|
74
|
-
.describe(`
|
|
75
|
-
paths: z.array(z.string()).optional().describe('
|
|
76
|
-
level: z.string().optional().describe('Level
|
|
74
|
+
.describe(`Target file inside the project (default ${DEFAULT_BASELINE})`),
|
|
75
|
+
paths: z.array(z.string()).optional().describe('Paths inside the project'),
|
|
76
|
+
level: z.string().optional().describe('Level override, 0 to 10 or "max"'),
|
|
77
77
|
config: configArgument,
|
|
78
78
|
allowEmpty: z
|
|
79
79
|
.boolean()
|
|
80
80
|
.optional()
|
|
81
|
-
.describe('
|
|
81
|
+
.describe('Write even when there is nothing to ignore; otherwise PHPStan refuses'),
|
|
82
82
|
memoryLimit: z.string().optional(),
|
|
83
83
|
timeoutSeconds: z.number().int().positive().max(1800).optional(),
|
|
84
84
|
},
|
|
85
85
|
outputSchema: {
|
|
86
86
|
project: z.string(),
|
|
87
87
|
file: z.string(),
|
|
88
|
-
errors: z.number().describe('
|
|
88
|
+
errors: z.number().describe('How many errors were put into the baseline'),
|
|
89
89
|
output: z.string(),
|
|
90
90
|
},
|
|
91
91
|
annotations: writes(),
|
|
@@ -102,10 +102,10 @@ export function registerGenerateBaseline(server, roots) {
|
|
|
102
102
|
signal: extra.signal,
|
|
103
103
|
});
|
|
104
104
|
log(server, 'info', {
|
|
105
|
-
|
|
105
|
+
event: 'baseline written',
|
|
106
106
|
project: resolved.path,
|
|
107
|
-
|
|
108
|
-
|
|
107
|
+
file: generated.file,
|
|
108
|
+
errors: generated.errors,
|
|
109
109
|
});
|
|
110
110
|
return {
|
|
111
111
|
content: [{ type: 'text', text: renderGenerated(resolved, generated) }],
|
|
@@ -121,9 +121,9 @@ export function registerGenerateBaseline(server, roots) {
|
|
|
121
121
|
function renderGenerated(project, generated) {
|
|
122
122
|
const naam = displayPath(project.path, generated.file);
|
|
123
123
|
return [
|
|
124
|
-
`${String(generated.errors)}
|
|
124
|
+
`${String(generated.errors)} error(s) written to ${naam}.`,
|
|
125
125
|
'',
|
|
126
|
-
`
|
|
126
|
+
`From now on these errors are no longer reported, once ${naam} is in the configuration:`,
|
|
127
127
|
'',
|
|
128
128
|
'includes:',
|
|
129
129
|
` - ${naam}`,
|
package/dist/tools/writes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writes.js","sourceRoot":"","sources":["../../src/tools/writes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAGhF,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAEtG,qDAAqD;AACrD,MAAM,CAAC,MAAM,cAAc,GAAG,0BAA0B,CAAC;AAEzD;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,MAAyB,OAAO,CAAC,GAAG;IAChE,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,UAAU,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACjG,OAAO,UAAU,KAAK,GAAG,IAAI,UAAU,KAAK,MAAM,CAAC;AACrD,CAAC;AAED,+FAA+F;AAC/F,MAAM,UAAU,wBAAwB,CAAC,MAAiB,EAAE,KAAa;IACvE,MAAM,CAAC,YAAY,CACjB,oBAAoB,EACpB;QACE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"writes.js","sourceRoot":"","sources":["../../src/tools/writes.ts"],"names":[],"mappings":"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"}
|
package/dist/tools.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { RunStore } from './runs.js';
|
|
2
2
|
import { registerAnalyseChanged, registerAnalyseFile, registerAnalyseProject, } from './tools/analysis.js';
|
|
3
|
-
import { registerBaselineSummary, registerDiagnose, registerListProjects, registerServerConfig, registerUnmatchedIgnores, } from './tools/inspect.js';
|
|
3
|
+
import { registerBaselineSummary, registerDiagnose, registerInspectType, registerListProjects, registerServerConfig, registerUnmatchedIgnores, } from './tools/inspect.js';
|
|
4
4
|
import { registerPrompts } from './tools/prompts.js';
|
|
5
5
|
import { registerClearResultCache, registerGenerateBaseline, writesAllowed, } from './tools/writes.js';
|
|
6
6
|
/** Hangt alle tools aan de server. */
|
|
@@ -12,6 +12,7 @@ export function registerTools(server, roots) {
|
|
|
12
12
|
registerAnalyseProject(server, roots, runs);
|
|
13
13
|
registerAnalyseFile(server, roots, runs);
|
|
14
14
|
registerAnalyseChanged(server, roots, runs);
|
|
15
|
+
registerInspectType(server, roots);
|
|
15
16
|
registerBaselineSummary(server, roots);
|
|
16
17
|
registerUnmatchedIgnores(server, roots);
|
|
17
18
|
registerDiagnose(server, roots);
|
package/dist/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,aAAa,GACd,MAAM,mBAAmB,CAAC;AAE3B,sCAAsC;AACtC,MAAM,UAAU,aAAa,CAAC,MAAiB,EAAE,KAAa;IAC5D,iFAAiF;IACjF,kEAAkE;IAClE,MAAM,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;IAE5B,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACpC,sBAAsB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAC5C,mBAAmB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACzC,sBAAsB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAC5C,uBAAuB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACvC,wBAAwB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACxC,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAChC,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACpC,wBAAwB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACxC,IAAI,aAAa,EAAE;QAAE,wBAAwB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC7D,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACjC,CAAC"}
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,aAAa,GACd,MAAM,mBAAmB,CAAC;AAE3B,sCAAsC;AACtC,MAAM,UAAU,aAAa,CAAC,MAAiB,EAAE,KAAa;IAC5D,iFAAiF;IACjF,kEAAkE;IAClE,MAAM,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;IAE5B,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACpC,sBAAsB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAC5C,mBAAmB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACzC,sBAAsB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAC5C,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACnC,uBAAuB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACvC,wBAAwB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACxC,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAChC,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACpC,wBAAwB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACxC,IAAI,aAAa,EAAE;QAAE,wBAAwB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC7D,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACjC,CAAC"}
|
package/dist/unmatched.js
CHANGED
|
@@ -31,7 +31,7 @@ export async function findUnmatchedIgnores(project, options = {}, window = {}) {
|
|
|
31
31
|
// Zonder config zijn er ook geen negeerregels: dat is een uitkomst, geen storing.
|
|
32
32
|
if (project.config === null) {
|
|
33
33
|
return buildUnmatchedReport(project.path, emptyResult(project.path), baselines, window, [
|
|
34
|
-
`${project.path}
|
|
34
|
+
`${project.path} has no phpstan.neon(.dist); without a config there are no ignore rules to check.`,
|
|
35
35
|
]);
|
|
36
36
|
}
|
|
37
37
|
// Met een runner draait PHPStan in een omgeving die de tijdelijke map van de host niet
|
|
@@ -66,7 +66,7 @@ const emptyResult = (project) => ({
|
|
|
66
66
|
*/
|
|
67
67
|
export function unmatchedConfig(configPath) {
|
|
68
68
|
if (/[\r\n]/.test(configPath)) {
|
|
69
|
-
throw new PhpstanError(`
|
|
69
|
+
throw new PhpstanError(`The path ${JSON.stringify(configPath)} contains a line break and cannot be put in a config.`);
|
|
70
70
|
}
|
|
71
71
|
const quoted = `'${configPath.replace(/'/g, "''").replace(/%/g, '%%')}'`;
|
|
72
72
|
return ['includes:', `\t- ${quoted}`, '', 'parameters:', '\treportUnmatchedIgnoredErrors: true', ''].join('\n');
|
|
@@ -97,7 +97,7 @@ function writeUnmatchedConfig(project, configName) {
|
|
|
97
97
|
renameSync(tmp, file);
|
|
98
98
|
}
|
|
99
99
|
catch (error) {
|
|
100
|
-
throw new TmpDirError(`
|
|
100
|
+
throw new TmpDirError(`The temporary config ${file} could not be written: ` +
|
|
101
101
|
`${error instanceof Error ? error.message : String(error)}.`);
|
|
102
102
|
}
|
|
103
103
|
return file;
|
|
@@ -146,8 +146,9 @@ export function buildUnmatchedReport(project, result, baselines, window = {}, no
|
|
|
146
146
|
const warnings = limitMessages(result.warnings);
|
|
147
147
|
const allNotices = [...notices];
|
|
148
148
|
if (baselines.unreadable.length > 0) {
|
|
149
|
-
|
|
150
|
-
|
|
149
|
+
const een = baselines.unreadable.length === 1;
|
|
150
|
+
allNotices.push(`${baselines.unreadable.join(', ')} ${een ? 'is' : 'are'} included but cannot be read, so whether ` +
|
|
151
|
+
`a rule comes from ${een ? 'it' : 'them'} is unknown.`);
|
|
151
152
|
}
|
|
152
153
|
return {
|
|
153
154
|
project,
|
|
@@ -220,48 +221,48 @@ function inBaseline(path, identifier, baselines) {
|
|
|
220
221
|
export function renderUnmatched(report) {
|
|
221
222
|
const lines = [];
|
|
222
223
|
if (report.warnings.length > 0) {
|
|
223
|
-
lines.push('
|
|
224
|
+
lines.push('WARNING — PHPStan reported this alongside the result:');
|
|
224
225
|
for (const warning of report.warnings)
|
|
225
226
|
lines.push(`- ${warning}`);
|
|
226
227
|
if (report.omitted.warnings > 0)
|
|
227
|
-
lines.push(`- (
|
|
228
|
-
lines.push('
|
|
228
|
+
lines.push(`- (${report.omitted.warnings} more message(s) not shown)`);
|
|
229
|
+
lines.push('When the analysis is incomplete, PHPStan can miss stale rules; a short list below then proves nothing.', '');
|
|
229
230
|
}
|
|
230
231
|
if (report.notices.length > 0) {
|
|
231
|
-
lines.push('
|
|
232
|
+
lines.push('Note:');
|
|
232
233
|
for (const notice of report.notices)
|
|
233
234
|
lines.push(`- ${notice}`);
|
|
234
235
|
lines.push('');
|
|
235
236
|
}
|
|
236
237
|
if (report.generalErrors.length > 0) {
|
|
237
|
-
lines.push('
|
|
238
|
+
lines.push('Errors not tied to a file:');
|
|
238
239
|
for (const error of report.generalErrors)
|
|
239
240
|
lines.push(`- ${error}`);
|
|
240
241
|
if (report.omitted.generalErrors > 0)
|
|
241
|
-
lines.push(`- (
|
|
242
|
+
lines.push(`- (${report.omitted.generalErrors} more error(s) not shown)`);
|
|
242
243
|
lines.push('');
|
|
243
244
|
}
|
|
244
245
|
const { totals } = report;
|
|
245
246
|
if (report.page.total === 0 && totals.general === 0) {
|
|
246
247
|
lines.push(report.baselineFiles.length > 0
|
|
247
|
-
? `
|
|
248
|
-
: '
|
|
248
|
+
? `All ignore rules still match; nothing in ${report.baselineFiles.join(', ')} is stale.`
|
|
249
|
+
: 'No stale ignore rules.');
|
|
249
250
|
return lines.join('\n');
|
|
250
251
|
}
|
|
251
252
|
if (report.page.total > 0) {
|
|
252
|
-
const kop = [`${totals.unmatched}
|
|
253
|
+
const kop = [`${totals.unmatched} ignore rule(s) no longer match anything`];
|
|
253
254
|
if (totals.countTooHigh > 0)
|
|
254
|
-
kop.push(`${totals.countTooHigh}
|
|
255
|
+
kop.push(`${totals.countTooHigh} have a count that is too high`);
|
|
255
256
|
lines.push(`${kop.join(', ')}.`);
|
|
256
257
|
if (report.baselineFiles.length > 0) {
|
|
257
|
-
lines.push(`${totals.inBaseline}
|
|
258
|
+
lines.push(`${totals.inBaseline} of them are in ${report.baselineFiles.join(', ')}.`);
|
|
258
259
|
}
|
|
259
260
|
if (report.byPath.length > 1) {
|
|
260
|
-
lines.push('', '
|
|
261
|
+
lines.push('', 'Most per file:', ...report.byPath.map((row) => ` ${pad(row.count)} ${row.path}`));
|
|
261
262
|
}
|
|
262
263
|
const from = report.page.offset + 1;
|
|
263
264
|
const to = report.page.offset + report.page.returned;
|
|
264
|
-
lines.push('', `
|
|
265
|
+
lines.push('', `Rules ${from}-${to} of ${report.page.total}:`);
|
|
265
266
|
let current = null;
|
|
266
267
|
for (const entry of report.entries) {
|
|
267
268
|
if (entry.path !== current) {
|
|
@@ -270,26 +271,26 @@ export function renderUnmatched(report) {
|
|
|
270
271
|
}
|
|
271
272
|
const aantal = entry.kind === 'countTooHigh'
|
|
272
273
|
? entry.expected === null
|
|
273
|
-
? ' (
|
|
274
|
-
: ` (count ${entry.expected},
|
|
274
|
+
? ' (count too high)'
|
|
275
|
+
: ` (count ${entry.expected}, still occurs ${entry.occurred ?? '?'} time(s))`
|
|
275
276
|
: '';
|
|
276
|
-
const herkomst = entry.inBaseline === false ? ' [
|
|
277
|
+
const herkomst = entry.inBaseline === false ? ' [not from the baseline]' : '';
|
|
277
278
|
lines.push(` ${entry.identifier ?? '-'} ${entry.pattern}${aantal}${herkomst}`);
|
|
278
279
|
}
|
|
279
280
|
}
|
|
280
281
|
if (report.general.length > 0) {
|
|
281
|
-
lines.push('', `${totals.general}
|
|
282
|
-
'baseline
|
|
282
|
+
lines.push('', `${totals.general} pattern(s) without a path no longer match anything. They are not in the ` +
|
|
283
|
+
'baseline but in ignoreErrors of the config, or of a config that a package ships:', ...report.general.map((pattern) => `- ${pattern}`));
|
|
283
284
|
if (report.omitted.general > 0)
|
|
284
|
-
lines.push(`- (
|
|
285
|
+
lines.push(`- (${report.omitted.general} more not shown)`);
|
|
285
286
|
}
|
|
286
|
-
lines.push('', '
|
|
287
|
-
? `- generate_baseline
|
|
288
|
-
'
|
|
289
|
-
: '- generate_baseline
|
|
287
|
+
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
|
|
288
|
+
? `- generate_baseline does both in one go, but also writes the ${totals.otherFindings} current ` +
|
|
289
|
+
'finding(s) into it. Fix those first, or you hide them in the baseline.'
|
|
290
|
+
: '- generate_baseline does both in one go, if writing is enabled on this server.');
|
|
290
291
|
if (report.page.hasMore) {
|
|
291
292
|
const to = report.page.offset + report.page.returned;
|
|
292
|
-
lines.push('',
|
|
293
|
+
lines.push('', `${report.page.total - to} more rule(s). Call the same tool again with offset=${to} for the rest.`);
|
|
293
294
|
}
|
|
294
295
|
return lines.join('\n');
|
|
295
296
|
}
|
|
@@ -304,7 +305,7 @@ function tally(entries) {
|
|
|
304
305
|
.map(([path, count]) => ({ path, count }));
|
|
305
306
|
}
|
|
306
307
|
function shorten(pattern) {
|
|
307
|
-
return pattern.length <= MAX_PATTERN_CHARS ? pattern : `${pattern.slice(0, MAX_PATTERN_CHARS)}… (
|
|
308
|
+
return pattern.length <= MAX_PATTERN_CHARS ? pattern : `${pattern.slice(0, MAX_PATTERN_CHARS)}… (truncated)`;
|
|
308
309
|
}
|
|
309
310
|
function clamp(value, low, high) {
|
|
310
311
|
return Math.min(Math.max(Math.trunc(value), low), high);
|