frontend-guardian-core 3.5.0 → 3.5.2

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.
@@ -0,0 +1,344 @@
1
+ "use strict";
2
+ /**
3
+ * Governance Dashboard Server
4
+ *
5
+ * v3.5.2: Central HTTP server for collecting and displaying
6
+ * multi-project scan results.
7
+ *
8
+ * Zero external dependencies: uses node:http and node:fs only.
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.DashboardServer = void 0;
12
+ const node_http_1 = require("node:http");
13
+ const node_fs_1 = require("node:fs");
14
+ const node_path_1 = require("node:path");
15
+ const node_crypto_1 = require("node:crypto");
16
+ const dashboard_html_js_1 = require("./dashboard-html.js");
17
+ /**
18
+ * Generate a stable project ID from path + name
19
+ */
20
+ function generateProjectId(name, path) {
21
+ return (0, node_crypto_1.createHash)("sha256").update(`${name}:${path}`).digest("hex").slice(0, 16);
22
+ }
23
+ /**
24
+ * Parse JSON body from an IncomingMessage
25
+ */
26
+ function parseBody(req) {
27
+ return new Promise((resolve, reject) => {
28
+ const chunks = [];
29
+ req.on("data", (chunk) => chunks.push(chunk));
30
+ req.on("end", () => {
31
+ try {
32
+ const body = Buffer.concat(chunks).toString("utf-8");
33
+ resolve(body ? JSON.parse(body) : {});
34
+ }
35
+ catch (err) {
36
+ reject(err);
37
+ }
38
+ });
39
+ req.on("error", reject);
40
+ });
41
+ }
42
+ /**
43
+ * Send a JSON response
44
+ */
45
+ function sendJson(res, status, data) {
46
+ res.writeHead(status, { "Content-Type": "application/json" });
47
+ res.end(JSON.stringify(data));
48
+ }
49
+ /**
50
+ * Send a text/plain error response
51
+ */
52
+ function sendError(res, status, message) {
53
+ res.writeHead(status, { "Content-Type": "application/json" });
54
+ res.end(JSON.stringify({ error: message }));
55
+ }
56
+ /**
57
+ * Governance Dashboard HTTP Server
58
+ *
59
+ * Collects scan reports from multiple projects and serves
60
+ * a web dashboard for trend visualization.
61
+ */
62
+ class DashboardServer {
63
+ dataDir;
64
+ options;
65
+ server = null;
66
+ projectsFile;
67
+ constructor(options = {}) {
68
+ this.options = options;
69
+ this.dataDir =
70
+ options.dataDir || (0, node_path_1.resolve)(process.env.HOME || process.env.USERPROFILE || ".", ".frontend-guardian-server");
71
+ this.projectsFile = (0, node_path_1.resolve)(this.dataDir, "projects.json");
72
+ this.ensureDir(this.dataDir);
73
+ }
74
+ /** Start the HTTP server */
75
+ start(port = 3456) {
76
+ return new Promise((resolve) => {
77
+ this.server = (0, node_http_1.createServer)((req, res) => this.handleRequest(req, res));
78
+ this.server.listen(port, () => {
79
+ console.log(`Dashboard server running at http://localhost:${port}`);
80
+ console.log(`Data directory: ${this.dataDir}`);
81
+ resolve();
82
+ });
83
+ });
84
+ }
85
+ /** Stop the HTTP server */
86
+ stop() {
87
+ return new Promise((resolve) => {
88
+ if (!this.server) {
89
+ resolve();
90
+ return;
91
+ }
92
+ this.server.close(() => {
93
+ this.server = null;
94
+ resolve();
95
+ });
96
+ });
97
+ }
98
+ /** Get the underlying http.Server instance (for testing) */
99
+ getServer() {
100
+ return this.server;
101
+ }
102
+ /** Get the data directory path */
103
+ getDataDir() {
104
+ return this.dataDir;
105
+ }
106
+ handleRequest(req, res) {
107
+ // CORS
108
+ if (this.options.cors) {
109
+ res.setHeader("Access-Control-Allow-Origin", this.options.cors);
110
+ res.setHeader("Access-Control-Allow-Methods", "GET, POST, OPTIONS");
111
+ res.setHeader("Access-Control-Allow-Headers", "Content-Type, Authorization");
112
+ }
113
+ if (req.method === "OPTIONS") {
114
+ res.writeHead(204);
115
+ res.end();
116
+ return;
117
+ }
118
+ const url = new URL(req.url || "/", `http://${req.headers.host}`);
119
+ const pathname = url.pathname;
120
+ // Auth check for POST
121
+ if (req.method === "POST" && this.options.authToken) {
122
+ const auth = req.headers.authorization;
123
+ if (!auth || auth !== `Bearer ${this.options.authToken}`) {
124
+ sendError(res, 401, "Unauthorized");
125
+ return;
126
+ }
127
+ }
128
+ // Route matching
129
+ if (pathname === "/api/reports" && req.method === "POST") {
130
+ this.handlePostReport(req, res);
131
+ return;
132
+ }
133
+ if (pathname === "/api/projects" && req.method === "GET") {
134
+ this.handleGetProjects(res);
135
+ return;
136
+ }
137
+ const projectMatch = pathname.match(/^\/api\/projects\/([^\/]+)$/);
138
+ if (projectMatch && req.method === "GET") {
139
+ this.handleGetProject(projectMatch[1], res);
140
+ return;
141
+ }
142
+ const reportsMatch = pathname.match(/^\/api\/projects\/([^\/]+)\/reports$/);
143
+ if (reportsMatch && req.method === "GET") {
144
+ const limit = parseInt(url.searchParams.get("limit") || "50", 10);
145
+ this.handleGetReports(reportsMatch[1], limit, res);
146
+ return;
147
+ }
148
+ const trendsMatch = pathname.match(/^\/api\/projects\/([^\/]+)\/trends$/);
149
+ if (trendsMatch && req.method === "GET") {
150
+ this.handleGetTrends(trendsMatch[1], res);
151
+ return;
152
+ }
153
+ const latestMatch = pathname.match(/^\/api\/projects\/([^\/]+)\/latest$/);
154
+ if (latestMatch && req.method === "GET") {
155
+ this.handleGetLatest(latestMatch[1], res);
156
+ return;
157
+ }
158
+ if (pathname === "/" && req.method === "GET") {
159
+ this.handleGetDashboard(res);
160
+ return;
161
+ }
162
+ sendError(res, 404, "Not found");
163
+ }
164
+ // ── Route Handlers ────────────────────────────────────────────────────
165
+ async handlePostReport(req, res) {
166
+ try {
167
+ const body = (await parseBody(req));
168
+ if (!body.projectName || !body.result) {
169
+ sendError(res, 400, "Missing projectName or result");
170
+ return;
171
+ }
172
+ const projectId = generateProjectId(body.projectName, body.projectPath || body.projectName);
173
+ const timestamp = Date.now();
174
+ const reportId = `${timestamp}-${projectId}-${body.module || "all"}`;
175
+ // Save report
176
+ const report = {
177
+ id: reportId,
178
+ projectId,
179
+ timestamp,
180
+ module: body.module || "all",
181
+ result: body.result,
182
+ issues: body.issues || [],
183
+ git: body.git,
184
+ meta: body.meta,
185
+ };
186
+ const reportDir = (0, node_path_1.resolve)(this.dataDir, "reports", projectId);
187
+ this.ensureDir(reportDir);
188
+ (0, node_fs_1.writeFileSync)((0, node_path_1.resolve)(reportDir, `${timestamp}.json`), JSON.stringify(report, null, 2), "utf-8");
189
+ // Update project index
190
+ const projects = this.loadProjects();
191
+ const existing = projects.find((p) => p.id === projectId);
192
+ if (existing) {
193
+ existing.lastScanAt = timestamp;
194
+ existing.reportCount = this.countReports(projectId);
195
+ }
196
+ else {
197
+ projects.push({
198
+ id: projectId,
199
+ name: body.projectName,
200
+ path: body.projectPath || body.projectName,
201
+ createdAt: timestamp,
202
+ lastScanAt: timestamp,
203
+ reportCount: 1,
204
+ });
205
+ }
206
+ this.saveProjects(projects);
207
+ sendJson(res, 201, { success: true, reportId, projectId });
208
+ }
209
+ catch (err) {
210
+ sendError(res, 400, `Invalid JSON: ${String(err)}`);
211
+ }
212
+ }
213
+ handleGetProjects(res) {
214
+ const projects = this.loadProjects();
215
+ sendJson(res, 200, { projects });
216
+ }
217
+ handleGetProject(projectId, res) {
218
+ const projects = this.loadProjects();
219
+ const project = projects.find((p) => p.id === projectId);
220
+ if (!project) {
221
+ sendError(res, 404, "Project not found");
222
+ return;
223
+ }
224
+ sendJson(res, 200, { project });
225
+ }
226
+ handleGetReports(projectId, limit, res) {
227
+ const reportDir = (0, node_path_1.resolve)(this.dataDir, "reports", projectId);
228
+ if (!(0, node_fs_1.existsSync)(reportDir)) {
229
+ sendJson(res, 200, { reports: [] });
230
+ return;
231
+ }
232
+ const files = (0, node_fs_1.readdirSync)(reportDir)
233
+ .filter((f) => f.endsWith(".json"))
234
+ .sort()
235
+ .reverse()
236
+ .slice(0, limit);
237
+ const reports = [];
238
+ for (const file of files) {
239
+ try {
240
+ const raw = (0, node_fs_1.readFileSync)((0, node_path_1.resolve)(reportDir, file), "utf-8");
241
+ const report = JSON.parse(raw);
242
+ reports.push({
243
+ id: report.id,
244
+ timestamp: report.timestamp,
245
+ module: report.module,
246
+ counts: {
247
+ critical: report.result.issues.critical.length,
248
+ warning: report.result.issues.warning.length,
249
+ suggestion: report.result.issues.suggestion.length,
250
+ },
251
+ });
252
+ }
253
+ catch {
254
+ // skip invalid
255
+ }
256
+ }
257
+ sendJson(res, 200, { reports });
258
+ }
259
+ handleGetTrends(projectId, res) {
260
+ const reportDir = (0, node_path_1.resolve)(this.dataDir, "reports", projectId);
261
+ if (!(0, node_fs_1.existsSync)(reportDir)) {
262
+ sendJson(res, 200, { trends: [] });
263
+ return;
264
+ }
265
+ const files = (0, node_fs_1.readdirSync)(reportDir)
266
+ .filter((f) => f.endsWith(".json"))
267
+ .sort();
268
+ const trends = [];
269
+ for (const file of files) {
270
+ try {
271
+ const raw = (0, node_fs_1.readFileSync)((0, node_path_1.resolve)(reportDir, file), "utf-8");
272
+ const report = JSON.parse(raw);
273
+ trends.push({
274
+ timestamp: report.timestamp,
275
+ critical: report.result.issues.critical.length,
276
+ warning: report.result.issues.warning.length,
277
+ suggestion: report.result.issues.suggestion.length,
278
+ total: report.result.total,
279
+ });
280
+ }
281
+ catch {
282
+ // skip invalid
283
+ }
284
+ }
285
+ sendJson(res, 200, { trends });
286
+ }
287
+ handleGetLatest(projectId, res) {
288
+ const reportDir = (0, node_path_1.resolve)(this.dataDir, "reports", projectId);
289
+ if (!(0, node_fs_1.existsSync)(reportDir)) {
290
+ sendError(res, 404, "Project not found or no reports");
291
+ return;
292
+ }
293
+ const files = (0, node_fs_1.readdirSync)(reportDir)
294
+ .filter((f) => f.endsWith(".json"))
295
+ .sort()
296
+ .reverse();
297
+ if (files.length === 0) {
298
+ sendError(res, 404, "No reports found");
299
+ return;
300
+ }
301
+ try {
302
+ const raw = (0, node_fs_1.readFileSync)((0, node_path_1.resolve)(reportDir, files[0]), "utf-8");
303
+ const report = JSON.parse(raw);
304
+ sendJson(res, 200, { report });
305
+ }
306
+ catch {
307
+ sendError(res, 500, "Failed to read latest report");
308
+ }
309
+ }
310
+ handleGetDashboard(res) {
311
+ const html = (0, dashboard_html_js_1.generateDashboardHtml)();
312
+ res.writeHead(200, { "Content-Type": "text/html; charset=utf-8" });
313
+ res.end(html);
314
+ }
315
+ // ── File Storage Helpers ──────────────────────────────────────────────
316
+ ensureDir(dir) {
317
+ if (!(0, node_fs_1.existsSync)(dir)) {
318
+ (0, node_fs_1.mkdirSync)(dir, { recursive: true });
319
+ }
320
+ }
321
+ loadProjects() {
322
+ try {
323
+ if ((0, node_fs_1.existsSync)(this.projectsFile)) {
324
+ const raw = (0, node_fs_1.readFileSync)(this.projectsFile, "utf-8");
325
+ return JSON.parse(raw);
326
+ }
327
+ }
328
+ catch {
329
+ // corrupted, start fresh
330
+ }
331
+ return [];
332
+ }
333
+ saveProjects(projects) {
334
+ (0, node_fs_1.writeFileSync)(this.projectsFile, JSON.stringify(projects, null, 2), "utf-8");
335
+ }
336
+ countReports(projectId) {
337
+ const reportDir = (0, node_path_1.resolve)(this.dataDir, "reports", projectId);
338
+ if (!(0, node_fs_1.existsSync)(reportDir))
339
+ return 0;
340
+ return (0, node_fs_1.readdirSync)(reportDir).filter((f) => f.endsWith(".json")).length;
341
+ }
342
+ }
343
+ exports.DashboardServer = DashboardServer;
344
+ //# sourceMappingURL=dashboard-server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard-server.js","sourceRoot":"","sources":["../../src/server/dashboard-server.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -2,6 +2,7 @@
2
2
  * Core type definitions for frontend-guardian rule engine
3
3
  */
4
4
  export type Severity = "critical" | "warning" | "suggestion";
5
+ export type ScanStrategy = "strict" | "standard" | "loose";
5
6
  export type Platform = "pc" | "h5" | "wechat-mp" | "alipay-mp" | "douyin-mp" | "app" | "harmony" | "flutter" | "react-native";
6
7
  export type Framework = "react" | "vue" | "nextjs" | "nuxt" | "uniapp" | "taro" | "flutter" | "react-native" | "harmony" | "svelte" | "solidjs" | "astro";
7
8
  export type ComponentLib = "antd" | "element-plus" | "mui" | "vuetify" | "nutui" | "tdesign" | "shadcn" | "none";
@@ -189,6 +190,8 @@ export interface ProjectConfig {
189
190
  customRules?: CustomRuleConfig[];
190
191
  /** v2.7.0: 从 npm 插件包加载的规则(内部使用,不写入配置文件) */
191
192
  __pluginRules?: Rule[];
193
+ /** v3.5.0: 扫描策略分级 strict | standard | loose */
194
+ strategy?: ScanStrategy;
192
195
  }
193
196
  export interface I18nConfig {
194
197
  sourceLocale: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Compliance Report Generator -- v3.5.0
3
+ *
4
+ * Generates SOC2 / ISO27001 style code quality compliance reports.
5
+ * Maps scan results to specific compliance controls, outputs audit-friendly Markdown.
6
+ */
7
+ import type { Issue, ScanResult, Severity } from "../types.js";
8
+ /** Compliance control definition */
9
+ export interface ComplianceControl {
10
+ code: string;
11
+ name: string;
12
+ standard: "SOC2" | "ISO27001" | "WCAG" | "INTERNAL";
13
+ description: string;
14
+ }
15
+ /** Rule to compliance control mapping */
16
+ export interface RuleComplianceMapping {
17
+ ruleId: string;
18
+ controls: ComplianceControl[];
19
+ impact: "high" | "medium" | "low";
20
+ }
21
+ /** Compliance report structure */
22
+ export interface ComplianceReport {
23
+ timestamp: string;
24
+ project: string;
25
+ strategy: string;
26
+ summary: {
27
+ totalIssues: number;
28
+ criticalIssues: number;
29
+ highImpactControls: number;
30
+ complianceScore: number;
31
+ };
32
+ findings: ComplianceFinding[];
33
+ recommendations: ComplianceRecommendation[];
34
+ }
35
+ /** Single non-compliance finding */
36
+ export interface ComplianceFinding {
37
+ control: ComplianceControl;
38
+ issues: Issue[];
39
+ severity: Severity;
40
+ }
41
+ /** Remediation recommendation */
42
+ export interface ComplianceRecommendation {
43
+ control: ComplianceControl;
44
+ priority: "immediate" | "short-term" | "long-term";
45
+ action: string;
46
+ estimatedEffort: string;
47
+ }
48
+ /** Generate compliance report */
49
+ export declare function generateComplianceReport(results: ScanResult[], projectName: string, strategy?: string, mappings?: RuleComplianceMapping[]): ComplianceReport;
50
+ /** Convert compliance report to Markdown */
51
+ export declare function complianceReportToMarkdown(report: ComplianceReport): string;
52
+ /** Save compliance report to file */
53
+ export declare function saveComplianceReport(report: ComplianceReport, outputPath: string): void;
54
+ /** Get compliance mapping for a rule (for extensions) */
55
+ export declare function getComplianceMapping(ruleId: string): RuleComplianceMapping | undefined;
56
+ /** Register custom compliance mapping */
57
+ export declare function registerComplianceMapping(mapping: RuleComplianceMapping): void;
58
+ //# sourceMappingURL=compliance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compliance.d.ts","sourceRoot":"","sources":["../../src/utils/compliance.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE9D,oCAAoC;AACpC,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,UAAU,CAAC;IACpD,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,yCAAyC;AACzC,MAAM,WAAW,qBAAqB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;CACrC;AAuFD,kCAAkC;AAClC,MAAM,WAAW,gBAAgB;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE;QACL,WAAW,EAAE,MAAM,CAAC;QACpB,cAAc,EAAE,MAAM,CAAC;QACvB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,eAAe,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,eAAe,EAAE,wBAAwB,EAAE,CAAC;CAC/C;AAED,oCAAoC;AACpC,MAAM,WAAW,iBAAiB;IAC9B,OAAO,EAAE,iBAAiB,CAAC;IAC3B,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,QAAQ,EAAE,QAAQ,CAAC;CACtB;AAED,iCAAiC;AACjC,MAAM,WAAW,wBAAwB;IACrC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,QAAQ,EAAE,WAAW,GAAG,YAAY,GAAG,WAAW,CAAC;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;CAC3B;AAED,iCAAiC;AACjC,wBAAgB,wBAAwB,CACpC,OAAO,EAAE,UAAU,EAAE,EACrB,WAAW,EAAE,MAAM,EACnB,QAAQ,SAAa,EACrB,QAAQ,0BAAmB,GAC5B,gBAAgB,CAkElB;AAED,4CAA4C;AAC5C,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAkG3E;AAED,qCAAqC;AACrC,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAGvF;AAED,yDAAyD;AACzD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS,CAEtF;AAED,yCAAyC;AACzC,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI,CAO9E"}