There are some changes you will need to make for most applications to be upgraded to PureScript 0.12. With some usage of editor commands, you should be able to convert any 20K LOC codebase in less than an hour.
- Remove
eff, installeffect - Remove
domanddom-*, useweb-domand such from purescript-web. Use type holes (?whatmethod) to discover new APIs - Remove
maps, installordered-collectionsfor Map/Set/etc. andforeign-objectforStrMap
Eff (fx :: # Type) a->Effect aControl.Monad.Effect->Effectid->identityData.Record->Record
- Use a newer package set or use
ncu -uam bowervia npm-check-updates - If you want a package set that is actively maintained by me, see https://github.com/justinwoo/spacchetti/releases/tag/180718
- Use
psc-package build -dorpulp build --src-path some-empty-folderif you want to only build dependencies first (you should)
See docs for how to use FFI https://pursuit.purescript.org/packages/purescript-eff/3.2.1/docs/Control.Monad.Eff.Uncurried
Then read the docs for Aff https://pursuit.purescript.org/packages/purescript-aff/5.0.1
Optionally, read the docs for Aff-Promise https://pursuit.purescript.org/packages/purescript-aff-promise/2.0.0