addNewFeature method
Implementation
Future<void> addNewFeature(String packageName) async {
final pathPackages =
join(current, 'core', 'packages', packageName.snakeCase);
await FlutterHelper.run(
'create --template=package "core/packages/${packageName.snakeCase}"');
join(pathPackages, 'pubspec.yaml').write('''name: $packageName
description: A new Flutter package project.
version: 0.0.1
publish_to: "none"
environment:
sdk: ">=3.0.0 <4.0.0"
flutter: ">=3.10.0"
dependencies:
flutter:
sdk: flutter
dev_dependencies:
dev_dependency_manager:
path: ../dev_dependency_manager
flutter:''');
deleteDir(join(pathPackages, 'lib'), recursive: true);
deleteDir(join(pathPackages, 'test'), recursive: true);
createDir(join(pathPackages, 'lib'), recursive: true);
createDir(join(pathPackages, 'test'), recursive: true);
touch(join(pathPackages, 'lib', '.gitkeep'), create: true);
touch(join(pathPackages, 'test', '.gitkeep'), create: true);
for (var element in [
join(pathPackages, 'android'),
join(pathPackages, 'ios'),
join(pathPackages, 'web'),
join(pathPackages, 'macos'),
join(pathPackages, 'linux'),
join(pathPackages, 'windows'),
]) {
if (exists(element)) {
deleteDir(element);
}
}
StatusHelper.generated(pathPackages);
}