1 var fs = require('graceful-fs')
2 var path = require('path')
4 var osenv = require('osenv')
5 var mkdirp = require('mkdirp')
6 var rimraf = require('rimraf')
7 var test = require('tap').test
9 var npm = require('../../lib/npm.js')
10 var common = require('../common-tap.js')
12 var dir = path.resolve(__dirname, 'bundleddependencies')
13 var pkg = path.resolve(dir, 'pkg-with-bundled')
14 var dep = path.resolve(dir, 'a-bundled-dep')
16 var pj = JSON.stringify({
17 name: 'pkg-with-bundled',
20 'a-bundled-dep': 'file:../a-bundled-dep'
22 bundledDependencies: {
23 'a-bundled-dep': 'file:../a-bundled-dep'
27 var pjDep = JSON.stringify({
28 name: 'a-bundled-dep',
32 test('setup', function (t) {
37 test('errors on non-array bundleddependencies', function (t) {
42 common.npm(['install'], { cwd: pkg }, function (err, code, stdout, stderr) {
43 t.ifError(err, 'npm install ran without issue')
44 t.notOk(code, 'exited with a non-error code')
45 t.notOk(stderr, 'no error output')
47 common.npm(['install', './pkg-with-bundled'], { cwd: dir },
48 function (err, code, stdout, stderr) {
49 t.ifError(err, 'npm install ran without issue')
50 t.ok(code, 'exited with a error code')
51 t.ok(stderr.indexOf('be an array') > -1, 'nice error output')
59 test('cleanup', function (t) {
64 function bootstrap () {
68 fs.writeFileSync(path.resolve(pkg, 'package.json'), pj)
71 fs.writeFileSync(path.resolve(dep, 'package.json'), pjDep)
75 process.chdir(osenv.tmpdir())