mirror of
https://github.com/elastic/kibana.git
synced 2025-04-23 09:19:04 -04:00
Co-authored-by: spalger <spalger@users.noreply.github.com> # Conflicts: # package.json Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
This commit is contained in:
parent
9eeff6d893
commit
d7668a03c4
25 changed files with 127 additions and 68 deletions
|
@ -112,8 +112,6 @@
|
|||
]
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/core": "^7.11.1",
|
||||
"@babel/register": "^7.10.5",
|
||||
"@elastic/datemath": "5.0.3",
|
||||
"@elastic/elasticsearch": "7.9.1",
|
||||
"@elastic/eui": "29.0.0",
|
||||
|
@ -125,7 +123,6 @@
|
|||
"@hapi/wreck": "^15.0.2",
|
||||
"@kbn/analytics": "1.0.0",
|
||||
"@kbn/apm-config-loader": "1.0.0",
|
||||
"@kbn/babel-preset": "1.0.0",
|
||||
"@kbn/config": "1.0.0",
|
||||
"@kbn/config-schema": "1.0.0",
|
||||
"@kbn/i18n": "1.0.0",
|
||||
|
@ -211,6 +208,7 @@
|
|||
"rxjs": "^6.5.5",
|
||||
"seedrandom": "^3.0.5",
|
||||
"semver": "^5.7.0",
|
||||
"source-map-support": "^0.5.19",
|
||||
"symbol-observable": "^1.2.0",
|
||||
"tar": "4.4.13",
|
||||
"tinygradient": "0.4.3",
|
||||
|
@ -223,7 +221,9 @@
|
|||
"yauzl": "^2.10.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.11.1",
|
||||
"@babel/parser": "^7.11.2",
|
||||
"@babel/register": "^7.10.5",
|
||||
"@babel/types": "^7.11.0",
|
||||
"@elastic/apm-rum": "^5.6.1",
|
||||
"@elastic/charts": "23.0.0",
|
||||
|
@ -234,6 +234,7 @@
|
|||
"@elastic/github-checks-reporter": "0.0.20b3",
|
||||
"@elastic/makelogs": "^6.0.0",
|
||||
"@elastic/ui-ace": "0.2.3",
|
||||
"@kbn/babel-preset": "1.0.0",
|
||||
"@kbn/dev-utils": "1.0.0",
|
||||
"@kbn/es": "1.0.0",
|
||||
"@kbn/es-archiver": "1.0.0",
|
||||
|
|
|
@ -49,13 +49,5 @@ module.exports = (_, options = {}) => {
|
|||
],
|
||||
require('./common_preset'),
|
||||
],
|
||||
plugins: [
|
||||
[
|
||||
require.resolve('babel-plugin-transform-define'),
|
||||
{
|
||||
'global.__BUILT_WITH_BABEL__': 'true',
|
||||
},
|
||||
],
|
||||
],
|
||||
};
|
||||
};
|
||||
|
|
|
@ -14,7 +14,6 @@
|
|||
"@babel/preset-typescript": "^7.10.4",
|
||||
"babel-plugin-add-module-exports": "^1.0.2",
|
||||
"babel-plugin-styled-components": "^1.10.7",
|
||||
"babel-plugin-transform-define": "^1.3.1",
|
||||
"babel-plugin-transform-react-remove-prop-types": "^0.4.24",
|
||||
"react-is": "^16.8.0",
|
||||
"styled-components": "^5.1.0"
|
||||
|
|
|
@ -0,0 +1,39 @@
|
|||
/*
|
||||
* Licensed to Elasticsearch B.V. under one or more contributor
|
||||
* license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright
|
||||
* ownership. Elasticsearch B.V. licenses this file to you under
|
||||
* the Apache License, Version 2.0 (the "License"); you may
|
||||
* not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
const Path = require('path');
|
||||
|
||||
const { REPO_ROOT } = require('@kbn/dev-utils');
|
||||
|
||||
// modifies all future calls to require() to automatically
|
||||
// compile the required source with babel
|
||||
require('@babel/register')({
|
||||
ignore: [/[\/\\](node_modules|target|dist)[\/\\]/],
|
||||
only: [
|
||||
Path.resolve(REPO_ROOT, 'test'),
|
||||
Path.resolve(REPO_ROOT, 'x-pack/test'),
|
||||
Path.resolve(REPO_ROOT, 'examples'),
|
||||
Path.resolve(REPO_ROOT, 'x-pack/examples'),
|
||||
// TODO: should should probably remove this link back to the source
|
||||
Path.resolve(REPO_ROOT, 'x-pack/plugins/task_manager/server/config.ts'),
|
||||
],
|
||||
babelrc: false,
|
||||
presets: [require.resolve('@kbn/babel-preset/node_preset')],
|
||||
extensions: ['.js', '.ts', '.tsx'],
|
||||
});
|
|
@ -17,9 +17,26 @@
|
|||
* under the License.
|
||||
*/
|
||||
|
||||
import { resolve } from 'path';
|
||||
import { resolve, relative } from 'path';
|
||||
import { KIBANA_ROOT, KIBANA_EXEC, KIBANA_EXEC_PATH } from './paths';
|
||||
|
||||
function extendNodeOptions(installDir) {
|
||||
if (!installDir) {
|
||||
return {};
|
||||
}
|
||||
|
||||
const testOnlyRegisterPath = relative(
|
||||
installDir,
|
||||
require.resolve('./babel_register_for_test_plugins')
|
||||
);
|
||||
|
||||
return {
|
||||
NODE_OPTIONS: `--require=${testOnlyRegisterPath}${
|
||||
process.env.NODE_OPTIONS ? ` ${process.env.NODE_OPTIONS}` : ''
|
||||
}`,
|
||||
};
|
||||
}
|
||||
|
||||
export async function runKibanaServer({ procs, config, options }) {
|
||||
const { installDir } = options;
|
||||
|
||||
|
@ -29,6 +46,7 @@ export async function runKibanaServer({ procs, config, options }) {
|
|||
env: {
|
||||
FORCE_COLOR: 1,
|
||||
...process.env,
|
||||
...extendNodeOptions(installDir),
|
||||
},
|
||||
cwd: installDir || KIBANA_ROOT,
|
||||
wait: /http server running/,
|
||||
|
|
|
@ -17,5 +17,5 @@
|
|||
* under the License.
|
||||
*/
|
||||
|
||||
require('../src/setup_node_env/prebuilt_dev_only_entry');
|
||||
require('../src/setup_node_env/no_transpilation');
|
||||
require('@kbn/dev-utils').runPluginListCli();
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
* under the License.
|
||||
*/
|
||||
|
||||
require('../src/setup_node_env/prebuilt_dev_only_entry');
|
||||
require('../src/setup_node_env/no_transpilation');
|
||||
|
||||
var resolve = require('path').resolve;
|
||||
var pkg = require('../package.json');
|
||||
|
|
|
@ -17,5 +17,5 @@
|
|||
* under the License.
|
||||
*/
|
||||
|
||||
require('../src/setup_node_env/prebuilt_dev_only_entry');
|
||||
require('../src/setup_node_env/no_transpilation');
|
||||
require('@kbn/plugin-generator').runCli();
|
||||
|
|
|
@ -17,6 +17,4 @@
|
|||
* under the License.
|
||||
*/
|
||||
|
||||
require('../src/apm')(process.env.ELASTIC_APM_PROXY_SERVICE_NAME || 'kibana-proxy');
|
||||
require('../src/setup_node_env');
|
||||
require('../src/cli/cli');
|
||||
require('../src/cli/dev');
|
||||
|
|
|
@ -17,5 +17,5 @@
|
|||
* under the License.
|
||||
*/
|
||||
|
||||
require('../src/setup_node_env/prebuilt_dev_only_entry');
|
||||
require('../src/setup_node_env/no_transpilation');
|
||||
require('@kbn/plugin-helpers').runCli();
|
||||
|
|
|
@ -17,5 +17,5 @@
|
|||
* under the License.
|
||||
*/
|
||||
|
||||
require('../src/setup_node_env/prebuilt_dev_only_entry');
|
||||
require('../src/setup_node_env/no_transpilation');
|
||||
require('@kbn/dev-utils/target/precommit_hook/cli');
|
||||
|
|
|
@ -17,5 +17,5 @@
|
|||
* under the License.
|
||||
*/
|
||||
|
||||
require('../src/setup_node_env/prebuilt_dev_only_entry');
|
||||
require('../src/setup_node_env/no_transpilation');
|
||||
require('@kbn/release-notes').runReleaseNotesCli();
|
||||
|
|
|
@ -17,5 +17,5 @@
|
|||
* under the License.
|
||||
*/
|
||||
|
||||
require('../src/setup_node_env/prebuilt_dev_only_entry');
|
||||
require('../src/setup_node_env/no_transpilation');
|
||||
require('@kbn/telemetry-tools').runTelemetryCheck();
|
||||
|
|
|
@ -17,5 +17,5 @@
|
|||
* under the License.
|
||||
*/
|
||||
|
||||
require('../src/setup_node_env/prebuilt_dev_only_entry');
|
||||
require('../src/setup_node_env/no_transpilation');
|
||||
require('@kbn/telemetry-tools').runTelemetryExtract();
|
||||
|
|
|
@ -24,7 +24,7 @@ import { EventEmitter } from 'events';
|
|||
import { BinderFor } from './binder_for';
|
||||
import { fromRoot } from '../../core/server/utils';
|
||||
|
||||
const cliPath = fromRoot('src/cli');
|
||||
const cliPath = fromRoot('src/cli/dev');
|
||||
const baseArgs = _.difference(process.argv.slice(2), ['--no-watch']);
|
||||
const baseArgv = [process.execPath, cliPath].concat(baseArgs);
|
||||
|
||||
|
|
|
@ -17,6 +17,6 @@
|
|||
* under the License.
|
||||
*/
|
||||
|
||||
require('../apm')();
|
||||
require('../apm')(process.env.ELASTIC_APM_PROXY_SERVICE_NAME || 'kibana-proxy');
|
||||
require('../setup_node_env');
|
||||
require('./cli');
|
23
src/cli/dist.js
Normal file
23
src/cli/dist.js
Normal file
|
@ -0,0 +1,23 @@
|
|||
/*
|
||||
* Licensed to Elasticsearch B.V. under one or more contributor
|
||||
* license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright
|
||||
* ownership. Elasticsearch B.V. licenses this file to you under
|
||||
* the Apache License, Version 2.0 (the "License"); you may
|
||||
* not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
require('../apm')();
|
||||
require('../setup_node_env/no_transpilation');
|
||||
require('../setup_node_env/babel_register/polyfill');
|
||||
require('./cli');
|
|
@ -18,10 +18,10 @@
|
|||
*/
|
||||
|
||||
import { spawnSync } from 'child_process';
|
||||
import { resolve } from 'path';
|
||||
|
||||
const ROOT_DIR = resolve(__dirname, '../../../../');
|
||||
const INVALID_CONFIG_PATH = resolve(__dirname, '__fixtures__/invalid_config.yml');
|
||||
import { REPO_ROOT } from '@kbn/dev-utils';
|
||||
|
||||
const INVALID_CONFIG_PATH = require.resolve('./__fixtures__/invalid_config.yml');
|
||||
|
||||
interface LogEntry {
|
||||
message: string;
|
||||
|
@ -35,11 +35,11 @@ describe('cli invalid config support', function () {
|
|||
function () {
|
||||
// Unused keys only throw once LegacyService starts, so disable migrations so that Core
|
||||
// will finish the start lifecycle without a running Elasticsearch instance.
|
||||
const { error, status, stdout } = spawnSync(
|
||||
const { error, status, stdout, stderr } = spawnSync(
|
||||
process.execPath,
|
||||
['src/cli', '--config', INVALID_CONFIG_PATH, '--migrations.skip=true'],
|
||||
['scripts/kibana', '--config', INVALID_CONFIG_PATH, '--migrations.skip=true'],
|
||||
{
|
||||
cwd: ROOT_DIR,
|
||||
cwd: REPO_ROOT,
|
||||
}
|
||||
);
|
||||
|
||||
|
@ -57,13 +57,21 @@ describe('cli invalid config support', function () {
|
|||
}));
|
||||
|
||||
expect(error).toBe(undefined);
|
||||
expect(status).toBe(64);
|
||||
|
||||
if (!fatalLogLine) {
|
||||
throw new Error(
|
||||
`cli did not log the expected fatal error message:\n\nstdout: \n${stdout}\n\nstderr:\n${stderr}`
|
||||
);
|
||||
}
|
||||
|
||||
expect(fatalLogLine.message).toContain(
|
||||
'Error: Unknown configuration key(s): "unknown.key", "other.unknown.key", "other.third", "some.flat.key", ' +
|
||||
'"some.array". Check for spelling errors and ensure that expected plugins are installed.'
|
||||
);
|
||||
expect(fatalLogLine.tags).toEqual(['fatal', 'root']);
|
||||
expect(fatalLogLine.type).toEqual('log');
|
||||
|
||||
expect(status).toBe(64);
|
||||
},
|
||||
20 * 1000
|
||||
);
|
||||
|
|
|
@ -26,4 +26,4 @@ if [ -f "${CONFIG_DIR}/node.options" ]; then
|
|||
KBN_NODE_OPTS="$(grep -v ^# < ${CONFIG_DIR}/node.options | xargs)"
|
||||
fi
|
||||
|
||||
NODE_OPTIONS="--no-warnings --max-http-header-size=65536 $KBN_NODE_OPTS $NODE_OPTIONS" NODE_ENV=production exec "${NODE}" "${DIR}/src/cli" ${@}
|
||||
NODE_OPTIONS="--no-warnings --max-http-header-size=65536 $KBN_NODE_OPTS $NODE_OPTIONS" NODE_ENV=production exec "${NODE}" "${DIR}/src/cli/dist" ${@}
|
||||
|
|
|
@ -35,8 +35,11 @@ export const CopySource: Task = {
|
|||
'!src/fixtures/**',
|
||||
'!src/cli/cluster/**',
|
||||
'!src/cli/repl/**',
|
||||
'!src/cli/dev.js',
|
||||
'!src/functional_test_runner/**',
|
||||
'!src/dev/**',
|
||||
'!src/setup_node_env/babel_register/index.js',
|
||||
'!src/setup_node_env/babel_register/register.js',
|
||||
'!**/public/**',
|
||||
'typings/**',
|
||||
'config/kibana.yml',
|
||||
|
|
|
@ -43,26 +43,12 @@ var ignore = [
|
|||
|
||||
// ignore paths matching `/canvas/canvas_plugin/`
|
||||
/[\/\\]canvas[\/\\]canvas_plugin[\/\\]/,
|
||||
];
|
||||
|
||||
if (global.__BUILT_WITH_BABEL__) {
|
||||
// when building the Kibana source we replace the statement
|
||||
// `global.__BUILT_WITH_BABEL__` with the value `true` so that
|
||||
// when @babel/register is required for the first time by users
|
||||
// it will exclude kibana's `src` directory.
|
||||
//
|
||||
// We still need @babel/register for plugins though, we've been
|
||||
// building their server code at require-time since version 4.2
|
||||
// TODO: the plugin install process could transpile plugin server code...
|
||||
ignore.push(resolve(__dirname, '../../../src'));
|
||||
} else {
|
||||
ignore.push(
|
||||
// ignore any path in the packages, unless it is in the package's
|
||||
// root `src` directory, in any test or __tests__ directory, or it
|
||||
// ends with .test.js, .test.ts, or .test.tsx
|
||||
/[\/\\]packages[\/\\](eslint-|kbn-)[^\/\\]+[\/\\](?!src[\/\\].*|(.+[\/\\])?(test|__tests__)[\/\\].+|.+\.test\.(js|ts|tsx)$)(.+$)/
|
||||
);
|
||||
}
|
||||
// ignore any path in the packages, unless it is in the package's
|
||||
// root `src` directory, in any test or __tests__ directory, or it
|
||||
// ends with .test.js, .test.ts, or .test.tsx
|
||||
/[\/\\]packages[\/\\](eslint-|kbn-)[^\/\\]+[\/\\](?!src[\/\\].*|(.+[\/\\])?(test|__tests__)[\/\\].+|.+\.test\.(js|ts|tsx)$)(.+$)/,
|
||||
];
|
||||
|
||||
// modifies all future calls to require() to automatically
|
||||
// compile the required source with babel
|
||||
|
|
|
@ -17,5 +17,5 @@
|
|||
* under the License.
|
||||
*/
|
||||
|
||||
require('./prebuilt_dev_only_entry');
|
||||
require('./no_transpilation');
|
||||
require('./babel_register');
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
"@cypress/webpack-preprocessor": "^5.4.1",
|
||||
"@elastic/apm-rum-react": "^1.2.5",
|
||||
"@elastic/maki": "6.3.0",
|
||||
"@kbn/babel-preset": "1.0.0",
|
||||
"@kbn/dev-utils": "1.0.0",
|
||||
"@kbn/es": "1.0.0",
|
||||
"@kbn/expect": "1.0.0",
|
||||
|
@ -281,7 +282,6 @@
|
|||
"@elastic/node-crypto": "1.2.1",
|
||||
"@elastic/numeral": "^2.5.0",
|
||||
"@elastic/safer-lodash-set": "0.0.0",
|
||||
"@kbn/babel-preset": "1.0.0",
|
||||
"@kbn/config-schema": "1.0.0",
|
||||
"@kbn/i18n": "1.0.0",
|
||||
"@kbn/interpreter": "1.0.0",
|
||||
|
|
18
yarn.lock
18
yarn.lock
|
@ -6967,14 +6967,6 @@ babel-plugin-syntax-jsx@^6.18.0:
|
|||
resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946"
|
||||
integrity sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=
|
||||
|
||||
babel-plugin-transform-define@^1.3.1:
|
||||
version "1.3.1"
|
||||
resolved "https://registry.yarnpkg.com/babel-plugin-transform-define/-/babel-plugin-transform-define-1.3.1.tgz#b21b7bad3b84cf8e3f07cdc8c660b99cbbc01213"
|
||||
integrity sha512-JXZ1xE9jIbKCGYZ4wbSMPSI5mdS4DRLi5+SkTHgZqWn5YIf/EucykkzUsPmzJlpkX8fsMVdLnA5vt/LvT97Zbg==
|
||||
dependencies:
|
||||
lodash "^4.17.11"
|
||||
traverse "0.6.6"
|
||||
|
||||
babel-plugin-transform-inline-consecutive-adds@^0.4.3:
|
||||
version "0.4.3"
|
||||
resolved "https://registry.yarnpkg.com/babel-plugin-transform-inline-consecutive-adds/-/babel-plugin-transform-inline-consecutive-adds-0.4.3.tgz#323d47a3ea63a83a7ac3c811ae8e6941faf2b0d1"
|
||||
|
@ -25979,10 +25971,10 @@ source-map-support@^0.3.2:
|
|||
dependencies:
|
||||
source-map "0.1.32"
|
||||
|
||||
source-map-support@^0.5.1, source-map-support@^0.5.16, source-map-support@^0.5.6, source-map-support@^0.5.9, source-map-support@~0.5.12:
|
||||
version "0.5.16"
|
||||
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.16.tgz#0ae069e7fe3ba7538c64c98515e35339eac5a042"
|
||||
integrity sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==
|
||||
source-map-support@^0.5.1, source-map-support@^0.5.16, source-map-support@^0.5.19, source-map-support@^0.5.6, source-map-support@^0.5.9, source-map-support@~0.5.12:
|
||||
version "0.5.19"
|
||||
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61"
|
||||
integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==
|
||||
dependencies:
|
||||
buffer-from "^1.0.0"
|
||||
source-map "^0.6.0"
|
||||
|
@ -27776,7 +27768,7 @@ traverse-chain@~0.1.0:
|
|||
resolved "https://registry.yarnpkg.com/traverse-chain/-/traverse-chain-0.1.0.tgz#61dbc2d53b69ff6091a12a168fd7d433107e40f1"
|
||||
integrity sha1-YdvC1Ttp/2CRoSoWj9fUMxB+QPE=
|
||||
|
||||
traverse@0.6.6, traverse@^0.6.6, traverse@~0.6.6:
|
||||
traverse@^0.6.6, traverse@~0.6.6:
|
||||
version "0.6.6"
|
||||
resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.6.6.tgz#cbdf560fd7b9af632502fed40f918c157ea97137"
|
||||
integrity sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue