Created by: bradfordlemley
The current 2.0 implementation treats all monorepo packages included by the app as source packages, there is no way to opt them in or out, and this results in making some monorepos incompatible with react-scripts (see issues listed below).
This PR changes the behavior to require an app to opt source packages in via a glob pattern ("craSourceWorkspaces") in the app's package.json, similar to the "workspaces" glob pattern used by yarn to opt packages in to workspaces.
(This is an alternative implementation to the #4092 proposal.)
Fixes #4569 (closed), #4410 (closed), #4249 (closed).