Skip to content
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

Create redesign components separate package #1255

Closed
DGoiana opened this issue Jun 26, 2024 · 3 comments · Fixed by #1282
Closed

Create redesign components separate package #1255

DGoiana opened this issue Jun 26, 2024 · 3 comments · Fixed by #1282

Comments

@DGoiana
Copy link
Collaborator

DGoiana commented Jun 26, 2024

Create a separate package that only depends on flutter and UI packages to create the redesign components

@github-project-automation github-project-automation bot moved this to 📋 Product Backlog in UNI Jun 26, 2024
@limwa
Copy link
Member

limwa commented Jun 27, 2024

@bartekpacia what can we use to achieve this? Do you think that just having multiple separate folders in the lib/ directory is enough? Or do we go with a tool like melos? Or is there any other way to achieve the desired result?
Personally, my understanding is that multiple folders in the lib/ directory doesn't offer very good isolation of "packages".
If we go with melos, it's an important discussion to have as soon as possible with the whole team, since, from what I understand, melos offers utilities to generate changelogs, which is relevant to the discussion we're having in #1248.

@bartekpacia
Copy link
Collaborator

bartekpacia commented Jun 27, 2024

Do you think that just having multiple separate folders in the lib/ directory is enough?

Nope. Multiple folders under lib/ it's what we have now. Currently we have only 1 package (in /uni). The proposal (copied over from Notion) is to have:

. (uni_repo_root)
└── packages/
    ├── uni_app/
    │   ├── android/
    │   ├── ios/
    │   └── lib/
    │   └── pubspec.yaml
    └── uni_common_ui/
        └── lib/
        └── pubspec.yaml
    └── uni_lints (possible in the future)
        └── lib/
        └── pubspec.yaml

Every directory under /packages would be a separate Dart package, i.e. contain its own lib/ directory and its own pubspec.yaml.

RE Melos: it does come in handy as number of packages grow, but for 2, I don't think it makes much sense. I haven't used its changelog genering feature as well, so can't say a much, but from what I've seen it's mostly for packages that are published to pub.dev and which enforce Conventional Commits.

As an example, the Flutterfire repo uses Melos extensively, but it's quite massive in terms of package count.

For 2 packages, I just don't think we'd get that much of a value from using Melos.

@limwa
Copy link
Member

limwa commented Jun 27, 2024

I see, so having the pubspec.yaml in each directory is what makes the difference... I agree with your reasoning to not use melos. Thanks for the clarification!

@github-project-automation github-project-automation bot moved this from 📋 Product Backlog to ✅ Done in UNI Jul 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

3 participants