2 var path = require('path')
4 var mkdirp = require('mkdirp')
5 var mr = require('npm-registry-mock')
6 var osenv = require('osenv')
7 var rimraf = require('rimraf')
8 var test = require('tap').test
10 var common = require('../common-tap.js')
11 var npm = npm = require('../../')
13 var pkg = path.resolve(__dirname, 'shrinkwrap-shared-dev-dependency')
15 test("shrinkwrap doesn't strip out the shared dependency", function (t) {
18 mr({ port: common.port }, function (er, s) {
19 setup(function (err) {
20 if (err) return t.fail(err)
22 npm.install('.', function (err) {
23 if (err) return t.fail(err)
25 npm.commands.shrinkwrap([], true, function (err, results) {
26 if (err) return t.fail(err)
28 t.deepEqual(results, desired)
37 test('cleanup', function (t) {
43 name: 'npm-test-shrinkwrap-shared-dev-dependency',
46 'test-package-with-one-dep': {
48 from: 'test-package-with-one-dep@0.0.0',
49 resolved: common.registry +
50 '/test-package-with-one-dep/-/test-package-with-one-dep-0.0.0.tgz'
54 from: 'test-package@0.0.0',
55 resolved: common.registry + '/test-package/-/test-package-0.0.0.tgz'
61 author: 'Domenic Denicola',
62 name: 'npm-test-shrinkwrap-shared-dev-dependency',
65 'test-package-with-one-dep': '0.0.0'
68 'test-package': '0.0.0'
75 fs.writeFileSync(path.join(pkg, 'package.json'), JSON.stringify(json, null, 2))
79 cache: path.resolve(pkg, 'cache'),
80 registry: common.registry,
81 // important to make sure devDependencies don't get stripped
88 process.chdir(osenv.tmpdir())