Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migrate to PureScript 0.15 #1521

Merged
merged 101 commits into from
Dec 15, 2023
Merged

Migrate to PureScript 0.15 #1521

merged 101 commits into from
Dec 15, 2023

Conversation

errfrom
Copy link
Collaborator

@errfrom errfrom commented Jun 29, 2023

Closes #79
Closes #1430

  1. Update purs to v0.15.8
  2. Update spago to v0.21.0
  3. Upgrade package-set
  4. Remove deprecated purescript-math dependency
  5. Remove every occurrence of using deprecated MonadZero type class
  6. Upgrade medea-ps to PureScript 0.15 Migrate to PureScript 0.15 mlabs-haskell/medea-ps#1
  7. Drop sequences dependency Drop sequences dependency mlabs-haskell/purescript-aeson#18
  8. Upgrade purescript-bignumber to PureScript 0.15 Migrate to PureScript 0.15 mlabs-haskell/purescript-bignumber#3
  9. Upgrade purescript-aeson to PureScript 0.15 Migrate to PureScript 0.15 mlabs-haskell/purescript-aeson#17
  10. Upgrade noble-secp256k1 to PureScript 0.15 Migrate to PureScript 0.15 mlabs-haskell/purescript-noble-secp256k1#3
  11. Upgrade toppokki to PureScript 0.15 Migrate to PureScript 0.15 mlabs-haskell/purescript-toppokki#1
  12. Convert cjs exports to esm using lebab, replace export var with export const
  13. Fix EncodeAeson and DecodeAeson instances for Ctl.Internal.Plutus.Types.AssocMap
  14. Remove ToMetadata instance for (NonEmpty f a) TODO: Can it be rewritten instead?
  15. Use AffjaxDriver depending on the environment (node or browser)
  16. Replace SProxy with kind-generic Proxy
  17. Fix ToData / FromData instances for Ctl.Internal.Types.Interval.Extended and Test.Data.Tree
  18. Use Test.QuickCheck.Gen.frequency with NonEmptyArray
  19. Use exists from Node.FS.Sync (Node.FS.Aff.exists has been removed)
  20. Milestone reached: CTL compiles without errors
  21. Use esm imports
  22. FIXME: Do not re-export Undefined from Contract.Prelude (remove undefined dependency from spago.dhall)
  23. Fix CIP-30 Plutip tests, use global object in Node.js environment
  24. Milestone reached: All unit and Plutip tests pass
  25. Add support for bundling using esbuild
  26. Create node_modules symlinks to NODE_PATH (see NODE_PATH is not part of resolving import specifiers)
  27. E2E tests pass (bundlePursProject now uses esbuild)
  28. Fix bundling using webpack
  29. TODO: fix and re-enable @mlabs-haskell/csl-gc-wrapper

Pre-review checklist

  • All code has been formatted using our config (make format)
  • Any new API features or modification of existing behavior is covered as defined in our test plan
  • The changelog has been updated under the ## Unreleased header, using the appropriate sub-headings (### Added, ### Removed, ### Fixed), and the links to the appropriate issues/PRs have been included

@errfrom errfrom self-assigned this Jun 29, 2023
@errfrom errfrom force-pushed the dshuiski/purs-0.15-migration branch 2 times, most recently from c56e135 to 88d2150 Compare July 6, 2023 15:29
@errfrom errfrom force-pushed the dshuiski/purs-0.15-migration branch from 88d2150 to fe138b0 Compare July 6, 2023 15:34
@errfrom errfrom force-pushed the dshuiski/purs-0.15-migration branch from ae88ea6 to 70e3356 Compare July 6, 2023 16:03
@bladyjoker
Copy link
Collaborator

…n/cardano-transaction-lib into dshuiski/purs-0.15-migration
@klarkc
Copy link

klarkc commented Dec 11, 2023

@bladyjoker I've seen this same error in #1566, after debugging plutip cardano-node, I found an error which was being caused by a wrong cardano-api version in plutip, that's why I created mlabs-haskell/plutip#184

@brainrake
Copy link
Contributor

This is an heroic effort and I appreciate it.

@bladyjoker
Copy link
Collaborator

@bladyjoker I've seen this same error in #1566, after debugging plutip cardano-node, I found an error which was being caused by a wrong cardano-api version in plutip, that's why I created mlabs-haskell/plutip#184

@klarkc we managed to get everything working centered around cardano-node v8.1.1.

Moving to v8.5 will have to be a battle for some other day. Can you summarize the work you did across CTL and Plutip and whether your efforts for 8.5 migration resulted in passing tests or were there some lingering issues?

@klarkc
Copy link

klarkc commented Dec 13, 2023

@bladyjoker I've bump cardano-api constraint to ^>= 8.25 (as in cardano-node 8.5) in order to fix request plutip errors, the last time I checked, we're being blocked by plutip -> cardano-wallet. We still need a valid build plan for plutip with cardano-wallet.

@klntsky
Copy link
Member

klntsky commented Dec 13, 2023

Building searchable documentation fails. Not merging yet.

@bladyjoker bladyjoker self-requested a review December 14, 2023 13:31
Copy link
Collaborator

@bladyjoker bladyjoker left a comment

Choose a reason for hiding this comment

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

Just wanted to click this button after all this work :)

@klarkc
Copy link

klarkc commented Dec 14, 2023

BTW, congratulations to everyone on achieving it. It will really help us here.

@klntsky klntsky merged commit 6a856f4 into develop Dec 15, 2023
3 checks passed
@klntsky klntsky deleted the dshuiski/purs-0.15-migration branch December 15, 2023 15:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Development

Successfully merging this pull request may close these issues.

Update affjax v12 to v13 Switch to esbuild
7 participants