Some thoughts on 0.19 upgrade planning

I have a lot of 0.18 code and I want to get much of it ported to 0.19.

My plan is:

  1. Figure out what projects I need to migrate.
  2. Find all of their elm-package.json files.
  3. Scrape out the “dependencies” section, and concat all the dependencies together in a single file.
  4. pipe the file through ‘sort | uniq’ to obtain a list of unique dependencies across all the 0.18 code I want to port.
  5. Look out for packages I need as they get ported to 0.19.

I guess it will take a little while to figure out what packages are never going to make it to 0.19 and figure out how to deal with those show stoppers.

Anyone got any thoughts on how to upgrade?

Using elm-stuff/exact-dependencies.json might give you more thorough results if you’ve got all the projects downloaded and compiled in one place

2 Likes

One quick strategy, until packages get updated to 0.19, you can also create a vendor folder, add it to the source-directories and copy into it the source code for some of the packages you depend on. Sometimes, the source code needs no modification at all or it can be automatically handled by elm-upgrade. Once the package has been updated for 0.19 you can delete the module from vendor and re-add it to your dependencies, eventually getting rid of the vendor folder.

10 Likes

Two quick questions:

  • What are the most common (most used) libraries that still need to be ported to Elm 0.19?
  • What common libraries will not be able to be ported at all because of a dependency on native code?

Note: I’d hoped to come up with an objective way to state these questions, but could not think of any. I’m not looking for discussions as to what libraries are considered important or common. If you can think of an objective way, please share.

This will depend on your application–what are you using now? We can figure it out together. :slightly_smiling_face:

Very few! Because we don’t do a lot of kernel code in packages, that’s not typically the upgrade blocker. Among those, elm-test is the biggest todo, and its nearly ready anyhow!

1 Like

So elm-community/elm-test will be upgraded? Or has it moved to the elm-explorations/elm-test? I’m confused a little bit :confused:

1 Like

elm-community/elm-test is now elm-explorations/test.

2 Likes

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.