Restructure package folders
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
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?