2 const common = require('../common');
4 const path = require('path');
5 const spawn = require('child_process').spawn;
6 const assert = require('assert');
7 const fs = require('fs');
9 common.refreshTmpDir();
11 const npmPath = path.join(
25 const pkgContent = JSON.stringify({
27 'package-name': common.fixturesDir + '/packages/main'
31 const pkgPath = path.join(common.tmpDir, 'package.json');
33 fs.writeFileSync(pkgPath, pkgContent);
35 const proc = spawn(process.execPath, args, {
39 function handleExit(code, signalCode) {
40 assert.equal(code, 0, 'npm install should run without an error');
41 assert.ok(signalCode === null, 'signalCode should be null');
42 assert.doesNotThrow(function() {
43 fs.accessSync(common.tmpDir + '/node_modules/package-name');
47 proc.on('exit', common.mustCall(handleExit));