The most notable feature change in v8 is that Shakapacker is now JS package manager agnostic by default, using the packageManager property to determine which package manager to use (otherwise defaulting to npm, like Node itself).
A side-effect of this means that shakapacker:install now merges with existing package.jsons rather than always overwriting it (that way you can set packageManager before running the installer); this means we could potentially refactor some of our package.json related code to reduce duplication but it'll still all work as-is so I've left that for a potential follow-up PR.
There are other breaking changes which are detailed in the upgrade guide but they're mainly around fixing existing behaviour and removing deprecated stuff like the webpacker namespace; they will be relevant for our existing applications but don't impact new applications.
The most notable feature change in v8 is that Shakapacker is now JS package manager agnostic by default, using the
packageManager
property to determine which package manager to use (otherwise defaulting tonpm
, like Node itself).A side-effect of this means that
shakapacker:install
now merges with existingpackage.json
s rather than always overwriting it (that way you can setpackageManager
before running the installer); this means we could potentially refactor some of ourpackage.json
related code to reduce duplication but it'll still all work as-is so I've left that for a potential follow-up PR.There are other breaking changes which are detailed in the upgrade guide but they're mainly around fixing existing behaviour and removing deprecated stuff like the
webpacker
namespace; they will be relevant for our existing applications but don't impact new applications.