-
-
Notifications
You must be signed in to change notification settings - Fork 840
Expand file tree
/
Copy pathtask-help.ts
More file actions
57 lines (42 loc) · 2.56 KB
/
task-help.ts
File metadata and controls
57 lines (42 loc) · 2.56 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
import type * as d from '../declarations';
import { ConfigFlags } from './config-flags';
import { taskTelemetry } from './task-telemetry';
/**
* Entrypoint for the Help task, providing Stencil usage context to the user
* @param flags configuration flags provided to Stencil when a task was call (either this task or a task that invokes
* telemetry)
* @param logger a logging implementation to log the results out to the user
* @param sys the abstraction for interfacing with the operating system
*/
export const taskHelp = async (flags: ConfigFlags, logger: d.Logger, sys: d.CompilerSystem): Promise<void> => {
const prompt = logger.dim(sys.details?.platform === 'windows' ? '>' : '$');
console.log(`
${logger.bold('Build:')} ${logger.dim('Build components for development or production.')}
${prompt} ${logger.green('stencil build [--dev] [--watch] [--prerender] [--debug]')}
${logger.cyan('--dev')} ${logger.dim('.............')} Development build
${logger.cyan('--watch')} ${logger.dim('...........')} Rebuild when files update
${logger.cyan('--serve')} ${logger.dim('...........')} Start the dev-server
${logger.cyan('--prerender')} ${logger.dim('.......')} Prerender the application
${logger.cyan('--docs')} ${logger.dim('............')} Generate component readme.md docs
${logger.cyan('--config')} ${logger.dim('..........')} Set stencil config file
${logger.cyan('--stats')} ${logger.dim('...........')} Write stats, optional file path (default: stencil-stats.json)
${logger.cyan('--log')} ${logger.dim('.............')} Write stencil-build.log file
${logger.cyan('--debug')} ${logger.dim('...........')} Set the log level to debug
${logger.bold('Test:')} ${logger.dim('Run unit and end-to-end tests.')}
${prompt} ${logger.green('stencil test [--spec] [--e2e]')}
${logger.cyan('--spec')} ${logger.dim('............')} Run unit tests with Jest
${logger.cyan('--e2e')} ${logger.dim('.............')} Run e2e tests with Puppeteer
${logger.bold('Generate:')} ${logger.dim('Bootstrap components.')}
${prompt} ${logger.green('stencil generate')} or ${logger.green('stencil g')}
`);
await taskTelemetry(flags, sys, logger);
console.log(`
${logger.bold('Examples:')}
${prompt} ${logger.green('stencil build --dev --watch --serve')}
${prompt} ${logger.green('stencil build --prerender')}
${prompt} ${logger.green('stencil test --spec --e2e')}
${prompt} ${logger.green('stencil telemetry on')}
${prompt} ${logger.green('stencil generate')}
${prompt} ${logger.green('stencil g my-component')}
`);
};