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
dom
anddom-*
, useweb-dom
and such from purescript-web. Use type holes (?whatmethod
) to discover new APIs - Remove
maps
, installordered-collections
for Map/Set/etc. andforeign-object
forStrMap
Eff (fx :: # Type) a
->Effect a
Control.Monad.Effect
->Effect
id
->identity
Data.Record
->Record
- Use a newer package set or use
ncu -uam bower
via 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 -d
orpulp build --src-path some-empty-folder
if 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