generateFeature method

Future<void> generateFeature({
  1. required String targetDirectory,
  2. required String featureName,
})

Implementation

Future<void> generateFeature({
  required String targetDirectory,
  required String featureName,
}) async {
  // Locate the local brick path using TemplatesLocator
  final templatesPath = TemplatesLocator.getTemplatesPath();
  final brickPath = p.join(templatesPath, 'feature');
  final brick = Brick.path(brickPath);

  // Initialize the Mason generator from the brick
  final generator = await MasonGenerator.fromBrick(brick);

  // Define the variable map to interpolate the Mustache tags
  final variables = <String, dynamic>{'name': featureName};

  // Set the target generation directory and execute
  final target = DirectoryGeneratorTarget(Directory(targetDirectory));

  print('Generating feature $featureName template via Mason');

  await generator.generate(target, vars: variables, logger: Logger());

  print('Generated feature $featureName template successfully');
}