-
-
Notifications
You must be signed in to change notification settings - Fork 76
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Setup Mono Repo Using Melos #327
base: master
Are you sure you want to change the base?
Conversation
- Add melos.yaml for project configuration - Add root pubspec.yaml with dev dependencies - Update flutter_bloc dependency in shop_app_example - Add talker_logger dependency overrides in various pubspec_overrides.yaml files
Codecov ReportAll modified and coverable lines are covered by tests ✅
❗ Your organization needs to install the Codecov GitHub app to enable full functionality. Additional details and impacted files@@ Coverage Diff @@
## master #327 +/- ##
=======================================
Coverage 98.42% 98.42%
=======================================
Files 28 29 +1
Lines 572 573 +1
=======================================
+ Hits 563 564 +1
Misses 9 9
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
…ation - Remove utility shell scripts for deployment, testing, and package management - Add new Melos scripts for test running and shop app example deployment - Simplify project maintenance by centralizing scripts in melos.yaml
- Set up matrix build strategy for multiple packages
chore: Add GitHub Actions workflows for Talker packages
- Change workflow trigger branches from "main" to "master"
- Add test configurations for additional Talker packages - Include talker, talker_bloc_logger, talker_dio_logger, talker_http_logger, talker_logger, and talker_riverpod_logger - Maintain existing configuration for talker_flutter package
- Simplify Flutter setup by removing explicit channel specification - Remove pub dependencies cache step - Add Melos bootstrap command to prepare workspace - Streamline dependency installation process
- Remove deprecated v1 workflows for individual Talker packages - Update GitHub Pages workflow to scope Melos bootstrap to shop_app_example - Remove pull request triggers from GitHub Pages workflow
- Add root-level analysis_options.yaml with recommended lints - Remove redundant analysis_options.yaml files from individual packages and examples - Standardize static analysis configuration across the project
- Update constructor syntax across multiple packages using super parameters - Replace deprecated `Key? key` pattern with `super.key` - Simplify constructor initializations in Talker packages - Remove redundant library declarations and update library syntax - Minor code style improvements and linting adjustments
Hi @Frezyx,
I wanted to fix an issue but noticed that a lot of things are being handled manually. Since I have been using Melos for a few years now, I found it helpful when dealing with multi-package repositories or monorepos.
I have added Melos setup to this repository.
Now, you can version your package at once using:
Note: I recommend using convention commits. Refer Automated Releases
And publish all packages at once using:
Reference Melos Documentation
Utils Alternatives with Melos Commands
deploy_web.sh
melos deploy-shop-app-example
pub_clean_all.sh
melos clean
pub_get_all.sh
melos bs
pub_get_all_offline.sh
melos bs --offline
publish_all.sh
melos publish
test.sh
melos test
Improving the Workflow
I saw that there were multiple workflows for the package, so I removed them and replaced them with a single workflow using a matrix strategy. This way, we run the same checks but in less time and with fewer resources.
Bonus: I also added a new workflow that automatically hosts the
examples/shop_app_example
on GitHub Pages whenever there is a push to the master branch.Take a look—I hope this helps! 🚀