]> gerrit.simantics Code Review - simantics/district.git/blob - org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/test/tap/shrinkwrap-prod-dependency.js
Adding integrated tile server
[simantics/district.git] / org.simantics.maps.server / node / node-v4.8.0-win-x64 / node_modules / npm / test / tap / shrinkwrap-prod-dependency.js
1 var fs = require('fs')
2 var path = require('path')
3
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
9
10 var npm = npm = require('../../')
11
12 var common = require('../common-tap.js')
13 var pkg = path.resolve(__dirname, 'shrinkwrap-prod-dependency')
14
15 test("shrinkwrap --dev doesn't strip out prod dependencies", function (t) {
16   t.plan(1)
17
18   mr({port: common.port}, function (er, s) {
19     setup({}, function (err) {
20       if (err) return t.fail(err)
21
22       npm.install('.', function (err) {
23         if (err) return t.fail(err)
24
25         npm.config.set('dev', true)
26         npm.commands.shrinkwrap([], true, function (err, results) {
27           if (err) return t.fail(err)
28
29           t.deepEqual(results, desired)
30           s.close()
31           t.end()
32         })
33       })
34     })
35   })
36 })
37
38 test('cleanup', function (t) {
39   cleanup()
40   t.end()
41 })
42
43 var desired = {
44   name: 'npm-test-shrinkwrap-prod-dependency',
45   version: '0.0.0',
46   dependencies: {
47     request: {
48       version: '0.9.0',
49       from: 'request@0.9.0',
50       resolved: common.registry + '/request/-/request-0.9.0.tgz'
51     },
52     underscore: {
53       version: '1.5.1',
54       from: 'underscore@1.5.1',
55       resolved: common.registry + '/underscore/-/underscore-1.5.1.tgz'
56     }
57   }
58 }
59
60 var json = {
61   author: 'Domenic Denicola',
62   name: 'npm-test-shrinkwrap-prod-dependency',
63   version: '0.0.0',
64   dependencies: {
65     request: '0.9.0'
66   },
67   devDependencies: {
68     underscore: '1.5.1'
69   }
70 }
71
72 function setup (opts, cb) {
73   cleanup()
74   mkdirp.sync(pkg)
75   fs.writeFileSync(path.join(pkg, 'package.json'), JSON.stringify(json, null, 2))
76   process.chdir(pkg)
77
78   var allOpts = {
79     cache: path.resolve(pkg, 'cache'),
80     registry: common.registry
81   }
82
83   for (var key in opts) {
84     allOpts[key] = opts[key]
85   }
86
87   npm.load(allOpts, cb)
88 }
89
90 function cleanup () {
91   process.chdir(osenv.tmpdir())
92   rimraf.sync(pkg)
93 }