flutter_coverage_report 1.0.1 copy "flutter_coverage_report: ^1.0.1" to clipboard
flutter_coverage_report: ^1.0.1 copied to clipboard

Modern, Playwright-style HTML coverage reports for Flutter/Dart with GitHub Primer design.

Flutter Coverage Report #

Generate Playwright-style HTML coverage reports from Flutter/Dart lcov.info files.

A modern, interactive coverage report with GitHub Primer design system - replacing the outdated genhtml output with a sleek, responsive UI.

Screenshots #

Dashboard View #

Light Mode Dark Mode
Light Mode Dark Mode

Source Code View #

Light Mode Dark Mode
Source Light Source Dark

Features #

  • Playwright-style UI - Modern, interactive HTML report
  • GitHub Primer theme - Light/Dark mode with system preference detection
  • File tree navigation - Collapsible sidebar with folder structure
  • Search & filter - Find files quickly, filter by coverage level
  • Source code view - Inline code with line-by-line coverage highlighting
  • Dashboard - Overall coverage stats, progress bars, top uncovered files
  • Single HTML file - All CSS/JS inlined, no external dependencies
  • Responsive design - Works on mobile, tablet, and desktop

Installation #

dart pub global activate flutter_coverage_report

Usage #

Basic usage #

# Generate coverage first
flutter test --coverage

# Generate HTML report
fcr coverage/lcov.info

With options #

fcr coverage/lcov.info \
  --output coverage/report.html \
  --title "My App Coverage" \
  --open

All in one #

flutter test --coverage && fcr coverage/lcov.info --open

Options #

Option Short Description Default
--output -o Output HTML file path coverage/coverage-report.html
--title -t Report title Coverage Report
--base-path -b Base path for source files Auto-detected
--open Open report in browser false
--help -h Show help message
--version -v Show version number

Programmatic Usage #

import 'dart:io';
import 'package:flutter_coverage_report/flutter_coverage_report.dart';

void main() async {
  // Parse lcov.info
  const parser = LcovParser(title: 'My Coverage Report');
  final data = await parser.parse('coverage/lcov.info');

  print('Coverage: ${data.lineCoveragePercent.toStringAsFixed(1)}%');

  // Generate HTML report
  const generator = HtmlGenerator();
  final html = await generator.generate(data);

  // Write to file
  await File('coverage/report.html').writeAsString(html);
}

Report Features #

Dashboard #

  • Overall line and function coverage percentages
  • Progress bars with color coding (green/yellow/red)
  • File counts by coverage level
  • Top 5 files with lowest coverage

File Tree #

  • Hierarchical folder structure
  • Coverage badge for each file
  • Click to expand/collapse folders
  • Click file to view source code

Source Code View #

  • Line numbers
  • Hit count for each line
  • Green highlighting for covered lines
  • Red highlighting for uncovered lines
  • Back button to return to dashboard

Filters #

  • Search by file name
  • Filter by coverage level (All/High/Medium/Low)

Theme #

  • Light mode (default)
  • Dark mode
  • System preference detection
  • Manual toggle in header

License #

MIT

1
likes
160
points
78
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Modern, Playwright-style HTML coverage reports for Flutter/Dart with GitHub Primer design.

Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

args, path

More

Packages that depend on flutter_coverage_report