-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
A large utility library #1
Comments
I think this is worth trying, and personally I'd happily use it on my projects especially given Elm doesn't make you pay the cost of a large package when you only need a few functions. If you wanted to not be the "face" of the collection, I'd be happy to host the experiment under the That said – I'm not an |
I'm leaning towards "reasonably backwards compatible". Ideally, we'd have an elm-review rule that can do stuff like One thing I'd love to see is more uniformity wrt the names of I think a It would also solve the "maintainer MIA" problem. I would mildly prefer to host it in an org rather than under an individual name, mostly to avoid a left-pad if you ever want/need to change your username. I'm going to create a google spreadsheet to analyze the existing APIs, so we can gather some feedback. |
This is the view link of the work in progress https://docs.google.com/spreadsheets/d/e/2PACX-1vQSY_O7Ukz-Q8JZjqRGh9EKM8skcngt83kC-Jgd1U32sCvBOH7IpF5pLCZJ_V5XI1rA8jtz-cMGeWS2/pubhtml |
Hi, I maintain https://github.com/elm-community/maybe-extra . I think this is a nice idea that solves the governance and scaling problem of having separate maintainers for every repo. I agree some sort of centralized community organization would be good, so the package name looks more official, and to make it more durable / stable, which is important for a popular package. I get that that goes against the reasons for sunsetting elm-community, but I think that this package can do it better (less ambitious scope, a plan for maintenance, etc). I'd be willing to be listed as a maintainer and pitch in a few hours every once in a while over the long term to handle incoming issues and such, but can't do much during this initial work to publish it. Once it's up and stable, I can deprecate maybe-extra and redirect people here. One thing that I think is pretty important is that there aren't many updates over time. I don't think it'll be much of an issue, since this is collecting other libraries that are stable and well used. But I wouldn't want pointing people from maybe-extra to here to result in people getting lots of new dependabot pull requests for updates to functions they don't care about. For backwards compatibility I think it's fine if there's some backwards incompatible changes, since switching to this library already requires attention and a manual change. As long as there's clear instructions (and drop in replacements) for anybody migrating. (Leaning heavily on "if it compiles, it works", of course.) There might be a couple functions in maybe-extra I'd take the chance to rename... |
W.r.t. gampleman vs elmcraft (as those seem to be the options on the table at the moment) I don't have much of an opinion. I'd be perfectly happy to host this under my name, but if others would be more comfortable with an org, I'm also totally on board with that. I'd suggest we continue work in this repo for the time being, and then arrange a migration with @supermario when ready to publish 1.0.0. @miniBill thanks for the spreadsheet. I'm pretty much 100% on the general comments, I've also noticed those. W.r.t. the name uniformity, I think that makes sense with the more abstract names (i.e. So far it seems like we're leaning towards making some breaking changes as long as they are reasonably mild (i.e. there is some compiler feedback and there is some reasonable alternative). |
Great initiative and I would like to contribue even thought I am not an *-extra maintainer. I do have one concern though, and this is around how the package would be built. would it be a single elm-core-extra package, or could I pick and choose like we have today? The latter is especially relevant if I want to use a different fork of some package, but not all. |
(We discussed this a bit in Elm slack but just to answer the question here) The idea here is that this is a single monolithic library with minimal dependencies. Personally this is preferable to me, as I often would like an In general, the hope and ideal here is to have a relatively broad maintainer/contributor base and therefore minimise the need for forks or other libraries in the same space. If this becomes somehow a real blocking problem, then there is always elm-package-prefixer to the rescue. |
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
Main maintainer of Having all the core -extra packages in one is nice to always build a consistent API across all modules (e.g. |
Let's keep the conversation here about the high-level future of this package. I've hidden a bunch of comments dealing with some fairly specific implementation issues of unicode in String.Extra tests. Let's make a new issue/discussion if that's still relevant. Thanks. |
With the demise of elm-community, I have though that perhaps we could make another experiment in community maintenance. In this case, the idea is to make quite a large library that collects all the -extra libraries that pertain to elm/core.
There are a bunch of things that I'd like to happen:
- On the one hand, being backwards compatible makes upgrading trivial.
- On the other hand, some of the libraries have some fairly ridiculous functions that I'd like to drop (i.e.
sliceUntil = slice 0
is in my opinion a function that isn't worth having, as it just obfuscates perfectly straightforward code).The text was updated successfully, but these errors were encountered: