Should we adopt Dave's way of building applications as a series of components? (Dave's talk has now been added!)

There are two features behind umbrella projects:

  1. Organizing multiple applications in the same repository (you called it poncho but it really is known as the mono-repo pattern)
  2. Allow those applications to run under the same config + deps

The first goal is way more important than the second. If people are using mono-repo, then mission accomplished.

The second feature is a convenience. If it fits your workflow, great, otherwise nuke the umbrella and use path dependencies. This is by design. To the point there are no features specific to umbrellas in Mix on how dependencies are handled. Everything is built on top of path dependencies exactly because we should be allowed to drop umbrellas and fallback to path dependencies.

We had this discussion in the past but in a nutshell, you are supposed to grow out of the built-in generators and upgrade at least to mix phx.new --umbrella. :slight_smile:

It is meant to be a journey. If we started everybody at the end of the road, then most people would end-up confused and wondering: how did I get here? Do we really need all of this?

17 Likes