Migrate to spago v1#316
Conversation
46dbaec to
7f9b9a5
Compare
7f9b9a5 to
11e2e80
Compare
and bring compiler up to date with latest Hackage release (0.15.15)
429d4ab to
9747a47
Compare
|
Oh no, I tried running locally with same memory settings as production build Running with |
|
Dumping the result of investigating this with Opus: https://gist.github.com/pete-murphy/bd776708d72a00a80ba1b7e7845f2982. Option 3 seems the most attractive if it could work. |
|
Option 3 is indeed attractive and I’m perfectly happy experimenting with reworking try PureScript, it’s definitely not received a lot of love recently. I wouldn’t dismiss option 2 offhand — Try PureScript is browser based so certainly node packages, etc. can safely be excluded |
I did end up looking into Option 2 after all since it seems much easier and I am less likely to get to the harder Option 3 in near term. If I trim out Node packages & some large packages that have no dependents, I am able to run the server with The non-Node packages (largest packages with no dependents) that were omitted:
Here's a notebook for exploring what packages to omit if it's useful: https://new.observablehq.com/@pete-murphy/try-pure-script-package-set-trim-explorer (mostly made by Opus 4.8) The "no dependents" criterion is arbitrary, open to ideas if you can think of something that would be more fair? (Age of package, some other popularity metric...) |

Description of the change
Resolves #315
This migrates the
clientandstagingSpago projects to use latest (1.0.4), and updates compiler version and package set to latest while I was at it. Note that0.15.15is latest version available on Hackage at time of writing.For
clientupdates, I just followed these instructions in Spago repo: https://github.com/purescript/spago#migrate-from-spagodhall-to-spagoyaml.For
staging/Haskell updates I followed the instructions in RELEASE.md that I also updated in these changes. I did not changestack.yamlresolver because0.15.15is still onlts-20.9.This is a large diff, but most of that is in generated files. Ignoring
staging/*(effectively generated from following theRELEASE.mdinstructions) andclient/spago.lock, the diff is much more reasonable:That said, I am open splitting this up into separate MRs.
Checklist: