clean_helper 1.2.2
clean_helper: ^1.2.2 copied to clipboard
A CLI tool for scaffolding Flutter clean architecture projects.
1.2.2 #
- Add use case generation to
add-repo --add-sample: generatesGet{Name}UseCaseandPost{Name}UseCaseindomain/use_cases/, andGet{Name}Params/Post{Name}Paramsindomain/params/ - Use case params use typed fields:
get{Name}Query(String) for get,post{Name}Param1(String) for post - Domain repository sample methods now accept params:
get{Name}(Get{Name}Params)/post{Name}(Post{Name}Params) - Data source base
getmethod now takesString? qinstead of no args - REST data source
getmethod now annotated with@Query('q') - Repository impl maps params to data layer:
params.get{Name}Query→ datasourceq,params.post{Name}Param1→ request modelp1 - Request model gains a sample
{String? p1}constructor field
1.2.1 #
- Rename
Screen→PageProvider— generated widget class is now${Feature}PageProvider, folder moves frompresentation/screens/topresentation/page_providers/, file renamed from${feature}_screen.dartto${feature}_page_provider.dart
1.2.0 #
- Write
analysis_options.yamlas the first step ininit, before directory creation or anyflutter pub addcalls - Run
flutter pub getimmediately afteranalysis_options.yamlis written and before adding dependencies - Sort
dependenciesanddev_dependenciesalphabetically after all packages are added (sortPubspecDeps) - Stamp
clean-helper.version: <version>in the project'spubspec.yamlat the end ofinit, merged into the existingclean-helper:section alongsidemono_repo_appsif present - Warn on version mismatch — every command now checks
clean-helper.versioninpubspec.yamlagainst the running tool version and prints a warning on stderr if they differ - Rename
CleanCallAdapter→RetrofitCallAdapter; generated file moves tolib/core/network/utils/retrofit_call_adapter.dart - Fix kebab-case in CLI usage strings (
<feature-name>,<repo-name>,--scope=<app-name>) - Fix next-steps message printed after
init(add_feature→add-feature)
1.1.5 #
- Add
--add-sampleflag toadd_repocommand - When
--add-sampleis passed, generateget/postsample methods in the domain repo, data source base, repository impl, and REST data source, and create request/response model files - Without
--add-sample(default), all files are generated as empty scaffolds and request/response model files are skipped - Rename all CLI command names from
snake_casetokebab-case(e.g.add_feature→add-feature,build_runner→build-runner, etc.) - Rename
--no_restflag to--no-restonadd-repocommand for consistency
1.1.4 #
- Move
retrofit_logger.darttolib/core/network/utils/and update itsapp_loggerimport path - Add
CleanCallAdapter— a RetrofitCallAdapterthat wraps responses inEither<Failure, T>viasafeExecute - Generate
CleanCallAdapterduringinitnetwork setup - Update
rest_data_source_templateto use@RestApi(callAdapter: CleanCallAdapter)and returnEither<Failure, T> - Update
data_source_base_templateto returnEither<Failure, T>on all methods - Remove
safeExecutefromdata_repo_template— repository now delegates directly to the data source
1.1.3 #
- Fix
AppBlocObserverimport path forapp_logger.dartto../../core/utils/app_logger.dart
1.1.2 #
- Remove duplicate
Loggerregistration fromAppModuletemplate (kept inCoreModule) - Drop
--delete-conflicting-outputsflag from allbuild_runnerinvocations (removed in latest build_runner)
1.1.1 #
- Replace
dart:developerlog()withAppLoggeracross BlocObserver, safe_execute, safe_cast, and get_current_function_name templates - Use static error messages instead of dynamic function names in error logging
- Replace
BlocObserverDI registration withLoggersingleton in AppModule template
1.1.0 #
Update Readme
1.0.0 #
- Initial version.