diff --git a/x-pack/tasks/build.js b/x-pack/tasks/build.js index 0ccbbf082315..82ccc9c75bd6 100644 --- a/x-pack/tasks/build.js +++ b/x-pack/tasks/build.js @@ -4,20 +4,45 @@ * you may not use this file except in compliance with the Elastic License. */ +import del from 'del'; import { resolve } from 'path'; import { writeFileSync } from 'fs'; import pluginHelpers from '@kbn/plugin-helpers'; import { ToolingLog } from '@kbn/dev-utils'; import { generateNoticeFromSource } from '../../src/dev'; +async function moveFiles(gulp, src, dest) { + return new Promise((resolve, reject) => { + gulp.src(src) + .pipe(gulp.dest(dest)) + .on('finish', resolve) + .on('error', reject); + }); +} + export default (gulp, { buildTarget }) => { gulp.task('build', ['clean', 'report', 'prepare:build'], async () => { + const buildRoot = resolve(buildTarget, 'kibana/x-pack'); await pluginHelpers.run('build', { skipArchive: true, buildDestination: buildTarget, }); - const buildRoot = resolve(buildTarget, 'kibana/x-pack'); + // NOTE: In order to prevent ending up with transpiled js files + // in the repository, we have set the outDir on x-pack tsconfig file + // to be the same as the intermediateBuildDirectory defined on the package.json + // As result of it, we need to move the transpiled js files for the correct folder + // and in the end deleting the generated outDir from the intermediateBuildDirectory. + // + //# TODO: This might be able to go away with the upgrade to babel 7 + await moveFiles( + gulp, + resolve(buildRoot, 'x-pack/build/plugin/kibana/x-pack/**/!(*.test).js'), + buildRoot + ); + await del(resolve(buildRoot, 'x-pack')); + //# + const log = new ToolingLog({ level: 'info', writeTo: process.stdout diff --git a/x-pack/tsconfig.json b/x-pack/tsconfig.json index febe406dc5d6..c74d60e90232 100644 --- a/x-pack/tsconfig.json +++ b/x-pack/tsconfig.json @@ -11,6 +11,7 @@ "test/**/*" ], "compilerOptions": { + "outDir": ".", "paths": { "ui/*": [ "src/legacy/ui/public/*"