-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathhelp.js
More file actions
59 lines (57 loc) · 3.35 KB
/
help.js
File metadata and controls
59 lines (57 loc) · 3.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
import { EOL } from 'os';
import chalk from 'chalk';
import { createRequire } from 'module';
import os from 'os';
import { getColourLevelDesc, secondsToHms, formatBytes } from './utils.js';
// Create require for JSON imports (CommonJS compatibility)
const require = createRequire(import.meta.url);
const packageJson = require('./package.json');
export function helpScreen(verbose) {
// Display help screen
console.log(chalk.blue(packageJson.name));
console.log(`${chalk.green('Read the docs:')} ${packageJson.homepage}`);
console.log(`${chalk.magenta('Support & bugs:')} ${packageJson.bugs.url}`);
console.log(EOL);
console.log(chalk.grey('DESCRIPTION:'));
console.log(chalk.italic(' %s'), packageJson.description);
console.log(EOL);
console.log(chalk.grey('VERSION:'));
console.log(` ${packageJson.version}`);
console.log(EOL);
console.log(chalk.grey('USAGE:'));
console.log(' ' + 'node codename-generator [options]');
console.log(EOL);
console.log(chalk.grey('OPTIONS:'));
console.log(' ' + ' ' + chalk.grey('Generate a screen-full of code names'));
console.log(' ' + '<number> ' + chalk.grey('Generate <number> code names'));
console.log(' ' + '--list-adjectives ' + chalk.grey('Lists all adjectives in the dictionary'));
console.log(' ' + '--list-nouns ' + chalk.grey('Lists all nouns in the dictionary'));
console.log(' ' + '--nsfw ' + chalk.grey('"Not Safe for Work" mode outputs profanities'));
console.log(' ' + '--no-color ' + chalk.grey('Switches off colour output'));
console.log(' ' + '--version ' + chalk.grey('Display version number'));
console.log(' ' + '--help ' + chalk.grey('Display this help'));
console.log(EOL);
console.log(chalk.grey('EXAMPLES:'));
console.log(' node codename-generator');
console.log(' node codename-generator 15');
// Display more information if `verbose` is enabled
if (verbose) {
console.log(EOL);
console.log(chalk.grey('SYSTEM:'));
console.log(` Hostname ${chalk.blue(os.hostname())}`);
console.log(` Uptime ${chalk.blue(secondsToHms(os.uptime()))}`);
console.log(` Platform ${chalk.blue(os.platform())}`);
console.log(` O/S ${chalk.blue(os.type())}`);
console.log(` O/S release ${chalk.blue(os.release())}`);
console.log(` CPU architecture ${chalk.blue(os.arch())}`);
console.log(` CPU cores ${chalk.blue(os.cpus().length)}`);
console.log(` CPU model ${chalk.blue(os.cpus()[0]?.model ?? 'Unknown')}`);
console.log(` Free memory ${chalk.blue(formatBytes(os.freemem()))}`);
console.log(` Total memory ${chalk.blue(formatBytes(os.totalmem()))}`);
console.log(` Home directory ${chalk.blue(os.homedir())}`);
console.log(` Temp directory ${chalk.blue(os.tmpdir())}`);
console.log(` Console width ${chalk.blue(process.stdout.columns)}`);
console.log(` Console height ${chalk.blue(process.stdout.rows)}`);
console.log(` Colour support ${chalk.blue(getColourLevelDesc())}`);
}
}