CreateCommand constructor

CreateCommand({
  1. ProjectGenerator? projectGenerator,
  2. ConfigParser configParser = const ConfigParser(),
  3. Logger? logger,
})

Implementation

CreateCommand({
  ProjectGenerator? projectGenerator,
  ConfigParser configParser = const ConfigParser(),
  Logger? logger,
}) : _projectGenerator =
         projectGenerator ?? ProjectGenerator(logger: Logger()),
     _configParser = configParser,
     _logger = logger ?? Logger() {
  // Add state management choise option

  argParser.addOption(
    'state',
    abbr: 's',
    help: 'The state management solution to use',
    allowed: ['riverpod', 'bloc', 'provider', 'none'],
    defaultsTo: 'none',
  );

  argParser.addOption(
    'router',
    abbr: 'r',
    help: 'The routing solution to use',
    allowed: ['go_router', 'auto_route'],
    defaultsTo: 'go_router',
  );

  argParser.addOption(
    'preset',
    abbr: 'p',
    help: 'The preset architecture template to scaffold',
    allowed: ['default', 'fintech', 'ecommerce'],
    defaultsTo: 'default',
  );

  argParser.addMultiOption(
    'platforms',
    help: 'The platforms supported by this project.',
    allowed: ['android', 'ios', 'web', 'macos', 'linux', 'windows'],
  );
}