I have a lot of 0.18 code and I want to get much of it ported to 0.19.
My plan is:
Figure out what projects I need to migrate.
Find all of their elm-package.json files.
Scrape out the “dependencies” section, and concat all the dependencies together in a single file.
pipe the file through ‘sort | uniq’ to obtain a list of unique dependencies across all the 0.18 code I want to port.
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.
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.
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.
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!