neodoc
neodoc copied to clipboard
[WIP] Upgrade to PureScript 0.13
- Use the PureScript 0.13 compiler
- Use spago to build the project.
This will probably also fix https://github.com/felixSchl/neodoc/issues/93
Got back to it and fixed quite a few compile errors, but I feel like I'm hitting the limits of my understanding of Foreign
…
So some help would be highly appreciated 😇
Sure, feel free to ask anything that's unclear, either here or per email, or on functionalprogramming slack channel and I will try my best to help out, however, as is evident by the commit history and activity on the project, I consider it pretty much dead (as in minimal maintenance.) The released version appears to work fine with a steady 4.5+k downloads/week and no bug reports. If that does not put you off, feel free take a shot and I will take a look at what comes through :)
I was thinking about changing the interface of the PureScript part to just receive one JSON string and nothing more. This will probably have a performance impact, but then the interface is minimal, more robust and can be easily ported to other backends. What do you think @felixSchl ?
Well turns out that's not important since there is no pure PureScript JSON parser anyways. At least I will switch to purescript-argonauts Foreign backed JSON datatype …
Short update: Everything is working again on the PureScript side 😁🎉 (You didn't make it easy for me @felixSchl. There were some really long functions with a lot of 1 letter variables 😂) Now, I just need to figure how to best implement the JavaScript API. I'll try it with a simple
runStringJs :: String -> Json -> Json
runStringJs helpStr opts = -- TODO
based on argonaut's Json. This should work fine I think. Give me a few more days and we'll be ready for 3.0 🚀
:open_mouth: wow, you actually did it. Render me thoroughly impressed. This opens up a lot of new avenues... and we could actually fix some of the long standing issues like automatically interpreting values as opposed to just leaving them as strings and pushing that to the application, or at least making it an option. Caused me quite a bit of grief... but anyway..
Given the time you invested in this, would you be open to take over maintenance (or even co-maintain it) following this as well? I am asking because I won't have the time to actively maintain this project again, however, I am happy to provide input and look over PRs etc.
Also, :+1: for moving to using package sets.
😮 wow, you actually did it. Render me thoroughly impressed.
Thanks 😊! I mean it took me only 1.5 years 😅
This opens up a lot of new avenues... and we could actually fix some of the long standing issues like automatically interpreting values as opposed to just leaving them as strings and pushing that to the application, or at least making it an option. Caused me quite a bit of grief... but anyway..
Definitely does! This could become a really valuable asset for the PureScript community (and of course the JavaScript community). With the new Json interface it's also already much cleaner.
Given the time you invested in this, would you be open to take over maintenance (or even co-maintain it) following this as well? I am asking because I won't have the time to actively maintain this project again, however, I am happy to provide input and look over PRs etc.
Co-maintaining sounds good! Let's keep that bus factor high 😛. I'll be using it for Transity, so I guess I'll have some need to improve it anyways. You should probably add me as a maintainer on npm as well, right? My account is https://www.npmjs.com/~adius .
Also, 👍 for moving to using package sets.
Spago + package sets just works incredibly well. I'm really thankful for the great folks who built it 😁.
@felixSchl Hi can you maybe give me short hint which transformations are missing to fix this?