said in Time to decaffeinate?:
Just curious to get the Dev’s opinion on this
In my opinion we need to migrate the project to the latest nodejs LTS version before we start anything else like decaffeinating stuff. The major burden of migrating the project to a newer nodejs version is the new package management version which does not play well with the plugin structure we currently have. An alternative may be to move on to using yarn but this needs to be investigated further.
For sure, there are less reasons for using coffeescript these days thanks to the recent advances of JS. At best, CS and modern JS can live together in perfect harmony. Personally, I see little value in converting plugins projects to JS as - at least for plugin projects which don’t change very often. Please also note, the code generated by decaf is not always perfect. Eventhough it is functionally correct there are few issues which need to be manually cleaned up. The latter constitutes the risk of introducing new bugs, btw. On the contrary, I think it makes sense to consider migrating the pimatic core to modern JS and to take this as an opportunity of improving parts of the code. Needless to say this requires a good knowledge of the code base and a fair amount of architectual work.
In summary, decaffeinate is a nice and helpful tool, but it only does half of the job as manual cleanup and most likely some refactoring is required. For details, see also https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md.