run method
Runs this command.
The return value is wrapped in a Future if necessary and returned by
CommandRunner.runCommand.
Implementation
@override
Future<int> run() async {
final projectRoot = Directory.current.path;
try {
Logger.bold('\nInitializing Fyarn UI...');
// 1. Setup Infra
final templatesPath = await resolveTemplatesPath();
final loader = TemplateLoader(templatesPath);
// 2. Setup Pipeline
final engine = PipelineEngine();
engine.addStage(EnvironmentStage());
engine.addStage(GraphBuilderStage(loader));
engine.addStage(ResolutionStage());
engine.addStage(RenderingStage(loader));
engine.addStage(PersistenceStage());
engine.addStage(FormatStage());
// 3. Execute para o componente 'tokens'
final context = PipelineContext(
componentName: 'tokens',
projectRoot: projectRoot,
);
await engine.run(context);
Logger.success('\nFyarn initialized! 🧶');
return 0;
} catch (e, s) {
Logger.error(e.toString());
Logger.debug(s.toString());
return 1;
}
}