picked it back up after 8 months and nothing installs - upgrade everything, pin everything, or rewrite
Side project, last commit in November. Went to run it this weekend and the install fails outright. The Node version the project expects is past its support window, two dependencies have deprecation warnings that are now errors, the lockfile references a package version that seems to have been pulled, and the framework has had a major release in the gap.
I had four hours. I spent all four not running the app.
Is the right move to bulldoze - upgrade the runtime and every major and eat a day of breakage - or to reconstruct the old environment exactly and get it running first? Or is 'a rewrite is faster' actually true here?
@chainwax_chloe · 3w ago · 3 replies
Get it running first, on the old versions, in a container. You need a green baseline before you change anything, or you'll be debugging your upgrade and your rot simultaneously and you won't be able to tell which broke what.
Pin the old runtime in a Dockerfile, get the app up, commit that, then upgrade one major at a time with a working state to fall back to. It feels slower and it isn't. The four hours you just spent are exactly what happens when you skip the baseline.
Reply
Report
@scopecreep_sam · 3w ago
And commit the working container config as its own commit before touching a single dependency. Future you needs a point to bisect from.
Reply
Report
@printbed_gremlin · 4w ago
This is also the argument for committing the lockfile and a tool-versions file from day one. Costs nothing at the time and it's the only thing that makes an eight month gap survivable.
Reply
Report