Closed nicknisi closed 5 years ago
A proof of concept repo containing the consolidated core repos with full git history for each is at https://github.com/nicknisi/dojo.
Based on several factors, it seems that the best name for this repository is dojo/framework. This also leaves open the possibility of a future, single package called @dojo/framework.
@dojo/framework is a long name since it will be used frequently here and there. I prefer a short name such as @dojo/lib or @dojo/corelib
If widgets
will live outside of the mono-repo can widget-core
not be renamed to widget
?
The main framework repos have been consolidated into a single repo and single npm package.
The Dojo team is considering consolidating the core Dojo 2+ repos into a single monorepo for ease of development, maintenance, packaging, and versioning, while still deploying separate packages for the time being.
Background
Having separate repositories for each of the core aspects of Dojo presents a number of challenges.
Consolidating the core packages into a single repository will allow the team to streamline the development and release process while still maintaining consistent versioning and simplifying the development process.
What are the benefits of a core monorepo?
Core Dojo packages
The following packages are considered to be “core” dojo packages as they have a lot of interdependency and are crucial to the core Dojo development experience. They will be consolidated into a single, repository while maintaining the git history of each.
Other packages that are not considered “core” features in Dojo include loader, widgets, themes, test-extras, and interop. For now, we should consider leaving these as separate packages and repositories.
Why separate packages?
If we are considering consolidating the core Dojo repos, why are we still publishing separate packages to npm? The biggest benefit to this is that it allows us to continue on the 2.x release as the actual published artifacts should not be affected by the repository changes. Publishing a single “core” repository is up for discussion, but it would result in a major release. A single package release is also being considered and will be discussed in another issue.
Requirements