1.0.0 โ€ข Published 7 months ago

repo-insight-analyzer v1.0.0

Weekly downloads
-
License
MIT
Repository
-
Last release
7 months ago

๐Ÿ“Š Repo Insight Analyzer ๐Ÿ•ต๏ธโ€โ™€๏ธ

A powerful TypeScript package for deep repository analysis, providing comprehensive insights into your codebase's structure, composition, and health.

๐Ÿš€ Features

  • ๐Ÿ” Comprehensive Repository Analysis
  • ๐Ÿ’พ Support for GitHub and Local Repositories
  • ๐Ÿ“ˆ Detailed File Type Metrics
  • ๐Ÿงน ESLint Integration
  • ๐Ÿ“„ Markdown Report Generation

๐Ÿ“ฆ Installation

npm install repo-insight-analyzer

๐Ÿ› ๏ธ Quick Start

Analyzing a GitHub Repository

import { GitHubRepoAnalyzer, ReportGenerator } from 'repo-insight-analyzer';

async function analyzeGitHubRepo() {
  // Create an analyzer instance
  const analyzer = new GitHubRepoAnalyzer({
    token: 'your-github-personal-access-token',
    owner: 'username',
    repo: 'repository-name'
  });

  // Analyze the repository
  const insights = await analyzer.analyzeRepository();

  // Generate a markdown report
  const report = ReportGenerator.generateMarkdownReport(insights);
  console.log(report);
}

Analyzing a Local Directory

import { analyzeFiles, runEslint, ReportGenerator } from 'repo-insight-analyzer';

async function analyzeLocalRepo() {
  // Analyze files in a local directory
  const insights = await analyzeFiles('/path/to/your/local/repository');

  // Run ESLint on the repository
  const lintResults = await runEslint('/path/to/your/local/repository');

  // Combine insights
  insights.lintResults = lintResults;

  // Generate markdown report
  const report = ReportGenerator.generateMarkdownReport(insights);
  console.log(report);
}

๐ŸŒŸ Key Capabilities

Repository Scanning

  • Count total files
  • Identify empty files
  • Analyze file type distribution
  • Comprehensive ESLint integration

Reporting

  • Generate detailed markdown reports
  • Breakdown of file types
  • ESLint error and warning summary
  • Flexible output options

๐Ÿ”ง Configuration Options

GitHub Repository Analysis

  • token: GitHub Personal Access Token
  • owner: GitHub repository owner
  • repo: Repository name
  • localPath (optional): Custom local clone path

Local Directory Analysis

  • Full support for recursive directory scanning
  • Configurable file type detection
  • ESLint configuration support

๐Ÿ’ก Advanced Usage

Custom Report Generation

import { GitHubRepoAnalyzer, ReportGenerator } from 'repo-insight-analyzer';

async function customReportGeneration() {
  const analyzer = new GitHubRepoAnalyzer({
    token: 'your-token',
    owner: 'username',
    repo: 'repository-name'
  });

  const insights = await analyzer.analyzeRepository();

  // Generate report with custom output path
  ReportGenerator.generateMarkdownReport(
    insights, 
    '/path/to/output/directory'
  );
}

๐Ÿ›ก๏ธ Requirements

  • Node.js 16.0.0 or higher
  • TypeScript 4.5.0 or higher
  • GitHub Personal Access Token (for GitHub repository analysis)

๐Ÿค Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

๐Ÿ“œ License

Distributed under the MIT License. See LICENSE for more information.

๐Ÿ› Issues

Report issues on the GitHub Issues page.

๐ŸŒ Stay Connected

  • Follow us on GitHub
  • Star the repository if you find it helpful!