mirror of
https://github.com/nuxt/nuxt.git
synced 2024-11-11 08:33:53 +00:00
feat(cli): improve banner lines dx (#7537)
* feat: improve banner ocdx * chore: make NODE_ENV more clear * chore: update tests and improvements * shame on me * chore: mode ~> rendering
This commit is contained in:
parent
5cfaf0aca1
commit
a88953fe8f
@ -21,21 +21,34 @@ export function showBanner (nuxt, showMemoryUsage = true) {
|
|||||||
|
|
||||||
// Name and version
|
// Name and version
|
||||||
const { bannerColor, badgeMessages } = nuxt.options.cli
|
const { bannerColor, badgeMessages } = nuxt.options.cli
|
||||||
titleLines.push(`${chalk[bannerColor].bold('Nuxt.js')} ${nuxt.constructor.version}`)
|
titleLines.push(`${chalk[bannerColor].bold('Nuxt.js')} @ ${nuxt.constructor.version || 'exotic'}\n`)
|
||||||
|
|
||||||
// Running mode
|
const label = name => chalk.bold.cyan(`▸ ${name}:`)
|
||||||
const rendering = nuxt.options.render.ssr ? chalk.bold.yellow('server-side') : chalk.bold.yellow('client-side')
|
|
||||||
const envMode = nuxt.options.dev ? chalk.bold.blue('development') : chalk.bold.green('production')
|
// Environment
|
||||||
const sentence = `△ Server: ${envMode}\n△ Rendering: ${rendering}\n△ Target: ${chalk.bold.cyan(nuxt.options.target)}`
|
const isDev = nuxt.options.dev
|
||||||
titleLines.push(sentence)
|
let _env = isDev ? 'development' : 'production'
|
||||||
|
if (process.env.NODE_ENV !== _env) {
|
||||||
|
_env += ` (${chalk.cyan(process.env.NODE_ENV)})`
|
||||||
|
}
|
||||||
|
titleLines.push(`${label('Environment')} ${_env}`)
|
||||||
|
|
||||||
|
// Rendering
|
||||||
|
const isSSR = nuxt.options.render.ssr
|
||||||
|
const rendering = isSSR ? 'server-side' : 'client-side'
|
||||||
|
titleLines.push(`${label('Rendering')} ${rendering}`)
|
||||||
|
|
||||||
|
// Target
|
||||||
|
const target = nuxt.options.target || 'server'
|
||||||
|
titleLines.push(`${label('Target')} ${target}`)
|
||||||
|
|
||||||
if (showMemoryUsage) {
|
if (showMemoryUsage) {
|
||||||
titleLines.push(getFormattedMemoryUsage())
|
titleLines.push('\n' + getFormattedMemoryUsage())
|
||||||
}
|
}
|
||||||
|
|
||||||
// Listeners
|
// Listeners
|
||||||
for (const listener of nuxt.server.listeners) {
|
for (const listener of nuxt.server.listeners) {
|
||||||
messageLines.push(chalk.bold('Listening on: ') + chalk.underline.blue(listener.url))
|
messageLines.push(chalk.bold('Listening: ') + chalk.underline.blue(listener.url))
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add custom badge messages
|
// Add custom badge messages
|
||||||
|
@ -166,8 +166,8 @@ describe('cli/utils', () => {
|
|||||||
expect(successBox).toHaveBeenCalledTimes(1)
|
expect(successBox).toHaveBeenCalledTimes(1)
|
||||||
expect(stdout).toHaveBeenCalledTimes(1)
|
expect(stdout).toHaveBeenCalledTimes(1)
|
||||||
expect(stdout).toHaveBeenCalledWith(expect.stringMatching('Nuxt.js'))
|
expect(stdout).toHaveBeenCalledWith(expect.stringMatching('Nuxt.js'))
|
||||||
expect(stdout).toHaveBeenCalledWith(expect.stringMatching(`Listening on: ${listeners[0].url}`))
|
expect(stdout).toHaveBeenCalledWith(expect.stringMatching(`Listening: ${listeners[0].url}`))
|
||||||
expect(stdout).toHaveBeenCalledWith(expect.stringMatching(`Listening on: ${listeners[1].url}`))
|
expect(stdout).toHaveBeenCalledWith(expect.stringMatching(`Listening: ${listeners[1].url}`))
|
||||||
expect(stdout).toHaveBeenCalledWith(expect.stringMatching('Memory usage'))
|
expect(stdout).toHaveBeenCalledWith(expect.stringMatching('Memory usage'))
|
||||||
expect(stdout).toHaveBeenCalledWith(expect.stringMatching('badgeMessage'))
|
expect(stdout).toHaveBeenCalledWith(expect.stringMatching('badgeMessage'))
|
||||||
stdout.mockRestore()
|
stdout.mockRestore()
|
||||||
@ -225,9 +225,9 @@ describe('cli/utils', () => {
|
|||||||
expect(successBox).toHaveBeenCalledTimes(1)
|
expect(successBox).toHaveBeenCalledTimes(1)
|
||||||
expect(stdout).toHaveBeenCalledTimes(1)
|
expect(stdout).toHaveBeenCalledTimes(1)
|
||||||
expect(stdout).toHaveBeenCalledWith(expect.stringMatching('Nuxt.js'))
|
expect(stdout).toHaveBeenCalledWith(expect.stringMatching('Nuxt.js'))
|
||||||
expect(stdout).toHaveBeenCalledWith(expect.stringMatching('△ Server: production'))
|
expect(stdout).toHaveBeenCalledWith(expect.stringMatching('▸ Environment:'))
|
||||||
expect(stdout).toHaveBeenCalledWith(expect.stringMatching('△ Rendering: client-side'))
|
expect(stdout).toHaveBeenCalledWith(expect.stringMatching('▸ Rendering:'))
|
||||||
expect(stdout).toHaveBeenCalledWith(expect.stringMatching('△ Target: static'))
|
expect(stdout).toHaveBeenCalledWith(expect.stringMatching('▸ Target:'))
|
||||||
stdout.mockRestore()
|
stdout.mockRestore()
|
||||||
})
|
})
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user