📦 deps(thirdparty): update snapshots
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
/**
|
||||
* Health score history utilities.
|
||||
*
|
||||
* Reads and writes .brooks-lint-history.json in the project root.
|
||||
* Each record: { date, mode, score, findings: { critical, warning, suggestion }, scope }
|
||||
*
|
||||
* Run: node scripts/history.mjs [projectRoot]
|
||||
* Prints the history for projectRoot (default: cwd).
|
||||
*/
|
||||
|
||||
import { readFileSync, writeFileSync } from "node:fs";
|
||||
import { fileURLToPath } from "node:url";
|
||||
import path from "node:path";
|
||||
|
||||
const HISTORY_FILE = ".brooks-lint-history.json";
|
||||
|
||||
/**
|
||||
* Read history from .brooks-lint-history.json.
|
||||
* Returns empty array if the file does not exist or contains invalid JSON.
|
||||
*/
|
||||
export function readHistory(projectRoot) {
|
||||
try {
|
||||
return JSON.parse(readFileSync(path.join(projectRoot, HISTORY_FILE), "utf8"));
|
||||
} catch {
|
||||
return [];
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Append a record to .brooks-lint-history.json, creating the file if needed.
|
||||
*/
|
||||
export function appendHistory(projectRoot, record) {
|
||||
const history = readHistory(projectRoot);
|
||||
history.push(record);
|
||||
writeFileSync(
|
||||
path.join(projectRoot, HISTORY_FILE),
|
||||
JSON.stringify(history, null, 2) + "\n",
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get trend info for a mode from a history array (not including the current run).
|
||||
* Returns null if no prior records exist for the mode.
|
||||
* Returns { lastScore, runCount } where lastScore is the most recent prior score.
|
||||
*/
|
||||
export function getTrend(history, mode) {
|
||||
const modeHistory = history.filter(r => r.mode === mode);
|
||||
if (modeHistory.length === 0) return null;
|
||||
return {
|
||||
lastScore: modeHistory[modeHistory.length - 1].score,
|
||||
runCount: modeHistory.length,
|
||||
};
|
||||
}
|
||||
|
||||
if (process.argv[1] === fileURLToPath(import.meta.url)) {
|
||||
const projectRoot = process.argv[2] ?? process.cwd();
|
||||
const history = readHistory(projectRoot);
|
||||
if (history.length === 0) {
|
||||
console.log("No history found.");
|
||||
} else {
|
||||
console.log(JSON.stringify(history, null, 2));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user