Skip to main content

smf_pipeline 0.6.0 copy "smf_pipeline: ^0.6.0" to clipboard
smf_pipeline: ^0.6.0 copied to clipboard

The generation pipeline of the SMF CLI. Selects modules, validates their contributions against the roles they declare, and generates a Flutter app.

0.6.0 #

Note: This release has breaking changes.

  • REFACTOR(pipeline,cli): split the functions that SonarCloud finds too complex (#229). (7ebe3a31)
  • FIX(sign_in): let the pages of the sign-in scroll under the bar of the home gesture (#223). (9faac56b)
  • FIX(firebase_auth): need Firebase CLI 15.34.0, which adds no web app to a project that has apps (#182). (8afc173a)
  • FEAT(firebase_auth,firebase_analytics): the steps by hand of Apple, Google Play and Analytics (#236). (e009ede2)
  • FEAT(firebase_messaging): the APNs key among the steps by hand (#235). (b1e02466)
  • FEAT(pipeline): the link to the guide of the steps by hand (#231). (c5cde6df)
  • FEAT(sign_in): continue with the sign-in methods of the app (#219). (5c2a7051)
  • FEAT(google_sign_in): add sign-in with Google (#216). (231156eb)
  • FEAT(firebase_auth): enable Google, register the debug key and write the URL scheme for the methods of the app (#214). (313fc8c9)
  • FEAT(firebase_messaging): add Firebase Cloud Messaging as the provider of the push role (#210). (5bbbfa9a)
  • FEAT(apple_sign_in): add Sign in with Apple on iOS (#212). (79b7c4e4)
  • FEAT(local_notifications): add a provider of the notifications role on flutter_local_notifications (#206). (d16e9a43)
  • FEAT(firebase_auth): sign in, link and delete with the credentials of the sign-in methods (#205). (caf1e446)
  • FEAT(onboarding): show the steps that the modules of the app add to the onboarding (#203). (32652cbf)
  • FEAT(contracts): give every app the icons of the status bar as a widget of its own, with a widget test (#191). (4ab6b288)
  • BREAKING FEAT(contracts,apple_sign_in): the App ID among the steps by hand (#234). (e0b73a02)
  • BREAKING FEAT(contracts,pipeline): steps of an app that its developer does by hand (#230). (542e1089)
  • BREAKING FEAT(contracts): let modules add components to the Android application (#201). (6dfcaec9)
  • BREAKING FEAT(contracts): let modules run code in the AppDelegate before launch finishes (#200). (263b3079)
  • BREAKING FEAT(contracts): let modules enable core library desugaring of the Android app (#199). (7f760ba7)
  • BREAKING FEAT(contracts): sign in with a credential of an identity provider, and list the ways to sign in of an app (#197). (73e8a21c)
  • BREAKING FEAT(flutter_core): give the fallback start screen only to an app that no route starts (#192). (9cc0a8f1)
  • BREAKING FEAT(pipeline): stop a --strict run on a warning about what the app is made of (#190). (530c4f88)
  • BREAKING FEAT(contracts): give each warning about the app a code, and let a choice report one (#188). (80f2c7ed)
  • BREAKING FEAT(contracts): sign the iOS app with Runner.entitlements and let modules add entitlements (#187). (2f2b0374)
  • BREAKING FEAT(contracts): let a contribution and a symbol of a role depend on what a role chose (#184). (d5deac8e)

0.5.1 #

  • FIX(shared_preferences): keep shared_preferences_android below 2.5.0, whose release builds fail to open the preferences (#204). (2ddbaed2)

0.5.0 #

Note: This release has breaking changes.

  • FIX(contracts,go_router): open a page of the flow of a condition over the start screen when a link asks for it (#166). (0c42e365)
  • FIX(go_router): show what push() and replace() ask for when go_router shows its error screen alone (#165). (c55c01e2)
  • FIX(go_router): keep the back button of the system from throwing on the error screen (#161). (5a933e9f)
  • FIX(go_router): drop the pages of every branch when a guard closes and opens in one turn (#157). (976dbad8)
  • FIX(pipeline): check the machine for a module after the modules it depends on (#151). (494c1eb0)
  • FEAT(pipeline): list the steps left for later after the app is created, without a warning (#176). (571c0ace)
  • FEAT(bloc,riverpod): tell in the agent note how a screen, shared state and an awaited call are written (#172). (6f819423)
  • FEAT(sign_in): add the account screen and the entry of the settings screen that leads to it (#171). (4d7fac2b)
  • FEAT(sign_in): add the module with the screens of sign-in, sign-up and password reset, in a bloc and a riverpod variant (#170). (bfcd9025)
  • FEAT(firebase_auth): enable the sign-in methods in Firebase after flutterfire configure (#168). (1d4a1c27)
  • FEAT(contracts): say how the auth role writes the mode of the app, for a tool that reads it (#167). (c61033c6)
  • FEAT(firebase_auth): provide the auth role with Firebase Authentication (#162). (c541d0d4)
  • FEAT(material_theme): give text fields the look of the theme (#160). (2d1d6a24)
  • FEAT(contracts): a condition that only some routes ask for (#155). (9c239fe1)
  • FEAT(cli): give the modes of a role option their apps with every module (#154). (19384819)
  • FEAT(contracts,pipeline): let a role option have modes, with a case of the harness for each (#149). (4fd6a70f)
  • FEAT(contracts,pipeline): a post-generation step that continues another may ask its own question (#147). (434fbb27)
  • BREAKING FEAT(contracts,go_router): open the flow of a condition over the screen the user is on (#163). (b7f7e655)
  • BREAKING FEAT(contracts,onboarding): say when a guard is asked and whether it brings the user back (#152). (7b12df77)
  • BREAKING FEAT(contracts,onboarding): close the flow of a guard that allows (#150). (731e53f9)

0.4.0 #

Note: This release has breaking changes.

  • REFACTOR(contracts,pipeline,cli): split the functions that SonarCloud finds too complex. (c3f5aadc)
  • FIX(contracts): keep one provider of analytics or crash reporting from failing the others. (42c8db26)
  • FIX(contracts,shared_preferences): correct the texts for coding agents and the READMEs that the reviews found wrong (#132). (7f936e51)
  • FIX(contracts): leave out a provider of analytics or crash reporting that fails to be created. (52d5b07b)
  • FIX(go_router): complete push() with the value of its page after a refresh (#71). (ae37c5de)
  • FIX(go_router): call each listener of the screen on its own. (8b44ecd1)
  • FIX(contracts): say that on
  • FIX(pipeline): recognize module packages by their dependency on smf_contracts (#59). (87f45875)
  • FIX(contracts): give each analytics service a copy of its own of the parameters. (21c6ca39)
  • FEAT(contracts): let the root MaterialApp take themeMode and locale from its context (#100). (3a10b311)
  • FEAT(onboarding): add the onboarding of the first run (#126). (009d74d1)
  • FEAT(contracts,settings): describe the settings screen in the guide for coding agents (#129). (f6353e4d)
  • FEAT(settings): read the title of the settings screen in the language of the app (#128). (493dff7b)
  • FEAT(material_theme): add the module of the Material 3 theme (#123). (9801be57)
  • FEAT(home): welcome the developer of the app on the start screen (#138). (0f0c7c86)
  • FEAT(contracts): remember the language of the app and let the user choose it in the settings (#120). (9f3c847b)
  • FEAT(contracts): tell coding agents about the guards of the routes (#119). (262427e6)
  • FEAT(gen_l10n): provide the localization role with gen-l10n of Flutter (#117). (36afeb32)
  • FEAT: describe the roles and the modules in the guide for coding agents (#114). (6b300074)
  • FEAT(contracts): guarantee a MaterialApp at the root of the app (#57). (5bc4f0b8)
  • FEAT(shared_preferences): add the module that keeps the preferences with shared_preferences (#113). (170c9ff3)
  • FEAT(contracts): add the guide for coding agents to the app entry role (#110). (92b78ad8)
  • FEAT(settings): add the settings module, a screen for the entries of the modules (#108). (72264395)
  • FEAT(contracts,pipeline): add the localization role (#107). (84091023)
  • FEAT(contracts): add the preferences role for the settings of the app that are no secret (#106). (3304ebd2)
  • FEAT(contracts,pipeline): let a brick variable depend on the presence of a role (#104). (02677b81)
  • FEAT(contracts,pipeline): let a render hook generate files of the app (#102). (620eb402)
  • FEAT(contracts,pipeline): check that a provider of the app entry creates the root where the arguments of the modules read its context (#101). (78293c3c)
  • FEAT(contracts): add the theme role (#112). (822056da)
  • FEAT(cli): fan out the jobs of CI over a pairwise covering of the apps and shards of the matrices (#76). (423d6056)
  • FEAT(firebase_crashlytics): fix the build phase of Crashlytics from its own module. (4302a13c)
  • FEAT(bottom_tabs,material_theme): draw the bar of the tabs without an indicator, in the colours of the theme (#136). (23fcbb77)
  • FEAT(cli): run the probes of the tests of the roles in the start check. (f7faea4e)
  • FEAT(pipeline): give the result of a contract case the hook request of its app. (1b46e2fb)
  • FEAT(pipeline): keep in the rendered app the order of the contributions of every socket. (3cd6c981)
  • FEAT(onboarding): show the pages as cells of the periodic table, with motion (#137). (875e738a)
  • FEAT(material_theme): give the themes a palette, text styles and a bundled font (#135). (f9c6a279)
  • FEAT(settings,contracts): show the settings as one group, the theme modes as segments and the languages in a sheet (#140). (72a29d05)
  • FEAT(pipeline): check the notes of roles against their providers, and require a note from every role and module (#131). (2980ddc1)
  • FEAT(flutter_core): give the fallback start screen the look of the app (#139). (75d223f1)
  • FEAT(pipeline): check that the code of modules takes the names of the classes of roles from the roles, in the fixtures too (#86). (64d130c8)
  • DOCS: describe the tests of the roles at run time and the broken providers that they fail on. (0501c45c)
  • DOCS: say which expectation gives the reason of a broken provider, and that the app of several providers walks the routes. (5495f757)
  • DOCS: describe the plan of CI and the checks of the app tests as they are (#81). (629321e9)
  • DOCS(readme): add the SonarCloud coverage badge (#99). (39c28873)
  • BREAKING TEST(cli): run the app tests with the platform mocks of every module of the app, next to other providers of their roles (#75). (87001859)
  • BREAKING REFACTOR(pipeline): index Dart files with the AST of analyzer 13, which it now needs (13.1 or later). (e4ecaded)
  • BREAKING REFACTOR(cli): group the apps that runMatrix and createEveryModuleApps take into one parameter each (#97). (d60801f2)
  • BREAKING FEAT(contracts): continue a post-generation step of another module by its id (#89). (cfce8114)
  • BREAKING FEAT(pipeline): build the cases of the roles a module uses with each of their providers (#88). (f5ecbb45)
  • BREAKING FEAT(contracts,go_router,bottom_tabs,home,settings): label the destinations in the language of the app (#127). (7cc173f0)
  • BREAKING FEAT(contracts): drop the factory parameters of the DI role (#64). (0c8bc398)
  • BREAKING FEAT(contracts): require the getters that code of a role reads, such as the navigation of the AppShell (#69). (5e5301d8)
  • BREAKING FEAT(contracts): keep the platforms of the app in AppIdentity (#58). (eb1225ce)
  • BREAKING FEAT(contracts,flutter_core,home,onboarding,settings): take the symbol of the app and the icons of the status bar from one place each (#143). (43a87a36)
  • BREAKING FEAT(contracts): let one contributor give the supported locales of the root MaterialApp (#121). (5a440409)
  • BREAKING FEAT(contracts): require resetDependencies() of the providers of the DI role. (9911bf11)

0.3.0 #

Note: This release has breaking changes.

  • BREAKING FEAT: compose apps from roles and sockets (#31). (7cf4d4a4)
0
likes
160
points
979
downloads

Documentation

Documentation
API reference

Publisher

verified publishersaymyframe.com

Weekly Downloads

The generation pipeline of the SMF CLI. Selects modules, validates their contributions against the roles they declare, and generates a Flutter app.

Homepage
Repository (GitHub)
View/report issues
Contributing

Topics

#flutter #cli #code-generation #modules

License

Apache-2.0 (license)

Dependencies

analyzer, args, file, mason, meta, pub_semver, smf_contracts, yaml

More

Packages that depend on smf_pipeline