/*! * @nuxt/cli v2.13.3 (c) 2016-2020 * - All the amazing contributors * Released under the MIT License. * Website: https://nuxtjs.org */ 'use strict'; function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } const index = require('./cli-index.js'); const chalk = _interopDefault(require('chalk')); const env = _interopDefault(require('std-env')); const consola = _interopDefault(require('consola')); const prettyBytes = _interopDefault(require('pretty-bytes')); function getMemoryUsage () { // https://nodejs.org/api/process.html#process_process_memoryusage const { heapUsed, rss } = process.memoryUsage(); return { heap: heapUsed, rss } } function getFormattedMemoryUsage () { const { heap, rss } = getMemoryUsage(); return `Memory usage: ${chalk.bold(prettyBytes(heap))} (RSS: ${prettyBytes(rss)})` } function showMemoryUsage () { consola.info(getFormattedMemoryUsage()); } function showBanner (nuxt, showMemoryUsage = true) { if (env.test) { return } if (env.minimalCLI) { for (const listener of nuxt.server.listeners) { consola.info('Listening on: ' + listener.url); } return } const titleLines = []; const messageLines = []; // Name and version const { bannerColor, badgeMessages } = nuxt.options.cli; titleLines.push(`${chalk[bannerColor].bold('Nuxt.js')} @ ${nuxt.constructor.version || 'exotic'}\n`); const label = name => chalk.bold.cyan(`▸ ${name}:`); // Environment const isDev = nuxt.options.dev; 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) { titleLines.push('\n' + getFormattedMemoryUsage()); } // Listeners for (const listener of nuxt.server.listeners) { messageLines.push(chalk.bold('Listening: ') + chalk.underline.blue(listener.url)); } // Add custom badge messages if (badgeMessages.length) { messageLines.push('', ...badgeMessages); } process.stdout.write(index.successBox(messageLines.join('\n'), titleLines.join('\n'))); } exports.showBanner = showBanner; exports.showMemoryUsage = showMemoryUsage;