run method
명령어 실행
Implementation
Future<void> run() async {
try {
logger.info('📄 Flutter 페이지를 추가합니다...\n');
// 현재 작업 디렉토리 확인
final currentDir = Directory.current;
final pubspecFile = File(path.join(currentDir.path, 'pubspec.yaml'));
if (!pubspecFile.existsSync()) {
logger.err('❌ Flutter 프로젝트가 아닙니다. pubspec.yaml 파일을 찾을 수 없습니다.');
exit(1);
}
// 1. 웹 플랫폼 활성화 여부 확인
final isWebEnabled = _checkWebPlatform(currentDir);
logger.detail('웹 플랫폼 활성화: ${isWebEnabled ? "예" : "아니오"}');
// 2. 플랫폼 선택
String platform = 'mobile';
if (isWebEnabled) {
platform = _selectPlatform();
logger.detail('선택된 플랫폼: $platform');
}
// 3. 페이지 이름 입력
final pageName = _getPageName();
logger.detail('페이지 이름: $pageName');
// 4. 컨트롤러 사용 여부 확인
final useController = _askUseController();
logger.detail('컨트롤러 사용: ${useController ? "예" : "아니오"}');
// 5. 파일 생성
await _createPageFiles(
currentDir: currentDir,
platform: platform,
pageName: pageName,
useController: useController,
);
logger.success('✅ 페이지가 성공적으로 추가되었습니다!');
logger.info('\n📝 다음 단계:');
logger.info(' - 라우팅 설정을 확인하세요: lib/$platform/routes/app_pages.dart');
logger.info(' - 생성된 파일을 확인하세요: lib/$platform/pages/$pageName/');
exit(0);
} catch (e, stackTrace) {
logger.err('❌ 오류 발생: $e');
logger.detail('스택 트레이스: $stackTrace');
exit(1);
}
}