preview_registry_generator

A build_runner code generator that discovers Flutter widget previews (@Preview / @MultiPreview) across a package and generates a runtime-accessible registry of references to them.

It replicates Flutter's own preview-detection logic (from flutter_tools) so the same targets are found and the same constant annotation data is preserved — but exposes the result as ordinary, importable Dart you can consume from custom previewers, storybook-style galleries, golden-test harnesses, etc.

See the repository README for full usage and design notes.

Usage

dependencies:
  preview_registry:

dev_dependencies:
  build_runner:
  preview_registry_generator:

Declare a registry that imports the generated library:

import 'package:preview_registry/preview_registry.dart';
import 'previews.preview_registry.g.dart';

@PreviewRegistry()
const previews = $previews;

Generate:

dart run build_runner build --delete-conflicting-outputs

Libraries

builder