Skip to content

Add tooling and library updates to 0.15.0 migration guide#424

Merged
JordanMartinez merged 8 commits into
purescript:masterfrom
JordanMartinez:update-0.15.0-migration-guide
Mar 15, 2022
Merged

Add tooling and library updates to 0.15.0 migration guide#424
JordanMartinez merged 8 commits into
purescript:masterfrom
JordanMartinez:update-0.15.0-migration-guide

Conversation

@JordanMartinez
Copy link
Copy Markdown
Contributor

This further adds upon the work started in #421

- `spago` needs to be updated to `vT.B.D`.
- `pulp` needs to be updated to `v16.0.0`.
- `purs-tidy` needs to be updated to `vT.B.D`.
- Use the `prepare-0.15` `package-sets` branch for `v0.15.0`-compatible libraries
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

At the time of release we'll also release the package set, so I don't think this line should be included

### Changes affecting multiple libraries

- Migrated all FFI to ES modules and dropped support for CommonJS modules.
- Removed all kind-specific Proxy types (e.g. `SProxy`, `Proxy2`, `Proxy3`, `RLProxy`, etc.)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe note "If you are using any of these types, replace them with Proxy instead."


### `purescript-prelude` changes

- The data type, `NoConstructors`, often used in `Generic`-related code, was changed to newtype `Void`, enabling one to unwrap the newtype and use `absurd`.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If this is non-breaking then I'm not sure it needs to be included; if it is breaking then we can keep it.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure it's breaking, but it's been labeled as such and does actually enable type class instances to exist that weren't possible before. So, I do think it deserves a mention because many do rely upon Generic. That being said, I think the main audience would be people using Generic to define things like GenericShow type classes.

The above guide doesn't mention the issue with
"use strict"; not getting dropped.
Not sure if we should mention it
here explicitly, but
my script accounts for that.

At the same time, my script
uses bash commands that
may not work the same on MacOS
@JordanMartinez
Copy link
Copy Markdown
Contributor Author

JordanMartinez commented Mar 15, 2022

@thomashoneyman Did you see the last two commits I pushed? I think you approved the PR around the time I pushed them.

@thomashoneyman
Copy link
Copy Markdown
Member

Yep, I think they're OK. I think we should pull your update script out into a standalone gist and link to the gist rather than to the overall repo for conciseness' sake, but for the time being this is a draft and it's fine where it is.

@JordanMartinez JordanMartinez merged commit 5d1deec into purescript:master Mar 15, 2022
@JordanMartinez JordanMartinez deleted the update-0.15.0-migration-guide branch March 15, 2022 23:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants