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

Commit

Permalink
fix: correctly update shrinkwrap.yaml on named install
Browse files Browse the repository at this point in the history
close #41
  • Loading branch information
zkochan committed Jan 28, 2018
1 parent 30fbc48 commit 8c5870c
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 10 deletions.
2 changes: 1 addition & 1 deletion package.json
Expand Up @@ -67,7 +67,7 @@
"path-exists": "^3.0.0",
"path-name": "^1.0.0",
"pnpm-install-checks": "^1.1.0",
"pnpm-shrinkwrap": "^5.1.0",
"pnpm-shrinkwrap": "^5.1.2",
"ramda": "^0.25.0",
"read-package-json": "^2.0.5",
"remove-all-except-outer-links": "^1.0.0",
Expand Down
10 changes: 5 additions & 5 deletions shrinkwrap.yaml
Expand Up @@ -47,7 +47,7 @@ dependencies:
path-exists: 3.0.0
path-name: 1.0.0
pnpm-install-checks: 1.1.0
pnpm-shrinkwrap: 5.1.1
pnpm-shrinkwrap: 5.1.2
ramda: 0.25.0
read-package-json: 2.0.12
remove-all-except-outer-links: 1.0.3
Expand Down Expand Up @@ -3685,7 +3685,7 @@ packages:
dev: true
resolution:
integrity: sha512-PijlGxk564x1E/3Pw0hzcE6tw9Va/lZ/UVfheq+ld62c8mqOmgC/49DCx+YIV1RAwscDttsVUT3EeAjAZHh55g==
/pnpm-shrinkwrap/5.1.1:
/pnpm-shrinkwrap/5.1.2:
dependencies:
'@types/node': 9.4.0
'@types/ramda': 0.25.16
Expand All @@ -3695,15 +3695,15 @@ packages:
mkdirp-promise: 5.0.1
ramda: 0.25.0
rimraf-then: 1.0.1
thenify: 3.3.0
util.promisify: 1.0.0
write-file-atomic: 2.3.0
dev: false
engines:
node: '>=4'
peerDependencies:
'@pnpm/logger': ^1.0.0
resolution:
integrity: sha512-rTDk5r3OKdOU+6P/QDh0RZX9fohf4iUs5Wa4T3mTIF0Wb4TH9jJlvQVI4XSidwlgWIZHHbDiHWgIHACOTS+bLQ==
integrity: sha512-lSKx5YE9iSda7CWHIyUVpI9jTa1zpvqPJfeu4nwR2+phpw6VdBFeeNagXcUV7l6H2w2Bf+dXTDO7srH12BPB8g==
/prebuild-install/2.5.0:
dependencies:
detect-libc: 1.0.3
Expand Down Expand Up @@ -5209,7 +5209,7 @@ specifiers:
path-name: ^1.0.0
pnpm-install-checks: ^1.1.0
pnpm-registry-mock: ^1.17.0
pnpm-shrinkwrap: ^5.1.0
pnpm-shrinkwrap: ^5.1.2
ramda: ^0.25.0
read-package-json: ^2.0.5
read-pkg: ^3.0.0
Expand Down
17 changes: 13 additions & 4 deletions test/shrinkwrap.ts
Expand Up @@ -702,13 +702,22 @@ test('pendingBuilds gets updated if install removes packages', async (t: tape.Te
t.ok(modules1['pendingBuilds'].length > modules2['pendingBuilds'].length, 'pendingBuilds gets updated when install removes packages')
})

// TODO: make it pass. Related issue: #41
test.skip('dev properties are correctly updated on named install', async (t: tape.Test) => {
test('dev properties are correctly updated on named install', async (t: tape.Test) => {
const project = prepare(t)

await installPkgs(['rimraf@2.6.2'], await testDefaults({saveDev: true}))
await installPkgs(['foo@npm:rimraf@2.6.2'], await testDefaults({}))
await installPkgs(['inflight@1.0.6'], await testDefaults({saveDev: true}))
await installPkgs(['foo@npm:inflight@1.0.6'], await testDefaults({}))

const shr = await project.loadShrinkwrap()
t.deepEqual(R.values(shr.packages).filter(dep => typeof dep.dev !== 'undefined'), [], 'there are 0 packages with dev property in shrinkwrap.yaml')
})

test('optional properties are correctly updated on named install', async (t: tape.Test) => {
const project = prepare(t)

await installPkgs(['inflight@1.0.6'], await testDefaults({saveOptional: true}))
await installPkgs(['foo@npm:inflight@1.0.6'], await testDefaults({}))

const shr = await project.loadShrinkwrap()
t.deepEqual(R.values(shr.packages).filter(dep => typeof dep.optional !== 'undefined'), [], 'there are 0 packages with optional property in shrinkwrap.yaml')
})

0 comments on commit 8c5870c

Please sign in to comment.