src/core.js
function updateAllDeps (pPackageObject, pOutdatedPackages = {}, pOptions = {}) {
  return Object.assign(
    {},
    pPackageObject,
    Object.keys(pPackageObject)
      .filter(pPkgKey => pPkgKey.includes('ependencies'))
      .reduce(
        (pAll, pDepKey) => {
          pAll[pDepKey] = updateDeps(pPackageObject[pDepKey], pOutdatedPackages, pOptions)
          return pAll
        },
        {}
      )
  )
}
function updateAllDeps (pPackageObject, pOutdatedPackages = {}, pOptions = {}) {
  return Object.assign(
    {},
    pPackageObject,
    Object.keys(pPackageObject)
      .filter(pPkgKey => pPkgKey.includes('ependencies'))
      .reduce(
        (pAll, pDepKey) => {
          pAll[pDepKey] = updateDeps(pPackageObject[pDepKey], pOutdatedPackages, pOptions)
          return pAll
        },
        {}
      )
  )
}
function updateAllDeps ( pPackageObject , pOutdatedPackages = { } , pOptions = { } ) { return Object . assign ( { } , pPackageObject , Object . keys ( pPackageObject ) . filter ( pPkgKey => pPkgKey . includes ( 'ependencies' ) ) . reduce ( ( pAll , pDepKey ) => { pAll [ pDepKey ] = updateDeps ( pPackageObject [ pDepKey ] , pOutdatedPackages , pOptions ) return pAll } , { } ) ) }
Updates all dependencies in the passed package.json that match a key in the
passed outdated object to the _latest_ in that object, ignoring the
packages mentioned in the upem.donotup key.

@param {any} pPackageObject - the contents of a package.json in object format
@param {any} pOutdatedObject - the output of npm outdated --json, in object format
@param {string} pSavePrefix - how updated packages get prefixed; either '~',
'^' or '' (the default)

@return {any} - the transformed pPackageObject
Updates all dependencies in the passed package . json that match a key in the passed outdated object to the _latest_ in that object ignoring the packages mentioned in the upem . donotup key .