formatProjectName method

  1. @override
String formatProjectName(
  1. String name
)
override

Formats project name to be Dart-compliant

Implementation

@override
String formatProjectName(String name) {
  String formatted = name
      .toLowerCase()
      .replaceAll(RegExp(r'[^a-z0-9_]'), '_')
      .replaceAll(RegExp(r'_+'), '_')
      .trim();

  if (formatted.isNotEmpty && !RegExp(r'^[a-z]').hasMatch(formatted)) {
    formatted = 'app_$formatted';
  }

  return formatted.isEmpty ? 'my_app' : formatted;
}