feat: don't show all the stderr output

Many libs use stderr for logging
This commit is contained in:
Zoltan Kochan
2017-11-12 20:53:25 +02:00
parent a953899409
commit 4e6fce9db1
2 changed files with 5 additions and 12 deletions

View File

@@ -163,22 +163,14 @@ export function toOutput$(streamParser: object): Stream<string> {
})
.map(xs.of)
const lifecycleMessages: {[pkgId: string]: {keep: boolean, output: string}} = {}
const lifecycleMessages: {[pkgId: string]: string} = {}
const lifecycleOutput$ = xs.of(
log$
.filter((log) => log.name === 'pnpm:lifecycle')
.map((log: LifecycleLog) => {
const key = `${log.script}:${log.pkgId}`
const keep = lifecycleMessages[key] && lifecycleMessages[key].keep || log.level === 'error'
const formattedLine = formatLifecycle(log)
const output = keep && lifecycleMessages[key]
? `${lifecycleMessages[key].output}${EOL}${formattedLine}`
: formattedLine
lifecycleMessages[key] = {
keep,
output,
}
return R.values(lifecycleMessages).map((lm) => lm['output']).join(EOL)
lifecycleMessages[key] = formatLifecycle(log)
return R.values(lifecycleMessages).join(EOL)
})
.map((msg) => ({msg})),
)

View File

@@ -299,7 +299,8 @@ test('groups lifecycle output', t => {
})
})
test('prints lifecycle progress', t => {
// Many libs use stderr for logging, so showing all stderr adds not much value
test['skip']('prints lifecycle progress', t => {
const output$ = toOutput$(createStreamParser())
const pkgId = 'registry.npmjs.org/foo/1.0.0'