1 | const getMainRendererOptions = ({ debug, quiet }, env) => {
|
2 | if (quiet) return { renderer: 'silent' }
|
3 |
|
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 |
|
9 | const getFallbackRenderer = ({ renderer }, { FORCE_COLOR }) => {
|
10 | if (renderer === 'silent') {
|
11 | return 'silent'
|
12 | }
|
13 |
|
14 |
|
15 | if (Number(FORCE_COLOR) > 0) {
|
16 | return renderer
|
17 | }
|
18 |
|
19 | return 'verbose'
|
20 | }
|
21 |
|
22 | export const getRenderer = (options, env = process.env) => {
|
23 | const mainRendererOptions = getMainRendererOptions(options, env)
|
24 | return {
|
25 | ...mainRendererOptions,
|
26 | nonTTYRenderer: getFallbackRenderer(mainRendererOptions, env),
|
27 | }
|
28 | }
|