mirror of
https://github.com/elastic/kibana.git
synced 2025-06-28 11:05:39 -04:00
* [APM] @kbn/typed-router-config * [APM] typed route config * Breadcrumbs, wildcards * Migrate settings, home * Migrate part of service detail page * Migrate remaining routes, tests * Set maxWorkers for precommit script to 4 * Add jest types to tsconfigs * Make sure transaction distribution data is fetched * Fix typescript errors * Remove usage of react-router's useParams * Add route() utility function * Don't use ApmServiceContext for alert flyouts * Don't add onClick handler for breadcrumb * Clarify ts-ignore * Remove unused things * Update documentation * Use useServiceName() in ServiceMap component
92 lines
2.3 KiB
JavaScript
92 lines
2.3 KiB
JavaScript
/*
|
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
* or more contributor license agreements. Licensed under the Elastic License
|
|
* 2.0; you may not use this file except in compliance with the Elastic License
|
|
* 2.0.
|
|
*/
|
|
|
|
/* eslint-disable no-console*/
|
|
/* eslint-disable import/no-extraneous-dependencies*/
|
|
|
|
const execa = require('execa');
|
|
const Listr = require('listr');
|
|
const { resolve } = require('path');
|
|
const { argv } = require('yargs');
|
|
|
|
const root = resolve(__dirname, '../../../..');
|
|
|
|
const execaOpts = { cwd: root, stderr: 'pipe' };
|
|
|
|
const useOptimizedTsConfig = !!argv.optimizeTs;
|
|
|
|
const tsconfig = useOptimizedTsConfig
|
|
? resolve(root, 'tsconfig.json')
|
|
: resolve(root, 'x-pack/plugins/apm/tsconfig.json');
|
|
|
|
const testTsconfig = resolve(root, 'x-pack/test/tsconfig.json');
|
|
|
|
const tasks = new Listr(
|
|
[
|
|
{
|
|
title: 'Lint',
|
|
task: () => execa('node', [resolve(__dirname, 'eslint.js')], execaOpts),
|
|
},
|
|
{
|
|
title: 'Typescript',
|
|
task: () =>
|
|
execa(
|
|
'node',
|
|
[
|
|
resolve(
|
|
__dirname,
|
|
useOptimizedTsConfig
|
|
? './optimize-tsconfig.js'
|
|
: './unoptimize-tsconfig.js'
|
|
),
|
|
],
|
|
execaOpts
|
|
).then(() =>
|
|
Promise.all([
|
|
execa(
|
|
require.resolve('typescript/bin/tsc'),
|
|
['--project', tsconfig, '--pretty', '--noEmit'],
|
|
execaOpts
|
|
),
|
|
execa(
|
|
require.resolve('typescript/bin/tsc'),
|
|
['--project', testTsconfig, '--pretty', '--noEmit'],
|
|
execaOpts
|
|
),
|
|
])
|
|
),
|
|
},
|
|
{
|
|
title: 'Jest',
|
|
task: () =>
|
|
execa(
|
|
'node',
|
|
[
|
|
resolve(__dirname, './jest.js'),
|
|
'--reporters',
|
|
resolve(__dirname, '../../../../node_modules/jest-silent-reporter'),
|
|
'--collect-coverage',
|
|
'false',
|
|
'--maxWorkers',
|
|
4,
|
|
],
|
|
execaOpts
|
|
),
|
|
},
|
|
],
|
|
{ exitOnError: true, concurrent: false }
|
|
);
|
|
|
|
tasks.run().catch((error) => {
|
|
// from src/dev/typescript/exec_in_projects.ts
|
|
process.exitCode = 1;
|
|
const errors = error.errors || [error];
|
|
|
|
for (const e of errors) {
|
|
process.stderr.write(e.stderr || e.stdout);
|
|
}
|
|
});
|