generateImports static method

List<String> generateImports(
  1. Set<String> usedComponentNames
)

Generate optimized imports based on used components.

Implementation

static List<String> generateImports(Set<String> usedComponentNames) {
  final imports = <String>[];
  final componentToPath = <String, String>{};

  // Build component-to-path mapping
  for (final component in NiceComponentCatalog.allComponents) {
    componentToPath[component.name] = component.path;
  }

  // Group by path
  final pathToComponents = <String, List<String>>{};
  for (final name in usedComponentNames) {
    final path = componentToPath[name];
    if (path != null) {
      pathToComponents.putIfAbsent(path, () => []).add(name);
    }
  }

  // Generate show imports
  for (final entry in pathToComponents.entries) {
    final path = entry.key;
    final components = entry.value..sort();
    imports.add(
      "import 'package:nice2dev_flutter_ui/$path' show ${components.join(', ')};",
    );
  }

  return imports..sort();
}