@greenarmor/ges
Advanced tools
| import { Command } from "commander"; | ||
| import { ensureGESInitialized, readJsonFile } from "../utils/project.js"; | ||
| import { ensureGESInitialized, readJsonFile, writeFileSync } from "../utils/project.js"; | ||
| import { generateBadgeSvg, injectBadgeIntoReadme, computeGrade, generateScoreExplainer } from "@greenarmor/ges-scoring-engine"; | ||
@@ -24,3 +24,3 @@ import { showNextStepsMenu } from "../utils/next-steps.js"; | ||
| fs.mkdirSync(path.dirname(outputPath), { recursive: true }); | ||
| fs.writeFileSync(outputPath, svg); | ||
| writeFileSync(outputPath, svg); | ||
| const explainer = generateScoreExplainer(score); | ||
@@ -35,3 +35,3 @@ console.log(`\n Badge generated: ${options.output}`); | ||
| const updated = injectBadgeIntoReadme(readmeContent, relativeBadgePath, explainer); | ||
| fs.writeFileSync(readmePath, updated); | ||
| writeFileSync(readmePath, updated); | ||
| console.log(` Badge injected into ${options.readme}`); | ||
@@ -38,0 +38,0 @@ } |
| import { Command } from "commander"; | ||
| import { ensureGESInitialized } from "../utils/project.js"; | ||
| import { safeWriteJson } from "@greenarmor/ges-core"; | ||
| import { runAudit, deduplicateFindings } from "@greenarmor/ges-audit-engine"; | ||
@@ -45,5 +46,5 @@ import { createAutoFixPlan, applyAutoFixAction, getNpmInstallsFromActions } from "@greenarmor/ges-mcp-server"; | ||
| try { | ||
| fs.writeFileSync(path.join(root, ".ges", "last-audit.json"), JSON.stringify({ | ||
| safeWriteJson(path.join(root, ".ges", "last-audit.json"), { | ||
| findings, scannedFiles, timestamp: new Date().toISOString(), | ||
| }, null, 2)); | ||
| }); | ||
| } | ||
@@ -50,0 +51,0 @@ catch { /* ignore persistence errors */ } |
@@ -6,2 +6,3 @@ import { Command } from "commander"; | ||
| import * as url from "node:url"; | ||
| import { safeWriteFile } from "@greenarmor/ges-core"; | ||
| import { select } from "../utils/prompts.js"; | ||
@@ -140,7 +141,3 @@ import { showNextStepsMenu } from "../utils/next-steps.js"; | ||
| function writeJsonFile(filePath, data) { | ||
| const dir = path.dirname(filePath); | ||
| if (!fs.existsSync(dir)) { | ||
| fs.mkdirSync(dir, { recursive: true }); | ||
| } | ||
| fs.writeFileSync(filePath, JSON.stringify(data, null, 2) + "\n"); | ||
| safeWriteFile(filePath, JSON.stringify(data, null, 2) + "\n"); | ||
| } | ||
@@ -147,0 +144,0 @@ function addServerToConfig(config, client) { |
| import * as fs from "node:fs"; | ||
| import * as path from "node:path"; | ||
| import { safeWriteFile, safeWriteJson } from "@greenarmor/ges-core"; | ||
| export const GES_DIR = ".ges"; | ||
@@ -24,7 +25,3 @@ export function findProjectRoot(startDir = process.cwd()) { | ||
| export function writeFileSync(filePath, content) { | ||
| const dir = path.dirname(filePath); | ||
| if (!fs.existsSync(dir)) { | ||
| fs.mkdirSync(dir, { recursive: true }); | ||
| } | ||
| fs.writeFileSync(filePath, content, "utf-8"); | ||
| safeWriteFile(filePath, content); | ||
| } | ||
@@ -41,3 +38,3 @@ export function readJsonFile(filePath) { | ||
| export function writeJsonFile(filePath, data) { | ||
| writeFileSync(filePath, JSON.stringify(data, null, 2)); | ||
| safeWriteJson(filePath, data); | ||
| } |
+14
-14
@@ -6,15 +6,15 @@ { | ||
| "dependencies": { | ||
| "@greenarmor/ges-audit-engine": "1.5.1", | ||
| "@greenarmor/ges-cicd-generator": "1.5.1", | ||
| "@greenarmor/ges-compliance-engine": "1.5.1", | ||
| "@greenarmor/ges-core": "1.5.1", | ||
| "@greenarmor/ges-doc-generator": "1.5.1", | ||
| "@greenarmor/ges-git-hooks": "1.5.1", | ||
| "@greenarmor/ges-mcp-server": "1.5.1", | ||
| "@greenarmor/ges-policy-engine": "1.5.1", | ||
| "@greenarmor/ges-report-generator": "1.5.1", | ||
| "@greenarmor/ges-rules-engine": "1.5.1", | ||
| "@greenarmor/ges-scanner-integration": "1.5.1", | ||
| "@greenarmor/ges-scoring-engine": "1.5.1", | ||
| "@greenarmor/ges-web-dashboard": "1.5.1", | ||
| "@greenarmor/ges-audit-engine": "1.5.2", | ||
| "@greenarmor/ges-cicd-generator": "1.5.2", | ||
| "@greenarmor/ges-compliance-engine": "1.5.2", | ||
| "@greenarmor/ges-core": "1.5.2", | ||
| "@greenarmor/ges-doc-generator": "1.5.2", | ||
| "@greenarmor/ges-git-hooks": "1.5.2", | ||
| "@greenarmor/ges-mcp-server": "1.5.2", | ||
| "@greenarmor/ges-policy-engine": "1.5.2", | ||
| "@greenarmor/ges-report-generator": "1.5.2", | ||
| "@greenarmor/ges-rules-engine": "1.5.2", | ||
| "@greenarmor/ges-scanner-integration": "1.5.2", | ||
| "@greenarmor/ges-scoring-engine": "1.5.2", | ||
| "@greenarmor/ges-web-dashboard": "1.5.2", | ||
| "chalk": "^5.6.2", | ||
@@ -64,3 +64,3 @@ "commander": "^13.0.0" | ||
| "types": "./dist/index.d.ts", | ||
| "version": "1.5.1", | ||
| "version": "1.5.2", | ||
| "scripts": { | ||
@@ -67,0 +67,0 @@ "build": "tsc", |
146909
-0.09%3228
-0.15%+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
Updated