Skip to content

Conversation

@ProjectAJ14
Copy link
Contributor

@ProjectAJ14 ProjectAJ14 commented Jan 30, 2025

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:

melos version

Note: I recommend using convention commits. Refer Automated Releases

And publish all packages at once using:

melos publish

Reference Melos Documentation

Utils Alternatives with Melos Commands

Old Script Melos Equivalent
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! 🚀

- 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-commenter
Copy link

codecov-commenter commented Jan 30, 2025

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 98.42%. Comparing base (d6a4c06) to head (dcac5e3).

❗ 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           
Flag Coverage Δ
talker 96.03% <ø> (?)
talker_bloc_logger 100.00% <ø> (?)
talker_dio_logger 100.00% <ø> (?)
talker_http_logger 100.00% <ø> (?)
talker_logger 100.00% <ø> (?)
talker_riverpod_logger 100.00% <ø> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

ProjectAJ14 and others added 14 commits January 30, 2025 18:39
…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
@ProjectAJ14 ProjectAJ14 marked this pull request as ready for review January 30, 2025 15:03
- 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
@ProjectAJ14
Copy link
Contributor Author

@Frezyx Hi,

Please let me know if this idea doesn’t work for you, and I’ll close this PR. I spent a few hours working on it, so I just wanted to check again.

Thanks!

@Frezyx
Copy link
Owner

Frezyx commented Feb 23, 2025

Hello @ProjectAJ14 !
Everything is good in this PR! I like it but now we have a lot of opened PR's and I can't check all changes to make detailed review. Please wait a bit before I can check all changes ❤️

@Frezyx Frezyx added enhancement New feature or request dependencies Pull requests that update a dependency file core Related to core packages (talker, talker_logger, talker_flutter) awaiting On the list for consideration or merge labels Feb 23, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

awaiting On the list for consideration or merge core Related to core packages (talker, talker_logger, talker_flutter) dependencies Pull requests that update a dependency file enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants