]> 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-shared-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-shared-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-shared-dev-dependency')
14
15 test("shrinkwrap doesn't strip out the shared 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-shared-dev-dependency',
44   version: '0.0.0',
45   dependencies: {
46     'test-package-with-one-dep': {
47       version: '0.0.0',
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'
51     },
52     'test-package': {
53       version: '0.0.0',
54       from: 'test-package@0.0.0',
55       resolved: common.registry + '/test-package/-/test-package-0.0.0.tgz'
56     }
57   }
58 }
59
60 var json = {
61   author: 'Domenic Denicola',
62   name: 'npm-test-shrinkwrap-shared-dev-dependency',
63   version: '0.0.0',
64   dependencies: {
65     'test-package-with-one-dep': '0.0.0'
66   },
67   devDependencies: {
68     'test-package': '0.0.0'
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 }