A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/npm/npm/commit/656544c31cdef3cef64fc10c24f03a8ae2685e35 below:

Add various tests for prune --production · npm/npm@656544c · GitHub

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')

11 +

var server

12 + 13 +

var pkg = path.resolve(__dirname, 'prune')

14 +

var cache = path.resolve(pkg, 'cache')

15 + 16 +

var json = {

17 +

name: 'prune-with-only-dev-deps',

18 +

description: 'fixture',

19 +

version: '0.0.1',

20 +

main: 'index.js',

21 +

devDependencies: {

22 +

'test-package-with-one-dep': '0.0.0',

23 +

'test-package': '0.0.0'

24 +

}

25 +

}

26 + 27 +

var EXEC_OPTS = {

28 +

cwd: pkg,

29 +

npm_config_depth: 'Infinity'

30 +

}

31 + 32 +

test('setup', function (t) {

33 +

cleanup()

34 +

mkdirp.sync(cache)

35 +

fs.writeFileSync(

36 +

path.join(pkg, 'package.json'),

37 +

JSON.stringify(json, null, 2)

38 +

)

39 +

mr({ port: common.port }, function (er, s) {

40 +

server = s

41 +

t.end()

42 +

})

43 +

})

44 + 45 +

test('npm install', function (t) {

46 +

common.npm([

47 +

'install',

48 +

'--cache', cache,

49 +

'--registry', common.registry,

50 +

'--loglevel', 'silent',

51 +

'--production', 'false'

52 +

], EXEC_OPTS, function (err, code, stdout, stderr) {

53 +

t.ifErr(err, 'install finished successfully')

54 +

t.notOk(code, 'exit ok')

55 +

t.notOk(stderr, 'Should not get data on stderr: ' + stderr)

56 +

t.end()

57 +

})

58 +

})

59 + 60 +

function readdir (dir) {

61 +

try {

62 +

return fs.readdirSync(dir)

63 +

} catch (ex) {

64 +

if (ex.code === 'ENOENT') return []

65 +

throw ex

66 +

}

67 +

}

68 + 69 +

test('verify installs', function (t) {

70 +

var dirs = readdir(pkg + '/node_modules').sort()

71 +

t.same(dirs, [ 'test-package', 'test-package-with-one-dep' ].sort())

72 +

t.end()

73 +

})

74 + 75 +

test('npm prune', function (t) {

76 +

common.npm([

77 +

'prune',

78 +

'--loglevel', 'silent',

79 +

'--production', 'false'

80 +

], EXEC_OPTS, function (err, code, stdout, stderr) {

81 +

t.ifErr(err, 'prune finished successfully')

82 +

t.notOk(code, 'exit ok')

83 +

t.notOk(stderr, 'Should not get data on stderr: ' + stderr)

84 +

t.end()

85 +

})

86 +

})

87 + 88 +

test('verify installs', function (t) {

89 +

var dirs = readdir(pkg + '/node_modules').sort()

90 +

t.same(dirs, [ 'test-package', 'test-package-with-one-dep' ])

91 +

t.end()

92 +

})

93 + 94 +

test('npm prune', function (t) {

95 +

common.npm([

96 +

'prune',

97 +

'--loglevel', 'silent',

98 +

'--production',

99 +

'--json'

100 +

], EXEC_OPTS, function (err, code, stdout, stderr) {

101 +

t.ifErr(err, 'prune finished successfully')

102 +

t.notOk(code, 'exit ok')

103 +

t.like(JSON.parse(stdout), {removed: [{name: 'test-package'}, {name: 'test-package-with-one-dep'}]})

104 +

t.end()

105 +

})

106 +

})

107 + 108 +

test('verify installs', function (t) {

109 +

var dirs = readdir(pkg + '/node_modules').sort()

110 +

t.same(dirs, [])

111 +

t.end()

112 +

})

113 + 114 +

test('cleanup', function (t) {

115 +

server.close()

116 +

cleanup()

117 +

t.pass('cleaned up')

118 +

t.end()

119 +

})

120 + 121 +

function cleanup () {

122 +

process.chdir(osenv.tmpdir())

123 +

rimraf.sync(pkg)

124 +

}


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4