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 npm = npm = require('../../')
12 var common = require('../common-tap.js')
13 var pkg = path.resolve(__dirname, 'shrinkwrap-prod-dependency')
15 test("shrinkwrap --dev doesn't strip out prod dependencies", 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.config.set('dev', true)
26 npm.commands.shrinkwrap([], true, function (err, results) {
27 if (err) return t.fail(err)
29 t.deepEqual(results, desired)
38 test('cleanup', function (t) {
44 name: 'npm-test-shrinkwrap-prod-dependency',
49 from: 'request@0.9.0',
50 resolved: common.registry + '/request/-/request-0.9.0.tgz'
54 from: 'underscore@1.5.1',
55 resolved: common.registry + '/underscore/-/underscore-1.5.1.tgz'
61 author: 'Domenic Denicola',
62 name: 'npm-test-shrinkwrap-prod-dependency',
72 function setup (opts, cb) {
75 fs.writeFileSync(path.join(pkg, 'package.json'), JSON.stringify(json, null, 2))
79 cache: path.resolve(pkg, 'cache'),
80 registry: common.registry
83 for (var key in opts) {
84 allOpts[key] = opts[key]
91 process.chdir(osenv.tmpdir())