writeLibrary function
Write the library
locally according to the defined settings
Implementation
void writeLibrary(EnvSettings settings, Library library) {
final directoryPath = settings.filePath;
final emitter = DartEmitter.scoped(useNullSafetySyntax: true);
final formatter = DartFormatter(
pageWidth: settings.fileWidth,
);
final code = formatter.format('${library.accept(emitter)}');
final fileName = settings.className.snakeCase;
final filePath = '$directoryPath/$fileName.dart';
final fileContent = '// GENERATED CODE - DO NOT MODIFY BY HAND\n\n$code';
// Create output directory
final directory = Directory(directoryPath);
if (!directory.existsSync()) directory.createSync(recursive: true);
// Create and write output file
File(filePath).writeAsStringSync(fileContent);
}