1111const execa = require ( 'execa' ) ;
1212const Listr = require ( 'listr' ) ;
1313const { resolve } = require ( 'path' ) ;
14+ const { argv } = require ( 'yargs' ) ;
1415
15- const cwd = resolve ( __dirname , '../../../..' ) ;
16+ const root = resolve ( __dirname , '../../../..' ) ;
1617
17- const execaOpts = { cwd, stderr : 'inherit' } ;
18+ const execaOpts = { cwd : root , stderr : 'pipe' } ;
19+
20+ const useOptimizedTsConfig = ! ! argv . optimizeTs ;
21+
22+ const tsconfig = useOptimizedTsConfig
23+ ? resolve ( root , 'x-pack/tsconfig.json' )
24+ : resolve ( root , 'x-pack/plugins/apm/tsconfig.json' ) ;
25+
26+ console . log (
27+ resolve (
28+ __dirname ,
29+ useOptimizedTsConfig ? './optimize-tsonfig.js' : './unoptimize-tsconfig.js'
30+ )
31+ ) ;
1832
1933const tasks = new Listr (
2034 [
@@ -37,17 +51,35 @@ const tasks = new Listr(
3751 title : 'Typescript' ,
3852 task : ( ) =>
3953 execa (
40- require . resolve ( 'typescript/bin/tsc' ) ,
41- [ '--project' , resolve ( __dirname , '../tsconfig.json' ) , '--pretty' ] ,
54+ 'node' ,
55+ [
56+ resolve (
57+ __dirname ,
58+ useOptimizedTsConfig
59+ ? './optimize-tsconfig.js'
60+ : './unoptimize-tsconfig.js'
61+ ) ,
62+ ] ,
4263 execaOpts
64+ ) . then ( ( ) =>
65+ execa (
66+ require . resolve ( 'typescript/bin/tsc' ) ,
67+ [
68+ '--project' ,
69+ tsconfig ,
70+ '--pretty' ,
71+ ...( useOptimizedTsConfig ? [ '--noEmit' ] : [ ] ) ,
72+ ] ,
73+ execaOpts
74+ )
4375 ) ,
4476 } ,
4577 {
4678 title : 'Lint' ,
4779 task : ( ) => execa ( 'node' , [ resolve ( __dirname , 'eslint.js' ) ] , execaOpts ) ,
4880 } ,
4981 ] ,
50- { exitOnError : false , concurrent : true }
82+ { exitOnError : true , concurrent : true }
5183) ;
5284
5385tasks . run ( ) . catch ( ( error ) => {
0 commit comments