nfunc-mcp 0.1.0 → 0.3.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.
Files changed (35) hide show
  1. package/README.md +88 -43
  2. package/dist/index.js +23 -4
  3. package/dist/index.js.map +1 -1
  4. package/dist/mappers/a11yDedupe.d.ts +25 -0
  5. package/dist/mappers/a11yDedupe.js +95 -0
  6. package/dist/mappers/a11yDedupe.js.map +1 -0
  7. package/dist/mappers/compositeScore.d.ts +23 -0
  8. package/dist/mappers/compositeScore.js +107 -0
  9. package/dist/mappers/compositeScore.js.map +1 -0
  10. package/dist/mappers/correlator.js +94 -33
  11. package/dist/mappers/correlator.js.map +1 -1
  12. package/dist/mappers/defectFormatter.js +129 -15
  13. package/dist/mappers/defectFormatter.js.map +1 -1
  14. package/dist/mappers/priorityMapper.d.ts +38 -0
  15. package/dist/mappers/priorityMapper.js +126 -0
  16. package/dist/mappers/priorityMapper.js.map +1 -1
  17. package/dist/tools/accessibility.js +72 -31
  18. package/dist/tools/accessibility.js.map +1 -1
  19. package/dist/tools/lighthouse.d.ts +14 -0
  20. package/dist/tools/lighthouse.js +134 -34
  21. package/dist/tools/lighthouse.js.map +1 -1
  22. package/dist/tools/qaGate.js +117 -70
  23. package/dist/tools/qaGate.js.map +1 -1
  24. package/dist/tools/staticAnalysis.js +15 -67
  25. package/dist/tools/staticAnalysis.js.map +1 -1
  26. package/dist/utils/eslintConfigDetector.d.ts +13 -0
  27. package/dist/utils/eslintConfigDetector.js +65 -2
  28. package/dist/utils/eslintConfigDetector.js.map +1 -1
  29. package/dist/utils/eslintRunner.d.ts +9 -0
  30. package/dist/utils/eslintRunner.js +103 -0
  31. package/dist/utils/eslintRunner.js.map +1 -0
  32. package/dist/utils/outputParsers.d.ts +25 -0
  33. package/dist/utils/outputParsers.js +42 -0
  34. package/dist/utils/outputParsers.js.map +1 -1
  35. package/package.json +2 -2
@@ -0,0 +1,9 @@
1
+ import type { StaticAnalysisIssue } from "../mappers/defectFormatter.js";
2
+ export interface ESLintRunResult {
3
+ issues: StaticAnalysisIssue[];
4
+ config_used: string;
5
+ packages: string[];
6
+ warnings: string[];
7
+ ran: boolean;
8
+ }
9
+ export declare function runESLint(absPath: string): Promise<ESLintRunResult>;
@@ -0,0 +1,103 @@
1
+ import { fileURLToPath } from "url";
2
+ import { relative } from "path";
3
+ import { runShell } from "./shellRunner.js";
4
+ import { parseESLintJSON } from "./outputParsers.js";
5
+ import { detectESLintConfig, discoverESLintPackages, resolveESLintBinary, } from "./eslintConfigDetector.js";
6
+ const BASELINE_CONFIG_PATH = fileURLToPath(new URL("../config/qa-mcp-baseline.eslint.config.js", import.meta.url));
7
+ function buildSpecs(absPath) {
8
+ const { hasConfig } = detectESLintConfig(absPath);
9
+ if (hasConfig) {
10
+ return {
11
+ specs: [{
12
+ binary: resolveESLintBinary(absPath),
13
+ args: [".", "--format", "json"],
14
+ cwd: absPath,
15
+ label: ".",
16
+ }],
17
+ config_used: "project",
18
+ packages: [],
19
+ };
20
+ }
21
+ const discovered = discoverESLintPackages(absPath);
22
+ if (discovered.length > 0) {
23
+ return {
24
+ specs: discovered.map(pkg => ({
25
+ binary: resolveESLintBinary(pkg),
26
+ args: [".", "--format", "json"],
27
+ cwd: pkg,
28
+ label: relative(absPath, pkg),
29
+ })),
30
+ config_used: `per-package (${discovered.length} packages)`,
31
+ packages: discovered.map(pkg => relative(absPath, pkg)),
32
+ };
33
+ }
34
+ // No config anywhere — fall back to the QA MCP baseline (JS/JSX only).
35
+ return {
36
+ specs: [{
37
+ binary: resolveESLintBinary(absPath),
38
+ args: [".", "--format", "json", "--config", BASELINE_CONFIG_PATH],
39
+ cwd: absPath,
40
+ label: ".",
41
+ }],
42
+ config_used: "qa-mcp-baseline",
43
+ packages: [],
44
+ };
45
+ }
46
+ export async function runESLint(absPath) {
47
+ const { specs, config_used, packages } = buildSpecs(absPath);
48
+ const results = await Promise.all(specs.map(s => runShell(s.binary, s.args, { timeoutMs: 120_000, cwd: s.cwd })));
49
+ const issues = [];
50
+ const warnings = [];
51
+ let ran = false;
52
+ let notInstalled = false;
53
+ for (let i = 0; i < results.length; i++) {
54
+ const r = results[i];
55
+ const spec = specs[i];
56
+ // Tool not found: exitCode -1 with no output.
57
+ if (r.exitCode === -1 && !r.stdout && !r.stderr) {
58
+ notInstalled = true;
59
+ break;
60
+ }
61
+ // Also catch ENOENT in stderr (execa surfaces it there on some platforms).
62
+ if (r.exitCode === -1 &&
63
+ (r.stderr.includes("ENOENT") ||
64
+ r.stderr.includes("not found") ||
65
+ r.stderr.includes("command not found"))) {
66
+ notInstalled = true;
67
+ break;
68
+ }
69
+ // Exit 2 = fatal config or parse error.
70
+ if (r.exitCode === 2) {
71
+ warnings.push(`ESLint config error (${spec.label}): ${r.stderr.slice(0, 300)}`);
72
+ continue;
73
+ }
74
+ if (r.stdout) {
75
+ try {
76
+ for (const issue of parseESLintJSON(r.stdout).issues) {
77
+ issues.push({
78
+ source: "eslint",
79
+ file: issue.filePath,
80
+ line: issue.line,
81
+ column: issue.column,
82
+ ruleId: issue.ruleId,
83
+ message: issue.message,
84
+ severity: issue.severity,
85
+ });
86
+ }
87
+ ran = true;
88
+ }
89
+ catch {
90
+ warnings.push(`Failed to parse ESLint JSON output (${spec.label}).`);
91
+ }
92
+ }
93
+ else {
94
+ // Exit 0/1 with no stdout = no matched files or no issues.
95
+ ran = true;
96
+ }
97
+ }
98
+ if (notInstalled) {
99
+ warnings.push("ESLint is not installed or not found in PATH — ESLint analysis skipped.");
100
+ }
101
+ return { issues, config_used, packages, warnings, ran: ran && !notInstalled };
102
+ }
103
+ //# sourceMappingURL=eslintRunner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eslintRunner.js","sourceRoot":"","sources":["../../src/utils/eslintRunner.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,17 @@ export interface LighthouseAuditRef {
6
6
  displayValue: string;
7
7
  numericValue?: number;
8
8
  numericUnit?: string;
9
+ /**
10
+ * The audit's weight inside its Lighthouse category, taken from
11
+ * categories[].auditRefs[]. This is Lighthouse's own statement of how much
12
+ * the audit matters: weight 0 means it is a diagnostic that contributes
13
+ * nothing to the category score. Undefined when the audit belongs to no
14
+ * category (rare — treat as unknown, not as zero).
15
+ */
16
+ weight?: number;
17
+ /** Highest-weighted category the audit belongs to, for traceability. */
18
+ category?: string;
19
+ scoreDisplayMode?: string;
9
20
  }
10
21
  export interface ParsedLighthouse {
11
22
  categoryScores: Record<string, number>;
@@ -15,6 +26,8 @@ export interface ParsedLighthouse {
15
26
  }
16
27
  export declare function parseLighthouseJSON(rawJson: string): ParsedLighthouse;
17
28
  export type WcagLevel = "A" | "AA" | "AAA" | "unknown";
29
+ export type A11yRunner = "htmlcs" | "axe";
30
+ export type AxeImpact = "critical" | "serious" | "moderate" | "minor";
18
31
  export interface Pa11yViolation {
19
32
  code: string;
20
33
  technique: string;
@@ -24,6 +37,18 @@ export interface Pa11yViolation {
24
37
  type: "error" | "warning" | "notice";
25
38
  wcagLevel: WcagLevel;
26
39
  criterion: string | null;
40
+ /**
41
+ * Which engine produced this. The two emit completely different `code`
42
+ * shapes — htmlcs gives WCAG technique paths
43
+ * ("WCAG2AA.Principle1.Guideline1_1.1_1_1.H37"), axe gives bare rule ids
44
+ * ("image-alt") — so every consumer has to branch on this rather than
45
+ * pattern-matching the code.
46
+ */
47
+ runner: A11yRunner;
48
+ /** axe only: axe's own severity rating, its equivalent of Lighthouse weight. */
49
+ impact?: AxeImpact;
50
+ /** axe only: the rule could not decide alone and wants human confirmation. */
51
+ needsReview?: boolean;
27
52
  }
28
53
  export interface ParsedPa11y {
29
54
  violationCount: number;
@@ -1,10 +1,21 @@
1
1
  export function parseLighthouseJSON(rawJson) {
2
2
  const lhr = JSON.parse(rawJson);
3
3
  const categoryScores = {};
4
+ // An audit can appear in more than one category; keep the highest weight,
5
+ // since that is the strongest claim Lighthouse makes about its importance.
6
+ const auditWeights = {};
4
7
  for (const [key, cat] of Object.entries(lhr.categories ?? {})) {
5
8
  if (typeof cat?.score === "number") {
6
9
  categoryScores[key] = Math.round(cat.score * 100);
7
10
  }
11
+ for (const ref of cat?.auditRefs ?? []) {
12
+ if (!ref.id || typeof ref.weight !== "number")
13
+ continue;
14
+ const prev = auditWeights[ref.id];
15
+ if (!prev || ref.weight > prev.weight) {
16
+ auditWeights[ref.id] = { weight: ref.weight, category: key };
17
+ }
18
+ }
8
19
  }
9
20
  const scoreValues = Object.values(categoryScores);
10
21
  const totalScore = scoreValues.length > 0
@@ -21,6 +32,7 @@ export function parseLighthouseJSON(rawJson) {
21
32
  const scorePct = Math.round(audit.score * 100);
22
33
  if (scorePct >= 90)
23
34
  continue;
35
+ const weightRef = auditWeights[id];
24
36
  failedAudits.push({
25
37
  id,
26
38
  title: audit.title ?? id,
@@ -29,6 +41,9 @@ export function parseLighthouseJSON(rawJson) {
29
41
  displayValue: audit.displayValue ?? "",
30
42
  numericValue: typeof audit.numericValue === "number" ? audit.numericValue : undefined,
31
43
  numericUnit: audit.numericUnit,
44
+ weight: weightRef?.weight,
45
+ category: weightRef?.category,
46
+ scoreDisplayMode: audit.scoreDisplayMode,
32
47
  });
33
48
  }
34
49
  return { categoryScores, totalScore, ttfbMs, failedAudits };
@@ -108,6 +123,9 @@ function deriveWcagLevel(code) {
108
123
  return { level: "A", criterion };
109
124
  return { level: "unknown", criterion };
110
125
  }
126
+ function isAxeImpact(v) {
127
+ return v === "critical" || v === "serious" || v === "moderate" || v === "minor";
128
+ }
111
129
  function extractTechnique(code) {
112
130
  // pa11y/HTMLCS code shape: WCAG2AA.PrincipleN.GuidelineN_N.N_N_N.<technique>[.<variant>...]
113
131
  // The technique starts at the segment immediately after the criterion (e.g. "1_1_1").
@@ -167,6 +185,29 @@ export function parsePa11yJSON(rawJson) {
167
185
  for (const issue of issues) {
168
186
  const code = issue.code ?? "";
169
187
  const type = (issue.type ?? "error");
188
+ const runner = issue.runner === "axe" ? "axe" : "htmlcs";
189
+ if (runner === "axe") {
190
+ // axe codes are bare rule ids with no WCAG path to parse, so the
191
+ // criterion-derivation below cannot classify them — it would return
192
+ // level "unknown", which the priority mapper drops. Severity comes from
193
+ // axe's own impact rating instead. (Skipping this branch silently
194
+ // discarded every axe finding.)
195
+ const impact = issue.runnerExtras?.impact;
196
+ violations.push({
197
+ code,
198
+ technique: code,
199
+ message: issue.message ?? "",
200
+ selector: issue.selector ?? "",
201
+ context: issue.context ?? "",
202
+ type,
203
+ wcagLevel: "unknown",
204
+ criterion: null,
205
+ runner,
206
+ impact: isAxeImpact(impact) ? impact : undefined,
207
+ needsReview: issue.runnerExtras?.needsFurtherReview === true,
208
+ });
209
+ continue;
210
+ }
170
211
  const { level, criterion } = deriveWcagLevel(code);
171
212
  violations.push({
172
213
  code,
@@ -177,6 +218,7 @@ export function parsePa11yJSON(rawJson) {
177
218
  type,
178
219
  wcagLevel: level,
179
220
  criterion,
221
+ runner,
180
222
  });
181
223
  }
182
224
  return { violationCount: violations.length, violations };
@@ -1 +1 @@
1
- {"version":3,"file":"outputParsers.js","sourceRoot":"","sources":["../../src/utils/outputParsers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"outputParsers.js","sourceRoot":"","sources":["../../src/utils/outputParsers.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nfunc-mcp",
3
- "version": "0.1.0",
3
+ "version": "0.3.0",
4
4
  "description": "MCP server for non-functional QA — Lighthouse, pa11y, ESLint, and Semgrep in parallel with cross-tool correlation and HTML reports",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
@@ -39,7 +39,7 @@
39
39
  "license": "ISC",
40
40
  "repository": {
41
41
  "type": "git",
42
- "url": "https://github.com/Hiddensound/NFunc_MCP.git"
42
+ "url": "git+https://github.com/Hiddensound/NFunc_MCP.git"
43
43
  },
44
44
  "homepage": "https://github.com/Hiddensound/NFunc_MCP#readme",
45
45
  "dependencies": {