I completely agree with your points but there’s one thing I’m missing with this approach is the ability to reuse code and configuration
AFAIK, npm still misses the ability to define “parent/abstract” definitions (see https://github.com/npm/npm/issues/8112), meaning that in any single project you have to re-declare all your scripts. This is particularly annoying within organizations where you’d prefer to reuse things rather than duplicate things and having them become out of date in places…