diagram_dart 0.4.0 copy "diagram_dart: ^0.4.0" to clipboard
diagram_dart: ^0.4.0 copied to clipboard

Analyzes Dart projects and generates diagrams from source code, detecting inheritance, interfaces, mixins, and dependencies.

example/main.dart

import 'package:diagram_dart/diagram_dart.dart';

Future<void> main() async {
  // Analyze the test fixtures
  final parser = ParseDart('test/fixtures');
  print('Analyzing Dart project...\n');

  final result = await parser.analyze();

  print('Found ${result.classes.length} classes:\n');
  for (final classInfo in result.classes) {
    print('  - ${classInfo.name} (${classInfo.kind})');
    if (classInfo.extendsClass != null) {
      print('      extends: ${classInfo.extendsClass}');
    }
    if (classInfo.implementsList.isNotEmpty) {
      print('      implements: ${classInfo.implementsList.join(", ")}');
    }
    if (classInfo.withList.isNotEmpty) {
      print('      with: ${classInfo.withList.join(", ")}');
    }
    if (classInfo.usesList.isNotEmpty) {
      print('      uses: ${classInfo.usesList.join(", ")}');
    }
  }

  print('\n--- Mermaid Diagram ---\n');
  print(result.toMermaid());

  // Save outputs
  await result.saveMermaidFile('diagram.mmd');
  await result.saveJsonFile('diagram.json');
  await result.saveHtmlFile('diagram.html');
  await result.savePngFile('diagram.png');

  print('\nāœ“ Saved diagram.mmd, diagram.json, diagram.html, and diagram.png');
  print('\nVisualization options:');
  print('1. Open diagram.html in your browser (recommended)');
  print('2. Open diagram.png to view the rendered diagram');
  print('3. Copy content of diagram.mmd to https://mermaid.live');
}
0
likes
120
points
183
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Analyzes Dart projects and generates diagrams from source code, detecting inheritance, interfaces, mixins, and dependencies.

License

MIT (license)

Dependencies

analyzer, glob, http, path, yaml

More

Packages that depend on diagram_dart