"""
Reads a JSON file generated by `npm audit --json` and prints a Markdown
table summarizing the vulnerabilities.
"""

import sys
import json

def generate_markdown_table(json_path):
    with open(json_path, 'r') as file:
        data = json.load(file)

    vulnerabilities = data.get('vulnerabilities', {})

    if not vulnerabilities:
        print("## npm Audit Report\n✅ No vulnerabilities found!")
        return

    print("## npm Audit Report")
    print("| Package | Severity | Vulnerable Range | Fix Available |")
    print("| :--- | :---: | :---: | :---: |")

    for pkg, details in vulnerabilities.items():
        severity = details.get('severity', 'unknown').capitalize()
        vuln_range = details.get('range', 'unknown')
        fix_available = "Yes" if details.get('fixAvailable') else "No"

        print(f"| {pkg} | {severity} | `{vuln_range}` | {fix_available} |")

if __name__ == "__main__":
    if len(sys.argv) < 2:
        print("Usage: python audit_report.py <path_to_audit.json>")
        sys.exit(1)

    generate_markdown_table(sys.argv[1])
