run method
Runs this command.
The return value is wrapped in a Future if necessary and returned by
CommandRunner.runCommand.
Implementation
@override
Future<void> run() async {
final projectDir = findNitroProjectRoot();
if (projectDir == null) {
stderr.writeln('❌ No Nitro project found.');
exit(1);
}
final pubspec = File(p.join(projectDir.path, 'pubspec.yaml'));
String pluginName = 'unknown';
for (final line in pubspec.readAsLinesSync()) {
if (line.startsWith('name: ')) {
pluginName = line.replaceFirst('name: ', '').trim();
break;
}
}
Directory.current = projectDir;
final result = LinkResult();
await runApp(LinkView(pluginName: pluginName, result: result));
if (result.success) {
stdout.writeln('\n \x1B[1;32m✨ $pluginName linked\x1B[0m');
}
}