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

Restructure package folders #155

Open
Sebobo opened this issue Nov 28, 2022 · 1 comment
Open

Restructure package folders #155

Sebobo opened this issue Nov 28, 2022 · 1 comment
Labels
Question Further information is requested

Comments

@Sebobo
Copy link
Member

Sebobo commented Nov 28, 2022

The usage of feature packages works really well so far. Reviewing PRs got mich easier as most changes are nicely contained
and it's immediately obvious if changes "break out" of their context.

What I start to dislike I that the media-module, media-selection-screen and dev-server sub packages are in the same folder as the feature packages and look "the same" even though they do much more.

I recently saw a recommendation for monorepos to have two folders for packages (which is no problem for yarn workspaces).
One folder would be apps and the other packages (I wouldn't call it features as we also have non-feature packages). This would help to distinguish them more easily. Each of the 3 apps we have anyway has their own build script.

And should we move the folders to the package root and let them stay in Resources/Private/JavaScript?

Would love the input from @grebaldi @mhsdesign @markusguenther

@Sebobo Sebobo added the Question Further information is requested label Nov 28, 2022
@mhsdesign
Copy link

This is a great idea.
When I see JS nested deep in Resources/Private/JavaScript it always feels less valuable than the rest like PHP and configuration, even if it is just as valuable. In this package it is definitely not just a resource but a whole application and should be more present like in the Neos Ui.

I'm thinking along the lines of Screaming Architecture by Robert C. Martin ...

So what does the architecture of your application scream? When you look at the top level directory structure, and the source files in the highest level package; do they scream: Health Care System, or Accounting System, or Inventory Management System? Or do they scream: Rails, or Spring/Hibernate, or ASP?

@Sebobo Sebobo self-assigned this Dec 22, 2022
@Sebobo Sebobo removed their assignment Jan 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Question Further information is requested
Projects
Status: Backlog
Development

No branches or pull requests

2 participants