@@ -14,16 +14,19 @@ import { taskPrerender } from './task-prerender';
14
14
import { taskServe } from './task-serve' ;
15
15
import { taskTest } from './task-test' ;
16
16
import { initializeStencilCLIConfig } from './state/stencil-cli-config' ;
17
+ import { taskTelemetry } from './task-telemetry' ;
18
+ import { telemetryAction } from './telemetry/telemetry' ;
17
19
18
20
export const run = async ( init : CliInitOptions ) => {
19
21
const { args, logger, sys } = init ;
20
22
21
23
// Initialize the singleton so we can use this throughout the lifecycle of the CLI.
22
- const stencilCLIConfig = initializeStencilCLIConfig ( { args, logger, sys} ) ;
24
+ const stencilCLIConfig = initializeStencilCLIConfig ( { args, logger, sys } ) ;
23
25
24
26
try {
25
27
const flags = parseFlags ( args , sys ) ;
26
28
const task = flags . task ;
29
+
27
30
if ( flags . debug || flags . verbose ) {
28
31
logger . setLevel ( 'debug' ) ;
29
32
}
@@ -43,7 +46,7 @@ export const run = async (init: CliInitOptions) => {
43
46
stencilCLIConfig . flags = flags ;
44
47
45
48
if ( task === 'help' || flags . help ) {
46
- taskHelp ( sys , logger ) ;
49
+ taskHelp ( ) ;
47
50
return ;
48
51
}
49
52
@@ -79,7 +82,9 @@ export const run = async (init: CliInitOptions) => {
79
82
loadedCompilerLog ( sys , logger , flags , coreCompiler ) ;
80
83
81
84
if ( task === 'info' ) {
82
- taskInfo ( coreCompiler , sys , logger ) ;
85
+ await telemetryAction ( async ( ) => {
86
+ await taskInfo ( coreCompiler , sys , logger ) ;
87
+ } ) ;
83
88
return ;
84
89
}
85
90
@@ -99,13 +104,17 @@ export const run = async (init: CliInitOptions) => {
99
104
}
100
105
}
101
106
107
+ stencilCLIConfig . validatedConfig = validated ;
108
+
102
109
if ( isFunction ( sys . applyGlobalPatch ) ) {
103
110
sys . applyGlobalPatch ( validated . config . rootDir ) ;
104
111
}
105
112
106
113
await sys . ensureResources ( { rootDir : validated . config . rootDir , logger, dependencies : dependencies as any } ) ;
107
114
108
- await runTask ( coreCompiler , validated . config , task ) ;
115
+ await telemetryAction ( async ( ) => {
116
+ await runTask ( coreCompiler , validated . config , task ) ;
117
+ } ) ;
109
118
} catch ( e ) {
110
119
if ( ! shouldIgnoreError ( e ) ) {
111
120
logger . error ( `uncaught cli error: ${ e } ${ logger . getLevel ( ) === 'debug' ? e . stack : '' } ` ) ;
@@ -127,15 +136,15 @@ export const runTask = async (coreCompiler: CoreCompiler, config: Config, task:
127
136
await taskDocs ( coreCompiler , config ) ;
128
137
break ;
129
138
130
- case 'help' :
131
- taskHelp ( config . sys , config . logger ) ;
132
- break ;
133
-
134
139
case 'generate' :
135
140
case 'g' :
136
141
await taskGenerate ( coreCompiler , config ) ;
137
142
break ;
138
143
144
+ case 'help' :
145
+ taskHelp ( ) ;
146
+ break ;
147
+
139
148
case 'prerender' :
140
149
await taskPrerender ( coreCompiler , config ) ;
141
150
break ;
@@ -144,6 +153,10 @@ export const runTask = async (coreCompiler: CoreCompiler, config: Config, task:
144
153
await taskServe ( config ) ;
145
154
break ;
146
155
156
+ case 'telemetry' :
157
+ await taskTelemetry ( ) ;
158
+ break ;
159
+
147
160
case 'test' :
148
161
await taskTest ( config ) ;
149
162
break ;
@@ -154,7 +167,7 @@ export const runTask = async (coreCompiler: CoreCompiler, config: Config, task:
154
167
155
168
default :
156
169
config . logger . error ( `${ config . logger . emoji ( '❌ ' ) } Invalid stencil command, please see the options below:` ) ;
157
- taskHelp ( config . sys , config . logger ) ;
170
+ taskHelp ( ) ;
158
171
return config . sys . exit ( 1 ) ;
159
172
}
160
173
} ;
0 commit comments