feat(recursive): read local package configs

close #1093
This commit is contained in:
Zoltan Kochan
2018-04-15 13:47:26 +03:00
parent fed56040a8
commit d7652e8564
5 changed files with 80 additions and 3 deletions

View File

@@ -15,6 +15,7 @@ import {
spawn,
} from './utils'
import mkdirp = require('mkdirp-promise')
import loadYamlFile = require('load-yaml-file')
const test = promisifyTape(tape)
@@ -44,6 +45,40 @@ test('recursive installation', async t => {
t.end()
})
test('recursive installation with package-specific .npmrc', async t => {
const projects = prepare(t, [
{
name: 'project-1',
version: '1.0.0',
dependencies: {
'is-positive': '1.0.0',
},
},
{
name: 'project-2',
version: '1.0.0',
dependencies: {
'is-negative': '1.0.0',
},
},
])
await fs.writeFile('project-1/.npmrc', 'shamefully-flatten = true', 'utf8')
await execPnpm('recursive', 'install')
t.ok(projects['project-1'].requireModule('is-positive'))
t.ok(projects['project-2'].requireModule('is-negative'))
const modulesYaml1 = await projects['project-1'].loadModules()
t.ok(modulesYaml1.shamefullyFlatten)
const modulesYaml2 = await projects['project-2'].loadModules()
t.notOk(modulesYaml2.shamefullyFlatten)
t.end()
})
test('recursive installation using server', async t => {
const projects = prepare(t, [
{