Asset Generator Kit
Generate typed Flutter asset accessors from folders.
# assets_generator_kit.yaml
assets_generator_kit:
input:
- assets/images
- assets/icons
- assets/lottie
output: lib/generated/assets.dart
integrations:
svg: true
lottie: true
Run either:
dart run build_runner build
dart run assets_generator_kit generate
Then use the generated API:
import 'package:assets_generator_kit/assets_generator_kit.dart'
show SvgPicture;
final SvgPicture icon = AppAssets.home(
size: 24,
color: AppColors.primary,
);
The generated file imports package:assets_generator_kit/assets_generator_kit.dart
and exposes methods that return the native SvgPicture, LottieBuilder, or
Image widget for supported assets. Other file types are exposed as
AppAssetRef.
Because generated accessors return native widget types, they can be passed to
APIs that accept either Widget or the concrete integration type:
final Widget widget = AppAssets.home();
final SvgPicture picture = AppAssets.home();
final LottieBuilder animation = AppAssets.success(repeat: true);
Example
The example/ app contains its own assets and config:
cd example
flutter pub get
dart run assets_generator_kit generate
flutter run
To use build_runner with a root-level assets_generator_kit.yaml, include that
file in the target sources. See example/build.yaml.