1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 | 'use strict';
|
9 |
|
10 | function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
|
11 |
|
12 | const index = require('./cli-index.js');
|
13 | const chalk = _interopDefault(require('chalk'));
|
14 | const env = _interopDefault(require('std-env'));
|
15 | const consola = _interopDefault(require('consola'));
|
16 | const prettyBytes = _interopDefault(require('pretty-bytes'));
|
17 |
|
18 | function getMemoryUsage () {
|
19 |
|
20 | const { heapUsed, rss } = process.memoryUsage();
|
21 | return { heap: heapUsed, rss }
|
22 | }
|
23 |
|
24 | function getFormattedMemoryUsage () {
|
25 | const { heap, rss } = getMemoryUsage();
|
26 | return `Memory usage: ${chalk.bold(prettyBytes(heap))} (RSS: ${prettyBytes(rss)})`
|
27 | }
|
28 |
|
29 | function showMemoryUsage () {
|
30 | consola.info(getFormattedMemoryUsage());
|
31 | }
|
32 |
|
33 | function 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 |
|
49 | const { bannerColor } = nuxt.options.cli;
|
50 | titleLines.push(`${chalk[bannerColor].bold('Nuxt.js')} ${nuxt.constructor.version}`);
|
51 |
|
52 |
|
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 |
|
60 | for (const listener of nuxt.server.listeners) {
|
61 | messageLines.push(chalk.bold('Listening on: ') + chalk.underline.blue(listener.url));
|
62 | }
|
63 |
|
64 |
|
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 |
|
72 | exports.showBanner = showBanner;
|
73 | exports.showMemoryUsage = showMemoryUsage;
|