UNPKG

2.13 kBJavaScriptView Raw
1/*!
2 * @nuxt/cli v2.12.0 (c) 2016-2020
3
4 * - All the amazing contributors
5 * Released under the MIT License.
6 * Website: https://nuxtjs.org
7*/
8'use strict';
9
10function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
11
12const index = require('./cli-index.js');
13const chalk = _interopDefault(require('chalk'));
14const env = _interopDefault(require('std-env'));
15const consola = _interopDefault(require('consola'));
16const prettyBytes = _interopDefault(require('pretty-bytes'));
17
18function getMemoryUsage () {
19 // https://nodejs.org/api/process.html#process_process_memoryusage
20 const { heapUsed, rss } = process.memoryUsage();
21 return { heap: heapUsed, rss }
22}
23
24function getFormattedMemoryUsage () {
25 const { heap, rss } = getMemoryUsage();
26 return `Memory usage: ${chalk.bold(prettyBytes(heap))} (RSS: ${prettyBytes(rss)})`
27}
28
29function showMemoryUsage () {
30 consola.info(getFormattedMemoryUsage());
31}
32
33function showBanner (nuxt, showMemoryUsage = true) {
34 if (env.test) {
35 return
36 }
37
38 if (env.minimalCLI) {
39 for (const listener of nuxt.server.listeners) {
40 consola.info('Listening on: ' + listener.url);
41 }
42 return
43 }
44
45 const titleLines = [];
46 const messageLines = [];
47
48 // Name and version
49 const { bannerColor } = nuxt.options.cli;
50 titleLines.push(`${chalk[bannerColor].bold('Nuxt.js')} ${nuxt.constructor.version}`);
51
52 // Running mode
53 titleLines.push(`Running in ${nuxt.options.dev ? chalk.bold.blue('development') : chalk.bold.green('production')} mode (${chalk.bold(nuxt.options.mode)})`);
54
55 if (showMemoryUsage) {
56 titleLines.push(getFormattedMemoryUsage());
57 }
58
59 // Listeners
60 for (const listener of nuxt.server.listeners) {
61 messageLines.push(chalk.bold('Listening on: ') + chalk.underline.blue(listener.url));
62 }
63
64 // Add custom badge messages
65 if (nuxt.options.cli.badgeMessages.length) {
66 messageLines.push('', ...nuxt.options.cli.badgeMessages);
67 }
68
69 process.stdout.write(index.successBox(messageLines.join('\n'), titleLines.join('\n')));
70}
71
72exports.showBanner = showBanner;
73exports.showMemoryUsage = showMemoryUsage;