runProject function
Implementation
Future<Process?> runProject(String projectType) async {
final currentDir = Directory.current;
switch (projectType) {
case 'flutter':
return Process.start('flutter', ['run']);
case 'dart':
return Process.start('dart', ['run']);
case 'react-native':
return Process.start('npx', ['react-native', 'run-android']);
case 'npm':
// Try to determine main file from package.json
final packageFile = File('${currentDir.path}/package.json');
if (await packageFile.exists()) {
final packageJson = await packageFile.readAsString();
final mainFile =
_extractMainFileFromPackageJson(packageJson) ?? 'index.js';
return Process.start('node', [mainFile]);
}
return Process.start('node', ['index.js']);
case 'ruby':
return Process.start('ruby', ['main.rb']);
default:
return null;
}
}