moarch 2.8.0
moarch: ^2.8.0 copied to clipboard
Flutter CLI — scaffold Clean Architecture projects with Riverpod, FVM and your own conventions.
2.8.0 #
Features #
moarch updatenow refreshes everything the CLI generates, not just the widget kit. The gap it closed for widgets was the same gapcore/,config/, the auth feature, the docs and the workflows had all along: a project scaffolded two versions ago still carries the oldvalidation_service.dart, and nothing told you which improvements you were missing or which changes were your own.- Every file is addressable on its own —
moarch update validation,moarch update extensions,moarch update theme,moarch update logger. With no arguments the whole project is considered, exactly as before. - Or by group, when a whole area has drifted:
widgets,core,network,security,services,config,auth,docs,workflows,project,ios. They combine freely —moarch update security docs extensions. moarch update --listprints every name and group with the file it maps to, so the slugs don't have to be guessed.- Templates that vary are rebuilt against the project they land in, not
against a default:
app_logger.dartkeeps its Crashlytics branch,main.dartkeeps the router, localization and notification services the project actually has,app_exception.dartkeeps its Dio and Firebase mappings, andbuild_ipa.ymlkeeps its Firebase steps. The options are read back off the generated files andpubspec.yaml— the record that stays true as the project is edited. - It refreshes, it never scaffolds. A file the project declined at
initis not missing, so naming it does nothing rather than generating it.moarch update biometricin a project without biometrics is a no-op. - The three buckets are unchanged, and now apply to all of it: untouched
files refresh silently, edited ones are listed and diffed and never
written without
--force.
- Every file is addressable on its own —
Improvements #
moarch initnow records every file it writes in.moarch.yaml, where it previously recorded only the widgets. That record is the whole basis for telling an untouched generated file from one you edited — without it the rest of the scaffold could only ever be reported as needs review.- A project scaffolded before 2.8.0 has no record of its non-widget files,
so the first
moarch updatelists them as needing review even where they are untouched. Refreshing or confirming them re-records them, and subsequent runs are exact. That is the safe direction: nothing is overwritten on the strength of a guess.
- A project scaffolded before 2.8.0 has no record of its non-widget files,
so the first
.fvmrcandflutter_native_splash.yamlare generated fromDevTemplatesrather than from literals inside the init command, so whatinitwrites and whatupdatecompares against cannot drift apart.