We will write our own indentation in package.json. For commands that shell out to cordova-fetch and therefore npm, we have no control over it (cordova platform/plugin add/rm).
We could theoretically keep indentaiton for commands where we write to package.json (also platform/plugin add/rm to cordova key & during restore when we sync config.xml & package.json).
This issue is probably not worth implementing.
npm@5 seems like it will respect existing formatting.