Skip to content
This repository has been archived by the owner on May 14, 2018. It is now read-only.

Commit

Permalink
fix: packages with peers are correctly saved in store index
Browse files Browse the repository at this point in the history
  • Loading branch information
zkochan committed Aug 25, 2017
1 parent d58d587 commit decf3c4
Showing 1 changed file with 18 additions and 3 deletions.
21 changes: 18 additions & 3 deletions src/api/removeOrphanPkgs.ts
@@ -1,7 +1,7 @@
import rimraf = require('rimraf-then')
import path = require('path')
import * as dp from 'dependency-path'
import {Shrinkwrap} from 'pnpm-shrinkwrap'
import {Shrinkwrap, ResolvedPackages} from 'pnpm-shrinkwrap'
import {Store, save as saveStore, PackageSpec} from 'package-store'
import R = require('ramda')
import removeTopDependency from '../removeTopDependency'
Expand Down Expand Up @@ -36,8 +36,8 @@ export default async function removeOrphanPkgs (
})
}))

const oldPkgIds = R.keys(opts.oldShrinkwrap.packages).map(depPath => dp.resolve(opts.oldShrinkwrap.registry, depPath))
const newPkgIds = R.keys(opts.newShrinkwrap.packages).map(depPath => dp.resolve(opts.newShrinkwrap.registry, depPath))
const oldPkgIds = getPackageIds(opts.oldShrinkwrap.registry, opts.oldShrinkwrap.packages || {})
const newPkgIds = getPackageIds(opts.newShrinkwrap.registry, opts.newShrinkwrap.packages || {})

const notDependents = R.difference(oldPkgIds, newPkgIds)

Expand Down Expand Up @@ -69,3 +69,18 @@ export default async function removeOrphanPkgs (

return notDependents
}

function getPackageIds (
registry: string,
packages: ResolvedPackages
): string[] {
return R.uniq(
R.keys(packages)
.map(depPath => {
if (packages[depPath].id) {
return packages[depPath].id
}
return dp.resolve(registry, depPath)
})
) as string[]
}

0 comments on commit decf3c4

Please sign in to comment.