I find it sad to hear that it takes this long even for an expert such as yourself. Let alone the rest of us who might be struggling just to grok what the changes mean and why they are being used. It seems every time I upgrade ember cli I have to block a good part of my day to dedicate to research. What new dependencies are being added? What’s in the change log? What add ons are going to break if I upgrade? Am I in a position to cleanly roll back if the upgrade goes wrong, etc, etc. This not a knock on Ember CLI, but just a testament of how immature the entire node.js npm ecosystem is as a whole, let alone the wild and woolly world of bower components.
If I recall correctly @stefan said last year at ember conf the goal was to spend “5 minutes in the morning” and proceed. So I think more progress on improving the upgrade process will be a welcome addition to an already great project.
Fortunately, it is a significant improvement over EAK and complex grunt files. Unfortunately dependency management is a still a hassle.
I just wonder if there would ever be a way to make the init process smarter. Still pretty brute force approach.
I suspect the brute force approach is the safest and most reliable. Just wish it was more amenable to automation.
I think making a distinction between app configuration and ember CLI configuration and then merge these into a coherent package.json and bower.json would be nice. Once Ember CLI gets stable and 1.0 I think there should be very little reason for the the init process to touch app files and source.
Perhaps one approach would be that Ember CLI perform a “static analysis” of app/project code and show a report of deprecation warnings. Almost like a JSHint thing. Saying stuff like “hey you have a problem with xyz file on line 123, might want to look into that…”
At what point does Ember CLI behave more like a smart compiler, and we just trust that it does the right thing on our behalf?
At any rate, automagically merging is a hard problem and I suspect manually managing the changes and diffs will be the safest thing to do for the foreseeable future.