UNPKG

928 BJavaScriptView Raw
1const getMainRendererOptions = ({ debug, quiet }, env) => {
2 if (quiet) return { renderer: 'silent' }
3 // Better support for dumb terminals: https://en.wikipedia.org/wiki/Computer_terminal#Dumb_terminals
4 const isDumbTerminal = env.TERM === 'dumb'
5 if (debug || isDumbTerminal || env.NODE_ENV === 'test') return { renderer: 'verbose' }
6 return { renderer: 'update', rendererOptions: { dateFormat: false } }
7}
8
9const getFallbackRenderer = ({ renderer }, { FORCE_COLOR }) => {
10 if (renderer === 'silent') {
11 return 'silent'
12 }
13
14 // If colors are being forced, then also force non-fallback rendering
15 if (Number(FORCE_COLOR) > 0) {
16 return renderer
17 }
18
19 return 'verbose'
20}
21
22export const getRenderer = (options, env = process.env) => {
23 const mainRendererOptions = getMainRendererOptions(options, env)
24 return {
25 ...mainRendererOptions,
26 nonTTYRenderer: getFallbackRenderer(mainRendererOptions, env),
27 }
28}