Replies: 1 comment 3 replies
-
See #1379 (comment). |
Beta Was this translation helpful? Give feedback.
3 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
The core monorepo contains many useful packages that would probably be more widely used (and could e.g., be listed in the https://github.com/avelino/awesome-go page) if they were also available as separate repositories. At an earlier stage of development, we did have a fully separate collection of repositories for each such component and it was very difficult to work with, especially during the rapid development phase. We have no intention of going back to that as the primary development model.
However, it would be relatively simple to create "bare bones" separate repositories with a script that simply copies files from the core monorepo and pushes them, with any appropriate renaming etc. Periodically, these scripts could be run to update things as needed.
From a purely technical perspective, importing a package from core vs from one of these hypothetical separate repositories would be indistinguishable. Go is smart enough to only include what it needs when it builds something, so the fact that a package is part of a much larger monorepo is irrelevant.
And even the most basic packages that we'd want to make available separately would still be depending on elements from the monorepo (e.g., almost everything depends on
cli
, which in turn depends on a lot ofbase
packages). We could do the string replacements to make the separate packages depend on the separate versions of other packages like cli, but making cli itself completely free ofcore
dependencies is almost certainly not worth it.Here's some of the packages that would be most relevant to be available separately:
See #1379 for a related discussion.
Beta Was this translation helpful? Give feedback.
All reactions