]> 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-dev-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-dev-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 common = require('../common-tap.js')
11 var npm = npm = require('../../')
12
13 var pkg = path.resolve(__dirname, 'shrinkwrap-dev-dependency')
14
15 test("shrinkwrap doesn't strip out the dependency", 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.commands.shrinkwrap([], true, function (err, results) {
26           if (err) return t.fail(err)
27
28           t.deepEqual(results, desired)
29           s.close()
30           t.end()
31         })
32       })
33     })
34   })
35 })
36
37 test('cleanup', function (t) {
38   cleanup()
39   t.end()
40 })
41
42 var desired = {
43   name: 'npm-test-shrinkwrap-dev-dependency',
44   version: '0.0.0',
45   dependencies: {
46     request: {
47       version: '0.9.0',
48       from: 'request@0.9.0',
49       resolved: common.registry + '/request/-/request-0.9.0.tgz'
50     },
51     underscore: {
52       version: '1.3.1',
53       from: 'underscore@1.3.1',
54       resolved: common.registry + '/underscore/-/underscore-1.3.1.tgz'
55     }
56   }
57 }
58
59 var json = {
60   author: 'Domenic Denicola',
61   name: 'npm-test-shrinkwrap-dev-dependency',
62   version: '0.0.0',
63   dependencies: {
64     request: '0.9.0',
65     underscore: '1.3.1'
66   },
67   devDependencies: {
68     underscore: '1.5.1'
69   }
70 }
71
72 function setup (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 opts = {
79     cache: path.resolve(pkg, 'cache'),
80     registry: common.registry,
81     // important to make sure devDependencies don't get stripped
82     dev: true
83   }
84   npm.load(opts, cb)
85 }
86
87 function cleanup () {
88   process.chdir(osenv.tmpdir())
89   rimraf.sync(pkg)
90 }