-
Notifications
You must be signed in to change notification settings - Fork 80
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
Proposal: Reimplement 'purs publish' in the registry #525
Comments
From today's discussion in the Registry Weekly: the side of the compiler that deals with publishing is adjacent to the docs, and that's a big chunk of code that might not be straightforward to port. One of the possibilities that we discussed was to sidestep |
To re-implement registry-dev/app/src/App/Effect/Pursuit.purs Lines 147 to 168 in e5120cd
I omitted fields that aren't actually used by Pursuit, include The only type I didn't implement is that of the Thus the only real blocker to completing this work is figuring out how to produce the correct list of re-exports. Presumably that means reimplementing Work is started in https://github.com/purescript/registry-dev/tree/trh/purs-publish. Once we figure out the |
Thanks @thomashoneyman for digging into this! It seems problematic to me that the |
@f-f that would mean not being able to publish packages prior to whatever compiler version contains that fix, though, so we'd have to either institute a cutoff (docs are only published with compiler 0.15.x and afterwards) or route around the issue. I agree it'd be better for the docs files to just have the re-exports associated right away; I don't know the reasoning for it being a later-on fixup step. |
That's ok? If you are publishing a package you're targeting the latest version of the compiler in the vast majority of cases, so I don't think it would be an issue. Docs that already exist do not need to be generated again either.
I suspect it was done to route around the issue as well 😄 |
Yea, I realize now that we already can't publish packages pre-0.14.7, because that's when I added support for |
This is currently the first item on a list of things that we need to change to allow the new style of publishing (not bound to GitHub, not bound to git tags, and monorepos) so hopefully by the time we get there it won't be a very recent version anymore 🙂 |
I think we should stop using
purs publish
and instead move that functionality into the registry.purs publish
has many restrictions that prevent the registry from working properly, such as having to have a SemVer-compliant Git tag checked out with a clean source tree (except for thepurs.json
file). To support monorepos or non-GitHub locations we have to lift these restrictions. Rather than iterate on the compiler I think we should just do this in the registry, because then we can report better errors and not be tied in with compiler releases.purs publish
can stay in the compiler for non-registry users – the Pursuit API isn't changing – but I think eventually we will want to deprecate it altogether and have the registry be the direct pipeline to Pursuit.We can do this because we already have, in the API pipeline:
purs.json
orspago.yaml
manifest for the packageoutput
directory produced by the compiler; we can also generate docs if need be.The text was updated successfully, but these errors were encountered: