diff --git a/index.js b/index.js index e6e0d6e..7553089 100644 --- a/index.js +++ b/index.js @@ -5,7 +5,7 @@ const supportsColor = require('supports-color'); const template = require('./templates.js'); -const isSimpleWindowsTerm = process.platform === 'win32' && !process.env.TERM.toLowerCase().startsWith('xterm'); +const isSimpleWindowsTerm = process.platform === 'win32' && !(process.env.TERM || '').toLowerCase().startsWith('xterm'); // `supportsColor.level` → `ansiStyles.color[name]` mapping const levelMapping = ['ansi', 'ansi', 'ansi256', 'ansi16m']; diff --git a/test.js b/test.js index a7a4a6b..237e3f3 100644 --- a/test.js +++ b/test.js @@ -133,6 +133,12 @@ describe('chalk on windows', () => { delete require.cache[resolveFrom(__dirname, 'ansi-styles')]; }); + it('should detect a simple term if TERM isn\'t set', () => { + delete process.env.TERM; + const chalkCtx = importFresh('.'); + assert.equal(chalkCtx.blue('foo'), '\u001B[94mfoo\u001B[39m'); + }); + it('should replace blue foreground color in cmd.exe', () => { process.env.TERM = 'dumb'; const chalkCtx = importFresh('.');